aboutsummaryrefslogtreecommitdiff
path: root/target/sh4
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2017-07-18 10:02:49 -1000
committerAurelien Jarno <aurelien@aurel32.net>2017-07-18 23:39:18 +0200
commit907759f9979d512eb072b8c31c921a78e44b8aa9 (patch)
tree36d521398e020ccece34a527c520c05006daf834 /target/sh4
parentccae24d4985507d6a0cfc1c2f18f4dc60dedda89 (diff)
target/sh4: Implement fpchg
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Richard Henderson <rth@twiddle.net> Message-Id: <20170718200255.31647-25-rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'target/sh4')
-rw-r--r--target/sh4/translate.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/target/sh4/translate.c b/target/sh4/translate.c
index 6362a4781e..1ed0349374 100644
--- a/target/sh4/translate.c
+++ b/target/sh4/translate.c
@@ -480,6 +480,11 @@ static void _decode_opc(DisasContext * ctx)
tcg_gen_xori_i32(cpu_fpscr, cpu_fpscr, FPSCR_SZ);
ctx->bstate = BS_STOP;
return;
+ case 0xf7fd: /* fpchg */
+ CHECK_SH4A
+ tcg_gen_xori_i32(cpu_fpscr, cpu_fpscr, FPSCR_PR);
+ ctx->bstate = BS_STOP;
+ return;
case 0x0009: /* nop */
return;
case 0x001b: /* sleep */