[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 29/29] tcg-i386: Make use of zero-extended memory hel
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PULL 29/29] tcg-i386: Make use of zero-extended memory helper routines |
Date: |
Mon, 2 Sep 2013 09:29:14 -0700 |
For 8 and 16-bit unsigned loads, rely on the zero-extension
from the helper and use a smaller 32-bit move insn.
Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
tcg/i386/tcg-target.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/tcg/i386/tcg-target.c b/tcg/i386/tcg-target.c
index 3ee54f1..c1f0741 100644
--- a/tcg/i386/tcg-target.c
+++ b/tcg/i386/tcg-target.c
@@ -1531,20 +1531,17 @@ static void tcg_out_qemu_ld_slow_path(TCGContext *s,
TCGLabelQemuLdst *l)
case 1 | 4:
tcg_out_ext16s(s, data_reg, TCG_REG_EAX, P_REXW);
break;
- case 0:
- tcg_out_ext8u(s, data_reg, TCG_REG_EAX);
- break;
- case 1:
- tcg_out_ext16u(s, data_reg, TCG_REG_EAX);
- break;
- case 2:
- tcg_out_mov(s, TCG_TYPE_I32, data_reg, TCG_REG_EAX);
- break;
#if TCG_TARGET_REG_BITS == 64
case 2 | 4:
tcg_out_ext32s(s, data_reg, TCG_REG_EAX);
break;
#endif
+ case 0:
+ case 1:
+ /* Note that the helpers have zero-extended to tcg_target_long. */
+ case 2:
+ tcg_out_mov(s, TCG_TYPE_I32, data_reg, TCG_REG_EAX);
+ break;
case 3:
if (TCG_TARGET_REG_BITS == 64) {
tcg_out_mov(s, TCG_TYPE_I64, data_reg, TCG_REG_RAX);
--
1.8.1.4
- [Qemu-devel] [PULL 19/29] tcg: Fix jit debug for x32, (continued)
- [Qemu-devel] [PULL 19/29] tcg: Fix jit debug for x32, Richard Henderson, 2013/09/02
- [Qemu-devel] [PULL 20/29] tcg-i386: Use intptr_t appropriately, Richard Henderson, 2013/09/02
- [Qemu-devel] [PULL 21/29] tcg-i386: Adjust tcg_out_tlb_load for x32, Richard Henderson, 2013/09/02
- [Qemu-devel] [PULL 22/29] configure: Allow x32 as a host, Richard Henderson, 2013/09/02
- [Qemu-devel] [PULL 23/29] exec: Reorganize the GETRA/GETPC macros, Richard Henderson, 2013/09/02
- [Qemu-devel] [PULL 24/29] tcg-i386: Don't perform GETPC adjustment in TCG code, Richard Henderson, 2013/09/02
- [Qemu-devel] [PULL 25/29] exec: Rename USUFFIX to LSUFFIX, Richard Henderson, 2013/09/02
- [Qemu-devel] [PULL 26/29] target: Include softmmu_exec.h where forgotten, Richard Henderson, 2013/09/02
- [Qemu-devel] [PULL 27/29] exec: Split softmmu_defs.h, Richard Henderson, 2013/09/02
- [Qemu-devel] [PULL 28/29] tcg: Introduce zero and sign-extended versions of load helpers, Richard Henderson, 2013/09/02
- [Qemu-devel] [PULL 29/29] tcg-i386: Make use of zero-extended memory helper routines,
Richard Henderson <=
- Re: [Qemu-devel] [PULL 00/29] Three tcg patch sets, Aurelien Jarno, 2013/09/03