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:
parent
3863a9d4f9
commit
2f4fc5080e
@ -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
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user