summaryrefslogtreecommitdiffstats
path: root/target/sh4
diff options
context:
space:
mode:
authorRichard Henderson2021-06-14 01:24:25 +0200
committerRichard Henderson2021-06-29 19:04:57 +0200
commitb983a0e17240fcbc8e1a32ef44221a1954332c81 (patch)
treeda8424ff79b9391f5bbafa0338810df781169d41 /target/sh4
parenttarget/i386: Improve bswap translation (diff)
downloadqemu-b983a0e17240fcbc8e1a32ef44221a1954332c81.tar.gz
qemu-b983a0e17240fcbc8e1a32ef44221a1954332c81.tar.xz
qemu-b983a0e17240fcbc8e1a32ef44221a1954332c81.zip
target/sh4: Improve swap.b translation
Remove TCG_BSWAP_IZ and the preceding zero-extension. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/sh4')
-rw-r--r--target/sh4/translate.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/target/sh4/translate.c b/target/sh4/translate.c
index 147219759b..4dcfff81f6 100644
--- a/target/sh4/translate.c
+++ b/target/sh4/translate.c
@@ -676,8 +676,7 @@ static void _decode_opc(DisasContext * ctx)
case 0x6008: /* swap.b Rm,Rn */
{
TCGv low = tcg_temp_new();
- tcg_gen_ext16u_i32(low, REG(B7_4));
- tcg_gen_bswap16_i32(low, low, TCG_BSWAP_IZ | TCG_BSWAP_OZ);
+ tcg_gen_bswap16_i32(low, REG(B7_4), 0);
tcg_gen_deposit_i32(REG(B11_8), REG(B7_4), low, 0, 16);
tcg_temp_free(low);
}