qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] target/i386: make decoding entirely table based
@ 2024-06-20  9:54 Paolo Bonzini
  2024-06-20  9:54 ` [PATCH 01/10] target/i386: use cpu_cc_dst for CC_OP_POPCNT Paolo Bonzini
                   ` (9 more replies)
  0 siblings, 10 replies; 16+ messages in thread
From: Paolo Bonzini @ 2024-06-20  9:54 UTC (permalink / raw)
  To: qemu-devel

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



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-06-20 16:15 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-20  9:54 [PATCH 00/10] target/i386: make decoding entirely table based Paolo Bonzini
2024-06-20  9:54 ` [PATCH 01/10] target/i386: use cpu_cc_dst for CC_OP_POPCNT Paolo Bonzini
2024-06-20 15:02   ` Richard Henderson
2024-06-20  9:54 ` [PATCH 02/10] target/i386: give CC_OP_POPCNT low bits corresponding to MO_TL Paolo Bonzini
2024-06-20 15:10   ` Richard Henderson
2024-06-20  9:54 ` [PATCH 03/10] target/i386: convert bit test instructions to new decoder Paolo Bonzini
2024-06-20 15:22   ` Richard Henderson
2024-06-20  9:54 ` [PATCH 04/10] target/i386: try not to force EFLAGS computation for CC_OP_ADOX/ADCX Paolo Bonzini
2024-06-20 15:56   ` Richard Henderson
2024-06-20  9:54 ` [PATCH 05/10] target/i386: decode address before going back to translate.c Paolo Bonzini
2024-06-20  9:54 ` [PATCH 06/10] target/i386: convert CMPXCHG8B/CMPXCHG16B to new decoder Paolo Bonzini
2024-06-20 16:14   ` Richard Henderson
2024-06-20  9:54 ` [PATCH 07/10] target/i386: do not check PREFIX_LOCK in old-style decoder Paolo Bonzini
2024-06-20  9:54 ` [PATCH 08/10] target/i386: list instructions still in translate.c Paolo Bonzini
2024-06-20  9:54 ` [PATCH 09/10] target/i386: assert that cc_op* and pc_save are preserved Paolo Bonzini
2024-06-20  9:54 ` [PATCH 10/10] target/i386: remove gen_ext_tl Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).