diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-11-12 11:20:53 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-11-12 11:20:53 +0100 |
| commit | 7e8f8cf415cc554c5cbba4936abc3ee21b6803c7 (patch) | |
| tree | ca0a10e8ca86b327d63fadb3535f01a5f769f1ce /src | |
| parent | 62634c6e1ec8b76894651fc5212ed52ef630aca2 (diff) | |
| download | box64-7e8f8cf415cc554c5cbba4936abc3ee21b6803c7.tar.gz box64-7e8f8cf415cc554c5cbba4936abc3ee21b6803c7.zip | |
[ARM64_DYNAREC] Fixed sar8c usage
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_00.c | 4 | ||||
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_emit_shift.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_00.c b/src/dynarec/arm64/dynarec_arm64_00.c index 837cc8da..99686b1c 100644 --- a/src/dynarec/arm64/dynarec_arm64_00.c +++ b/src/dynarec/arm64/dynarec_arm64_00.c @@ -1798,7 +1798,7 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin INST_NAME("SAR Eb, Ib"); if(geted_ib(dyn, addr, ninst, nextop)&0x1f) { SETFLAGS(X_ALL, SF_SET_PENDING); - GETEB(x1, 1); + GETSEB(x1, 1); u8 = (F8)&0x1f; emit_sar8c(dyn, ninst, ed, u8, x3, x4); EBBACK; @@ -2129,7 +2129,7 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin case 7: INST_NAME("SAR Eb, 1"); SETFLAGS(X_ALL, SF_SET_PENDING); // some flags are left undefined - GETEB(x1, 0); + GETSEB(x1, 0); emit_sar8c(dyn, ninst, ed, 1, x3, x4); EBBACK; break; diff --git a/src/dynarec/arm64/dynarec_arm64_emit_shift.c b/src/dynarec/arm64/dynarec_arm64_emit_shift.c index b625604d..e9a1e88c 100644 --- a/src/dynarec/arm64/dynarec_arm64_emit_shift.c +++ b/src/dynarec/arm64/dynarec_arm64_emit_shift.c @@ -454,7 +454,7 @@ void emit_sar8c(dynarec_arm_t* dyn, int ninst, int s1, uint32_t c, int s3, int s SET_DFNONE(s4); } IFX(X_CF) { - ASRx(s3, s1, c-1); + ASRw(s3, s1, c-1); BFIw(xFlags, s3, 0, 1); } ASRw(s1, s1, c); |