[llvm] r357864 - [CostModel][X86] Masked load legalization requires an binary-shuffle not a select (PR39812)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 7 06:26:09 PDT 2019
Author: rksimon
Date: Sun Apr 7 06:26:09 2019
New Revision: 357864
URL: http://llvm.org/viewvc/llvm-project?rev=357864&view=rev
Log:
[CostModel][X86] Masked load legalization requires an binary-shuffle not a select (PR39812)
Expansion/truncation is better described by SK_PermuteTwoSrc than SK_Select
Modified:
llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp
Modified: llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp?rev=357864&r1=357863&r2=357864&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp Sun Apr 7 06:26:09 2019
@@ -2379,8 +2379,8 @@ int X86TTIImpl::getMaskedMemoryOpCost(un
if (VT.isSimple() && LT.second != VT.getSimpleVT() &&
LT.second.getVectorNumElements() == NumElem)
// Promotion requires expand/truncate for data and a shuffle for mask.
- Cost += getShuffleCost(TTI::SK_Select, SrcVTy, 0, nullptr) +
- getShuffleCost(TTI::SK_Select, MaskTy, 0, nullptr);
+ Cost += getShuffleCost(TTI::SK_PermuteTwoSrc, SrcVTy, 0, nullptr) +
+ getShuffleCost(TTI::SK_PermuteTwoSrc, MaskTy, 0, nullptr);
else if (LT.second.getVectorNumElements() > NumElem) {
VectorType *NewMaskTy = VectorType::get(MaskTy->getVectorElementType(),
More information about the llvm-commits
mailing list