未验证 提交 64d27bb1 编写于 作者: K Kunal Pathak 提交者: GitHub

Disable matching constants for vectors that needs upper half to be save/restore (#74110)

* Revert "Ensure that GT_CNS_VEC is handled in LinearScan::isMatchingConstant (#70171)"

This reverts commit 24f5de4b.

* Revert "Revert "Ensure that GT_CNS_VEC is handled in LinearScan::isMatchingConstant (#70171)""

This reverts commit 984120f0cde0d26f9768112296e68164cfe76c8e.

* Add partial save check

* Use the correct register type
上级 7704f8b5
......@@ -2721,7 +2721,11 @@ bool LinearScan::isMatchingConstant(RegRecord* physRegRecord, RefPosition* refPo
case GT_CNS_VEC:
{
return GenTreeVecCon::Equals(refPosition->treeNode->AsVecCon(), otherTreeNode->AsVecCon());
return
#if FEATURE_PARTIAL_SIMD_CALLEE_SAVE
!Compiler::varTypeNeedsPartialCalleeSave(physRegRecord->assignedInterval->registerType) &&
#endif
GenTreeVecCon::Equals(refPosition->treeNode->AsVecCon(), otherTreeNode->AsVecCon());
}
default:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册