diff options
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_helper.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_helper.c b/src/dynarec/arm64/dynarec_arm64_helper.c index 04fa97f6..86b09cc6 100644 --- a/src/dynarec/arm64/dynarec_arm64_helper.c +++ b/src/dynarec/arm64/dynarec_arm64_helper.c @@ -2371,7 +2371,8 @@ void fpu_reflectcache(dynarec_arm_t* dyn, int ninst, int s1, int s2, int s3) if(dyn->ymm_zero) { ADDx_U12(s1, xEmu, offsetof(x64emu_t, ymm[0])); for(int i=0; i<16; ++i) - STPx_S7_offset(xZR, xZR, s1, 16*i); + if(dyn->ymm_zero&(1<<i)) + STPx_S7_offset(xZR, xZR, s1, 16*i); } } |