From b1987d01870b5776eb2d8835e1b788cd5387b8f8 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Fri, 1 Dec 2023 21:14:53 +0100 Subject: [PATCH] JitArm64: Use ADDI2R for psq_lXX/psq_stXX immediate offsets This simplifies the source code, and slightly improves the emitted code in some cases. --- .../Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp index 725826dd23..1f3426bd47 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp @@ -58,10 +58,8 @@ void JitArm64::psq_lXX(UGeckoInstruction inst) { if (indexed) ADD(addr_reg, gpr.R(inst.RA), gpr.R(inst.RB)); - else if (offset >= 0) - ADD(addr_reg, gpr.R(inst.RA), offset); else - SUB(addr_reg, gpr.R(inst.RA), std::abs(offset)); + ADDI2R(addr_reg, gpr.R(inst.RA), offset, addr_reg); } else { @@ -217,10 +215,8 @@ void JitArm64::psq_stXX(UGeckoInstruction inst) { if (indexed) ADD(addr_reg, gpr.R(inst.RA), gpr.R(inst.RB)); - else if (offset >= 0) - ADD(addr_reg, gpr.R(inst.RA), offset); else - SUB(addr_reg, gpr.R(inst.RA), std::abs(offset)); + ADDI2R(addr_reg, gpr.R(inst.RA), offset, addr_reg); } else {