Don't change PUTARG_REG type on arm64
authorCarol Eidt <carol.eidt@microsoft.com>
Fri, 6 Jul 2018 14:00:03 +0000 (07:00 -0700)
committerCarol Eidt <carol.eidt@microsoft.com>
Fri, 6 Jul 2018 14:00:03 +0000 (07:00 -0700)
Fix #18746

src/jit/lsra.cpp

index 01192b2..0b1375b 100644 (file)
@@ -6446,6 +6446,7 @@ void LinearScan::updateMaxSpill(RefPosition* refPosition)
                 {
                     typ = treeNode->AsPutArgSplit()->GetRegType(refPosition->getMultiRegIdx());
                 }
+#if !defined(_TARGET_64BIT_)
                 else if (treeNode->OperIsPutArgReg())
                 {
                     // For double arg regs, the type is changed to long since they must be passed via `r0-r3`.
@@ -6453,6 +6454,7 @@ void LinearScan::updateMaxSpill(RefPosition* refPosition)
                     var_types typNode = treeNode->TypeGet();
                     typ               = (typNode == TYP_LONG) ? TYP_INT : typNode;
                 }
+#endif // !_TARGET_64BIT_
 #endif // FEATURE_ARG_SPLIT
                 else
                 {