@@ -79,7 +79,7 @@ define void @vp_smax(ptr %a, ptr %b, ptr %c, i64 %N) {
7979; IF-EVL-NEXT: store i32 [[DOT]], ptr [[GEP11]], align 4
8080; IF-EVL-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
8181; IF-EVL-NEXT: [[EXITCOND_NOT:%.*]] = icmp eq i64 [[IV_NEXT]], [[N]]
82- ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP3 :![0-9]+]]
82+ ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP4 :![0-9]+]]
8383; IF-EVL: [[EXIT]]:
8484; IF-EVL-NEXT: ret void
8585;
@@ -176,7 +176,7 @@ define void @vp_smin(ptr %a, ptr %b, ptr %c, i64 %N) {
176176; IF-EVL-NEXT: [[INDEX_EVL_NEXT]] = add i64 [[TMP18]], [[EVL_BASED_IV]]
177177; IF-EVL-NEXT: [[INDEX_NEXT]] = add i64 [[INDEX]], [[TMP8]]
178178; IF-EVL-NEXT: [[TMP19:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
179- ; IF-EVL-NEXT: br i1 [[TMP19]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP4 :![0-9]+]]
179+ ; IF-EVL-NEXT: br i1 [[TMP19]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP5 :![0-9]+]]
180180; IF-EVL: [[MIDDLE_BLOCK]]:
181181; IF-EVL-NEXT: br label %[[EXIT:.*]]
182182; IF-EVL: [[SCALAR_PH]]:
@@ -193,7 +193,7 @@ define void @vp_smin(ptr %a, ptr %b, ptr %c, i64 %N) {
193193; IF-EVL-NEXT: store i32 [[DOT]], ptr [[GEP11]], align 4
194194; IF-EVL-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
195195; IF-EVL-NEXT: [[EXITCOND_NOT:%.*]] = icmp eq i64 [[IV_NEXT]], [[N]]
196- ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP5 :![0-9]+]]
196+ ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP6 :![0-9]+]]
197197; IF-EVL: [[EXIT]]:
198198; IF-EVL-NEXT: ret void
199199;
@@ -290,7 +290,7 @@ define void @vp_umax(ptr %a, ptr %b, ptr %c, i64 %N) {
290290; IF-EVL-NEXT: [[INDEX_EVL_NEXT]] = add i64 [[TMP18]], [[EVL_BASED_IV]]
291291; IF-EVL-NEXT: [[INDEX_NEXT]] = add i64 [[INDEX]], [[TMP8]]
292292; IF-EVL-NEXT: [[TMP19:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
293- ; IF-EVL-NEXT: br i1 [[TMP19]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP6 :![0-9]+]]
293+ ; IF-EVL-NEXT: br i1 [[TMP19]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP7 :![0-9]+]]
294294; IF-EVL: [[MIDDLE_BLOCK]]:
295295; IF-EVL-NEXT: br label %[[EXIT:.*]]
296296; IF-EVL: [[SCALAR_PH]]:
@@ -307,7 +307,7 @@ define void @vp_umax(ptr %a, ptr %b, ptr %c, i64 %N) {
307307; IF-EVL-NEXT: store i32 [[DOT]], ptr [[GEP11]], align 4
308308; IF-EVL-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
309309; IF-EVL-NEXT: [[EXITCOND_NOT:%.*]] = icmp eq i64 [[IV_NEXT]], [[N]]
310- ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP7 :![0-9]+]]
310+ ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP8 :![0-9]+]]
311311; IF-EVL: [[EXIT]]:
312312; IF-EVL-NEXT: ret void
313313;
@@ -404,7 +404,7 @@ define void @vp_umin(ptr %a, ptr %b, ptr %c, i64 %N) {
404404; IF-EVL-NEXT: [[INDEX_EVL_NEXT]] = add i64 [[TMP18]], [[EVL_BASED_IV]]
405405; IF-EVL-NEXT: [[INDEX_NEXT]] = add i64 [[INDEX]], [[TMP8]]
406406; IF-EVL-NEXT: [[TMP19:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
407- ; IF-EVL-NEXT: br i1 [[TMP19]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP8 :![0-9]+]]
407+ ; IF-EVL-NEXT: br i1 [[TMP19]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP9 :![0-9]+]]
408408; IF-EVL: [[MIDDLE_BLOCK]]:
409409; IF-EVL-NEXT: br label %[[EXIT:.*]]
410410; IF-EVL: [[SCALAR_PH]]:
@@ -421,7 +421,7 @@ define void @vp_umin(ptr %a, ptr %b, ptr %c, i64 %N) {
421421; IF-EVL-NEXT: store i32 [[DOT]], ptr [[GEP11]], align 4
422422; IF-EVL-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
423423; IF-EVL-NEXT: [[EXITCOND_NOT:%.*]] = icmp eq i64 [[IV_NEXT]], [[N]]
424- ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP9 :![0-9]+]]
424+ ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP10 :![0-9]+]]
425425; IF-EVL: [[EXIT]]:
426426; IF-EVL-NEXT: ret void
427427;
@@ -510,7 +510,7 @@ define void @vp_ctlz(ptr %a, ptr %b, i64 %N) {
510510; IF-EVL-NEXT: [[INDEX_EVL_NEXT]] = add i64 [[TMP16]], [[EVL_BASED_IV]]
511511; IF-EVL-NEXT: [[INDEX_NEXT]] = add i64 [[INDEX]], [[TMP8]]
512512; IF-EVL-NEXT: [[TMP17:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
513- ; IF-EVL-NEXT: br i1 [[TMP17]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP10 :![0-9]+]]
513+ ; IF-EVL-NEXT: br i1 [[TMP17]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP11 :![0-9]+]]
514514; IF-EVL: [[MIDDLE_BLOCK]]:
515515; IF-EVL-NEXT: br label %[[EXIT:.*]]
516516; IF-EVL: [[SCALAR_PH]]:
@@ -525,7 +525,7 @@ define void @vp_ctlz(ptr %a, ptr %b, i64 %N) {
525525; IF-EVL-NEXT: store i32 [[TMP19]], ptr [[GEP3]], align 4
526526; IF-EVL-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
527527; IF-EVL-NEXT: [[EXITCOND_NOT:%.*]] = icmp eq i64 [[IV_NEXT]], [[N]]
528- ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP11 :![0-9]+]]
528+ ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP12 :![0-9]+]]
529529; IF-EVL: [[EXIT]]:
530530; IF-EVL-NEXT: ret void
531531;
@@ -609,7 +609,7 @@ define void @vp_cttz(ptr %a, ptr %b, i64 %N) {
609609; IF-EVL-NEXT: [[INDEX_EVL_NEXT]] = add i64 [[TMP20]], [[EVL_BASED_IV]]
610610; IF-EVL-NEXT: [[INDEX_NEXT]] = add i64 [[INDEX]], [[TMP12]]
611611; IF-EVL-NEXT: [[TMP21:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
612- ; IF-EVL-NEXT: br i1 [[TMP21]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP12 :![0-9]+]]
612+ ; IF-EVL-NEXT: br i1 [[TMP21]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP13 :![0-9]+]]
613613; IF-EVL: [[MIDDLE_BLOCK]]:
614614; IF-EVL-NEXT: br label %[[EXIT:.*]]
615615; IF-EVL: [[SCALAR_PH]]:
@@ -624,7 +624,7 @@ define void @vp_cttz(ptr %a, ptr %b, i64 %N) {
624624; IF-EVL-NEXT: store i32 [[TMP23]], ptr [[GEP3]], align 4
625625; IF-EVL-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
626626; IF-EVL-NEXT: [[EXITCOND_NOT:%.*]] = icmp eq i64 [[IV_NEXT]], [[N]]
627- ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP13 :![0-9]+]]
627+ ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP14 :![0-9]+]]
628628; IF-EVL: [[EXIT]]:
629629; IF-EVL-NEXT: ret void
630630;
@@ -711,7 +711,7 @@ define void @vp_lrint(ptr %a, ptr %b, i64 %N) {
711711; IF-EVL-NEXT: [[INDEX_EVL_NEXT]] = add i64 [[TMP18]], [[EVL_BASED_IV]]
712712; IF-EVL-NEXT: [[INDEX_NEXT]] = add i64 [[INDEX]], [[TMP8]]
713713; IF-EVL-NEXT: [[TMP19:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
714- ; IF-EVL-NEXT: br i1 [[TMP19]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP14 :![0-9]+]]
714+ ; IF-EVL-NEXT: br i1 [[TMP19]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP15 :![0-9]+]]
715715; IF-EVL: [[MIDDLE_BLOCK]]:
716716; IF-EVL-NEXT: br label %[[EXIT:.*]]
717717; IF-EVL: [[SCALAR_PH]]:
@@ -728,7 +728,7 @@ define void @vp_lrint(ptr %a, ptr %b, i64 %N) {
728728; IF-EVL-NEXT: store i32 [[CONV3]], ptr [[GEP5]], align 4
729729; IF-EVL-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
730730; IF-EVL-NEXT: [[EXITCOND_NOT:%.*]] = icmp eq i64 [[IV_NEXT]], [[N]]
731- ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP15 :![0-9]+]]
731+ ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP16 :![0-9]+]]
732732; IF-EVL: [[EXIT]]:
733733; IF-EVL-NEXT: ret void
734734;
@@ -819,7 +819,7 @@ define void @vp_llrint(ptr %a, ptr %b, i64 %N) {
819819; IF-EVL-NEXT: [[INDEX_EVL_NEXT]] = add i64 [[TMP18]], [[EVL_BASED_IV]]
820820; IF-EVL-NEXT: [[INDEX_NEXT]] = add i64 [[INDEX]], [[TMP8]]
821821; IF-EVL-NEXT: [[TMP19:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
822- ; IF-EVL-NEXT: br i1 [[TMP19]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP16 :![0-9]+]]
822+ ; IF-EVL-NEXT: br i1 [[TMP19]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP17 :![0-9]+]]
823823; IF-EVL: [[MIDDLE_BLOCK]]:
824824; IF-EVL-NEXT: br label %[[EXIT:.*]]
825825; IF-EVL: [[SCALAR_PH]]:
@@ -836,7 +836,7 @@ define void @vp_llrint(ptr %a, ptr %b, i64 %N) {
836836; IF-EVL-NEXT: store i32 [[CONV3]], ptr [[GEP5]], align 4
837837; IF-EVL-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
838838; IF-EVL-NEXT: [[EXITCOND_NOT:%.*]] = icmp eq i64 [[IV_NEXT]], [[N]]
839- ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP17 :![0-9]+]]
839+ ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP18 :![0-9]+]]
840840; IF-EVL: [[EXIT]]:
841841; IF-EVL-NEXT: ret void
842842;
@@ -925,7 +925,7 @@ define void @vp_abs(ptr %a, ptr %b, i64 %N) {
925925; IF-EVL-NEXT: [[INDEX_EVL_NEXT]] = add i64 [[TMP16]], [[EVL_BASED_IV]]
926926; IF-EVL-NEXT: [[INDEX_NEXT]] = add i64 [[INDEX]], [[TMP8]]
927927; IF-EVL-NEXT: [[TMP17:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
928- ; IF-EVL-NEXT: br i1 [[TMP17]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP18 :![0-9]+]]
928+ ; IF-EVL-NEXT: br i1 [[TMP17]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP19 :![0-9]+]]
929929; IF-EVL: [[MIDDLE_BLOCK]]:
930930; IF-EVL-NEXT: br label %[[EXIT:.*]]
931931; IF-EVL: [[SCALAR_PH]]:
@@ -940,7 +940,7 @@ define void @vp_abs(ptr %a, ptr %b, i64 %N) {
940940; IF-EVL-NEXT: store i32 [[COND]], ptr [[GEP9]], align 4
941941; IF-EVL-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
942942; IF-EVL-NEXT: [[EXITCOND_NOT:%.*]] = icmp eq i64 [[IV_NEXT]], [[N]]
943- ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP19 :![0-9]+]]
943+ ; IF-EVL-NEXT: br i1 [[EXITCOND_NOT]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP20 :![0-9]+]]
944944; IF-EVL: [[EXIT]]:
945945; IF-EVL-NEXT: ret void
946946;
@@ -1046,24 +1046,25 @@ declare i64 @llvm.lrint.i64.f64(double)
10461046declare i64 @llvm.llrint.i64.f64 (double )
10471047declare i32 @llvm.abs.i32 (i32 , i1 immarg)
10481048;.
1049- ; IF-EVL: [[LOOP0]] = distinct !{[[LOOP0]], [[META1:![0-9]+]], [[META2:![0-9]+]]}
1049+ ; IF-EVL: [[LOOP0]] = distinct !{[[LOOP0]], [[META1:![0-9]+]], [[META2:![0-9]+]], [[META3:![0-9]+]] }
10501050; IF-EVL: [[META1]] = !{!"llvm.loop.isvectorized", i32 1}
1051- ; IF-EVL: [[META2]] = !{!"llvm.loop.unroll.runtime.disable"}
1052- ; IF-EVL: [[LOOP3]] = distinct !{[[LOOP3]], [[META1]]}
1053- ; IF-EVL: [[LOOP4]] = distinct !{[[LOOP4]], [[META1]], [[META2]]}
1054- ; IF-EVL: [[LOOP5]] = distinct !{[[LOOP5]], [[META1]]}
1055- ; IF-EVL: [[LOOP6]] = distinct !{[[LOOP6]], [[META1]], [[META2]]}
1056- ; IF-EVL: [[LOOP7]] = distinct !{[[LOOP7]], [[META1]]}
1057- ; IF-EVL: [[LOOP8]] = distinct !{[[LOOP8]], [[META1]], [[META2]]}
1058- ; IF-EVL: [[LOOP9]] = distinct !{[[LOOP9]], [[META1]]}
1059- ; IF-EVL: [[LOOP10]] = distinct !{[[LOOP10]], [[META1]], [[META2]]}
1060- ; IF-EVL: [[LOOP11]] = distinct !{[[LOOP11]], [[META1]]}
1061- ; IF-EVL: [[LOOP12]] = distinct !{[[LOOP12]], [[META1]], [[META2]]}
1062- ; IF-EVL: [[LOOP13]] = distinct !{[[LOOP13]], [[META1]]}
1063- ; IF-EVL: [[LOOP14]] = distinct !{[[LOOP14]], [[META1]], [[META2]]}
1064- ; IF-EVL: [[LOOP15]] = distinct !{[[LOOP15]], [[META1]]}
1065- ; IF-EVL: [[LOOP16]] = distinct !{[[LOOP16]], [[META1]], [[META2]]}
1066- ; IF-EVL: [[LOOP17]] = distinct !{[[LOOP17]], [[META1]]}
1067- ; IF-EVL: [[LOOP18]] = distinct !{[[LOOP18]], [[META1]], [[META2]]}
1068- ; IF-EVL: [[LOOP19]] = distinct !{[[LOOP19]], [[META1]]}
1051+ ; IF-EVL: [[META2]] = !{!"llvm.loop.isvectorized.tailfoldingstyle", !"evl"}
1052+ ; IF-EVL: [[META3]] = !{!"llvm.loop.unroll.runtime.disable"}
1053+ ; IF-EVL: [[LOOP4]] = distinct !{[[LOOP4]], [[META1]]}
1054+ ; IF-EVL: [[LOOP5]] = distinct !{[[LOOP5]], [[META1]], [[META2]], [[META3]]}
1055+ ; IF-EVL: [[LOOP6]] = distinct !{[[LOOP6]], [[META1]]}
1056+ ; IF-EVL: [[LOOP7]] = distinct !{[[LOOP7]], [[META1]], [[META2]], [[META3]]}
1057+ ; IF-EVL: [[LOOP8]] = distinct !{[[LOOP8]], [[META1]]}
1058+ ; IF-EVL: [[LOOP9]] = distinct !{[[LOOP9]], [[META1]], [[META2]], [[META3]]}
1059+ ; IF-EVL: [[LOOP10]] = distinct !{[[LOOP10]], [[META1]]}
1060+ ; IF-EVL: [[LOOP11]] = distinct !{[[LOOP11]], [[META1]], [[META2]], [[META3]]}
1061+ ; IF-EVL: [[LOOP12]] = distinct !{[[LOOP12]], [[META1]]}
1062+ ; IF-EVL: [[LOOP13]] = distinct !{[[LOOP13]], [[META1]], [[META2]], [[META3]]}
1063+ ; IF-EVL: [[LOOP14]] = distinct !{[[LOOP14]], [[META1]]}
1064+ ; IF-EVL: [[LOOP15]] = distinct !{[[LOOP15]], [[META1]], [[META2]], [[META3]]}
1065+ ; IF-EVL: [[LOOP16]] = distinct !{[[LOOP16]], [[META1]]}
1066+ ; IF-EVL: [[LOOP17]] = distinct !{[[LOOP17]], [[META1]], [[META2]], [[META3]]}
1067+ ; IF-EVL: [[LOOP18]] = distinct !{[[LOOP18]], [[META1]]}
1068+ ; IF-EVL: [[LOOP19]] = distinct !{[[LOOP19]], [[META1]], [[META2]], [[META3]]}
1069+ ; IF-EVL: [[LOOP20]] = distinct !{[[LOOP20]], [[META1]]}
10691070;.
0 commit comments