The trailing part of the previous series I sent; with fixes for BT/BTS/BTR/BTC, plus moving code generation of CMPXCHG8B/CMPXCHG16B to the new decoder. This way all LOCKable instructions are converted, and the patch "target/i386: do not check PREFIX_LOCK in old-style decoder" is correct.
Sneak in a couple cleanups for CC_OP_POPCNT. They don't really make the generated code any more efficient, but they simplify a bit the logic for the BT/BTS/BTR/BTC flags. Supersedes: <20240608084113.2770363-1-pbonz...@redhat.com> Paolo Bonzini (10): target/i386: use cpu_cc_dst for CC_OP_POPCNT target/i386: give CC_OP_POPCNT low bits corresponding to MO_TL target/i386: convert bit test instructions to new decoder target/i386: try not to force EFLAGS computation for CC_OP_ADOX/ADCX target/i386: decode address before going back to translate.c target/i386: convert CMPXCHG8B/CMPXCHG16B to new decoder target/i386: do not check PREFIX_LOCK in old-style decoder target/i386: list instructions still in translate.c target/i386: assert that cc_op* and pc_save are preserved target/i386: remove gen_ext_tl target/i386/cpu.h | 13 +- target/i386/tcg/decode-new.h | 19 +- target/i386/tcg/cc_helper.c | 2 +- target/i386/tcg/translate.c | 492 ++++++------------------------- target/i386/tcg/decode-new.c.inc | 136 ++++++--- target/i386/tcg/emit.c.inc | 249 +++++++++++++++- 6 files changed, 467 insertions(+), 444 deletions(-) -- 2.45.2