@@ -2075,9 +2075,8 @@ static Instruction *narrowVectorSelect(ShuffleVectorInst &Shuf,
2075
2075
2076
2076
// shuf (sel (shuf NarrowCond, undef, WideMask), X, Y), undef, NarrowMask) -->
2077
2077
// sel NarrowCond, (shuf X, undef, NarrowMask), (shuf Y, undef, NarrowMask)
2078
- Value *Undef = UndefValue::get (X->getType ());
2079
- Value *NarrowX = Builder.CreateShuffleVector (X, Undef, Shuf.getShuffleMask ());
2080
- Value *NarrowY = Builder.CreateShuffleVector (Y, Undef, Shuf.getShuffleMask ());
2078
+ Value *NarrowX = Builder.CreateShuffleVector (X, Shuf.getShuffleMask ());
2079
+ Value *NarrowY = Builder.CreateShuffleVector (Y, Shuf.getShuffleMask ());
2081
2080
return SelectInst::Create (NarrowCond, NarrowX, NarrowY);
2082
2081
}
2083
2082
@@ -2444,8 +2443,7 @@ Instruction *InstCombinerImpl::visitShuffleVectorInst(ShuffleVectorInst &SVI) {
2444
2443
SmallVector<int , 16 > ShuffleMask (SrcNumElems, -1 );
2445
2444
for (unsigned I = 0 , E = MaskElems, Idx = BegIdx; I != E; ++Idx, ++I)
2446
2445
ShuffleMask[I] = Idx;
2447
- V = Builder.CreateShuffleVector (V, UndefValue::get (V->getType ()),
2448
- ShuffleMask,
2446
+ V = Builder.CreateShuffleVector (V, ShuffleMask,
2449
2447
SVI.getName () + " .extract" );
2450
2448
BegIdx = 0 ;
2451
2449
}
0 commit comments