From cf32412f986a5a9c281dda5dc24bf22641a305ed Mon Sep 17 00:00:00 2001 From: phorcys Date: Mon, 14 Apr 2025 19:32:14 +0800 Subject: [RV64_DYNAREC] fix MASKMOVQ. (#2531) maskmovq write when sign bit == 1. if mask byte = 0x00, should skip. replace BLT with BLE. --- src/dynarec/rv64/dynarec_rv64_0f.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/dynarec/rv64/dynarec_rv64_0f.c b/src/dynarec/rv64/dynarec_rv64_0f.c index f3798cb4..5627707b 100644 --- a/src/dynarec/rv64/dynarec_rv64_0f.c +++ b/src/dynarec/rv64/dynarec_rv64_0f.c @@ -3071,7 +3071,7 @@ uintptr_t dynarec64_0F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni GETEM(x5, 0, 7); for (int i = 0; i < 8; i++) { LB(x1, wback, fixedaddress + i); - BLT(xZR, x1, 4 * 3); + BLE(xZR, x1, 4 * 3); LB(x2, gback, gdoffset + i); SB(x2, xRDI, i); } -- cgit 1.4.1