diff --git a/src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp b/src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp index 302a475a78..1f758a190a 100644 --- a/src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp +++ b/src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp @@ -274,8 +274,8 @@ std::pair InlinePageTableEmitVAddrLookup(oaknut::Cod code.LDR(Xscratch0, Xpagetable, Xscratch0); if (ctx.conf.page_table_marked_bit) { - code.UBFX(Xscratch1, Xscratch0, *ctx.conf.page_table_marked_bit, 1); - code.CBNZ(Xscratch1, *fallback); + // check for marked bit + code.TBNZ(Xscratch0, *ctx.conf.page_table_marked_bit, *fallback); } if (ctx.conf.page_table_pointer_mask != 0) {