diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-12-01 10:03:18 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-12-01 10:03:25 +0100 |
| commit | 93b371eb8cd2797a021103a4aad41ba7672cd32e (patch) | |
| tree | fcaf48392b41e5c622b454e99ee626f0408edaa9 | |
| parent | b7007a1bdd56d5d6ce3460f7dc1d3a7d720fa858 (diff) | |
| download | box64-93b371eb8cd2797a021103a4aad41ba7672cd32e.tar.gz box64-93b371eb8cd2797a021103a4aad41ba7672cd32e.zip | |
*[ARM64_DYNAREC] Fixed some cases of memory access on BTR/BTS opcodes (for #2093)
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_0f.c | 4 | ||||
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_660f.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_0f.c b/src/dynarec/arm64/dynarec_arm64_0f.c index e7a445c9..beb6a34b 100644 --- a/src/dynarec/arm64/dynarec_arm64_0f.c +++ b/src/dynarec/arm64/dynarec_arm64_0f.c @@ -1744,7 +1744,7 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin LSLxw_REG(x4, x4, x2); ORRxw_REG(ed, ed, x4); if(wback) { - STRxw_U12(ed, wback, fixedaddress); + STxw(ed, wback, fixedaddress); SMWRITE(); } break; @@ -1984,7 +1984,7 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin LSLxw_REG(x4, x4, x2); BICxw_REG(ed, ed, x4); if(wback) { - STRxw_U12(ed, wback, fixedaddress); + STxw(ed, wback, fixedaddress); SMWRITE(); } break; diff --git a/src/dynarec/arm64/dynarec_arm64_660f.c b/src/dynarec/arm64/dynarec_arm64_660f.c index 51426742..34bd16cc 100644 --- a/src/dynarec/arm64/dynarec_arm64_660f.c +++ b/src/dynarec/arm64/dynarec_arm64_660f.c @@ -2393,7 +2393,7 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n LSLw_REG(x1, x1, x2); ORRx_REG(ed, ed, x1); if(wback) { - STRH_U12(ed, wback, fixedaddress); + STH(ed, wback, fixedaddress); } break; case 0xAC: @@ -2593,7 +2593,7 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n LSLxw_REG(x1, x1, x2); EORx_REG(ed, ed, x1); if(wback) { - STRH_U12(ed, wback, fixedaddress); + STH(ed, wback, fixedaddress); SMWRITE(); } break; |