From 12d961385b0216e4dec3a3d9fe9d6441c7832995 Mon Sep 17 00:00:00 2001 From: aurel32 Date: Thu, 20 Nov 2008 06:41:29 +0000 Subject: target-sh4: fix fldi0/fldi1 fldi0/fldi1 should be executed as a nop if FPSCR.FR is set instead of generating an exception. Reported by Laurent Desnogues. Signed-off-by: Aurelien Jarno git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5759 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-sh4/translate.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'target-sh4/translate.c') diff --git a/target-sh4/translate.c b/target-sh4/translate.c index f8371e2e00..84a3f4094a 100644 --- a/target-sh4/translate.c +++ b/target-sh4/translate.c @@ -1670,15 +1670,13 @@ static void _decode_opc(DisasContext * ctx) case 0xf08d: /* fldi0 FRn - FPSCR: R[PR] */ if (!(ctx->fpscr & FPSCR_PR)) { tcg_gen_movi_i32(cpu_fregs[FREG(B11_8)], 0); - return; } - break; + return; case 0xf09d: /* fldi1 FRn - FPSCR: R[PR] */ if (!(ctx->fpscr & FPSCR_PR)) { tcg_gen_movi_i32(cpu_fregs[FREG(B11_8)], 0x3f800000); - return; } - break; + return; case 0xf0ad: /* fcnvsd FPUL,DRn */ { TCGv_i64 fp = tcg_temp_new_i64(); -- cgit v1.2.3