From 7d27aa14e40506702b91f6c8e5e4365a9dbeb906 Mon Sep 17 00:00:00 2001 From: Yang Liu Date: Fri, 24 Nov 2023 06:10:52 +0800 Subject: [PATCH] [DYNAREC_RV64] Fixed FCOMP opcode (#1080) --- src/dynarec/rv64/dynarec_rv64_d8.c | 18 +++++++++--------- src/dynarec/rv64/dynarec_rv64_dc.c | 10 +++++----- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/dynarec/rv64/dynarec_rv64_d8.c b/src/dynarec/rv64/dynarec_rv64_d8.c index e293236e7b..88fbc10526 100644 --- a/src/dynarec/rv64/dynarec_rv64_d8.c +++ b/src/dynarec/rv64/dynarec_rv64_d8.c @@ -53,7 +53,7 @@ uintptr_t dynarec64_D8(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni v1 = x87_get_st(dyn, ninst, x1, x2, 0, X87_COMBINE(0, nextop&7)); v2 = x87_get_st(dyn, ninst, x1, x2, nextop&7, X87_COMBINE(0, nextop&7)); LHU(x3, xEmu, offsetof(x64emu_t, sw)); - MOV32w(x1, 0b1110100011111111); // mask off c0,c1,c2,c3 + MOV32w(x1, 0b1011100011111111); // mask off c0,c1,c2,c3 AND(x3, x3, x1); if(ST_IS_F(0)) { FEQS(x5, v1, v1); @@ -62,15 +62,15 @@ uintptr_t dynarec64_D8(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni BEQZ(x5, 24); // undefined/NaN FEQS(x5, v1, v2); BNEZ(x5, 28); // equal - FLTS(x3, v1, v2); // x3 = (v1