Skip to content

tcg-i386 cleanup and improvement

Richard Henderson qemu-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest21 patches 4 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/21tcg-i386: Allocate call-saved registers first.tcg/i386/tcg-target.c+9 -40 replies
2/21tcg-i386: Tidy initialization of tcg_target_call_clobber_regs.tcg/i386/tcg-target.c+6 -50 replies
3/21tcg-i386: Tidy ext8u and ext16u operations.tcg/i386/tcg-target.c+42 -260 replies
4/21tcg-i386: Tidy ext8s and ext16s operations.tcg/i386/tcg-target.c+37 -120 replies
5/21tcg-i386: Tidy bswap operations.tcg/i386/tcg-target.c+27 -264 replies
6/21tcg-i386: Tidy shift operations.tcg/i386/tcg-target.c+23 -240 replies
7/21tcg-i386: Tidy move operations.tcg/i386/tcg-target.c+24 -270 replies
8/21tcg-i386: Eliminate extra move from qemu_ld64.tcg/i386/tcg-target.c+9 -110 replies
9/21tcg-i386: Tidy jumps.tcg/i386/tcg-target.c+33 -250 replies
10/21tcg-i386: Tidy immediate arithmetic operations.tcg/i386/tcg-target.c+11 -170 replies
11/21tcg-i386: Tidy non-immediate arithmetic operations.tcg/i386/tcg-target.c+48 -300 replies
12/21tcg-i386: Tidy movi.tcg/i386/tcg-target.c+2 -10 replies
13/21tcg-i386: Tidy push/pop.tcg/i386/tcg-target.c+32 -180 replies
14/21tcg-i386: Tidy calls.tcg/i386/tcg-target.c+27 -220 replies
15/21tcg-i386: Tidy ret.tcg/i386/tcg-target.c+2 -10 replies
16/21tcg-i386: Tidy setcc.tcg/i386/tcg-target.c+2 -20 replies
17/21tcg-i386: Tidy unary arithmetic.tcg/i386/tcg-target.c+25 -130 replies
18/21tcg-i386: Tidy multiply.tcg/i386/tcg-target.c+6 -30 replies
19/21tcg-i386: Tidy xchg.tcg/i386/tcg-target.c+3 -10 replies
20/21tcg-i386: Tidy lea.tcg/i386/tcg-target.c+60 -310 replies
21/21tcg-i386: Use lea for three-operand add.tcg/i386/tcg-target.c+20 -30 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [Qemu-devel] [PATCH 00/21] tcg-i386 cleanup and improvement

Most of this patch series replaces the use of hard-coded constants with symbolic definitions of the opcode space. There are a few changes to code generation scattered within, as I came across them.

After the review cycle on this sequence, I'll do the same for the x86-64 port. Although I do begin to wonder if we couldn't usefully merge the two ports; the REX handling can't be that hard to have go away under appropriate conditional compilation...

r~

Richard Henderson (21):
tcg-i386: Allocate call-saved registers first.
tcg-i386: Tidy initialization of tcg_target_call_clobber_regs.
tcg-i386: Tidy ext8u and ext16u operations.
tcg-i386: Tidy ext8s and ext16s operations.
tcg-i386: Tidy bswap operations.
tcg-i386: Tidy shift operations.
tcg-i386: Tidy move operations.
tcg-i386: Eliminate extra move from qemu_ld64.
tcg-i386: Tidy jumps.
tcg-i386: Tidy immediate arithmetic operations.
tcg-i386: Tidy non-immediate arithmetic operations.
tcg-i386: Tidy movi.
tcg-i386: Tidy push/pop.
tcg-i386: Tidy calls.
tcg-i386: Tidy ret.
tcg-i386: Tidy setcc.
tcg-i386: Tidy unary arithmetic.
tcg-i386: Tidy multiply.
tcg-i386: Tidy xchg.
tcg-i386: Tidy lea.
tcg-i386: Use lea for three-operand add.

 tcg/i386/tcg-target.c |  708 +++++++++++++++++++++++++++++--------------------
 1 files changed, 427 insertions(+), 281 deletions(-)