forked from OSchip/llvm-project
parent
0a12a8f9fe
commit
4ca1981e82
|
@ -1,14 +0,0 @@
|
||||||
; Checks to see that instcombine can handle a sign extension of i1
|
|
||||||
|
|
||||||
; RUN: opt < %s -instcombine -S | FileCheck %s
|
|
||||||
|
|
||||||
define void @test(<2 x i16> %srcA, <2 x i16> %srcB, <2 x i16>* %dst) nounwind {
|
|
||||||
entry:
|
|
||||||
; CHECK-NOT: tmask
|
|
||||||
; CHECK: ret
|
|
||||||
%cmp = icmp eq <2 x i16> %srcB, %srcA;
|
|
||||||
%sext = sext <2 x i1> %cmp to <2 x i16>;
|
|
||||||
%tmask = ashr <2 x i16> %sext, <i16 15, i16 15> ;
|
|
||||||
store <2 x i16> %tmask, <2 x i16>* %dst;
|
|
||||||
ret void
|
|
||||||
}
|
|
|
@ -114,3 +114,15 @@ entry:
|
||||||
; CHECK-NEXT: ret i32
|
; CHECK-NEXT: ret i32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
define void @test11(<2 x i16> %srcA, <2 x i16> %srcB, <2 x i16>* %dst) {
|
||||||
|
%cmp = icmp eq <2 x i16> %srcB, %srcA
|
||||||
|
%sext = sext <2 x i1> %cmp to <2 x i16>
|
||||||
|
%tmask = ashr <2 x i16> %sext, <i16 15, i16 15>
|
||||||
|
store <2 x i16> %tmask, <2 x i16>* %dst
|
||||||
|
ret void
|
||||||
|
; CHECK: @test11
|
||||||
|
; CHECK-NEXT: icmp eq
|
||||||
|
; CHECK-NEXT: sext <2 x i1>
|
||||||
|
; CHECK-NEXT: store <2 x i16>
|
||||||
|
; CHECK-NEXT: ret
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue