From f95ebb9c55bb80f01f70fef591968a363204effb Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Sun, 25 Jan 2026 02:08:33 +0900 Subject: [PATCH] [x64] Fix mismatched operand sizes in CNTLZ fallback --- src/xenia/cpu/backend/x64/x64_sequences.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/xenia/cpu/backend/x64/x64_sequences.cc b/src/xenia/cpu/backend/x64/x64_sequences.cc index 20a7edb6d..201038656 100644 --- a/src/xenia/cpu/backend/x64/x64_sequences.cc +++ b/src/xenia/cpu/backend/x64/x64_sequences.cc @@ -3150,12 +3150,12 @@ struct CNTLZ_I32 : Sequence> { Xbyak::Label end; e.inLocalLabel(); - e.bsr(e.rax, i.src1); // ZF set if i.src1 is 0 + e.bsr(e.eax, i.src1); // ZF set if i.src1 is 0 e.mov(i.dest, 0x20); e.jz(end); - e.xor_(e.rax, 0x1F); - e.mov(i.dest, e.rax); + e.xor_(e.eax, 0x1F); + e.mov(i.dest, e.al); e.L(end); e.outLocalLabel(); @@ -3175,7 +3175,7 @@ struct CNTLZ_I64 : Sequence> { e.jz(end); e.xor_(e.rax, 0x3F); - e.mov(i.dest, e.rax); + e.mov(i.dest, e.al); e.L(end); e.outLocalLabel();