[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/11] target-sh4: optimize swap.w
From: |
Aurelien Jarno |
Subject: |
[Qemu-devel] [PATCH 06/11] target-sh4: optimize swap.w |
Date: |
Mon, 17 Sep 2012 01:11:55 +0200 |
It's possible swap the two 16-bit words of a 32-bit register using a
rotation. If the TCG target doesn't implement rotation, the replacement
code is similar to the previously implemented code.
Signed-off-by: Aurelien Jarno <address@hidden>
---
target-sh4/translate.c | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/target-sh4/translate.c b/target-sh4/translate.c
index 92c5a1f..9ecbe47 100644
--- a/target-sh4/translate.c
+++ b/target-sh4/translate.c
@@ -732,17 +732,7 @@ static void _decode_opc(DisasContext * ctx)
}
return;
case 0x6009: /* swap.w Rm,Rn */
- {
- TCGv high, low;
- high = tcg_temp_new();
- tcg_gen_shli_i32(high, REG(B7_4), 16);
- low = tcg_temp_new();
- tcg_gen_shri_i32(low, REG(B7_4), 16);
- tcg_gen_ext16u_i32(low, low);
- tcg_gen_or_i32(REG(B11_8), high, low);
- tcg_temp_free(low);
- tcg_temp_free(high);
- }
+ tcg_gen_rotli_i32(REG(B11_8), REG(B7_4), 16);
return;
case 0x200d: /* xtrct Rm,Rn */
{
--
1.7.10.4
- [Qemu-devel] [PATCH 00/11] target-sh4: misc optimizations and cleanup, Aurelien Jarno, 2012/09/16
- [Qemu-devel] [PATCH 02/11] target-sh4: use float32_muladd() to implement fmac, Aurelien Jarno, 2012/09/16
- [Qemu-devel] [PATCH 01/11] target-sh4: mark a few helpers const and pure, Aurelien Jarno, 2012/09/16
- [Qemu-devel] [PATCH 06/11] target-sh4: optimize swap.w,
Aurelien Jarno <=
- [Qemu-devel] [PATCH 03/11] target-sh4: implement addc and subc using TCG, Aurelien Jarno, 2012/09/16
- [Qemu-devel] [PATCH 05/11] target-sh4: optimize xtrct, Aurelien Jarno, 2012/09/16
- [Qemu-devel] [PATCH 04/11] target-sh4: implement addv and subv using TCG, Aurelien Jarno, 2012/09/16
- [Qemu-devel] [PATCH 10/11] target-sh4: remove useless code, Aurelien Jarno, 2012/09/16
- [Qemu-devel] [PATCH 08/11] target-sh4: rework exceptions handling, Aurelien Jarno, 2012/09/16
- [Qemu-devel] [PATCH 09/11] target-sh4: cleanup DisasContext, Aurelien Jarno, 2012/09/16
- [Qemu-devel] [PATCH 11/11] gdbstub/sh4: fix build with USE_SOFTFLOAT_STRUCT_TYPES, Aurelien Jarno, 2012/09/16
- [Qemu-devel] [PATCH 07/11] target-sh4: remove gen_clr_t() and gen_set_t(), Aurelien Jarno, 2012/09/16