forked from OSchip/llvm-project
Surprisingly, we missed a trivial case here. Fix that!
llvm-svn: 164814
This commit is contained in:
parent
8ffb55b2ab
commit
156999f8b9
|
@ -930,6 +930,10 @@ Instruction *InstCombiner::visitSelectInst(SelectInst &SI) {
|
|||
Value *V = Builder->CreateShuffleVector(TrueVal, FalseVal, MaskVal);
|
||||
return ReplaceInstUsesWith(SI, V);
|
||||
}
|
||||
|
||||
if (isa<ConstantAggregateZero>(CondVal)) {
|
||||
return ReplaceInstUsesWith(SI, FalseVal);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -188,3 +188,11 @@ define <4 x i16> @test13d(<4 x i16> %lhs, <4 x i16> %rhs) {
|
|||
<4 x i16> %lhs, <4 x i16> %rhs
|
||||
ret <4 x i16> %A
|
||||
}
|
||||
|
||||
define <4 x i16> @test13e(<4 x i16> %lhs, <4 x i16> %rhs) {
|
||||
; CHECK: @test13e
|
||||
; CHECK-NEXT: ret <4 x i16> %rhs
|
||||
%A = select <4 x i1> <i1 false, i1 false, i1 false, i1 false>,
|
||||
<4 x i16> %lhs, <4 x i16> %rhs
|
||||
ret <4 x i16> %A
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue