The primary motivator here is usage within s390x, but (as with any good primitive) the opcode has applications outside that.
r~ David Hildenbrand (1): tcg: Implement tcg_gen_extract2_{i32,i64} Richard Henderson (8): tcg: Add INDEX_op_extract2_{i32,i64} tcg: Use extract2 in tcg_gen_shifti_i64 tcg: Use extract2 in tcg_gen_deposit_{i32,i64} tcg/i386: Support INDEX_op_extract2_{i32,i64} tcg/arm: Support INDEX_op_extract2_i32 tcg/aarch64: Support INDEX_op_extract2_{i32,i64} target/arm: Use extract2 for EXTR target/arm: Simplify BFXIL expansion tcg/aarch64/tcg-target.h | 2 + tcg/arm/tcg-target.h | 1 + tcg/i386/tcg-target.h | 2 + tcg/mips/tcg-target.h | 2 + tcg/ppc/tcg-target.h | 2 + tcg/riscv/tcg-target.h | 2 + tcg/s390/tcg-target.h | 2 + tcg/sparc/tcg-target.h | 2 + tcg/tcg-op.h | 6 ++ tcg/tcg-opc.h | 2 + tcg/tcg.h | 1 + tcg/tci/tcg-target.h | 2 + target/arm/translate-a64.c | 44 +++++++------ tcg/aarch64/tcg-target.inc.c | 11 ++++ tcg/arm/tcg-target.inc.c | 25 +++++++ tcg/i386/tcg-target.inc.c | 11 ++++ tcg/optimize.c | 10 +++ tcg/tcg-op.c | 123 ++++++++++++++++++++++++++++------- tcg/tcg.c | 4 ++ tcg/README | 5 ++ 20 files changed, 213 insertions(+), 46 deletions(-) -- 2.17.2