aboutsummaryrefslogtreecommitdiff
path: root/target-sh4/translate.c
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2012-09-16 13:12:20 +0200
committerAurelien Jarno <aurelien@aurel32.net>2012-09-21 19:53:16 +0200
commitf16640f47bb0b8f907fff08a2e8d1c891ce82480 (patch)
tree45b1441db9ec249dc6628978da8a920b725cb54d /target-sh4/translate.c
parentad8d25a11f13cb8acc69558d03cd69202f5a3cc2 (diff)
target-sh4: optimize xtrct
The register being 32 bit long, after a shift to the right by 16 bits, the upper 16 bit are already cleared. There is no need to call ext16u to clear them. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'target-sh4/translate.c')
-rw-r--r--target-sh4/translate.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/target-sh4/translate.c b/target-sh4/translate.c
index 41a1f228c7..92c5a1fb6d 100644
--- a/target-sh4/translate.c
+++ b/target-sh4/translate.c
@@ -751,7 +751,6 @@ static void _decode_opc(DisasContext * ctx)
tcg_gen_shli_i32(high, REG(B7_4), 16);
low = tcg_temp_new();
tcg_gen_shri_i32(low, REG(B11_8), 16);
- tcg_gen_ext16u_i32(low, low);
tcg_gen_or_i32(REG(B11_8), high, low);
tcg_temp_free(low);
tcg_temp_free(high);