diff --git a/Source/Core/Common/Arm64Emitter.cpp b/Source/Core/Common/Arm64Emitter.cpp index cbc114da5f2..3edf14d45e8 100644 --- a/Source/Core/Common/Arm64Emitter.cpp +++ b/Source/Core/Common/Arm64Emitter.cpp @@ -1913,7 +1913,12 @@ void ARM64XEmitter::MOVI2RImpl(ARM64Reg Rd, T imm) (imm << 48) | (imm & 0x0000'FFFF'FFFF'0000) | (imm >> 48)}) { if (LogicalImm(orr_imm, GPRSize::B64)) + { try_base(orr_imm, Approach::ORRBase, false); + + if (instructions_required(best_parts, best_approach) <= 1) + break; + } } } else