[llvm] r316440 - [X86] truncateVectorCompareWithPACKSS - remove duplicate variables. NFCI.
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 24 07:18:33 PDT 2017
Author: rksimon
Date: Tue Oct 24 07:18:32 2017
New Revision: 316440
URL: http://llvm.org/viewvc/llvm-project?rev=316440&view=rev
Log:
[X86] truncateVectorCompareWithPACKSS - remove duplicate variables. NFCI.
Modified:
llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=316440&r1=316439&r2=316440&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Tue Oct 24 07:18:32 2017
@@ -15962,21 +15962,20 @@ static SDValue truncateVectorCompareWith
// We only support vector truncation to 128bits or greater from a
// 256bits or greater source.
- if ((DstVT.getSizeInBits() % 128) != 0)
- return SDValue();
- if ((SrcVT.getSizeInBits() % 256) != 0)
+ unsigned DstSizeInBits = DstVT.getSizeInBits();
+ unsigned SrcSizeInBits = SrcVT.getSizeInBits();
+ if ((DstSizeInBits % 128) != 0 || (SrcSizeInBits % 256) != 0)
return SDValue();
+ LLVMContext &Ctx = *DAG.getContext();
unsigned NumElems = SrcVT.getVectorNumElements();
assert(DstVT.getVectorNumElements() == NumElems && "Illegal truncation");
- assert(SrcVT.getSizeInBits() > DstVT.getSizeInBits() && "Illegal truncation");
+ assert(SrcSizeInBits > DstSizeInBits && "Illegal truncation");
- EVT PackedSVT =
- EVT::getIntegerVT(*DAG.getContext(), SrcVT.getScalarSizeInBits() / 2);
+ EVT PackedSVT = EVT::getIntegerVT(Ctx, SrcVT.getScalarSizeInBits() / 2);
// Extract lower/upper subvectors.
unsigned NumSubElts = NumElems / 2;
- unsigned SrcSizeInBits = SrcVT.getSizeInBits();
SDValue Lo = extractSubVector(In, 0 * NumSubElts, DAG, DL, SrcSizeInBits / 2);
SDValue Hi = extractSubVector(In, 1 * NumSubElts, DAG, DL, SrcSizeInBits / 2);
@@ -16004,18 +16003,18 @@ static SDValue truncateVectorCompareWith
return DAG.getBitcast(DstVT, Res);
// If 512bit -> 128bit truncate another stage.
- EVT PackedVT = EVT::getVectorVT(*DAG.getContext(), PackedSVT, NumElems);
+ EVT PackedVT = EVT::getVectorVT(Ctx, PackedSVT, NumElems);
Res = DAG.getBitcast(PackedVT, Res);
return truncateVectorCompareWithPACKSS(DstVT, Res, DL, DAG, Subtarget);
}
// Recursively pack lower/upper subvectors, concat result and pack again.
- assert(SrcVT.getSizeInBits() >= 512 && "Expected 512-bit vector or greater");
- EVT PackedVT = EVT::getVectorVT(*DAG.getContext(), PackedSVT, NumElems / 2);
+ assert(SrcSizeInBits >= 512 && "Expected 512-bit vector or greater");
+ EVT PackedVT = EVT::getVectorVT(Ctx, PackedSVT, NumSubElts);
Lo = truncateVectorCompareWithPACKSS(PackedVT, Lo, DL, DAG, Subtarget);
Hi = truncateVectorCompareWithPACKSS(PackedVT, Hi, DL, DAG, Subtarget);
- PackedVT = EVT::getVectorVT(*DAG.getContext(), PackedSVT, NumElems);
+ PackedVT = EVT::getVectorVT(Ctx, PackedSVT, NumElems);
SDValue Res = DAG.getNode(ISD::CONCAT_VECTORS, DL, PackedVT, Lo, Hi);
return truncateVectorCompareWithPACKSS(DstVT, Res, DL, DAG, Subtarget);
}
More information about the llvm-commits
mailing list