diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-07-29 11:44:44 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-07-29 11:44:44 +0200 |
| commit | 0fd5d67fe33830289880bb3df4b8bb4dca9ce34a (patch) | |
| tree | b28657d3aef6213e3a35259eb16939de0a4610a3 | |
| parent | f628c37a61cc215fa4acc53157c3c7ae6df9bc53 (diff) | |
| download | box64-0fd5d67fe33830289880bb3df4b8bb4dca9ce34a.tar.gz box64-0fd5d67fe33830289880bb3df4b8bb4dca9ce34a.zip | |
[ARM+4_DYNAREC] Another fix for STMXCSR opcode when using SSE_FLUSHTO0
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_0f.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_0f.c b/src/dynarec/arm64/dynarec_arm64_0f.c index 221b10a0..a8779464 100644 --- a/src/dynarec/arm64/dynarec_arm64_0f.c +++ b/src/dynarec/arm64/dynarec_arm64_0f.c @@ -1983,7 +1983,6 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin INST_NAME("STMXCSR Md"); addr = geted(dyn, addr, ninst, nextop, &ed, x2, &fixedaddress, &unscaled, 0xfff<<2, 3, rex, NULL, 0, 0); LDRw_U12(x4, xEmu, offsetof(x64emu_t, mxcsr)); - STW(x4, ed, fixedaddress); if(BOX64ENV(sse_flushto0)) { // sync with fpsr, with mask from mxcsr MRS_fpsr(x1); @@ -1995,6 +1994,7 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin //BFXILw(x3, x4, 7, 6); // this would the mask, but let's ignore that for now BFIw(x4, x1, 0, 6); // inject back the flags } + STW(x4, ed, fixedaddress); break; case 4: INST_NAME("XSAVE Ed"); |