On 24/10/2016 21:04, Richard Henderson wrote: > Pinging target maintainers. If I don't get responses by the end of the > week, I'll only push the generic tcg bits and the two targets that I > maintain.
There's no documentation in tcg/README; apart from that looks good. Paolo > > r~ > > > On 10/18/2016 08:10 AM, Richard Henderson wrote: >> Better tested this time, including aarch64 host. >> >> 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/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 | 465 >> ++++++++++++++++++++++++++++++++++++++++++- >> tcg/tcg-op.h | 18 ++ >> tcg/tcg-opc.h | 4 + >> tcg/tcg.h | 8 + >> tcg/tci/tcg-target.h | 4 + >> 27 files changed, 954 insertions(+), 313 deletions(-) >> > > >