@@ -14,16 +14,6 @@ define i64 @test_smin_neg_one(i64 %a) {
1414 ret i64 %retval.0
1515}
1616
17- define i64 @test_smin_zero (i64 %a ) {
18- ; CHECK-LABEL: test_smin_zero:
19- ; CHECK: // %bb.0:
20- ; CHECK-NEXT: and x0, x0, x0, asr #63
21- ; CHECK-NEXT: ret
22- %1 = tail call i64 @llvm.smin.i64 (i64 %a , i64 0 )
23- %retval.0 = xor i64 %1 , 0
24- ret i64 %retval.0
25- }
26-
2717define i64 @test_smin_constant (i64 %a ) {
2818; CHECK-LABEL: test_smin_constant:
2919; CHECK: // %bb.0:
@@ -37,7 +27,6 @@ define i64 @test_smin_constant(i64 %a) {
3727}
3828
3929; Test for DAGCombiner optimization: fold (xor (smax(x, C), C)) -> select (x > C), xor (x, C), 0
40-
4130define i64 @test_smax_neg_one (i64 %a ) {
4231; CHECK-LABEL: test_smax_neg_one:
4332; CHECK: // %bb.0:
@@ -49,16 +38,6 @@ define i64 @test_smax_neg_one(i64 %a) {
4938 ret i64 %retval.0
5039}
5140
52- define i64 @test_smax_zero (i64 %a ) {
53- ; CHECK-LABEL: test_smax_zero:
54- ; CHECK: // %bb.0:
55- ; CHECK-NEXT: bic x0, x0, x0, asr #63
56- ; CHECK-NEXT: ret
57- %1 = tail call i64 @llvm.smax.i64 (i64 %a , i64 0 )
58- %retval.0 = xor i64 %1 , 0
59- ret i64 %retval.0
60- }
61-
6241define i64 @test_smax_constant (i64 %a ) {
6342; CHECK-LABEL: test_smax_constant:
6443; CHECK: // %bb.0:
@@ -81,16 +60,6 @@ define i64 @test_umin_neg_one(i64 %a) {
8160 ret i64 %retval.0
8261}
8362
84- define i64 @test_umin_zero (i64 %a ) {
85- ; CHECK-LABEL: test_umin_zero:
86- ; CHECK: // %bb.0:
87- ; CHECK-NEXT: mov x0, xzr
88- ; CHECK-NEXT: ret
89- %1 = tail call i64 @llvm.umin.i64 (i64 %a , i64 0 )
90- %retval.0 = xor i64 %1 , 0
91- ret i64 %retval.0
92- }
93-
9463define i64 @test_umin_constant (i64 %a ) {
9564; CHECK-LABEL: test_umin_constant:
9665; CHECK: // %bb.0:
@@ -113,15 +82,6 @@ define i64 @test_umax_neg_one(i64 %a) {
11382 ret i64 %retval.0
11483}
11584
116- define i64 @test_umax_zero (i64 %a ) {
117- ; CHECK-LABEL: test_umax_zero:
118- ; CHECK: // %bb.0:
119- ; CHECK-NEXT: ret
120- %1 = tail call i64 @llvm.umax.i64 (i64 %a , i64 0 )
121- %retval.0 = xor i64 %1 , 0
122- ret i64 %retval.0
123- }
124-
12585define i64 @test_umax_constant (i64 %a ) {
12686; CHECK-LABEL: test_umax_constant:
12787; CHECK: // %bb.0:
@@ -135,7 +95,6 @@ define i64 @test_umax_constant(i64 %a) {
13595}
13696
13797; Test vector cases
138-
13998define <4 x i32 > @test_smin_vector_neg_one (<4 x i32 > %a ) {
14099; CHECK-LABEL: test_smin_vector_neg_one:
141100; CHECK: // %bb.0:
@@ -148,17 +107,6 @@ define <4 x i32> @test_smin_vector_neg_one(<4 x i32> %a) {
148107 ret <4 x i32 > %retval.0
149108}
150109
151- define <4 x i32 > @test_smin_vector_zero (<4 x i32 > %a ) {
152- ; CHECK-LABEL: test_smin_vector_zero:
153- ; CHECK: // %bb.0:
154- ; CHECK-NEXT: movi v1.2d, #0000000000000000
155- ; CHECK-NEXT: smin v0.4s, v0.4s, v1.4s
156- ; CHECK-NEXT: ret
157- %1 = tail call <4 x i32 > @llvm.smin.v4i32 (<4 x i32 > %a , <4 x i32 > <i32 0 , i32 0 , i32 0 , i32 0 >)
158- %retval.0 = xor <4 x i32 > %1 , <i32 0 , i32 0 , i32 0 , i32 0 >
159- ret <4 x i32 > %retval.0
160- }
161-
162110define <4 x i32 > @test_smin_vector_constant (<4 x i32 > %a ) {
163111; CHECK-LABEL: test_smin_vector_constant:
164112; CHECK: // %bb.0:
@@ -182,17 +130,6 @@ define <4 x i32> @test_smax_vector_neg_one(<4 x i32> %a) {
182130 ret <4 x i32 > %retval.0
183131}
184132
185- define <4 x i32 > @test_smax_vector_zero (<4 x i32 > %a ) {
186- ; CHECK-LABEL: test_smax_vector_zero:
187- ; CHECK: // %bb.0:
188- ; CHECK-NEXT: movi v1.2d, #0000000000000000
189- ; CHECK-NEXT: smax v0.4s, v0.4s, v1.4s
190- ; CHECK-NEXT: ret
191- %1 = tail call <4 x i32 > @llvm.smax.v4i32 (<4 x i32 > %a , <4 x i32 > <i32 0 , i32 0 , i32 0 , i32 0 >)
192- %retval.0 = xor <4 x i32 > %1 , <i32 0 , i32 0 , i32 0 , i32 0 >
193- ret <4 x i32 > %retval.0
194- }
195-
196133define <4 x i32 > @test_smax_vector_constant (<4 x i32 > %a ) {
197134; CHECK-LABEL: test_smax_vector_constant:
198135; CHECK: // %bb.0:
@@ -215,16 +152,6 @@ define <4 x i32> @test_umin_vector_neg_one(<4 x i32> %a) {
215152 ret <4 x i32 > %retval.0
216153}
217154
218- define <4 x i32 > @test_umin_vector_zero (<4 x i32 > %a ) {
219- ; CHECK-LABEL: test_umin_vector_zero:
220- ; CHECK: // %bb.0:
221- ; CHECK-NEXT: movi v0.2d, #0000000000000000
222- ; CHECK-NEXT: ret
223- %1 = tail call <4 x i32 > @llvm.umin.v4i32 (<4 x i32 > %a , <4 x i32 > <i32 0 , i32 0 , i32 0 , i32 0 >)
224- %retval.0 = xor <4 x i32 > %1 , <i32 0 , i32 0 , i32 0 , i32 0 >
225- ret <4 x i32 > %retval.0
226- }
227-
228155define <4 x i32 > @test_umin_vector_constant (<4 x i32 > %a ) {
229156; CHECK-LABEL: test_umin_vector_constant:
230157; CHECK: // %bb.0:
@@ -247,15 +174,6 @@ define <4 x i32> @test_umax_vector_neg_one(<4 x i32> %a) {
247174 ret <4 x i32 > %retval.0
248175}
249176
250- define <4 x i32 > @test_umax_vector_zero (<4 x i32 > %a ) {
251- ; CHECK-LABEL: test_umax_vector_zero:
252- ; CHECK: // %bb.0:
253- ; CHECK-NEXT: ret
254- %1 = tail call <4 x i32 > @llvm.umax.v4i32 (<4 x i32 > %a , <4 x i32 > <i32 0 , i32 0 , i32 0 , i32 0 >)
255- %retval.0 = xor <4 x i32 > %1 , <i32 0 , i32 0 , i32 0 , i32 0 >
256- ret <4 x i32 > %retval.0
257- }
258-
259177define <4 x i32 > @test_umax_vector_constant (<4 x i32 > %a ) {
260178; CHECK-LABEL: test_umax_vector_constant:
261179; CHECK: // %bb.0:
0 commit comments