Skip to content

Commit 8b10891

Browse files
authored
Do not mark small types RegOptional as part of GT_LONG contained by HWIntrinsic (#118550)
1 parent 26dded0 commit 8b10891

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/coreclr/jit/lowerxarch.cpp

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9781,14 +9781,16 @@ void Lowering::ContainCheckHWIntrinsic(GenTreeHWIntrinsic* node)
97819781

97829782
for (GenTree* longOp : op1->Operands())
97839783
{
9784-
if (!varTypeIsSmall(longOp) && IsContainableMemoryOp(longOp) &&
9785-
IsSafeToContainMem(node, longOp))
9784+
if (!varTypeIsSmall(longOp))
97869785
{
9787-
MakeSrcContained(node, longOp);
9788-
}
9789-
else if (IsSafeToMarkRegOptional(node, longOp))
9790-
{
9791-
MakeSrcRegOptional(node, longOp);
9786+
if (IsContainableMemoryOp(longOp) && IsSafeToContainMem(node, longOp))
9787+
{
9788+
MakeSrcContained(node, longOp);
9789+
}
9790+
else if (IsSafeToMarkRegOptional(node, longOp))
9791+
{
9792+
MakeSrcRegOptional(node, longOp);
9793+
}
97929794
}
97939795
}
97949796

0 commit comments

Comments
 (0)