From 38bc3533053e756bb21665a23a1ba921ce4fa1c7 Mon Sep 17 00:00:00 2001 From: PavelBARABANOV Date: Sat, 12 Sep 2026 06:13:12 +0300 Subject: [PATCH] [dynarmic:] TST + B.NE for marked bit --- src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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..170fcf9613 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); + code.TST(Xscratch0, 1ULL << *ctx.conf.page_table_marked_bit); + code.B(NE, *fallback); } if (ctx.conf.page_table_pointer_mask != 0) {