From 6d70a6b6250c24e4701440ac7875831919a86b36 Mon Sep 17 00:00:00 2001 From: David Hartglass Date: Thu, 9 Apr 2026 17:16:36 -0700 Subject: [PATCH] address outerloop failures missed originally --- src/coreclr/jit/hwintrinsiccodegenarm64.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/coreclr/jit/hwintrinsiccodegenarm64.cpp b/src/coreclr/jit/hwintrinsiccodegenarm64.cpp index b0c9eaa7cbfa11..168ba985d49c22 100644 --- a/src/coreclr/jit/hwintrinsiccodegenarm64.cpp +++ b/src/coreclr/jit/hwintrinsiccodegenarm64.cpp @@ -2652,7 +2652,8 @@ void CodeGen::genHWIntrinsic(GenTreeHWIntrinsic* node) GetEmitter()->emitIns_R_R_R(INS_orr, scalarSize, op2Reg, op2Reg, op3Reg); // Generate the table using the combined immediate. - HWIntrinsicImmOpHelper helper(this, op2Reg, 0, 511, node); + int numInstrs = (targetReg != op1Reg) ? 2 : 1; + HWIntrinsicImmOpHelper helper(this, op2Reg, 0, 511, node, numInstrs); for (helper.EmitBegin(); !helper.Done(); helper.EmitCaseEnd()) { // Extract scale and pattern from the immediate @@ -2712,7 +2713,8 @@ void CodeGen::genHWIntrinsic(GenTreeHWIntrinsic* node) { assert(isRMW); - HWIntrinsicImmOpHelper helper(this, intrin.op3, node); + int numInstrs = (targetReg != op1Reg) ? 2 : 1; + HWIntrinsicImmOpHelper helper(this, intrin.op3, node, numInstrs); for (helper.EmitBegin(); !helper.Done(); helper.EmitCaseEnd()) {