@@ -491,7 +491,7 @@ define i32 @header_mask_and_invariant_compare(ptr %A, ptr %B, ptr %C, ptr %D, pt
491491; DEFAULT-SAME: ptr [[A:%.*]], ptr [[B:%.*]], ptr [[C:%.*]], ptr [[D:%.*]], ptr [[E:%.*]], i64 [[N:%.*]]) #[[ATTR1:[0-9]+]] {
492492; DEFAULT-NEXT: [[ENTRY:.*]]:
493493; DEFAULT-NEXT: [[TMP0:%.*]] = add i64 [[N]], 1
494- ; DEFAULT-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i64 [[TMP0]], 60
494+ ; DEFAULT-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i64 [[TMP0]], 28
495495; DEFAULT-NEXT: br i1 [[MIN_ITERS_CHECK]], label %[[SCALAR_PH:.*]], label %[[VECTOR_MEMCHECK:.*]]
496496; DEFAULT: [[VECTOR_MEMCHECK]]:
497497; DEFAULT-NEXT: [[SCEVGEP:%.*]] = getelementptr i8, ptr [[E]], i64 4
@@ -532,26 +532,26 @@ define i32 @header_mask_and_invariant_compare(ptr %A, ptr %B, ptr %C, ptr %D, pt
532532; DEFAULT: [[VECTOR_PH]]:
533533; DEFAULT-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[TMP0]], 4
534534; DEFAULT-NEXT: [[N_VEC:%.*]] = sub i64 [[TMP0]], [[N_MOD_VF]]
535- ; DEFAULT-NEXT: br label %[[VECTOR_BODY:.*]]
536- ; DEFAULT: [[VECTOR_BODY]]:
537- ; DEFAULT-NEXT: [[INDEX:%.*]] = phi i64 [ 0, %[[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], %[[PRED_STORE_CONTINUE37:.*]] ]
538- ; DEFAULT-NEXT: [[TMP9:%.*]] = load i32, ptr [[A]], align 4, !alias.scope [[META7:![0-9]+]]
539- ; DEFAULT-NEXT: [[BROADCAST_SPLATINSERT28:%.*]] = insertelement <4 x i32> poison, i32 [[TMP9]], i64 0
535+ ; DEFAULT-NEXT: [[TMP3:%.*]] = load i32, ptr [[C]], align 4, !alias.scope [[META7:![0-9]+]]
536+ ; DEFAULT-NEXT: [[BROADCAST_SPLATINSERT28:%.*]] = insertelement <4 x i32> poison, i32 [[TMP3]], i64 0
540537; DEFAULT-NEXT: [[BROADCAST_SPLAT29:%.*]] = shufflevector <4 x i32> [[BROADCAST_SPLATINSERT28]], <4 x i32> poison, <4 x i32> zeroinitializer
541- ; DEFAULT-NEXT: [[TMP19 :%.*]] = load i32, ptr [[B]], align 4, !alias.scope [[META10:![0-9]+]]
542- ; DEFAULT-NEXT: [[BROADCAST_SPLATINSERT:%.*]] = insertelement <4 x i32> poison, i32 [[TMP19 ]], i64 0
538+ ; DEFAULT-NEXT: [[TMP4 :%.*]] = load i32, ptr [[B]], align 4, !alias.scope [[META10:![0-9]+]]
539+ ; DEFAULT-NEXT: [[BROADCAST_SPLATINSERT:%.*]] = insertelement <4 x i32> poison, i32 [[TMP4 ]], i64 0
543540; DEFAULT-NEXT: [[BROADCAST_SPLAT:%.*]] = shufflevector <4 x i32> [[BROADCAST_SPLATINSERT]], <4 x i32> poison, <4 x i32> zeroinitializer
544- ; DEFAULT-NEXT: [[TMP6:%.*]] = or <4 x i32> [[BROADCAST_SPLAT]], [[BROADCAST_SPLAT29]]
545- ; DEFAULT-NEXT: [[TMP7:%.*]] = load i32, ptr [[C]], align 4, !alias.scope [[META12:![0-9]+]]
541+ ; DEFAULT-NEXT: [[TMP7:%.*]] = load i32, ptr [[A]], align 4, !alias.scope [[META12:![0-9]+]]
546542; DEFAULT-NEXT: [[BROADCAST_SPLATINSERT30:%.*]] = insertelement <4 x i32> poison, i32 [[TMP7]], i64 0
547543; DEFAULT-NEXT: [[BROADCAST_SPLAT31:%.*]] = shufflevector <4 x i32> [[BROADCAST_SPLATINSERT30]], <4 x i32> poison, <4 x i32> zeroinitializer
548- ; DEFAULT-NEXT: [[TMP8:%.*]] = icmp ugt <4 x i32> [[BROADCAST_SPLAT31]], [[TMP6]]
544+ ; DEFAULT-NEXT: [[TMP6:%.*]] = or <4 x i32> [[BROADCAST_SPLAT]], [[BROADCAST_SPLAT31]]
545+ ; DEFAULT-NEXT: [[TMP8:%.*]] = icmp ugt <4 x i32> [[BROADCAST_SPLAT29]], [[TMP6]]
546+ ; DEFAULT-NEXT: br label %[[VECTOR_BODY:.*]]
547+ ; DEFAULT: [[VECTOR_BODY]]:
548+ ; DEFAULT-NEXT: [[INDEX:%.*]] = phi i64 [ 0, %[[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], %[[PRED_STORE_CONTINUE37:.*]] ]
549549; DEFAULT-NEXT: [[TMP16:%.*]] = getelementptr i32, ptr [[D]], i64 [[INDEX]]
550- ; DEFAULT-NEXT: [[TMP20 :%.*]] = extractelement <4 x i1> [[TMP8]], i32 0
551- ; DEFAULT-NEXT: br i1 [[TMP20 ]], label %[[PRED_STORE_IF:.*]], label %[[PRED_STORE_CONTINUE:.*]]
550+ ; DEFAULT-NEXT: [[TMP9 :%.*]] = extractelement <4 x i1> [[TMP8]], i32 0
551+ ; DEFAULT-NEXT: br i1 [[TMP9 ]], label %[[PRED_STORE_IF:.*]], label %[[PRED_STORE_CONTINUE:.*]]
552552; DEFAULT: [[PRED_STORE_IF]]:
553- ; DEFAULT-NEXT: [[TMP11 :%.*]] = extractelement <4 x i32> [[TMP6]], i32 0
554- ; DEFAULT-NEXT: store i32 [[TMP11 ]], ptr [[E]], align 4, !alias.scope [[META14:![0-9]+]], !noalias [[META16:![0-9]+]]
553+ ; DEFAULT-NEXT: [[TMP10 :%.*]] = extractelement <4 x i32> [[TMP6]], i32 0
554+ ; DEFAULT-NEXT: store i32 [[TMP10 ]], ptr [[E]], align 4, !alias.scope [[META14:![0-9]+]], !noalias [[META16:![0-9]+]]
555555; DEFAULT-NEXT: br label %[[PRED_STORE_CONTINUE]]
556556; DEFAULT: [[PRED_STORE_CONTINUE]]:
557557; DEFAULT-NEXT: [[TMP12:%.*]] = extractelement <4 x i1> [[TMP8]], i32 1
0 commit comments