From 0234485db3e065b2541cb740ebc3290e099f69cd Mon Sep 17 00:00:00 2001 From: Zhijin Zeng Date: Thu, 29 Oct 2026 10:05:09 +0800 Subject: [PATCH] [RV64_DYNAREC] Keep live XMMs when reflecting cache When BOX64_DYNAREC_TEST is enabled, `dead=1` will corrupt xmm register value. --- src/dynarec/rv64/dynarec_rv64_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynarec/rv64/dynarec_rv64_helper.c b/src/dynarec/rv64/dynarec_rv64_helper.c index 478b1e1ebb..ccd99ca02c 100644 --- a/src/dynarec/rv64/dynarec_rv64_helper.c +++ b/src/dynarec/rv64/dynarec_rv64_helper.c @@ -1983,7 +1983,7 @@ static void sse_reflectcache(dynarec_rv64_t* dyn, int ninst, int s1) flushed8 = 1; ADDI(s1, xEmu, offsetof(x64emu_t, xmm[i])); VSE8_V(dyn->e.ssecache[i].reg, s1, VECTOR_UNMASKED, VECTOR_NFIELD1); - avx_flush_upper_vector(dyn, ninst, s1, i, dyn->e.ssecache[i].reg, 0, 1); + avx_flush_upper_vector(dyn, ninst, s1, i, dyn->e.ssecache[i].reg, 0, 0); } else if (dyn->e.ssecache[i].single) FSW(dyn->e.ssecache[i].reg, xEmu, offsetof(x64emu_t, xmm[i])); else