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