From 046e8edc2a82f0d76a30181c2a6d5f378450308d Mon Sep 17 00:00:00 2001 From: Wunkolo Date: Fri, 10 May 2024 10:37:36 -0700 Subject: [PATCH] [a64] Fix `SELECT` register usage --- src/xenia/cpu/backend/a64/a64_sequences.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/xenia/cpu/backend/a64/a64_sequences.cc b/src/xenia/cpu/backend/a64/a64_sequences.cc index 53e4a3836..0a4324bf8 100644 --- a/src/xenia/cpu/backend/a64/a64_sequences.cc +++ b/src/xenia/cpu/backend/a64/a64_sequences.cc @@ -667,13 +667,13 @@ struct SELECT_F32 e.LoadConstantV(src2.toQ(), i.src2.constant()); } - SReg src3 = i.src3.is_constant ? S2 : i.src3; + SReg src3 = i.src3.is_constant ? S3 : i.src3; if (i.src3.is_constant) { e.LoadConstantV(src3.toQ(), i.src3.constant()); } e.CMP(i.src1.reg().toX(), 0); - e.FCSEL(i.dest, src2, i.src3, Cond::NE); + e.FCSEL(i.dest, src2, src3, Cond::NE); } }; struct SELECT_F64 @@ -686,13 +686,13 @@ struct SELECT_F64 e.LoadConstantV(src2.toQ(), i.src2.constant()); } - DReg src3 = i.src3.is_constant ? D2 : i.src3; + DReg src3 = i.src3.is_constant ? D3 : i.src3; if (i.src3.is_constant) { e.LoadConstantV(src3.toQ(), i.src3.constant()); } e.CMP(i.src1.reg().toX(), 0); - e.FCSEL(i.dest, src2, i.src3, Cond::NE); + e.FCSEL(i.dest, src2, src3, Cond::NE); } }; struct SELECT_V128_I8 @@ -705,7 +705,7 @@ struct SELECT_V128_I8 e.LoadConstantV(src2, i.src2.constant()); } - QReg src3 = i.src3.is_constant ? Q2 : i.src3; + QReg src3 = i.src3.is_constant ? Q3 : i.src3; if (i.src3.is_constant) { e.LoadConstantV(src3, i.src3.constant()); }