add tests for icmp vector folds

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276464 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Sanjay Patel 2016-07-22 20:11:08 +00:00
parent c42c8e23a1
commit 86728a0d70
2 changed files with 26 additions and 0 deletions

View File

@ -955,6 +955,19 @@ define i1 @test70(i32 %X) {
ret i1 %C
}
; FIXME: Vectors should fold the same way.
define <2 x i1> @test70vec(<2 x i32> %X) {
; CHECK-LABEL: @test70vec(
; CHECK-NEXT: [[B:%.*]] = add <2 x i32> %X, <i32 2, i32 2>
; CHECK-NEXT: [[C:%.*]] = icmp ne <2 x i32> [[B]], <i32 4, i32 4>
; CHECK-NEXT: ret <2 x i1> [[C]]
;
%B = add <2 x i32> %X, <i32 2, i32 2>
%C = icmp ne <2 x i32> %B, <i32 4, i32 4>
ret <2 x i1> %C
}
define i1 @icmp_sext16trunc(i32 %x) {
; CHECK-LABEL: @icmp_sext16trunc(
; CHECK-NEXT: [[TMP1:%.*]] = trunc i32 %x to i16

View File

@ -53,6 +53,19 @@ define i1 @test3a(i32 %A) {
ret i1 %C
}
; FIXME: Vectors should fold the same way.
define <2 x i1> @test3a_vec(<2 x i32> %A) {
; CHECK-LABEL: @test3a_vec(
; CHECK-NEXT: [[B:%.*]] = srem <2 x i32> %A, <i32 8, i32 8>
; CHECK-NEXT: [[C:%.*]] = icmp ne <2 x i32> [[B]], zeroinitializer
; CHECK-NEXT: ret <2 x i1> [[C]]
;
%B = srem <2 x i32> %A, <i32 -8, i32 -8>
%C = icmp ne <2 x i32> %B, zeroinitializer
ret <2 x i1> %C
}
define i32 @test4(i32 %X, i1 %C) {
; CHECK-LABEL: @test4(
; CHECK-NEXT: [[SEL:%.*]] = select i1 %C, i32 0, i32 7