qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/22] target/i386: first part of TCG changes for 9.0
@ 2023-12-22 18:15 Paolo Bonzini
  2023-12-22 18:15 ` [PATCH 01/22] target/i386: optimize computation of JL and JLE from flags Paolo Bonzini
                   ` (21 more replies)
  0 siblings, 22 replies; 43+ messages in thread
From: Paolo Bonzini @ 2023-12-22 18:15 UTC (permalink / raw)
  To: qemu-devel

The main things here are a bunch of cleanups to the common logic of
the new decoder, some changes to translate.c that prepare for redoing
one-byte opcodes in the new framework, and the implementation of the
CMPccXADD instruction that is new in Sierra Forest processors.

These are all relatively innocuous changes, and easy to bisect in
case things go wrong.

Paolo


Paolo Bonzini (22):
  target/i386: optimize computation of JL and JLE from flags
  target/i386: speedup JO/SETO after MUL or IMUL
  target/i386: remove unnecessary arguments from raise_interrupt
  target/i386: remove unnecessary truncations
  target/i386: clean up cpu_cc_compute_all
  target/i386: document more deviations from the manual
  target/i386: reimplement check for validity of LOCK prefix
  target/i386: avoid trunc and ext for MULX and RORX
  target/i386: rename zext0/zext2 and make them closer to the manual
  target/i386: add X86_SPECIALs for MOVSX and MOVZX
  target/i386: do not decode string source/destination into decode->mem
  target/i386: do not clobber A0 in POP translation
  target/i386: do not clobber T0 on string operations
  target/i386: split eflags computation out of gen_compute_eflags
  target/i386: do not use s->tmp4 for push
  target/i386: do not use s->tmp0 for jumps on ECX ==/!= 0
  target/i386: extract gen_far_call/jmp, reordering temporaries
  target/i386: prepare for implementation of STOS/SCAS in new decoder
  target/i386: move operand load and writeback out of gen_cmovcc1
  target/i386: adjust decoding of J operand
  target/i386: introduce flags writeback mechanism
  target/i386: implement CMPccXADD

 target/i386/cpu.c                |   2 +-
 target/i386/cpu.h                |   5 +-
 target/i386/tcg/cc_helper.c      |   6 +-
 target/i386/tcg/decode-new.c.inc | 152 +++++++++++++------
 target/i386/tcg/decode-new.h     |  29 +++-
 target/i386/tcg/emit.c.inc       | 224 +++++++++++++++++++++------
 target/i386/tcg/excp_helper.c    |   7 +-
 target/i386/tcg/fpu_helper.c     |  10 +-
 target/i386/tcg/helper-tcg.h     |   3 +-
 target/i386/tcg/int_helper.c     |   8 +-
 target/i386/tcg/misc_helper.c    |   4 +-
 target/i386/tcg/seg_helper.c     |   8 +-
 target/i386/tcg/translate.c      | 250 ++++++++++++++++++-------------
 tests/tcg/i386/Makefile.target   |   2 +-
 tests/tcg/i386/test-flags.c      |  37 +++++
 15 files changed, 509 insertions(+), 238 deletions(-)
 create mode 100644 tests/tcg/i386/test-flags.c

-- 
2.43.0



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

end of thread, other threads:[~2023-12-28 23:05 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-22 18:15 [PATCH 00/22] target/i386: first part of TCG changes for 9.0 Paolo Bonzini
2023-12-22 18:15 ` [PATCH 01/22] target/i386: optimize computation of JL and JLE from flags Paolo Bonzini
2023-12-28 20:53   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 02/22] target/i386: speedup JO/SETO after MUL or IMUL Paolo Bonzini
2023-12-28 20:56   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 03/22] target/i386: remove unnecessary arguments from raise_interrupt Paolo Bonzini
2023-12-28 20:58   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 04/22] target/i386: remove unnecessary truncations Paolo Bonzini
2023-12-28 21:13   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 05/22] target/i386: clean up cpu_cc_compute_all Paolo Bonzini
2023-12-28 21:27   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 06/22] target/i386: document more deviations from the manual Paolo Bonzini
2023-12-28 21:34   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 07/22] target/i386: reimplement check for validity of LOCK prefix Paolo Bonzini
2023-12-28 21:55   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 08/22] target/i386: avoid trunc and ext for MULX and RORX Paolo Bonzini
2023-12-28 21:50   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 09/22] target/i386: rename zext0/zext2 and make them closer to the manual Paolo Bonzini
2023-12-28 22:04   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 10/22] target/i386: add X86_SPECIALs for MOVSX and MOVZX Paolo Bonzini
2023-12-28 22:08   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 11/22] target/i386: do not decode string source/destination into decode->mem Paolo Bonzini
2023-12-28 22:09   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 12/22] target/i386: do not clobber A0 in POP translation Paolo Bonzini
2023-12-22 18:15 ` [PATCH 13/22] target/i386: do not clobber T0 on string operations Paolo Bonzini
2023-12-28 22:11   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 14/22] target/i386: split eflags computation out of gen_compute_eflags Paolo Bonzini
2023-12-28 22:13   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 15/22] target/i386: do not use s->tmp4 for push Paolo Bonzini
2023-12-28 22:14   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 16/22] target/i386: do not use s->tmp0 for jumps on ECX ==/!= 0 Paolo Bonzini
2023-12-28 22:15   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 17/22] target/i386: extract gen_far_call/jmp, reordering temporaries Paolo Bonzini
2023-12-28 22:25   ` Richard Henderson
2023-12-22 18:15 ` [PATCH 18/22] target/i386: prepare for implementation of STOS/SCAS in new decoder Paolo Bonzini
2023-12-28 22:27   ` Richard Henderson
2023-12-22 18:16 ` [PATCH 19/22] target/i386: move operand load and writeback out of gen_cmovcc1 Paolo Bonzini
2023-12-28 22:29   ` Richard Henderson
2023-12-22 18:16 ` [PATCH 20/22] target/i386: adjust decoding of J operand Paolo Bonzini
2023-12-22 18:16 ` [PATCH 21/22] target/i386: introduce flags writeback mechanism Paolo Bonzini
2023-12-28 22:46   ` Richard Henderson
2023-12-22 18:16 ` [PATCH 22/22] target/i386: implement CMPccXADD Paolo Bonzini
2023-12-28 23:04   ` Richard Henderson

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).