From: Simon Pilgrim Date: Tue, 29 Nov 2016 13:43:08 +0000 (+0000) Subject: Avoid repeated calls to MVT::getScalarSizeInBits(). NFCI. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c02671cd351d85e230ac9a627e1b643f4b0c2023;p=llvm Avoid repeated calls to MVT::getScalarSizeInBits(). NFCI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288138 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index bb6faab3a19..02e06572422 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -25447,12 +25447,12 @@ static bool matchUnaryVectorShuffle(MVT MaskVT, ArrayRef 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;