[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [patch v3 00/18] tcg field extract primitives
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [patch v3 00/18] tcg field extract primitives |
Date: |
Wed, 16 Nov 2016 21:03:27 +0100 |
Changes since v2:
* Fixes to aarch64 guest. Some tcg_debug_asserts were triggering.
* Silly typo fixed in tcg/mips
* tcg/README updated.
Changes since v1:
* Added tcg_gen_deposit_z_*. Depositing into zero turns out to be
quite common among targets. Providing that as a primitive expander
allows us to easily generate optimal-ish code for hosts with and
without a real deposit operation.
* Cleanups in tcg/s390 akin to those I already did for tcg/arm.
* Add support in tcg/s390 for deposit into zero.
* More special cases in the expanders for better code generation,
especially on an x86 host *without* the extract primitives.
* Silly think-o on aarch64 host.
r~
Richard Henderson (18):
tcg: Add field extraction primitives
tcg: Minor adjustments to deposit expanders
tcg: Add deposit_z expander
tcg/aarch64: Implement field extraction opcodes
tcg/arm: Move isa detection to tcg-target.h
tcg/arm: Implement field extraction opcodes
tcg/i386: Implement field extraction opcodes
tcg/mips: Implement field extraction opcodes
tcg/ppc: Implement field extraction opcodes
tcg/s390: Expose host facilities to tcg-target.h
tcg/s390: Implement field extraction opcodes
tcg/s390: Support deposit into zero
target-alpha: Use deposit and extract ops
target-arm: Use new deposit and extract ops
target-i386: Use new deposit and extract ops
target-mips: Use the new extract op
target-ppc: Use the new deposit and extract ops
target-s390x: Use the new deposit and extract ops
target-alpha/translate.c | 67 +++---
target-arm/translate-a64.c | 79 +++-----
target-arm/translate.c | 37 +---
target-i386/translate.c | 45 +++--
target-mips/translate.c | 12 +-
target-ppc/translate.c | 35 ++--
target-s390x/translate.c | 34 ++--
tcg/README | 20 +-
tcg/aarch64/tcg-target.h | 4 +
tcg/aarch64/tcg-target.inc.c | 14 ++
tcg/arm/tcg-target.h | 38 +++-
tcg/arm/tcg-target.inc.c | 63 +++---
tcg/i386/tcg-target.h | 10 +
tcg/i386/tcg-target.inc.c | 38 ++++
tcg/ia64/tcg-target.h | 4 +
tcg/mips/tcg-target.h | 2 +
tcg/mips/tcg-target.inc.c | 4 +
tcg/optimize.c | 29 +++
tcg/ppc/tcg-target.h | 4 +
tcg/ppc/tcg-target.inc.c | 10 +
tcg/s390/tcg-target.h | 122 ++++++-----
tcg/s390/tcg-target.inc.c | 113 ++++++-----
tcg/sparc/tcg-target.h | 4 +
tcg/tcg-op.c | 472 ++++++++++++++++++++++++++++++++++++++++++-
tcg/tcg-op.h | 18 ++
tcg/tcg-opc.h | 4 +
tcg/tcg.h | 8 +
tcg/tci/tcg-target.h | 4 +
28 files changed, 979 insertions(+), 315 deletions(-)
--
2.7.4
- [Qemu-devel] [patch v3 00/18] tcg field extract primitives,
Richard Henderson <=
- [Qemu-devel] [patch v3 02/18] tcg: Minor adjustments to deposit expanders, Richard Henderson, 2016/11/16
- [Qemu-devel] [patch v3 01/18] tcg: Add field extraction primitives, Richard Henderson, 2016/11/16
- [Qemu-devel] [patch v3 04/18] tcg/aarch64: Implement field extraction opcodes, Richard Henderson, 2016/11/16
- [Qemu-devel] [patch v3 03/18] tcg: Add deposit_z expander, Richard Henderson, 2016/11/16
- [Qemu-devel] [patch v3 05/18] tcg/arm: Move isa detection to tcg-target.h, Richard Henderson, 2016/11/16
- [Qemu-devel] [patch v3 07/18] tcg/i386: Implement field extraction opcodes, Richard Henderson, 2016/11/16
- [Qemu-devel] [patch v3 06/18] tcg/arm: Implement field extraction opcodes, Richard Henderson, 2016/11/16
- [Qemu-devel] [patch v3 08/18] tcg/mips: Implement field extraction opcodes, Richard Henderson, 2016/11/16
- [Qemu-devel] [patch v3 09/18] tcg/ppc: Implement field extraction opcodes, Richard Henderson, 2016/11/16
- [Qemu-devel] [patch v3 10/18] tcg/s390: Expose host facilities to tcg-target.h, Richard Henderson, 2016/11/16