]> granicus.if.org Git - llvm/commitdiff
[X86] Simplify the code that calculates a scaled blend mask. We don't need a second...
authorCraig Topper <craig.topper@gmail.com>
Sat, 14 Jan 2017 04:29:15 +0000 (04:29 +0000)
committerCraig Topper <craig.topper@gmail.com>
Sat, 14 Jan 2017 04:29:15 +0000 (04:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291996 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index a91e47424b2beab4458107c5029e40354f58b0e7..989039f3ee438638464b7ade4fc9358f0394bc3d 100644 (file)
@@ -8368,8 +8368,7 @@ static SDValue lowerVectorShuffleAsBlend(const SDLoc &DL, MVT VT, SDValue V1,
     uint64_t ScaledMask = 0;
     for (int i = 0; i != Size; ++i)
       if (BlendMask & (1ull << i))
-        for (int j = 0; j != Scale; ++j)
-          ScaledMask |= 1ull << (i * Scale + j);
+        ScaledMask |= ((1ull << Scale) - 1) << (i * Scale);
     return ScaledMask;
   };