This notably includes the last patches from the original set that implemented the new decoder (cleaning up a bit the x87 decoder), more removal of temporaries, and more size reduction for CC computation helpers. On top of that there are a few simplifications, fies and optimizations.
The diffstat is large but most of it is moving code around. Paolo Paolo Bonzini (18): target/i386/tcg: fix check for invalid VSIB instruction target/i386/tcg: ignore V3 in 32-bit mode target/i386/tcg: update cc_op after PUSHF target/i386/tcg: mark more instructions that are invalid in 64-bit mode target/i386/tcg: do not compute all flags for SAHF target/i386/tcg: remove do_decode_0F target/i386/tcg: move and expand misplaced comment target/i386/tcg: simplify effective address calculation target/i386/tcg: unnest switch statements in disas_insn_x87 target/i386/tcg: move fcom/fcomp differentiation to gen_helper_fp_arith_ST0_FT0 target/i386/tcg: reuse gen_helper_fp_arith_ST0_FT0 for fcom STn and fcomp STn target/i386/tcg: reuse gen_helper_fp_arith_ST0_FT0 for undocumented fcom/fcomp variants target/i386/tcg: unify more pop/no-pop x87 instructions target/i386/tcg: kill tmp1_i64 target/i386/tcg: kill tmp2_i32 target/i386/tcg: commonize code to compute SF/ZF/PF target/i386/tcg: add a CCOp for SBB x,x target/i386/tcg: move fetch code out of translate.c target/i386/cpu.h | 17 +- target/i386/tcg/decode-new.h | 3 + target/i386/tcg/cc_helper_template.h.inc | 112 +-- target/i386/cpu-dump.c | 2 + target/i386/tcg/cc_helper.c | 280 +++++--- target/i386/tcg/translate.c | 824 ++++++++--------------- target/i386/tcg/decode-new.c.inc | 328 ++++++++- target/i386/tcg/emit.c.inc | 109 ++- 8 files changed, 845 insertions(+), 830 deletions(-) -- 2.52.0
