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-pbonzini@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