diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_00.c | 3 | ||||
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_00_2.c | 2 | ||||
| -rw-r--r-- | src/emu/x64run.c | 2 |
3 files changed, 4 insertions, 3 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_00.c b/src/dynarec/arm64/dynarec_arm64_00.c index c1ee3648..638c41de 100644 --- a/src/dynarec/arm64/dynarec_arm64_00.c +++ b/src/dynarec/arm64/dynarec_arm64_00.c @@ -1491,7 +1491,8 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin POP1z(xFlags); MOV32w(x1, 0x3F7FD7); ANDw_REG(xFlags, xFlags, x1); - ORRw_mask(xFlags, xFlags, 0b011111, 0); //mask=0x00000002 + MOV32w(x1, 0x202); + ORRw_REG(xFlags, xFlags, x1); SET_DFNONE(x1); if(box64_wine) { // should this be done all the time? TBZ_NEXT(xFlags, F_TF); diff --git a/src/dynarec/rv64/dynarec_rv64_00_2.c b/src/dynarec/rv64/dynarec_rv64_00_2.c index bc6ae6c9..e75e56d5 100644 --- a/src/dynarec/rv64/dynarec_rv64_00_2.c +++ b/src/dynarec/rv64/dynarec_rv64_00_2.c @@ -494,7 +494,7 @@ uintptr_t dynarec64_00_2(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int FLAGS_ADJUST_FROM11(xFlags, xFlags, x2); MOV32w(x1, 0x3F7FD7); AND(xFlags, xFlags, x1); - ORI(xFlags, xFlags, 0x2); + ORI(xFlags, xFlags, 0x202); SET_DFNONE(); if(box64_wine) { // should this be done all the time? ANDI(x1, xFlags, 1 << F_TF); diff --git a/src/emu/x64run.c b/src/emu/x64run.c index e9092067..c5d29a1c 100644 --- a/src/emu/x64run.c +++ b/src/emu/x64run.c @@ -860,7 +860,7 @@ x64emurun: case 0x9D: /* POPF */ if(ACCESS_FLAG(F_TF) && !tf_next) --tf_next; - emu->eflags.x64 = (((rex.is32bits?Pop32(emu):Pop64(emu)) & 0x3F7FD7)/* & (0xffff-40)*/ ) | 0x2; // mask off res2 and res3 and on res1 + emu->eflags.x64 = (((rex.is32bits?Pop32(emu):Pop64(emu)) & 0x3F7FD7)/* & (0xffff-40)*/ ) | 0x202; // mask off res2 and res3 and on res1 RESET_FLAGS(emu); if(ACCESS_FLAG(F_TF)) ++tf_next; |