From: Simon Pilgrim Date: Tue, 29 Nov 2016 13:43:08 +0000 (+0000) Subject: Avoid repeated calls to MVT::getScalarSizeInBits(). NFCI. X-Git-Tag: llvmorg-4.0.0-rc1~3476 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=923020a6520e23595802441f12d16888ae7f8947;p=platform%2Fupstream%2Fllvm.git Avoid repeated calls to MVT::getScalarSizeInBits(). NFCI. llvm-svn: 288138 --- diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index bb6faab..02e0657 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/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;