Avoid repeated calls to MVT::getScalarSizeInBits(). NFCI.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 29 Nov 2016 13:43:08 +0000 (13:43 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 29 Nov 2016 13:43:08 +0000 (13:43 +0000)
llvm-svn: 288138

llvm/lib/Target/X86/X86ISelLowering.cpp

index bb6faab..02e0657 100644 (file)
@@ -25447,12 +25447,12 @@ static bool matchUnaryVectorShuffle(MVT MaskVT, ArrayRef<int> Mask,
                                     const X86Subtarget &Subtarget,
                                     unsigned &Shuffle, MVT &ShuffleVT) {
   unsigned NumMaskElts = Mask.size();
+  unsigned MaskEltSize = MaskVT.getScalarSizeInBits();
   bool FloatDomain = MaskVT.isFloatingPoint() ||
                      (!Subtarget.hasAVX2() && MaskVT.is256BitVector());
 
   // Match against a VZEXT_MOVL instruction, SSE1 only supports 32-bits (MOVSS).
-  if (((MaskVT.getScalarSizeInBits() == 32) ||
-       (MaskVT.getScalarSizeInBits() == 64 && Subtarget.hasSSE2())) &&
+  if (((MaskEltSize == 32) || (MaskEltSize == 64 && Subtarget.hasSSE2())) &&
       isUndefOrEqual(Mask[0], 0) &&
       isUndefOrZeroInRange(Mask, 1, NumMaskElts - 1)) {
     Shuffle = X86ISD::VZEXT_MOVL;