|
2 | 2 |
|
3 | 3 | ; RUN: opt -passes=instcombine -S < %s 2>&1 | FileCheck %s |
4 | 4 |
|
5 | | -declare i8 @llvm.usub.sat.i8(i8, i8) |
6 | | -declare i16 @llvm.usub.sat.i16(i16, i16) |
7 | | -declare i32 @llvm.usub.sat.i32(i32, i32) |
8 | | -declare i64 @llvm.usub.sat.i64(i64, i64) |
9 | | - |
10 | 5 | define i8 @test_i8(i8 %a, i8 %b) { |
11 | 6 | ; CHECK-LABEL: define i8 @test_i8( |
12 | 7 | ; CHECK-SAME: i8 [[A:%.*]], i8 [[B:%.*]]) { |
@@ -146,15 +141,14 @@ define <4 x i32> @vector_test(<4 x i32> %a, <4 x i32> %b) { |
146 | 141 |
|
147 | 142 |
|
148 | 143 | %a_sub = call <4 x i32> @llvm.usub.sat.v4i32( |
149 | | - <4 x i32> %a, |
150 | | - <4 x i32> <i32 2147483871, i32 2147483871, i32 2147483871, i32 2147483871>) |
| 144 | + <4 x i32> %a, <4 x i32> splat (i32 2147483871)) |
151 | 145 | %b_sub = call <4 x i32> @llvm.usub.sat.v4i32( |
152 | | - <4 x i32> %b, |
153 | | - <4 x i32> <i32 2147483887, i32 2147483887, i32 2147483887, i32 2147483887>) |
| 146 | + <4 x i32> %b, <4 x i32> splat (i32 2147483887)) |
154 | 147 | %or = or <4 x i32> %a_sub, %b_sub |
155 | 148 | %cmp = icmp eq <4 x i32> %or, zeroinitializer |
156 | | - %res = select <4 x i1> %cmp, <4 x i32> zeroinitializer, |
157 | | - <4 x i32> <i32 -2147483648, i32 -2147483648, i32 -2147483648, i32 -2147483648> |
| 149 | + %res = select <4 x i1> %cmp, |
| 150 | + <4 x i32> zeroinitializer, |
| 151 | + <4 x i32> splat (i32 -2147483648) |
158 | 152 | ret <4 x i32> %res |
159 | 153 | } |
160 | 154 |
|
@@ -193,14 +187,13 @@ define <4 x i32> @vector_ne_test(<4 x i32> %a, <4 x i32> %b) { |
193 | 187 |
|
194 | 188 |
|
195 | 189 | %a_sub = call <4 x i32> @llvm.usub.sat.v4i32( |
196 | | - <4 x i32> %a, |
197 | | - <4 x i32> <i32 2147483871, i32 2147483871, i32 2147483871, i32 2147483871>) |
| 190 | + <4 x i32> %a, <4 x i32> splat (i32 2147483871)) |
198 | 191 | %b_sub = call <4 x i32> @llvm.usub.sat.v4i32( |
199 | | - <4 x i32> %b, |
200 | | - <4 x i32> <i32 2147483887, i32 2147483887, i32 2147483887, i32 2147483887>) |
| 192 | + <4 x i32> %b, <4 x i32> splat (i32 2147483887)) |
201 | 193 | %or = or <4 x i32> %a_sub, %b_sub |
202 | 194 | %cmp = icmp eq <4 x i32> %or, zeroinitializer |
203 | | - %res = select <4 x i1> %cmp, <4 x i32> zeroinitializer, |
204 | | - <4 x i32> <i32 -2147483648, i32 -2147483648, i32 -2147483648, i32 -2147483648> |
| 195 | + %res = select <4 x i1> %cmp, |
| 196 | + <4 x i32> zeroinitializer, |
| 197 | + <4 x i32> splat (i32 -2147483648) |
205 | 198 | ret <4 x i32> %res |
206 | 199 | } |
0 commit comments