The driver here is the boilerplate I needed to write for the
recent lea opcode addition.
This eliminates the majority of the code duplication between
the _i32 and _i64 expanders. What remains are those expanders
that truly differ between the two widths, or that are only
present for one width.
Of course, due to touching most opcode expansion, I noticed a
few cleanups and improvements in the process.
r~
Richard Henderson (82):
include/qemu: Define QEMU_ALIAS
tcg: Use QEMU_ALIAS to define most tcg_gen_*_ptr
tcg: Generic expansion of tcg_gen_mov_*
tcg: Generic expansion of tcg_gen_movi_*
tcg: Generic expansion of tcg_gen_discard_*
tcg: Generic expansion of tcg_gen_add_*
tcg: Generic expansion of tcg_gen_addi_*
tcg: Generic expansion of tcg_gen_sub_*
tcg: Generic expansion of tcg_gen_subi_*
tcg: Generic expansion of tcg_gen_neg_*
tcg: Generic expansion of tcg_gen_subfi_*
tcg: Generic expansion of tcg_gen_and_*
tcg: Generic expansion of tcg_gen_or_*
tcg: Generic expansion of tcg_gen_xor_*
tcg: Generic expansion of tcg_gen_shl_*
tcg: Generic expansion of tcg_gen_shr_*
tcg: Generic expansion of tcg_gen_sar_*
tcg: Generic expansion of tcg_gen_mul_*
tcg: Generic expansion of tcg_gen_shli_*
tcg: Generic expansion of tcg_gen_shri_*
tcg: Generic expansion of tcg_gen_sari_*
tcg: Generic expansion of tcg_gen_andi_*
tcg: Generic expansion of tcg_gen_ori_*
tcg: Generic expansion of tcg_gen_xori_*
tcg: Generic expansion of tcg_gen_muli_*
tcg: Generic expansion of tcg_gen_not_*
tcg: Drop division helpers
tcg: Generic expansion of tcg_gen_div_*
tcg: Generic expansion of tcg_gen_rem_*
tcg: Generic expansion of tcg_gen_divu_*
tcg: Generic expansion of tcg_gen_remu_*
tcg: Generic expansion of tcg_gen_andc_*
tcg: Generic expansion of tcg_gen_eqv_*
tcg: Generic expansion of tcg_gen_nand_*
tcg: Generic expansion of tcg_gen_nor_*
tcg: Generic expansion of tcg_gen_orc_*
tcg: Generic expansion of tcg_gen_brcond_*
tcg: Generic expansion of tcg_gen_brcondi_*
tcg: Generic expansion of tcg_gen_setcond_*
tcg: Generic expansion of tcg_gen_setcondi_*
tcg: Generic expansion of tcg_gen_negsetcond_*
tcg: Generic expansion of tcg_gen_negsetcondi_*
tcg: Generic expansion of tcg_gen_movcond_*
tcg: Split out gen_extrl_i64_i32
tcg: Split out gen_extu_i32_i64
tcg: Split out gen_extrh_i64_i32
tcg: Split out gen_ext_i32_i64
tcg: Generic expansion of tcg_gen_clz_*
tcg: Use signed integer for tcg_gen_{clz,ctz}i_{i32,i64}
tcg: Generic expansion of tcg_gen_clzi_*
tcg: Generic expansion of tcg_gen_ctpop_*
tcg: Generic expansion of tcg_gen_ctz_*
tcg: Generic expansion of tcg_gen_ctzi_*
tcg: Generic expansion of tcg_gen_clrsb_*
tcg: Generic expansion of tcg_gen_rotl_*
tcg: Generic expansion of tcg_gen_rotr_*
tcg: Generic expansion of tcg_gen_rotri_*
tcg: Generic expansion of tcg_gen_rotli_*
tcg: Generic expansion of tcg_gen_deposit_*
tcg: Generic expansion of tcg_gen_extract_*
tcg: Generic expansion of tcg_gen_sextract_*
tcg: Generic expansion of tcg_gen_deposit_z_*
tcg: Generic expansion of tcg_gen_ext8s_*
tcg: Generic expansion of tcg_gen_ext8u_*
tcg: Generic expansion of tcg_gen_ext16s_*
tcg: Generic expansion of tcg_gen_ext16u_*
tcg: Generic expansion of tcg_gen_ext_*
tcg: Generic expansion of tcg_gen_smin_*
tcg: Generic expansion of tcg_gen_smax_*
tcg: Generic expansion of tcg_gen_umin_*
tcg: Generic expansion of tcg_gen_umax_*
tcg: Generic expansion of tcg_gen_abs_*
tcg: Use smax in abs if available
tcg: Generic expansion of tcg_gen_ussub_*
tcg: Use umax in ussub if available
tcg: Generic expansion of tcg_gen_extract2_*
tcg: Generic expansion of tcg_gen_addcio_*
tcg: Generic expansion of tcg_gen_add2_*
tcg: Generic expansion of tcg_gen_sub2_*
tcg: Generic expansion of tcg_gen_mulu2_*
tcg: Generic expansion of tcg_gen_muls2_*
tcg: Expand missing mulu2_i64 during liveness
accel/tcg/tcg-runtime.h | 13 -
include/qemu/compiler.h | 7 +
include/tcg/tcg-op-common.h | 347 +--
include/tcg/tcg-op-def.h.inc | 29 +
include/tcg/tcg-op-def2.h.inc | 72 +
accel/tcg/tcg-runtime.c | 58 -
tcg/tcg-op-ldst.c | 54 -
tcg/tcg-op.c | 2850 ++++++++------------
tcg/tcg.c | 214 +-
target/ppc/translate/fixedpoint-impl.c.inc | 4 +-
10 files changed, 1535 insertions(+), 2113 deletions(-)
create mode 100644 include/tcg/tcg-op-def.h.inc
create mode 100644 include/tcg/tcg-op-def2.h.inc
--
2.53.0