@@ -19,7 +19,7 @@ define void @vp_smax(ptr %a, ptr %b, ptr %c, i64 %N) {
1919; IF-EVL-NEXT: [[TMP0:%.*]] = sub i64 -1, [[N]]
2020; IF-EVL-NEXT: [[TMP1:%.*]] = call i64 @llvm.vscale.i64()
2121; IF-EVL-NEXT: [[TMP2:%.*]] = mul i64 [[TMP1]], 4
22- ; IF-EVL-NEXT: [[TMP3:%.*]] = call i64 @llvm.umax.i64(i64 13 , i64 [[TMP2]])
22+ ; IF-EVL-NEXT: [[TMP3:%.*]] = call i64 @llvm.umax.i64(i64 16 , i64 [[TMP2]])
2323; IF-EVL-NEXT: [[TMP22:%.*]] = icmp ult i64 [[TMP0]], [[TMP3]]
2424; IF-EVL-NEXT: br i1 [[TMP22]], label %[[SCALAR_PH:.*]], label %[[VECTOR_MEMCHECK:.*]]
2525; IF-EVL: [[VECTOR_MEMCHECK]]:
@@ -28,9 +28,11 @@ define void @vp_smax(ptr %a, ptr %b, ptr %c, i64 %N) {
2828; IF-EVL-NEXT: [[TMP23:%.*]] = mul i64 [[TMP5]], 4
2929; IF-EVL-NEXT: [[TMP24:%.*]] = sub i64 [[A1]], [[B2]]
3030; IF-EVL-NEXT: [[DIFF_CHECK:%.*]] = icmp ult i64 [[TMP24]], [[TMP23]]
31- ; IF-EVL-NEXT: [[TMP25:%.*]] = mul i64 [[TMP5]], 4
31+ ; IF-EVL-NEXT: [[TMP15:%.*]] = call i64 @llvm.vscale.i64()
32+ ; IF-EVL-NEXT: [[TMP25:%.*]] = mul i64 [[TMP15]], 4
33+ ; IF-EVL-NEXT: [[TMP30:%.*]] = mul i64 [[TMP25]], 4
3234; IF-EVL-NEXT: [[TMP26:%.*]] = sub i64 [[A1]], [[C3]]
33- ; IF-EVL-NEXT: [[DIFF_CHECK4:%.*]] = icmp ult i64 [[TMP26]], [[TMP25 ]]
35+ ; IF-EVL-NEXT: [[DIFF_CHECK4:%.*]] = icmp ult i64 [[TMP26]], [[TMP30 ]]
3436; IF-EVL-NEXT: [[CONFLICT_RDX:%.*]] = or i1 [[DIFF_CHECK]], [[DIFF_CHECK4]]
3537; IF-EVL-NEXT: br i1 [[CONFLICT_RDX]], label %[[SCALAR_PH]], label %[[VECTOR_PH:.*]]
3638; IF-EVL: [[VECTOR_PH]]:
@@ -134,7 +136,7 @@ define void @vp_smin(ptr %a, ptr %b, ptr %c, i64 %N) {
134136; IF-EVL-NEXT: [[TMP0:%.*]] = sub i64 -1, [[N]]
135137; IF-EVL-NEXT: [[TMP1:%.*]] = call i64 @llvm.vscale.i64()
136138; IF-EVL-NEXT: [[TMP2:%.*]] = mul i64 [[TMP1]], 4
137- ; IF-EVL-NEXT: [[TMP3:%.*]] = call i64 @llvm.umax.i64(i64 13 , i64 [[TMP2]])
139+ ; IF-EVL-NEXT: [[TMP3:%.*]] = call i64 @llvm.umax.i64(i64 16 , i64 [[TMP2]])
138140; IF-EVL-NEXT: [[TMP22:%.*]] = icmp ult i64 [[TMP0]], [[TMP3]]
139141; IF-EVL-NEXT: br i1 [[TMP22]], label %[[SCALAR_PH:.*]], label %[[VECTOR_MEMCHECK:.*]]
140142; IF-EVL: [[VECTOR_MEMCHECK]]:
@@ -143,9 +145,11 @@ define void @vp_smin(ptr %a, ptr %b, ptr %c, i64 %N) {
143145; IF-EVL-NEXT: [[TMP23:%.*]] = mul i64 [[TMP5]], 4
144146; IF-EVL-NEXT: [[TMP24:%.*]] = sub i64 [[A1]], [[B2]]
145147; IF-EVL-NEXT: [[DIFF_CHECK:%.*]] = icmp ult i64 [[TMP24]], [[TMP23]]
146- ; IF-EVL-NEXT: [[TMP25:%.*]] = mul i64 [[TMP5]], 4
148+ ; IF-EVL-NEXT: [[TMP15:%.*]] = call i64 @llvm.vscale.i64()
149+ ; IF-EVL-NEXT: [[TMP25:%.*]] = mul i64 [[TMP15]], 4
150+ ; IF-EVL-NEXT: [[TMP30:%.*]] = mul i64 [[TMP25]], 4
147151; IF-EVL-NEXT: [[TMP26:%.*]] = sub i64 [[A1]], [[C3]]
148- ; IF-EVL-NEXT: [[DIFF_CHECK4:%.*]] = icmp ult i64 [[TMP26]], [[TMP25 ]]
152+ ; IF-EVL-NEXT: [[DIFF_CHECK4:%.*]] = icmp ult i64 [[TMP26]], [[TMP30 ]]
149153; IF-EVL-NEXT: [[CONFLICT_RDX:%.*]] = or i1 [[DIFF_CHECK]], [[DIFF_CHECK4]]
150154; IF-EVL-NEXT: br i1 [[CONFLICT_RDX]], label %[[SCALAR_PH]], label %[[VECTOR_PH:.*]]
151155; IF-EVL: [[VECTOR_PH]]:
@@ -249,7 +253,7 @@ define void @vp_umax(ptr %a, ptr %b, ptr %c, i64 %N) {
249253; IF-EVL-NEXT: [[TMP0:%.*]] = sub i64 -1, [[N]]
250254; IF-EVL-NEXT: [[TMP1:%.*]] = call i64 @llvm.vscale.i64()
251255; IF-EVL-NEXT: [[TMP2:%.*]] = mul i64 [[TMP1]], 4
252- ; IF-EVL-NEXT: [[TMP3:%.*]] = call i64 @llvm.umax.i64(i64 13 , i64 [[TMP2]])
256+ ; IF-EVL-NEXT: [[TMP3:%.*]] = call i64 @llvm.umax.i64(i64 16 , i64 [[TMP2]])
253257; IF-EVL-NEXT: [[TMP22:%.*]] = icmp ult i64 [[TMP0]], [[TMP3]]
254258; IF-EVL-NEXT: br i1 [[TMP22]], label %[[SCALAR_PH:.*]], label %[[VECTOR_MEMCHECK:.*]]
255259; IF-EVL: [[VECTOR_MEMCHECK]]:
@@ -258,9 +262,11 @@ define void @vp_umax(ptr %a, ptr %b, ptr %c, i64 %N) {
258262; IF-EVL-NEXT: [[TMP23:%.*]] = mul i64 [[TMP5]], 4
259263; IF-EVL-NEXT: [[TMP24:%.*]] = sub i64 [[A1]], [[B2]]
260264; IF-EVL-NEXT: [[DIFF_CHECK:%.*]] = icmp ult i64 [[TMP24]], [[TMP23]]
261- ; IF-EVL-NEXT: [[TMP25:%.*]] = mul i64 [[TMP5]], 4
265+ ; IF-EVL-NEXT: [[TMP15:%.*]] = call i64 @llvm.vscale.i64()
266+ ; IF-EVL-NEXT: [[TMP25:%.*]] = mul i64 [[TMP15]], 4
267+ ; IF-EVL-NEXT: [[TMP30:%.*]] = mul i64 [[TMP25]], 4
262268; IF-EVL-NEXT: [[TMP26:%.*]] = sub i64 [[A1]], [[C3]]
263- ; IF-EVL-NEXT: [[DIFF_CHECK4:%.*]] = icmp ult i64 [[TMP26]], [[TMP25 ]]
269+ ; IF-EVL-NEXT: [[DIFF_CHECK4:%.*]] = icmp ult i64 [[TMP26]], [[TMP30 ]]
264270; IF-EVL-NEXT: [[CONFLICT_RDX:%.*]] = or i1 [[DIFF_CHECK]], [[DIFF_CHECK4]]
265271; IF-EVL-NEXT: br i1 [[CONFLICT_RDX]], label %[[SCALAR_PH]], label %[[VECTOR_PH:.*]]
266272; IF-EVL: [[VECTOR_PH]]:
@@ -364,7 +370,7 @@ define void @vp_umin(ptr %a, ptr %b, ptr %c, i64 %N) {
364370; IF-EVL-NEXT: [[TMP0:%.*]] = sub i64 -1, [[N]]
365371; IF-EVL-NEXT: [[TMP1:%.*]] = call i64 @llvm.vscale.i64()
366372; IF-EVL-NEXT: [[TMP2:%.*]] = mul i64 [[TMP1]], 4
367- ; IF-EVL-NEXT: [[TMP3:%.*]] = call i64 @llvm.umax.i64(i64 13 , i64 [[TMP2]])
373+ ; IF-EVL-NEXT: [[TMP3:%.*]] = call i64 @llvm.umax.i64(i64 16 , i64 [[TMP2]])
368374; IF-EVL-NEXT: [[TMP22:%.*]] = icmp ult i64 [[TMP0]], [[TMP3]]
369375; IF-EVL-NEXT: br i1 [[TMP22]], label %[[SCALAR_PH:.*]], label %[[VECTOR_MEMCHECK:.*]]
370376; IF-EVL: [[VECTOR_MEMCHECK]]:
@@ -373,9 +379,11 @@ define void @vp_umin(ptr %a, ptr %b, ptr %c, i64 %N) {
373379; IF-EVL-NEXT: [[TMP23:%.*]] = mul i64 [[TMP5]], 4
374380; IF-EVL-NEXT: [[TMP24:%.*]] = sub i64 [[A1]], [[B2]]
375381; IF-EVL-NEXT: [[DIFF_CHECK:%.*]] = icmp ult i64 [[TMP24]], [[TMP23]]
376- ; IF-EVL-NEXT: [[TMP25:%.*]] = mul i64 [[TMP5]], 4
382+ ; IF-EVL-NEXT: [[TMP15:%.*]] = call i64 @llvm.vscale.i64()
383+ ; IF-EVL-NEXT: [[TMP25:%.*]] = mul i64 [[TMP15]], 4
384+ ; IF-EVL-NEXT: [[TMP30:%.*]] = mul i64 [[TMP25]], 4
377385; IF-EVL-NEXT: [[TMP26:%.*]] = sub i64 [[A1]], [[C3]]
378- ; IF-EVL-NEXT: [[DIFF_CHECK4:%.*]] = icmp ult i64 [[TMP26]], [[TMP25 ]]
386+ ; IF-EVL-NEXT: [[DIFF_CHECK4:%.*]] = icmp ult i64 [[TMP26]], [[TMP30 ]]
379387; IF-EVL-NEXT: [[CONFLICT_RDX:%.*]] = or i1 [[DIFF_CHECK]], [[DIFF_CHECK4]]
380388; IF-EVL-NEXT: br i1 [[CONFLICT_RDX]], label %[[SCALAR_PH]], label %[[VECTOR_PH:.*]]
381389; IF-EVL: [[VECTOR_PH]]:
0 commit comments