about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_0f.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_0f.c b/src/dynarec/arm64/dynarec_arm64_0f.c
index 2dc7f064..7b7cc338 100644
--- a/src/dynarec/arm64/dynarec_arm64_0f.c
+++ b/src/dynarec/arm64/dynarec_arm64_0f.c
@@ -1585,14 +1585,12 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                     u8 = F8;

                     u8&=(rex.w?0x3f:0x1f);

                     BFXILxw(xFlags, ed, u8, 1);  // inject 1 bit from u8 to F_CF (i.e. pos 0)

-                    TBNZ_MARK3(xFlags, 0); // bit already set, jump to next instruction

                     MOV32w(x4, 1);

                     ORRxw_REG_LSL(ed, ed, x4, u8);

                     if(wback) {

                         STxw(ed, wback, fixedaddress);

                         SMWRITE();

                     }

-                    MARK3;

                     break;

                 case 6:

                     INST_NAME("BTR Ed, Ib");

@@ -1610,14 +1608,13 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                     u8 = F8;

                     u8&=(rex.w?0x3f:0x1f);

                     BFXILxw(xFlags, ed, u8, 1);  // inject 1 bit from u8 to F_CF (i.e. pos 0)

-                    TBZ_MARK3(xFlags, 0); // bit already clear, jump to next instruction

+                    UBFXw(x4, xFlags, 0, 1);

                     MOV32w(x4, 1);

                     BICxw_REG_LSL(ed, ed, x4, u8);

                     if(wback) {

                         STxw(ed, wback, fixedaddress);

                         SMWRITE();

                     }

-                    MARK3;

                     break;

                 case 7:

                     INST_NAME("BTC Ed, Ib");

@@ -1641,7 +1638,6 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                         STxw(ed, wback, fixedaddress);

                         SMWRITE();

                     }

-                    MARK3;

                     break;

                 default:

                     DEFAULT;