diff options
| author | Yang Liu <liuyang22@iscas.ac.cn> | 2025-10-11 20:25:30 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-11 14:25:30 +0200 |
| commit | 56684a2f67a6690740159541b693d1e80129b5bf (patch) | |
| tree | 90e482707a28cb967eafd68211b5e85fc54a9676 /src/dynarec | |
| parent | 56b4de3b845e6389d1072d3fd594e0429cf1a939 (diff) | |
| download | box64-56684a2f67a6690740159541b693d1e80129b5bf.tar.gz box64-56684a2f67a6690740159541b693d1e80129b5bf.zip | |
[RV64_DYNAREC] Fixed a typo in 16bit ROR/ROL opcodes (#3053)
Diffstat (limited to 'src/dynarec')
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_66.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_66.c b/src/dynarec/rv64/dynarec_rv64_66.c index 51bb829c..2469efcf 100644 --- a/src/dynarec/rv64/dynarec_rv64_66.c +++ b/src/dynarec/rv64/dynarec_rv64_66.c @@ -1087,8 +1087,7 @@ uintptr_t dynarec64_66(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni switch ((nextop >> 3) & 7) { case 0: INST_NAME("ROL Ew, Ib"); - u8 = geted_ib(dyn, addr, ninst, nextop) & 15; - if (u8) { + if (geted_ib(dyn, addr, ninst, nextop) & 0x1f) { // removed PENDING on purpose SETFLAGS(X_OF | X_CF, SF_SUBSET, NAT_FLAGS_FUSION); GETEW(x1, 1); @@ -1102,7 +1101,7 @@ uintptr_t dynarec64_66(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni break; case 1: INST_NAME("ROR Ew, Ib"); - if (geted_ib(dyn, addr, ninst, nextop) & 15) { + if (geted_ib(dyn, addr, ninst, nextop) & 0x1f) { // removed PENDING on purpose SETFLAGS(X_OF | X_CF, SF_SUBSET, NAT_FLAGS_FUSION); GETEW(x1, 1); @@ -1116,7 +1115,7 @@ uintptr_t dynarec64_66(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni break; case 2: INST_NAME("RCL Ew, Ib"); - if (geted_ib(dyn, addr, ninst, nextop) & 31) { + if (geted_ib(dyn, addr, ninst, nextop) & 0x1f) { READFLAGS(X_CF); // removed PENDING on purpose SETFLAGS(X_OF | X_CF, SF_SUBSET, NAT_FLAGS_FUSION); @@ -1131,7 +1130,7 @@ uintptr_t dynarec64_66(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni break; case 3: INST_NAME("RCR Ew, Ib"); - if (geted_ib(dyn, addr, ninst, nextop) & 31) { + if (geted_ib(dyn, addr, ninst, nextop) & 0x1f) { READFLAGS(X_CF); // removed PENDING on purpose SETFLAGS(X_OF | X_CF, SF_SUBSET, NAT_FLAGS_FUSION); |