1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00

[InstCombine] add tests for boolean extend + add; NFC

llvm-svn: 315681
This commit is contained in:
Sanjay Patel 2017-10-13 14:09:45 +00:00
parent 3863a9d4f9
commit 2f4fc5080e

View File

@ -61,3 +61,35 @@ define i32 @PR30273_three_bools(i1 %x, i1 %y, i1 %z) {
ret i32 %sel2
}
define i32 @zext_add_scalar(i1 %x) {
; CHECK-LABEL: @zext_add_scalar(
; CHECK-NEXT: [[ADD:%.*]] = select i1 %x, i32 43, i32 42
; CHECK-NEXT: ret i32 [[ADD]]
;
%zext = zext i1 %x to i32
%add = add i32 %zext, 42
ret i32 %add
}
define <2 x i32> @zext_add_vec_splat(<2 x i1> %x) {
; CHECK-LABEL: @zext_add_vec_splat(
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i1> %x to <2 x i32>
; CHECK-NEXT: [[ADD:%.*]] = or <2 x i32> [[ZEXT]], <i32 42, i32 42>
; CHECK-NEXT: ret <2 x i32> [[ADD]]
;
%zext = zext <2 x i1> %x to <2 x i32>
%add = add <2 x i32> %zext, <i32 42, i32 42>
ret <2 x i32> %add
}
define <2 x i32> @zext_add_vec(<2 x i1> %x) {
; CHECK-LABEL: @zext_add_vec(
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i1> %x to <2 x i32>
; CHECK-NEXT: [[ADD:%.*]] = add nuw nsw <2 x i32> [[ZEXT]], <i32 42, i32 23>
; CHECK-NEXT: ret <2 x i32> [[ADD]]
;
%zext = zext <2 x i1> %x to <2 x i32>
%add = add <2 x i32> %zext, <i32 42, i32 23>
ret <2 x i32> %add
}