From 0e05b92f8545157038f1333a3dc246f6a5f86e9b Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Wed, 25 Mar 2026 14:02:38 +0900 Subject: [PATCH] [A64] Use shifted immediate for 0x1000 add in ComputeMemoryAddress --- src/xenia/cpu/backend/a64/a64_seq_util.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/xenia/cpu/backend/a64/a64_seq_util.h b/src/xenia/cpu/backend/a64/a64_seq_util.h index 97b8229c8..f9cf14e6c 100644 --- a/src/xenia/cpu/backend/a64/a64_seq_util.h +++ b/src/xenia/cpu/backend/a64/a64_seq_util.h @@ -163,9 +163,7 @@ inline XReg ComputeMemoryAddress(A64Emitter& e, const I64Op& guest) { e.cmp(e.w0, e.w17); auto& skip = e.NewCachedLabel(); e.b(LO, skip); - // 0x1000 doesn't fit in a 12-bit immediate; use mov+add. - e.mov(e.w17, 0x1000u); - e.add(e.w0, e.w0, e.w17); + e.add(e.w0, e.w0, 1, 12); // add 0x1000 via LSL #12 e.L(skip); } return e.x0;