projects
/
users
/
dwmw2
/
qemu.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7f6bdc4
)
target-sh4: use deposit in swap.b instruction
author
Aurelien Jarno <aurelien@aurel32.net>
Sun, 5 Jul 2015 15:05:08 +0000
(17:05 +0200)
committer
Aurelien Jarno <aurelien@aurel32.net>
Sun, 13 Sep 2015 21:08:51 +0000
(23:08 +0200)
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-sh4/translate.c
patch
|
blob
|
history
diff --git
a/target-sh4/translate.c
b/target-sh4/translate.c
index be0cb321cf04abbc6d3e2a86574132d672e65888..50043cf5b59643e4e822d20beb925ccdd90aed37 100644
(file)
--- a/
target-sh4/translate.c
+++ b/
target-sh4/translate.c
@@
-612,15
+612,11
@@
static void _decode_opc(DisasContext * ctx)
return;
case 0x6008: /* swap.b Rm,Rn */
{
- TCGv high, low;
- high = tcg_temp_new();
- tcg_gen_andi_i32(high, REG(B7_4), 0xffff0000);
- low = tcg_temp_new();
+ TCGv low = tcg_temp_new();;
tcg_gen_ext16u_i32(low, REG(B7_4));
tcg_gen_bswap16_i32(low, low);
-
tcg_gen_or_i32(REG(B11_8), high, low
);
+
tcg_gen_deposit_i32(REG(B11_8), REG(B7_4), low, 0, 16
);
tcg_temp_free(low);
- tcg_temp_free(high);
}
return;
case 0x6009: /* swap.w Rm,Rn */