tcg: Disambiguate qemu_ld32u with 32-bit and 64-bit outputs.
commit86feb1c860dc38e9c89e787c5210e8191800385e
authorRichard Henderson <rth@twiddle.net>
Fri, 19 Mar 2010 19:00:26 +0000 (19 12:00 -0700)
committerAurelien Jarno <aurelien@aurel32.net>
Fri, 26 Mar 2010 22:01:03 +0000 (26 23:01 +0100)
tree2ccf426a9d8f4499751e14213a239cc7df58c054
parent32d98fbd10415433283a6cbdde86c3305b0ba8c2
tcg: Disambiguate qemu_ld32u with 32-bit and 64-bit outputs.

Some targets (e.g. Alpha and MIPS64) need to keep 32-bit operands
sign-extended in 64-bit registers (regardless of the "real" sign
of the operand).  For that, we need to be able to distinguish
between a 32-bit load with a 32-bit result and a 32-bit load with
a given extension to a 64-bit result.  This distinction already
exists for the ld* loads, but not the qemu_ld* loads.

Reserve qemu_ld32u for 64-bit outputs and introduce qemu_ld32 for
32-bit outputs.  Adjust all code generators to match.

Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
tcg/README
tcg/arm/tcg-target.c
tcg/hppa/tcg-target.c
tcg/i386/tcg-target.c
tcg/mips/tcg-target.c
tcg/ppc/tcg-target.c
tcg/ppc64/tcg-target.c
tcg/sparc/tcg-target.c
tcg/tcg-op.h
tcg/tcg-opc.h
tcg/x86_64/tcg-target.c