diff --git a/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp b/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp index 5312255e0da6c..d77d82a68876f 100644 --- a/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp +++ b/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp @@ -4366,9 +4366,7 @@ void VPInterleaveRecipe::execute(VPTransformState &State) { void VPInterleaveRecipe::printRecipe(raw_ostream &O, const Twine &Indent, VPSlotTracker &SlotTracker) const { const InterleaveGroup *IG = getInterleaveGroup(); - O << Indent << "INTERLEAVE-GROUP with factor " << IG->getFactor() << " at "; - IG->getInsertPos()->printAsOperand(O, false); - O << ", "; + O << Indent << "INTERLEAVE-GROUP with factor " << IG->getFactor() << ", "; getAddr()->printAsOperand(O, SlotTracker); VPValue *Mask = getMask(); if (Mask) { @@ -4508,9 +4506,7 @@ void VPInterleaveEVLRecipe::execute(VPTransformState &State) { void VPInterleaveEVLRecipe::printRecipe(raw_ostream &O, const Twine &Indent, VPSlotTracker &SlotTracker) const { const InterleaveGroup *IG = getInterleaveGroup(); - O << Indent << "INTERLEAVE-GROUP with factor " << IG->getFactor() << " at "; - IG->getInsertPos()->printAsOperand(O, false); - O << ", "; + O << Indent << "INTERLEAVE-GROUP with factor " << IG->getFactor() << ", "; getAddr()->printAsOperand(O, SlotTracker); O << ", "; getEVL()->printAsOperand(O, SlotTracker); diff --git a/llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll b/llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll index 44cc7bbc9294b..7ce07a82e6465 100644 --- a/llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll +++ b/llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll @@ -13,11 +13,11 @@ entry: br label %for.body ; VF_8-LABEL: Checking a loop in 'i8_factor_2' -; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'i8_factor_2' -; VF_16: Cost of 2 for VF 16: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_16: Cost of 2 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_16: Cost of 2 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_16: Cost of 2 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %i8.2, ptr %data, i64 %i, i32 0 @@ -40,14 +40,14 @@ entry: br label %for.body ; VF_4-LABEL: Checking a loop in 'i16_factor_2' -; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'i16_factor_2' -; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'i16_factor_2' -; VF_16: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_16: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_16: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_16: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %i16.2, ptr %data, i64 %i, i32 0 @@ -70,17 +70,17 @@ entry: br label %for.body ; VF_2-LABEL: Checking a loop in 'i32_factor_2' -; VF_2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_4-LABEL: Checking a loop in 'i32_factor_2' -; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'i32_factor_2' -; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'i32_factor_2' -; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %i32.2, ptr %data, i64 %i, i32 0 @@ -106,14 +106,14 @@ entry: ; VF_2: Cost of 1 for VF 2: WIDEN ir<%tmp2> = load ir<%tmp0> ; VF_2-NEXT: Cost of 1 for VF 2: WIDEN store ir<%tmp0>, ir<%tmp2> ; VF_4-LABEL: Checking a loop in 'i64_factor_2' -; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'i64_factor_2' -; VF_8: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'i64_factor_2' -; VF_16: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_16: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_16: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_16: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %i64.2, ptr %data, i64 %i, i32 0 diff --git a/llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter-cost.ll b/llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter-cost.ll index 0531261c1503c..6fbab439e2035 100644 --- a/llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter-cost.ll +++ b/llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter-cost.ll @@ -95,7 +95,7 @@ for.cond.cleanup: } ; CHECK: LV: Checking a loop in 'gather_nxv4i32_stride2' -; CHECK: Cost of 2 for VF vscale x 4: INTERLEAVE-GROUP with factor 2 at %0, ir<%arrayidx> +; CHECK: Cost of 2 for VF vscale x 4: INTERLEAVE-GROUP with factor 2, ir<%arrayidx> define void @gather_nxv4i32_stride2(ptr noalias nocapture readonly %a, ptr noalias nocapture readonly %b, i64 %n) #0 { entry: br label %for.body diff --git a/llvm/test/Transforms/LoopVectorize/ARM/interleaved_cost.ll b/llvm/test/Transforms/LoopVectorize/ARM/interleaved_cost.ll index c3cfd48208e8e..fdca980fcc773 100644 --- a/llvm/test/Transforms/LoopVectorize/ARM/interleaved_cost.ll +++ b/llvm/test/Transforms/LoopVectorize/ARM/interleaved_cost.ll @@ -13,11 +13,11 @@ entry: br label %for.body ; VF_8-LABEL: Checking a loop in 'i8_factor_2' -; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'i8_factor_2' -; VF_16: Cost of 2 for VF 16: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_16: Cost of 2 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_16: Cost of 2 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_16: Cost of 2 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %i8.2, ptr %data, i64 %i, i32 0 @@ -40,14 +40,14 @@ entry: br label %for.body ; VF_4-LABEL: Checking a loop in 'i16_factor_2' -; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'i16_factor_2' -; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'i16_factor_2' -; VF_16: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_16: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_16: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_16: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %i16.2, ptr %data, i64 %i, i32 0 @@ -70,17 +70,17 @@ entry: br label %for.body ; VF_2-LABEL: Checking a loop in 'i32_factor_2' -; VF_2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_4-LABEL: Checking a loop in 'i32_factor_2' -; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_4: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'i32_factor_2' -; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'i32_factor_2' -; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %i32.2, ptr %data, i64 %i, i32 0 @@ -103,11 +103,11 @@ entry: br label %for.body ; VF_4-LABEL: Checking a loop in 'half_factor_2' -; VF_4: Cost of 40 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_4: Cost of 40 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_4: Cost of 40 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_4: Cost of 40 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'half_factor_2' -; VF_8: Cost of 80 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 80 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 80 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 80 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %half.2, ptr %data, i64 %i, i32 0 diff --git a/llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll b/llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll index 76898f5010e85..7f5114fc4aa27 100644 --- a/llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll +++ b/llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll @@ -20,14 +20,14 @@ entry: ; VF_2-NEXT: Cost of 4 for VF 2: REPLICATE store ir<%tmp2>, ir<%tmp0> ; VF_2-NEXT: Cost of 4 for VF 2: REPLICATE store ir<%tmp3>, ir<%tmp1> ; VF_4-LABEL: Checking a loop in 'i8_factor_2' -; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'i8_factor_2' -; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'i8_factor_2' -; VF_16: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_16: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_16: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_16: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %i8.2, ptr %data, i64 %i, i32 0 @@ -55,14 +55,14 @@ entry: ; VF_2-NEXT: Cost of 4 for VF 2: REPLICATE store ir<%tmp2>, ir<%tmp0> ; VF_2-NEXT: Cost of 4 for VF 2: REPLICATE store ir<%tmp3>, ir<%tmp1> ; VF_4-LABEL: Checking a loop in 'i16_factor_2' -; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'i16_factor_2' -; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'i16_factor_2' -; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %i16.2, ptr %data, i64 %i, i32 0 @@ -90,14 +90,14 @@ entry: ; VF_2-NEXT: Cost of 4 for VF 2: REPLICATE store ir<%tmp2>, ir<%tmp0> ; VF_2-NEXT: Cost of 4 for VF 2: REPLICATE store ir<%tmp3>, ir<%tmp1> ; VF_4-LABEL: Checking a loop in 'i32_factor_2' -; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'i32_factor_2' -; VF_8: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'i32_factor_2' -; VF_16: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_16: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_16: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_16: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %i32.2, ptr %data, i64 %i, i32 0 @@ -166,14 +166,14 @@ entry: ; VF_2-NEXT: Cost of 4 for VF 2: REPLICATE store ir<%tmp2>, ir<%tmp0> ; VF_2-NEXT: Cost of 4 for VF 2: REPLICATE store ir<%tmp3>, ir<%tmp1> ; VF_4-LABEL: Checking a loop in 'f16_factor_2' -; VF_4: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_4: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_4: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_4: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'f16_factor_2' -; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'f16_factor_2' -; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_16: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %f16.2, ptr %data, i64 %i, i32 0 @@ -196,17 +196,17 @@ entry: br label %for.body ; VF_2-LABEL: Checking a loop in 'f32_factor_2' -; VF_2: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_2: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_2: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_2: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_4-LABEL: Checking a loop in 'f32_factor_2' -; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_4: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'f32_factor_2' -; VF_8: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_8: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_8: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_8: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'f32_factor_2' -; VF_16: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 2 at %tmp2, ir<%tmp0> -; VF_16: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; VF_16: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> +; VF_16: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %f32.2, ptr %data, i64 %i, i32 0 @@ -489,14 +489,14 @@ entry: ; VF_2-NEXT: Cost of 4 for VF 2: REPLICATE store ir<%tmp4>, ir<%tmp1> ; VF_2-NEXT: Cost of 4 for VF 2: REPLICATE store ir<%tmp5>, ir<%tmp2> ; VF_4-LABEL: Checking a loop in 'f16_factor_3' -; VF_4: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 3 at %tmp3, ir<%tmp0> -; VF_4: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%tmp0> +; VF_4: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%tmp0> +; VF_4: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'f16_factor_3' -; VF_8: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 3 at %tmp3, ir<%tmp0> -; VF_8: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%tmp0> +; VF_8: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%tmp0> +; VF_8: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'f16_factor_3' -; VF_16: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 3 at %tmp3, ir<%tmp0> -; VF_16: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%tmp0> +; VF_16: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%tmp0> +; VF_16: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %f16.3, ptr %data, i64 %i, i32 0 @@ -522,8 +522,8 @@ entry: br label %for.body ; VF_2-LABEL: Checking a loop in 'f32_factor_3' -; VF_2: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 3 at %tmp3, ir<%tmp0> -; VF_2: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%tmp0> +; VF_2: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%tmp0> +; VF_2: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%tmp0> ; VF_4-LABEL: Checking a loop in 'f32_factor_3' ; VF_4: Cost of 8 for VF 4: WIDEN ir<%tmp3> = load ir<%tmp0> ; VF_4-NEXT: Cost of 8 for VF 4: WIDEN ir<%tmp4> = load ir<%tmp1> @@ -532,11 +532,11 @@ entry: ; VF_4-NEXT: Cost of 8 for VF 4: WIDEN store ir<%tmp1>, ir<%tmp4> ; VF_4-NEXT: Cost of 8 for VF 4: WIDEN store ir<%tmp2>, ir<%tmp5> ; VF_8-LABEL: Checking a loop in 'f32_factor_3' -; VF_8: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 3 at %tmp3, ir<%tmp0> -; VF_8: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%tmp0> +; VF_8: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%tmp0> +; VF_8: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'f32_factor_3' -; VF_16: Cost of 128 for VF 16: INTERLEAVE-GROUP with factor 3 at %tmp3, ir<%tmp0> -; VF_16: Cost of 128 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%tmp0> +; VF_16: Cost of 128 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%tmp0> +; VF_16: Cost of 128 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %f32.3, ptr %data, i64 %i, i32 0 @@ -869,17 +869,17 @@ entry: br label %for.body ; VF_2-LABEL: Checking a loop in 'f16_factor_4' -; VF_2: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at %tmp4, ir<%tmp0> -; VF_2: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%tmp0> +; VF_2: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%tmp0> +; VF_2: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%tmp0> ; VF_4-LABEL: Checking a loop in 'f16_factor_4' -; VF_4: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at %tmp4, ir<%tmp0> -; VF_4: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%tmp0> +; VF_4: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%tmp0> +; VF_4: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%tmp0> ; VF_8-LABEL: Checking a loop in 'f16_factor_4' -; VF_8: Cost of 72 for VF 8: INTERLEAVE-GROUP with factor 4 at %tmp4, ir<%tmp0> -; VF_8: Cost of 72 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%tmp0> +; VF_8: Cost of 72 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%tmp0> +; VF_8: Cost of 72 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'f16_factor_4' -; VF_16: Cost of 144 for VF 16: INTERLEAVE-GROUP with factor 4 at %tmp4, ir<%tmp0> -; VF_16: Cost of 144 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%tmp0> +; VF_16: Cost of 144 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%tmp0> +; VF_16: Cost of 144 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %f16.4, ptr %data, i64 %i, i32 0 @@ -908,8 +908,8 @@ entry: br label %for.body ; VF_2-LABEL: Checking a loop in 'f32_factor_4' -; VF_2: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 4 at %tmp4, ir<%tmp0> -; VF_2: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%tmp0> +; VF_2: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%tmp0> +; VF_2: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%tmp0> ; VF_4-LABEL: Checking a loop in 'f32_factor_4' ; VF_4: Cost of 8 for VF 4: WIDEN ir<%tmp4> = load ir<%tmp0> ; VF_4-NEXT: Cost of 8 for VF 4: WIDEN ir<%tmp5> = load ir<%tmp1> @@ -920,11 +920,11 @@ entry: ; VF_4-NEXT: Cost of 8 for VF 4: WIDEN store ir<%tmp2>, ir<%tmp6> ; VF_4-NEXT: Cost of 8 for VF 4: WIDEN store ir<%tmp3>, ir<%tmp7> ; VF_8-LABEL: Checking a loop in 'f32_factor_4' -; VF_8: Cost of 80 for VF 8: INTERLEAVE-GROUP with factor 4 at %tmp4, ir<%tmp0> -; VF_8: Cost of 80 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%tmp0> +; VF_8: Cost of 80 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%tmp0> +; VF_8: Cost of 80 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%tmp0> ; VF_16-LABEL: Checking a loop in 'f32_factor_4' -; VF_16: Cost of 160 for VF 16: INTERLEAVE-GROUP with factor 4 at %tmp4, ir<%tmp0> -; VF_16: Cost of 160 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%tmp0> +; VF_16: Cost of 160 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%tmp0> +; VF_16: Cost of 160 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%tmp0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %tmp0 = getelementptr inbounds %f32.4, ptr %data, i64 %i, i32 0 diff --git a/llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll b/llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll index ee91f75fc9706..f86af8777a03c 100644 --- a/llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll +++ b/llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll @@ -21,49 +21,49 @@ define void @i8_factor_2(ptr %data, i64 %n) { entry: br label %for.body ; FIXED-OPT-NF2-LABEL: Checking a loop in 'i8_factor_2' -; FIXED-OPT-NF2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; FIXED-OPT-NF2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; FIXED-OPT-NF2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; FIXED-OPT-NF2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; FIXED-OPT-NF2: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; FIXED-OPT-NF2: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; FIXED-OPT-NF2: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; FIXED-OPT-NF2: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; FIXED-OPT-NF2: Cost of 8 for VF 32: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; FIXED-OPT-NF2: Cost of 8 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%p0> +; FIXED-OPT-NF2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-OPT-NF2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-OPT-NF2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-OPT-NF2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-OPT-NF2: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-OPT-NF2: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-OPT-NF2: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-OPT-NF2: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-OPT-NF2: Cost of 8 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-OPT-NF2: Cost of 8 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%p0> ; OPT-NF2-LABEL: Checking a loop in 'i8_factor_2' -; OPT-NF2: Cost of 3 for VF vscale x 1: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; OPT-NF2: Cost of 3 for VF vscale x 1: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; OPT-NF2: Cost of 3 for VF vscale x 2: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; OPT-NF2: Cost of 3 for VF vscale x 2: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; OPT-NF2: Cost of 3 for VF vscale x 4: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; OPT-NF2: Cost of 3 for VF vscale x 4: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; OPT-NF2: Cost of 4 for VF vscale x 8: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; OPT-NF2: Cost of 4 for VF vscale x 8: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; OPT-NF2: Cost of 8 for VF vscale x 16: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; OPT-NF2: Cost of 8 for VF vscale x 16: INTERLEAVE-GROUP with factor 2 at , ir<%p0> +; OPT-NF2: Cost of 3 for VF vscale x 1: INTERLEAVE-GROUP with factor 2, ir<%p0> +; OPT-NF2: Cost of 3 for VF vscale x 1: INTERLEAVE-GROUP with factor 2, ir<%p0> +; OPT-NF2: Cost of 3 for VF vscale x 2: INTERLEAVE-GROUP with factor 2, ir<%p0> +; OPT-NF2: Cost of 3 for VF vscale x 2: INTERLEAVE-GROUP with factor 2, ir<%p0> +; OPT-NF2: Cost of 3 for VF vscale x 4: INTERLEAVE-GROUP with factor 2, ir<%p0> +; OPT-NF2: Cost of 3 for VF vscale x 4: INTERLEAVE-GROUP with factor 2, ir<%p0> +; OPT-NF2: Cost of 4 for VF vscale x 8: INTERLEAVE-GROUP with factor 2, ir<%p0> +; OPT-NF2: Cost of 4 for VF vscale x 8: INTERLEAVE-GROUP with factor 2, ir<%p0> +; OPT-NF2: Cost of 8 for VF vscale x 16: INTERLEAVE-GROUP with factor 2, ir<%p0> +; OPT-NF2: Cost of 8 for VF vscale x 16: INTERLEAVE-GROUP with factor 2, ir<%p0> ; FIXED-NO-OPT-LABEL: Checking a loop in 'i8_factor_2' -; FIXED-NO-OPT: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; FIXED-NO-OPT: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; FIXED-NO-OPT: Cost of 16 for VF 8: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 16 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; FIXED-NO-OPT: Cost of 32 for VF 16: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 32 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; FIXED-NO-OPT: Cost of 64 for VF 32: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 64 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%p0> +; FIXED-NO-OPT: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-NO-OPT: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-NO-OPT: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-NO-OPT: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-NO-OPT: Cost of 16 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-NO-OPT: Cost of 16 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-NO-OPT: Cost of 32 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-NO-OPT: Cost of 32 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-NO-OPT: Cost of 64 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%p0> +; FIXED-NO-OPT: Cost of 64 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%p0> ; NO-OPT-LABEL: Checking a loop in 'i8_factor_2' -; NO-OPT: Cost of 4 for VF vscale x 1: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; NO-OPT: Cost of 4 for VF vscale x 1: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; NO-OPT: Cost of 8 for VF vscale x 2: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; NO-OPT: Cost of 8 for VF vscale x 2: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; NO-OPT: Cost of 16 for VF vscale x 4: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; NO-OPT: Cost of 16 for VF vscale x 4: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; NO-OPT: Cost of 32 for VF vscale x 8: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; NO-OPT: Cost of 32 for VF vscale x 8: INTERLEAVE-GROUP with factor 2 at , ir<%p0> -; NO-OPT: Cost of 64 for VF vscale x 16: INTERLEAVE-GROUP with factor 2 at %l0, ir<%p0> -; NO-OPT: Cost of 64 for VF vscale x 16: INTERLEAVE-GROUP with factor 2 at , ir<%p0> +; NO-OPT: Cost of 4 for VF vscale x 1: INTERLEAVE-GROUP with factor 2, ir<%p0> +; NO-OPT: Cost of 4 for VF vscale x 1: INTERLEAVE-GROUP with factor 2, ir<%p0> +; NO-OPT: Cost of 8 for VF vscale x 2: INTERLEAVE-GROUP with factor 2, ir<%p0> +; NO-OPT: Cost of 8 for VF vscale x 2: INTERLEAVE-GROUP with factor 2, ir<%p0> +; NO-OPT: Cost of 16 for VF vscale x 4: INTERLEAVE-GROUP with factor 2, ir<%p0> +; NO-OPT: Cost of 16 for VF vscale x 4: INTERLEAVE-GROUP with factor 2, ir<%p0> +; NO-OPT: Cost of 32 for VF vscale x 8: INTERLEAVE-GROUP with factor 2, ir<%p0> +; NO-OPT: Cost of 32 for VF vscale x 8: INTERLEAVE-GROUP with factor 2, ir<%p0> +; NO-OPT: Cost of 64 for VF vscale x 16: INTERLEAVE-GROUP with factor 2, ir<%p0> +; NO-OPT: Cost of 64 for VF vscale x 16: INTERLEAVE-GROUP with factor 2, ir<%p0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %p0 = getelementptr inbounds %i8.2, ptr %data, i64 %i, i32 0 @@ -87,49 +87,49 @@ define void @i8_factor_3(ptr %data, i64 %n) { entry: br label %for.body ; FIXED-OPT-NF3-LABEL: Checking a loop in 'i8_factor_3' -; FIXED-OPT-NF3: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; FIXED-OPT-NF3: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; FIXED-OPT-NF3: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; FIXED-OPT-NF3: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; FIXED-OPT-NF3: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; FIXED-OPT-NF3: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; FIXED-OPT-NF3: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; FIXED-OPT-NF3: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; FIXED-OPT-NF3: Cost of 14 for VF 32: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; FIXED-OPT-NF3: Cost of 14 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%p0> +; FIXED-OPT-NF3: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-OPT-NF3: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-OPT-NF3: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-OPT-NF3: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-OPT-NF3: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-OPT-NF3: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-OPT-NF3: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-OPT-NF3: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-OPT-NF3: Cost of 14 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-OPT-NF3: Cost of 14 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%p0> ; OPT-NF3-LABEL: Checking a loop in 'i8_factor_3' -; OPT-NF3: Cost of 4 for VF vscale x 1: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; OPT-NF3: Cost of 4 for VF vscale x 1: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; OPT-NF3: Cost of 4 for VF vscale x 2: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; OPT-NF3: Cost of 4 for VF vscale x 2: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; OPT-NF3: Cost of 5 for VF vscale x 4: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; OPT-NF3: Cost of 5 for VF vscale x 4: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; OPT-NF3: Cost of 7 for VF vscale x 8: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; OPT-NF3: Cost of 7 for VF vscale x 8: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; OPT-NF3: Cost of 14 for VF vscale x 16: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; OPT-NF3: Cost of 14 for VF vscale x 16: INTERLEAVE-GROUP with factor 3 at , ir<%p0> +; OPT-NF3: Cost of 4 for VF vscale x 1: INTERLEAVE-GROUP with factor 3, ir<%p0> +; OPT-NF3: Cost of 4 for VF vscale x 1: INTERLEAVE-GROUP with factor 3, ir<%p0> +; OPT-NF3: Cost of 4 for VF vscale x 2: INTERLEAVE-GROUP with factor 3, ir<%p0> +; OPT-NF3: Cost of 4 for VF vscale x 2: INTERLEAVE-GROUP with factor 3, ir<%p0> +; OPT-NF3: Cost of 5 for VF vscale x 4: INTERLEAVE-GROUP with factor 3, ir<%p0> +; OPT-NF3: Cost of 5 for VF vscale x 4: INTERLEAVE-GROUP with factor 3, ir<%p0> +; OPT-NF3: Cost of 7 for VF vscale x 8: INTERLEAVE-GROUP with factor 3, ir<%p0> +; OPT-NF3: Cost of 7 for VF vscale x 8: INTERLEAVE-GROUP with factor 3, ir<%p0> +; OPT-NF3: Cost of 14 for VF vscale x 16: INTERLEAVE-GROUP with factor 3, ir<%p0> +; OPT-NF3: Cost of 14 for VF vscale x 16: INTERLEAVE-GROUP with factor 3, ir<%p0> ; FIXED-NO-OPT-LABEL: Checking a loop in 'i8_factor_3' -; FIXED-NO-OPT: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; FIXED-NO-OPT: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; FIXED-NO-OPT: Cost of 24 for VF 8: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 24 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; FIXED-NO-OPT: Cost of 48 for VF 16: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 48 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; FIXED-NO-OPT: Cost of 96 for VF 32: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 96 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%p0> +; FIXED-NO-OPT: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-NO-OPT: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-NO-OPT: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-NO-OPT: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-NO-OPT: Cost of 24 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-NO-OPT: Cost of 24 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-NO-OPT: Cost of 48 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-NO-OPT: Cost of 48 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-NO-OPT: Cost of 96 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%p0> +; FIXED-NO-OPT: Cost of 96 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%p0> ; NO-OPT-LABEL: Checking a loop in 'i8_factor_3' -; NO-OPT: Cost of 6 for VF vscale x 1: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; NO-OPT: Cost of 6 for VF vscale x 1: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; NO-OPT: Cost of 12 for VF vscale x 2: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; NO-OPT: Cost of 12 for VF vscale x 2: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; NO-OPT: Cost of 24 for VF vscale x 4: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; NO-OPT: Cost of 24 for VF vscale x 4: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; NO-OPT: Cost of 48 for VF vscale x 8: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; NO-OPT: Cost of 48 for VF vscale x 8: INTERLEAVE-GROUP with factor 3 at , ir<%p0> -; NO-OPT: Cost of 96 for VF vscale x 16: INTERLEAVE-GROUP with factor 3 at %l0, ir<%p0> -; NO-OPT: Cost of 96 for VF vscale x 16: INTERLEAVE-GROUP with factor 3 at , ir<%p0> +; NO-OPT: Cost of 6 for VF vscale x 1: INTERLEAVE-GROUP with factor 3, ir<%p0> +; NO-OPT: Cost of 6 for VF vscale x 1: INTERLEAVE-GROUP with factor 3, ir<%p0> +; NO-OPT: Cost of 12 for VF vscale x 2: INTERLEAVE-GROUP with factor 3, ir<%p0> +; NO-OPT: Cost of 12 for VF vscale x 2: INTERLEAVE-GROUP with factor 3, ir<%p0> +; NO-OPT: Cost of 24 for VF vscale x 4: INTERLEAVE-GROUP with factor 3, ir<%p0> +; NO-OPT: Cost of 24 for VF vscale x 4: INTERLEAVE-GROUP with factor 3, ir<%p0> +; NO-OPT: Cost of 48 for VF vscale x 8: INTERLEAVE-GROUP with factor 3, ir<%p0> +; NO-OPT: Cost of 48 for VF vscale x 8: INTERLEAVE-GROUP with factor 3, ir<%p0> +; NO-OPT: Cost of 96 for VF vscale x 16: INTERLEAVE-GROUP with factor 3, ir<%p0> +; NO-OPT: Cost of 96 for VF vscale x 16: INTERLEAVE-GROUP with factor 3, ir<%p0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %p0 = getelementptr inbounds %i8.3, ptr %data, i64 %i, i32 0 @@ -157,49 +157,49 @@ define void @i8_factor_4(ptr %data, i64 %n) { entry: br label %for.body ; FIXED-OPT-NF4-LABEL: Checking a loop in 'i8_factor_4' -; FIXED-OPT-NF4: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; FIXED-OPT-NF4: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; FIXED-OPT-NF4: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; FIXED-OPT-NF4: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; FIXED-OPT-NF4: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; FIXED-OPT-NF4: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; FIXED-OPT-NF4: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; FIXED-OPT-NF4: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; FIXED-OPT-NF4: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; FIXED-OPT-NF4: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%p0> +; FIXED-OPT-NF4: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-OPT-NF4: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-OPT-NF4: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-OPT-NF4: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-OPT-NF4: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-OPT-NF4: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-OPT-NF4: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-OPT-NF4: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-OPT-NF4: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-OPT-NF4: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%p0> ; OPT-NF4-LABEL: Checking a loop in 'i8_factor_4' -; OPT-NF4: Cost of 5 for VF vscale x 1: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; OPT-NF4: Cost of 5 for VF vscale x 1: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; OPT-NF4: Cost of 5 for VF vscale x 2: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; OPT-NF4: Cost of 5 for VF vscale x 2: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; OPT-NF4: Cost of 6 for VF vscale x 4: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; OPT-NF4: Cost of 6 for VF vscale x 4: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; OPT-NF4: Cost of 8 for VF vscale x 8: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; OPT-NF4: Cost of 8 for VF vscale x 8: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; OPT-NF4: Cost of 16 for VF vscale x 16: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; OPT-NF4: Cost of 16 for VF vscale x 16: INTERLEAVE-GROUP with factor 4 at , ir<%p0> +; OPT-NF4: Cost of 5 for VF vscale x 1: INTERLEAVE-GROUP with factor 4, ir<%p0> +; OPT-NF4: Cost of 5 for VF vscale x 1: INTERLEAVE-GROUP with factor 4, ir<%p0> +; OPT-NF4: Cost of 5 for VF vscale x 2: INTERLEAVE-GROUP with factor 4, ir<%p0> +; OPT-NF4: Cost of 5 for VF vscale x 2: INTERLEAVE-GROUP with factor 4, ir<%p0> +; OPT-NF4: Cost of 6 for VF vscale x 4: INTERLEAVE-GROUP with factor 4, ir<%p0> +; OPT-NF4: Cost of 6 for VF vscale x 4: INTERLEAVE-GROUP with factor 4, ir<%p0> +; OPT-NF4: Cost of 8 for VF vscale x 8: INTERLEAVE-GROUP with factor 4, ir<%p0> +; OPT-NF4: Cost of 8 for VF vscale x 8: INTERLEAVE-GROUP with factor 4, ir<%p0> +; OPT-NF4: Cost of 16 for VF vscale x 16: INTERLEAVE-GROUP with factor 4, ir<%p0> +; OPT-NF4: Cost of 16 for VF vscale x 16: INTERLEAVE-GROUP with factor 4, ir<%p0> ; FIXED-NO-OPT-LABEL: Checking a loop in 'i8_factor_4' -; FIXED-NO-OPT: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; FIXED-NO-OPT: Cost of 16 for VF 4: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 16 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; FIXED-NO-OPT: Cost of 32 for VF 8: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 32 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; FIXED-NO-OPT: Cost of 64 for VF 16: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 64 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; FIXED-NO-OPT: Cost of 128 for VF 32: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 128 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%p0> +; FIXED-NO-OPT: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-NO-OPT: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-NO-OPT: Cost of 16 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-NO-OPT: Cost of 16 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-NO-OPT: Cost of 32 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-NO-OPT: Cost of 32 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-NO-OPT: Cost of 64 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-NO-OPT: Cost of 64 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-NO-OPT: Cost of 128 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%p0> +; FIXED-NO-OPT: Cost of 128 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%p0> ; NO-OPT-LABEL: Checking a loop in 'i8_factor_4' -; NO-OPT: Cost of 8 for VF vscale x 1: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; NO-OPT: Cost of 8 for VF vscale x 1: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; NO-OPT: Cost of 16 for VF vscale x 2: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; NO-OPT: Cost of 16 for VF vscale x 2: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; NO-OPT: Cost of 32 for VF vscale x 4: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; NO-OPT: Cost of 32 for VF vscale x 4: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; NO-OPT: Cost of 64 for VF vscale x 8: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; NO-OPT: Cost of 64 for VF vscale x 8: INTERLEAVE-GROUP with factor 4 at , ir<%p0> -; NO-OPT: Cost of 128 for VF vscale x 16: INTERLEAVE-GROUP with factor 4 at %l0, ir<%p0> -; NO-OPT: Cost of 128 for VF vscale x 16: INTERLEAVE-GROUP with factor 4 at , ir<%p0> +; NO-OPT: Cost of 8 for VF vscale x 1: INTERLEAVE-GROUP with factor 4, ir<%p0> +; NO-OPT: Cost of 8 for VF vscale x 1: INTERLEAVE-GROUP with factor 4, ir<%p0> +; NO-OPT: Cost of 16 for VF vscale x 2: INTERLEAVE-GROUP with factor 4, ir<%p0> +; NO-OPT: Cost of 16 for VF vscale x 2: INTERLEAVE-GROUP with factor 4, ir<%p0> +; NO-OPT: Cost of 32 for VF vscale x 4: INTERLEAVE-GROUP with factor 4, ir<%p0> +; NO-OPT: Cost of 32 for VF vscale x 4: INTERLEAVE-GROUP with factor 4, ir<%p0> +; NO-OPT: Cost of 64 for VF vscale x 8: INTERLEAVE-GROUP with factor 4, ir<%p0> +; NO-OPT: Cost of 64 for VF vscale x 8: INTERLEAVE-GROUP with factor 4, ir<%p0> +; NO-OPT: Cost of 128 for VF vscale x 16: INTERLEAVE-GROUP with factor 4, ir<%p0> +; NO-OPT: Cost of 128 for VF vscale x 16: INTERLEAVE-GROUP with factor 4, ir<%p0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %p0 = getelementptr inbounds %i8.4, ptr %data, i64 %i, i32 0 @@ -231,41 +231,41 @@ define void @i8_factor_5(ptr %data, i64 %n) { entry: br label %for.body ; FIXED-OPT-NF5-LABEL: Checking a loop in 'i8_factor_5' -; FIXED-OPT-NF5: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; FIXED-OPT-NF5: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%p0> -; FIXED-OPT-NF5: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; FIXED-OPT-NF5: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%p0> -; FIXED-OPT-NF5: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; FIXED-OPT-NF5: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%p0> -; FIXED-OPT-NF5: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; FIXED-OPT-NF5: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%p0> +; FIXED-OPT-NF5: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-OPT-NF5: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-OPT-NF5: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-OPT-NF5: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-OPT-NF5: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-OPT-NF5: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-OPT-NF5: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-OPT-NF5: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%p0> ; OPT-NF5-LABEL: Checking a loop in 'i8_factor_5' -; OPT-NF5: Cost of 6 for VF vscale x 1: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; OPT-NF5: Cost of 6 for VF vscale x 1: INTERLEAVE-GROUP with factor 5 at , ir<%p0> -; OPT-NF5: Cost of 7 for VF vscale x 2: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; OPT-NF5: Cost of 7 for VF vscale x 2: INTERLEAVE-GROUP with factor 5 at , ir<%p0> -; OPT-NF5: Cost of 9 for VF vscale x 4: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; OPT-NF5: Cost of 9 for VF vscale x 4: INTERLEAVE-GROUP with factor 5 at , ir<%p0> -; OPT-NF5: Cost of 13 for VF vscale x 8: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; OPT-NF5: Cost of 13 for VF vscale x 8: INTERLEAVE-GROUP with factor 5 at , ir<%p0> +; OPT-NF5: Cost of 6 for VF vscale x 1: INTERLEAVE-GROUP with factor 5, ir<%p0> +; OPT-NF5: Cost of 6 for VF vscale x 1: INTERLEAVE-GROUP with factor 5, ir<%p0> +; OPT-NF5: Cost of 7 for VF vscale x 2: INTERLEAVE-GROUP with factor 5, ir<%p0> +; OPT-NF5: Cost of 7 for VF vscale x 2: INTERLEAVE-GROUP with factor 5, ir<%p0> +; OPT-NF5: Cost of 9 for VF vscale x 4: INTERLEAVE-GROUP with factor 5, ir<%p0> +; OPT-NF5: Cost of 9 for VF vscale x 4: INTERLEAVE-GROUP with factor 5, ir<%p0> +; OPT-NF5: Cost of 13 for VF vscale x 8: INTERLEAVE-GROUP with factor 5, ir<%p0> +; OPT-NF5: Cost of 13 for VF vscale x 8: INTERLEAVE-GROUP with factor 5, ir<%p0> ; FIXED-NO-OPT-LABEL: Checking a loop in 'i8_factor_5' -; FIXED-NO-OPT: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%p0> -; FIXED-NO-OPT: Cost of 20 for VF 4: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 20 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%p0> -; FIXED-NO-OPT: Cost of 40 for VF 8: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 40 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%p0> -; FIXED-NO-OPT: Cost of 80 for VF 16: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 80 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%p0> +; FIXED-NO-OPT: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-NO-OPT: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-NO-OPT: Cost of 20 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-NO-OPT: Cost of 20 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-NO-OPT: Cost of 40 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-NO-OPT: Cost of 40 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-NO-OPT: Cost of 80 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%p0> +; FIXED-NO-OPT: Cost of 80 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%p0> ; NO-OPT-LABEL: Checking a loop in 'i8_factor_5' -; NO-OPT: Cost of 10 for VF vscale x 1: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; NO-OPT: Cost of 10 for VF vscale x 1: INTERLEAVE-GROUP with factor 5 at , ir<%p0> -; NO-OPT: Cost of 20 for VF vscale x 2: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; NO-OPT: Cost of 20 for VF vscale x 2: INTERLEAVE-GROUP with factor 5 at , ir<%p0> -; NO-OPT: Cost of 40 for VF vscale x 4: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; NO-OPT: Cost of 40 for VF vscale x 4: INTERLEAVE-GROUP with factor 5 at , ir<%p0> -; NO-OPT: Cost of 80 for VF vscale x 8: INTERLEAVE-GROUP with factor 5 at %l0, ir<%p0> -; NO-OPT: Cost of 80 for VF vscale x 8: INTERLEAVE-GROUP with factor 5 at , ir<%p0> +; NO-OPT: Cost of 10 for VF vscale x 1: INTERLEAVE-GROUP with factor 5, ir<%p0> +; NO-OPT: Cost of 10 for VF vscale x 1: INTERLEAVE-GROUP with factor 5, ir<%p0> +; NO-OPT: Cost of 20 for VF vscale x 2: INTERLEAVE-GROUP with factor 5, ir<%p0> +; NO-OPT: Cost of 20 for VF vscale x 2: INTERLEAVE-GROUP with factor 5, ir<%p0> +; NO-OPT: Cost of 40 for VF vscale x 4: INTERLEAVE-GROUP with factor 5, ir<%p0> +; NO-OPT: Cost of 40 for VF vscale x 4: INTERLEAVE-GROUP with factor 5, ir<%p0> +; NO-OPT: Cost of 80 for VF vscale x 8: INTERLEAVE-GROUP with factor 5, ir<%p0> +; NO-OPT: Cost of 80 for VF vscale x 8: INTERLEAVE-GROUP with factor 5, ir<%p0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %p0 = getelementptr inbounds %i8.5, ptr %data, i64 %i, i32 0 @@ -301,41 +301,41 @@ define void @i8_factor_6(ptr %data, i64 %n) { entry: br label %for.body ; FIXED-OPT-NF6-LABEL: Checking a loop in 'i8_factor_6' -; FIXED-OPT-NF6: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; FIXED-OPT-NF6: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%p0> -; FIXED-OPT-NF6: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; FIXED-OPT-NF6: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%p0> -; FIXED-OPT-NF6: Cost of 10 for VF 8: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; FIXED-OPT-NF6: Cost of 10 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%p0> -; FIXED-OPT-NF6: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; FIXED-OPT-NF6: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%p0> +; FIXED-OPT-NF6: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-OPT-NF6: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-OPT-NF6: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-OPT-NF6: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-OPT-NF6: Cost of 10 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-OPT-NF6: Cost of 10 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-OPT-NF6: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-OPT-NF6: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%p0> ; OPT-NF6-LABEL: Checking a loop in 'i8_factor_6' -; OPT-NF6: Cost of 7 for VF vscale x 1: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; OPT-NF6: Cost of 7 for VF vscale x 1: INTERLEAVE-GROUP with factor 6 at , ir<%p0> -; OPT-NF6: Cost of 8 for VF vscale x 2: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; OPT-NF6: Cost of 8 for VF vscale x 2: INTERLEAVE-GROUP with factor 6 at , ir<%p0> -; OPT-NF6: Cost of 10 for VF vscale x 4: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; OPT-NF6: Cost of 10 for VF vscale x 4: INTERLEAVE-GROUP with factor 6 at , ir<%p0> -; OPT-NF6: Cost of 14 for VF vscale x 8: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; OPT-NF6: Cost of 14 for VF vscale x 8: INTERLEAVE-GROUP with factor 6 at , ir<%p0> +; OPT-NF6: Cost of 7 for VF vscale x 1: INTERLEAVE-GROUP with factor 6, ir<%p0> +; OPT-NF6: Cost of 7 for VF vscale x 1: INTERLEAVE-GROUP with factor 6, ir<%p0> +; OPT-NF6: Cost of 8 for VF vscale x 2: INTERLEAVE-GROUP with factor 6, ir<%p0> +; OPT-NF6: Cost of 8 for VF vscale x 2: INTERLEAVE-GROUP with factor 6, ir<%p0> +; OPT-NF6: Cost of 10 for VF vscale x 4: INTERLEAVE-GROUP with factor 6, ir<%p0> +; OPT-NF6: Cost of 10 for VF vscale x 4: INTERLEAVE-GROUP with factor 6, ir<%p0> +; OPT-NF6: Cost of 14 for VF vscale x 8: INTERLEAVE-GROUP with factor 6, ir<%p0> +; OPT-NF6: Cost of 14 for VF vscale x 8: INTERLEAVE-GROUP with factor 6, ir<%p0> ; FIXED-NO-OPT-LABEL: Checking a loop in 'i8_factor_6' -; FIXED-NO-OPT: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%p0> -; FIXED-NO-OPT: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%p0> -; FIXED-NO-OPT: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%p0> -; FIXED-NO-OPT: Cost of 96 for VF 16: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 96 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%p0> +; FIXED-NO-OPT: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-NO-OPT: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-NO-OPT: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-NO-OPT: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-NO-OPT: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-NO-OPT: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-NO-OPT: Cost of 96 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%p0> +; FIXED-NO-OPT: Cost of 96 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%p0> ; NO-OPT-LABEL: Checking a loop in 'i8_factor_6' -; NO-OPT: Cost of 12 for VF vscale x 1: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; NO-OPT: Cost of 12 for VF vscale x 1: INTERLEAVE-GROUP with factor 6 at , ir<%p0> -; NO-OPT: Cost of 24 for VF vscale x 2: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; NO-OPT: Cost of 24 for VF vscale x 2: INTERLEAVE-GROUP with factor 6 at , ir<%p0> -; NO-OPT: Cost of 48 for VF vscale x 4: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; NO-OPT: Cost of 48 for VF vscale x 4: INTERLEAVE-GROUP with factor 6 at , ir<%p0> -; NO-OPT: Cost of 96 for VF vscale x 8: INTERLEAVE-GROUP with factor 6 at %l0, ir<%p0> -; NO-OPT: Cost of 96 for VF vscale x 8: INTERLEAVE-GROUP with factor 6 at , ir<%p0> +; NO-OPT: Cost of 12 for VF vscale x 1: INTERLEAVE-GROUP with factor 6, ir<%p0> +; NO-OPT: Cost of 12 for VF vscale x 1: INTERLEAVE-GROUP with factor 6, ir<%p0> +; NO-OPT: Cost of 24 for VF vscale x 2: INTERLEAVE-GROUP with factor 6, ir<%p0> +; NO-OPT: Cost of 24 for VF vscale x 2: INTERLEAVE-GROUP with factor 6, ir<%p0> +; NO-OPT: Cost of 48 for VF vscale x 4: INTERLEAVE-GROUP with factor 6, ir<%p0> +; NO-OPT: Cost of 48 for VF vscale x 4: INTERLEAVE-GROUP with factor 6, ir<%p0> +; NO-OPT: Cost of 96 for VF vscale x 8: INTERLEAVE-GROUP with factor 6, ir<%p0> +; NO-OPT: Cost of 96 for VF vscale x 8: INTERLEAVE-GROUP with factor 6, ir<%p0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %p0 = getelementptr inbounds %i8.6, ptr %data, i64 %i, i32 0 @@ -375,41 +375,41 @@ define void @i8_factor_7(ptr %data, i64 %n) { entry: br label %for.body ; FIXED-OPT-NF7-LABEL: Checking a loop in 'i8_factor_7' -; FIXED-OPT-NF7: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; FIXED-OPT-NF7: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%p0> -; FIXED-OPT-NF7: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; FIXED-OPT-NF7: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%p0> -; FIXED-OPT-NF7: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; FIXED-OPT-NF7: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%p0> -; FIXED-OPT-NF7: Cost of 15 for VF 16: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; FIXED-OPT-NF7: Cost of 15 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%p0> +; FIXED-OPT-NF7: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-OPT-NF7: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-OPT-NF7: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-OPT-NF7: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-OPT-NF7: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-OPT-NF7: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-OPT-NF7: Cost of 15 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-OPT-NF7: Cost of 15 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%p0> ; OPT-NF7-LABEL: Checking a loop in 'i8_factor_7' -; OPT-NF7: Cost of 8 for VF vscale x 1: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; OPT-NF7: Cost of 8 for VF vscale x 1: INTERLEAVE-GROUP with factor 7 at , ir<%p0> -; OPT-NF7: Cost of 9 for VF vscale x 2: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; OPT-NF7: Cost of 9 for VF vscale x 2: INTERLEAVE-GROUP with factor 7 at , ir<%p0> -; OPT-NF7: Cost of 11 for VF vscale x 4: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; OPT-NF7: Cost of 11 for VF vscale x 4: INTERLEAVE-GROUP with factor 7 at , ir<%p0> -; OPT-NF7: Cost of 15 for VF vscale x 8: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; OPT-NF7: Cost of 15 for VF vscale x 8: INTERLEAVE-GROUP with factor 7 at , ir<%p0> +; OPT-NF7: Cost of 8 for VF vscale x 1: INTERLEAVE-GROUP with factor 7, ir<%p0> +; OPT-NF7: Cost of 8 for VF vscale x 1: INTERLEAVE-GROUP with factor 7, ir<%p0> +; OPT-NF7: Cost of 9 for VF vscale x 2: INTERLEAVE-GROUP with factor 7, ir<%p0> +; OPT-NF7: Cost of 9 for VF vscale x 2: INTERLEAVE-GROUP with factor 7, ir<%p0> +; OPT-NF7: Cost of 11 for VF vscale x 4: INTERLEAVE-GROUP with factor 7, ir<%p0> +; OPT-NF7: Cost of 11 for VF vscale x 4: INTERLEAVE-GROUP with factor 7, ir<%p0> +; OPT-NF7: Cost of 15 for VF vscale x 8: INTERLEAVE-GROUP with factor 7, ir<%p0> +; OPT-NF7: Cost of 15 for VF vscale x 8: INTERLEAVE-GROUP with factor 7, ir<%p0> ; FIXED-NO-OPT-LABEL: Checking a loop in 'i8_factor_7' -; FIXED-NO-OPT: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%p0> -; FIXED-NO-OPT: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%p0> -; FIXED-NO-OPT: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%p0> -; FIXED-NO-OPT: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%p0> +; FIXED-NO-OPT: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-NO-OPT: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-NO-OPT: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-NO-OPT: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-NO-OPT: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-NO-OPT: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-NO-OPT: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%p0> +; FIXED-NO-OPT: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%p0> ; NO-OPT-LABEL: Checking a loop in 'i8_factor_7' -; NO-OPT: Cost of 14 for VF vscale x 1: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; NO-OPT: Cost of 14 for VF vscale x 1: INTERLEAVE-GROUP with factor 7 at , ir<%p0> -; NO-OPT: Cost of 28 for VF vscale x 2: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; NO-OPT: Cost of 28 for VF vscale x 2: INTERLEAVE-GROUP with factor 7 at , ir<%p0> -; NO-OPT: Cost of 56 for VF vscale x 4: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; NO-OPT: Cost of 56 for VF vscale x 4: INTERLEAVE-GROUP with factor 7 at , ir<%p0> -; NO-OPT: Cost of 112 for VF vscale x 8: INTERLEAVE-GROUP with factor 7 at %l0, ir<%p0> -; NO-OPT: Cost of 112 for VF vscale x 8: INTERLEAVE-GROUP with factor 7 at , ir<%p0> +; NO-OPT: Cost of 14 for VF vscale x 1: INTERLEAVE-GROUP with factor 7, ir<%p0> +; NO-OPT: Cost of 14 for VF vscale x 1: INTERLEAVE-GROUP with factor 7, ir<%p0> +; NO-OPT: Cost of 28 for VF vscale x 2: INTERLEAVE-GROUP with factor 7, ir<%p0> +; NO-OPT: Cost of 28 for VF vscale x 2: INTERLEAVE-GROUP with factor 7, ir<%p0> +; NO-OPT: Cost of 56 for VF vscale x 4: INTERLEAVE-GROUP with factor 7, ir<%p0> +; NO-OPT: Cost of 56 for VF vscale x 4: INTERLEAVE-GROUP with factor 7, ir<%p0> +; NO-OPT: Cost of 112 for VF vscale x 8: INTERLEAVE-GROUP with factor 7, ir<%p0> +; NO-OPT: Cost of 112 for VF vscale x 8: INTERLEAVE-GROUP with factor 7, ir<%p0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %p0 = getelementptr inbounds %i8.7, ptr %data, i64 %i, i32 0 @@ -453,41 +453,41 @@ define void @i8_factor_8(ptr %data, i64 %n) { entry: br label %for.body ; FIXED-OPT-NF8-LABEL: Checking a loop in 'i8_factor_8' -; FIXED-OPT-NF8: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; FIXED-OPT-NF8: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%p0> -; FIXED-OPT-NF8: Cost of 10 for VF 4: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; FIXED-OPT-NF8: Cost of 10 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%p0> -; FIXED-OPT-NF8: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; FIXED-OPT-NF8: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%p0> -; FIXED-OPT-NF8: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; FIXED-OPT-NF8: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%p0> +; FIXED-OPT-NF8: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-OPT-NF8: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-OPT-NF8: Cost of 10 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-OPT-NF8: Cost of 10 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-OPT-NF8: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-OPT-NF8: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-OPT-NF8: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-OPT-NF8: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%p0> ; OPT-NF8-LABEL: Checking a loop in 'i8_factor_8' -; OPT-NF8: Cost of 9 for VF vscale x 1: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; OPT-NF8: Cost of 9 for VF vscale x 1: INTERLEAVE-GROUP with factor 8 at , ir<%p0> -; OPT-NF8: Cost of 10 for VF vscale x 2: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; OPT-NF8: Cost of 10 for VF vscale x 2: INTERLEAVE-GROUP with factor 8 at , ir<%p0> -; OPT-NF8: Cost of 12 for VF vscale x 4: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; OPT-NF8: Cost of 12 for VF vscale x 4: INTERLEAVE-GROUP with factor 8 at , ir<%p0> -; OPT-NF8: Cost of 16 for VF vscale x 8: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; OPT-NF8: Cost of 16 for VF vscale x 8: INTERLEAVE-GROUP with factor 8 at , ir<%p0> +; OPT-NF8: Cost of 9 for VF vscale x 1: INTERLEAVE-GROUP with factor 8, ir<%p0> +; OPT-NF8: Cost of 9 for VF vscale x 1: INTERLEAVE-GROUP with factor 8, ir<%p0> +; OPT-NF8: Cost of 10 for VF vscale x 2: INTERLEAVE-GROUP with factor 8, ir<%p0> +; OPT-NF8: Cost of 10 for VF vscale x 2: INTERLEAVE-GROUP with factor 8, ir<%p0> +; OPT-NF8: Cost of 12 for VF vscale x 4: INTERLEAVE-GROUP with factor 8, ir<%p0> +; OPT-NF8: Cost of 12 for VF vscale x 4: INTERLEAVE-GROUP with factor 8, ir<%p0> +; OPT-NF8: Cost of 16 for VF vscale x 8: INTERLEAVE-GROUP with factor 8, ir<%p0> +; OPT-NF8: Cost of 16 for VF vscale x 8: INTERLEAVE-GROUP with factor 8, ir<%p0> ; FIXED-NO-OPT-LABEL: Checking a loop in 'i8_factor_8' -; FIXED-NO-OPT: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%p0> -; FIXED-NO-OPT: Cost of 32 for VF 4: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 32 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%p0> -; FIXED-NO-OPT: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%p0> -; FIXED-NO-OPT: Cost of 128 for VF 16: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; FIXED-NO-OPT: Cost of 128 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%p0> +; FIXED-NO-OPT: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-NO-OPT: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-NO-OPT: Cost of 32 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-NO-OPT: Cost of 32 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-NO-OPT: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-NO-OPT: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-NO-OPT: Cost of 128 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%p0> +; FIXED-NO-OPT: Cost of 128 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%p0> ; NO-OPT-LABEL: Checking a loop in 'i8_factor_8' -; NO-OPT: Cost of 16 for VF vscale x 1: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; NO-OPT: Cost of 16 for VF vscale x 1: INTERLEAVE-GROUP with factor 8 at , ir<%p0> -; NO-OPT: Cost of 32 for VF vscale x 2: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; NO-OPT: Cost of 32 for VF vscale x 2: INTERLEAVE-GROUP with factor 8 at , ir<%p0> -; NO-OPT: Cost of 64 for VF vscale x 4: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; NO-OPT: Cost of 64 for VF vscale x 4: INTERLEAVE-GROUP with factor 8 at , ir<%p0> -; NO-OPT: Cost of 128 for VF vscale x 8: INTERLEAVE-GROUP with factor 8 at %l0, ir<%p0> -; NO-OPT: Cost of 128 for VF vscale x 8: INTERLEAVE-GROUP with factor 8 at , ir<%p0> +; NO-OPT: Cost of 16 for VF vscale x 1: INTERLEAVE-GROUP with factor 8, ir<%p0> +; NO-OPT: Cost of 16 for VF vscale x 1: INTERLEAVE-GROUP with factor 8, ir<%p0> +; NO-OPT: Cost of 32 for VF vscale x 2: INTERLEAVE-GROUP with factor 8, ir<%p0> +; NO-OPT: Cost of 32 for VF vscale x 2: INTERLEAVE-GROUP with factor 8, ir<%p0> +; NO-OPT: Cost of 64 for VF vscale x 4: INTERLEAVE-GROUP with factor 8, ir<%p0> +; NO-OPT: Cost of 64 for VF vscale x 4: INTERLEAVE-GROUP with factor 8, ir<%p0> +; NO-OPT: Cost of 128 for VF vscale x 8: INTERLEAVE-GROUP with factor 8, ir<%p0> +; NO-OPT: Cost of 128 for VF vscale x 8: INTERLEAVE-GROUP with factor 8, ir<%p0> for.body: %i = phi i64 [ 0, %entry ], [ %i.next, %for.body ] %p0 = getelementptr inbounds %i8.8, ptr %data, i64 %i, i32 0 diff --git a/llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs-02.ll b/llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs-02.ll index a0c45962021c8..d3d3baacbc9f9 100644 --- a/llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs-02.ll +++ b/llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs-02.ll @@ -11,7 +11,7 @@ ; two vector registers using one vperm each, which gives a cost of 2 + 4 = 6. ; ; CHECK: LV: Checking a loop in 'fun0' -; CHECK: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 4 at %ld0, vp<%next.gep> +; CHECK: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 4, vp<%next.gep> ; CHECK: ir<%ld0> = load from index 0 ; CHECK: ir<%ld1> = load from index 1 ; CHECK: ir<%ld2> = load from index 2 @@ -50,7 +50,7 @@ for.end: ; which gives a cost of 5. ; ; CHECK: LV: Checking a loop in 'fun1' -; CHECK: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 3 at %ld0, vp<%next.gep> +; CHECK: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 3, vp<%next.gep> ; CHECK: ir<%ld0> = load from index 0 define void @fun1(ptr %ptr, ptr %dst) { entry: @@ -76,7 +76,7 @@ for.end: ; produce the vector values, which gives a cost of 6. ; ; CHECK: LV: Checking a loop in 'fun2' -; CHECK: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 32 at %ld0, vp<%next.gep> +; CHECK: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 32, vp<%next.gep> ; CHECK: ir<%ld0> = load from index 0 ; CHECK: ir<%ld1> = load from index 1 ; CHECK: ir<%ld2> = load from index 2 @@ -116,7 +116,7 @@ for.end: ; vector register boundary. ; ; CHECK: LV: Checking a loop in 'fun3' -; CHECK: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 30 at %ld0, vp<%next.gep> +; CHECK: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 30, vp<%next.gep> ; CHECK: ir<%ld0> = load from index 0 ; CHECK: ir<%ld1> = load from index 1 ; CHECK: ir<%ld2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs.ll b/llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs.ll index 714717b243957..18d26a17fcd8f 100644 --- a/llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs.ll +++ b/llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs.ll @@ -27,7 +27,7 @@ for.end: ret void ; CHECK: LV: Creating an interleave group with: %tmp1 = load i32, ptr %tmp0, align 4 -; CHECK: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp1, ir<%tmp0> +; CHECK: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; (vl; vl; vperm) } @@ -59,10 +59,10 @@ for.end: ; CHECK: LV: Inserted: %tmp1 = load i32, ptr %tmp0, align 4 ; CHECK: into the interleave group with %tmp3 = load i32, ptr %tmp2, align 4 -; CHECK: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at %tmp1, ir<%tmp0> +; CHECK: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; (vl; vl; vperm, vpkg) -; CHECK: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%tmp0> +; CHECK: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%tmp0> ; (vmrlf; vmrhf; vst; vst) } diff --git a/llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll b/llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll index 19d67ecc210d0..7514250c82627 100644 --- a/llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll +++ b/llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll @@ -281,13 +281,13 @@ define void @print_interleave_groups(i32 %C, i32 %D) { ; CHECK-NEXT: vp<[[VP5:%[0-9]+]]> = DERIVED-IV ir<0> + vp<[[VP4]]> * ir<4> ; CHECK-NEXT: vp<[[VP6:%[0-9]+]]> = SCALAR-STEPS vp<[[VP5]]>, ir<4>, vp<[[VP0]]> ; CHECK-NEXT: CLONE ir<%gep.AB.0> = getelementptr inbounds ir<@AB>, ir<0>, vp<[[VP6]]> -; CHECK-NEXT: INTERLEAVE-GROUP with factor 4 at %AB.0, ir<%gep.AB.0> +; CHECK-NEXT: INTERLEAVE-GROUP with factor 4, ir<%gep.AB.0> ; CHECK-NEXT: ir<%AB.0> = load from index 0 ; CHECK-NEXT: ir<%AB.1> = load from index 1 ; CHECK-NEXT: ir<%AB.3> = load from index 3 ; CHECK-NEXT: WIDEN ir<%add> = add nsw ir<%AB.0>, ir<%AB.1> ; CHECK-NEXT: CLONE ir<%gep.CD.0> = getelementptr inbounds ir<@CD>, ir<0>, vp<[[VP6]]> -; CHECK-NEXT: INTERLEAVE-GROUP with factor 4 at , ir<%gep.CD.0> +; CHECK-NEXT: INTERLEAVE-GROUP with factor 4, ir<%gep.CD.0> ; CHECK-NEXT: store ir<%add> to index 0 ; CHECK-NEXT: store ir<1> to index 1 ; CHECK-NEXT: store ir<2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll b/llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll index 0f72e20d5fdb5..2bdff5e37f95f 100644 --- a/llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll +++ b/llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll @@ -20,17 +20,17 @@ target triple = "wasm32-unknown-wasi" ; CHECK-LABEL: two_ints_same_op ; CHECK: LV: Scalar loop costs: 12. -; CHECK: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 2 at %10, ir<%9> +; CHECK: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 -; CHECK: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%14> +; CHECK: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK: Cost for VF 2: 27 (Estimated cost per lane: 13. -; CHECK: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2 at %10, ir<%9> +; CHECK: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 -; CHECK: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%14> +; CHECK: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK: Cost for VF 4: 24 (Estimated cost per lane: 6. @@ -65,17 +65,17 @@ define hidden void @two_ints_same_op(ptr noalias nocapture noundef writeonly %0, ; CHECK-LABEL: two_ints_vary_op ; CHECK: LV: Scalar loop costs: 12. -; CHECK: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 2 at %10, ir<%9> +; CHECK: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 -; CHECK: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%14> +; CHECK: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK: Cost for VF 2: 27 (Estimated cost per lane: 13. -; CHECK: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2 at %10, ir<%9> +; CHECK: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 -; CHECK: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%14> +; CHECK: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK: Cost for VF 4: 24 (Estimated cost per lane: 6. @@ -206,34 +206,34 @@ define hidden void @three_shorts(ptr noalias nocapture noundef writeonly %0, ptr ; CHECK-LABEL: four_shorts_same_op ; CHECK: LV: Scalar loop costs: 20. -; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK: Cost for VF 2: 62 (Estimated cost per lane: 31. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK: Cost for VF 4: 62 (Estimated cost per lane: 15. -; CHECK: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -284,34 +284,34 @@ define hidden void @four_shorts_same_op(ptr noalias nocapture noundef writeonly ; CHECK-LABEL: four_shorts_split_op ; CHECK: LV: Scalar loop costs: 20. -; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK: Cost for VF 2: 62 (Estimated cost per lane: 31. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK: Cost for VF 4: 62 (Estimated cost per lane: 15. -; CHECK: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -362,34 +362,34 @@ define hidden void @four_shorts_split_op(ptr noalias nocapture noundef writeonly ; CHECK-LABEL: four_shorts_interleave_op ; CHECK: LV: Scalar loop costs: 20. -; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK: Cost for VF 2: 62 (Estimated cost per lane: 31. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK: Cost for VF 4: 62 (Estimated cost per lane: 15. -; CHECK: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -444,39 +444,39 @@ define hidden void @four_shorts_interleave_op(ptr noalias nocapture noundef writ ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%12> = load ir<%11> ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%13>, ir<%14> ; CHECK: Cost for VF 2: 99 (Estimated cost per lane: 49. -; CHECK: Cost of 42 for VF 4: INTERLEAVE-GROUP with factor 5 at %10, ir<%9> +; CHECK: Cost of 42 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 ; CHECK-NEXT: ir<%34> = load from index 4 -; CHECK: Cost of 42 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%14> +; CHECK: Cost of 42 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK-NEXT: store ir<%37> to index 4 ; CHECK: Cost for VF 4: 135 (Estimated cost per lane: 33. -; CHECK: Cost of 84 for VF 8: INTERLEAVE-GROUP with factor 5 at %10, ir<%9> +; CHECK: Cost of 84 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 ; CHECK-NEXT: ir<%34> = load from index 4 -; CHECK: Cost of 84 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%14> +; CHECK: Cost of 84 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK-NEXT: store ir<%37> to index 4 ; CHECK: Cost for VF 8: 261 (Estimated cost per lane: 32. -; CHECK: Cost of 168 for VF 16: INTERLEAVE-GROUP with factor 5 at %10, ir<%9> +; CHECK: Cost of 168 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 ; CHECK-NEXT: ir<%34> = load from index 4 -; CHECK: Cost of 168 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%14> +; CHECK: Cost of 168 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -539,24 +539,24 @@ define hidden void @five_shorts(ptr noalias nocapture noundef writeonly %0, ptr ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%12> = load ir<%11> ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%13>, ir<%14> ; CHECK: Cost for VF 2: 52 (Estimated cost per lane: 26. -; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2 at %10, ir<%9> +; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 -; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%14> +; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK: Cost for VF 4: 61 (Estimated cost per lane: 15. -; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at %10, ir<%9> +; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 -; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%14> +; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK: Cost for VF 8: 33 (Estimated cost per lane: 4. -; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2 at %10, ir<%9> +; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 -; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%14> +; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK: Cost for VF 16: 30 (Estimated cost per lane: 1. @@ -595,24 +595,24 @@ define hidden void @two_bytes_same_op(ptr noalias nocapture noundef writeonly %0 ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%12> = load ir<%11> ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%13>, ir<%14> ; CHECK: Cost for VF 2: 47 (Estimated cost per lane: 23. -; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2 at %10, ir<%9> +; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 -; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%14> +; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK: Cost for VF 4: 50 (Estimated cost per lane: 12. -; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at %10, ir<%9> +; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 -; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%14> +; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK: Cost for VF 8: 30 (Estimated cost per lane: 3. -; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2 at %10, ir<%9> +; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 -; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%14> +; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK: Cost for VF 16: 27 (Estimated cost per lane: 1. @@ -759,34 +759,34 @@ define hidden void @three_bytes_interleave_op(ptr noalias nocapture noundef writ ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%12> = load ir<%11> ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%13>, ir<%14> ; CHECK: Cost for VF 2: 80 (Estimated cost per lane: 40. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK: Cost for VF 4: 62 (Estimated cost per lane: 15. -; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK: Cost for VF 8: 86 (Estimated cost per lane: 10. -; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -841,34 +841,34 @@ define hidden void @four_bytes_same_op(ptr noalias nocapture noundef writeonly % ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%12> = load ir<%11> ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%13>, ir<%14> ; CHECK: Cost for VF 2: 90 (Estimated cost per lane: 45. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK: Cost for VF 4: 84 (Estimated cost per lane: 21. -; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK: Cost for VF 8: 92 (Estimated cost per lane: 11. -; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -924,34 +924,34 @@ define hidden void @four_bytes_split_op(ptr noalias nocapture noundef writeonly ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%12> = load ir<%11> ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%13>, ir<%14> ; CHECK: Cost for VF 2: 80 (Estimated cost per lane: 40. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK: Cost for VF 4: 62 (Estimated cost per lane: 15. -; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 ; CHECK-NEXT: store ir<%31> to index 3 ; CHECK: Cost for VF 8: 86 (Estimated cost per lane: 10. -; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 ; CHECK-NEXT: ir<%28> = load from index 3 -; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%14> +; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1003,7 +1003,7 @@ define hidden void @four_bytes_interleave_op(ptr noalias nocapture noundef write ; CHECK-LABEL: eight_bytes_same_op ; CHECK: LV: Scalar loop costs: 36. -; CHECK: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8 at %10, ir<%9> +; CHECK: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 @@ -1012,7 +1012,7 @@ define hidden void @four_bytes_interleave_op(ptr noalias nocapture noundef write ; CHECK-NEXT: ir<%40> = load from index 5 ; CHECK-NEXT: ir<%46> = load from index 6 ; CHECK-NEXT: ir<%52> = load from index 7 -; CHECK: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%14> +; CHECK: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1022,7 +1022,7 @@ define hidden void @four_bytes_interleave_op(ptr noalias nocapture noundef write ; CHECK-NEXT: store ir<%49> to index 6 ; CHECK-NEXT: store ir<%55> to index 7 ; CHECK: Cost for VF 2: 154 (Estimated cost per lane: 77. -; CHECK: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8 at %10, ir<%9> +; CHECK: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 @@ -1031,7 +1031,7 @@ define hidden void @four_bytes_interleave_op(ptr noalias nocapture noundef write ; CHECK-NEXT: ir<%40> = load from index 5 ; CHECK-NEXT: ir<%46> = load from index 6 ; CHECK-NEXT: ir<%52> = load from index 7 -; CHECK: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%14> +; CHECK: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1041,7 +1041,7 @@ define hidden void @four_bytes_interleave_op(ptr noalias nocapture noundef write ; CHECK-NEXT: store ir<%49> to index 6 ; CHECK-NEXT: store ir<%55> to index 7 ; CHECK: Cost for VF 4: 298 (Estimated cost per lane: 74. -; CHECK: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8 at %10, ir<%9> +; CHECK: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 @@ -1050,7 +1050,7 @@ define hidden void @four_bytes_interleave_op(ptr noalias nocapture noundef write ; CHECK-NEXT: ir<%40> = load from index 5 ; CHECK-NEXT: ir<%46> = load from index 6 ; CHECK-NEXT: ir<%52> = load from index 7 -; CHECK: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%14> +; CHECK: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1060,7 +1060,7 @@ define hidden void @four_bytes_interleave_op(ptr noalias nocapture noundef write ; CHECK-NEXT: store ir<%49> to index 6 ; CHECK-NEXT: store ir<%55> to index 7 ; CHECK: Cost for VF 8: 432 (Estimated cost per lane: 54. -; CHECK: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8 at %10, ir<%9> +; CHECK: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 @@ -1069,7 +1069,7 @@ define hidden void @four_bytes_interleave_op(ptr noalias nocapture noundef write ; CHECK-NEXT: ir<%40> = load from index 5 ; CHECK-NEXT: ir<%46> = load from index 6 ; CHECK-NEXT: ir<%52> = load from index 7 -; CHECK: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%14> +; CHECK: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1152,7 +1152,7 @@ define hidden void @eight_bytes_same_op(ptr noalias nocapture noundef writeonly ; CHECK-LABEL: eight_bytes_split_op ; CHECK: LV: Scalar loop costs: 36. -; CHECK: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8 at %10, ir<%9> +; CHECK: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 @@ -1161,7 +1161,7 @@ define hidden void @eight_bytes_same_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: ir<%40> = load from index 5 ; CHECK-NEXT: ir<%46> = load from index 6 ; CHECK-NEXT: ir<%52> = load from index 7 -; CHECK: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%14> +; CHECK: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1171,7 +1171,7 @@ define hidden void @eight_bytes_same_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: store ir<%49> to index 6 ; CHECK-NEXT: store ir<%55> to index 7 ; CHECK: Cost for VF 2: 114 (Estimated cost per lane: 57. -; CHECK: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8 at %10, ir<%9> +; CHECK: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 @@ -1180,7 +1180,7 @@ define hidden void @eight_bytes_same_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: ir<%40> = load from index 5 ; CHECK-NEXT: ir<%46> = load from index 6 ; CHECK-NEXT: ir<%52> = load from index 7 -; CHECK: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%14> +; CHECK: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1190,7 +1190,7 @@ define hidden void @eight_bytes_same_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: store ir<%49> to index 6 ; CHECK-NEXT: store ir<%55> to index 7 ; CHECK: Cost for VF 4: 210 (Estimated cost per lane: 52. -; CHECK: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8 at %10, ir<%9> +; CHECK: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 @@ -1199,7 +1199,7 @@ define hidden void @eight_bytes_same_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: ir<%40> = load from index 5 ; CHECK-NEXT: ir<%46> = load from index 6 ; CHECK-NEXT: ir<%52> = load from index 7 -; CHECK: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%14> +; CHECK: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1209,7 +1209,7 @@ define hidden void @eight_bytes_same_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: store ir<%49> to index 6 ; CHECK-NEXT: store ir<%55> to index 7 ; CHECK: Cost for VF 8: 408 (Estimated cost per lane: 51. -; CHECK: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8 at %10, ir<%9> +; CHECK: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 @@ -1218,7 +1218,7 @@ define hidden void @eight_bytes_same_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: ir<%40> = load from index 5 ; CHECK-NEXT: ir<%46> = load from index 6 ; CHECK-NEXT: ir<%52> = load from index 7 -; CHECK: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%14> +; CHECK: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1301,7 +1301,7 @@ define hidden void @eight_bytes_split_op(ptr noalias nocapture noundef writeonly ; CHECK-LABEL: eight_bytes_interleave_op ; CHECK: LV: Scalar loop costs: 36. -; CHECK: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8 at %10, ir<%9> +; CHECK: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 @@ -1310,7 +1310,7 @@ define hidden void @eight_bytes_split_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: ir<%40> = load from index 5 ; CHECK-NEXT: ir<%46> = load from index 6 ; CHECK-NEXT: ir<%52> = load from index 7 -; CHECK: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%14> +; CHECK: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1320,7 +1320,7 @@ define hidden void @eight_bytes_split_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: store ir<%49> to index 6 ; CHECK-NEXT: store ir<%55> to index 7 ; CHECK: Cost for VF 2: 114 (Estimated cost per lane: 57. -; CHECK: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8 at %10, ir<%9> +; CHECK: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 @@ -1329,7 +1329,7 @@ define hidden void @eight_bytes_split_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: ir<%40> = load from index 5 ; CHECK-NEXT: ir<%46> = load from index 6 ; CHECK-NEXT: ir<%52> = load from index 7 -; CHECK: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%14> +; CHECK: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1339,7 +1339,7 @@ define hidden void @eight_bytes_split_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: store ir<%49> to index 6 ; CHECK-NEXT: store ir<%55> to index 7 ; CHECK: Cost for VF 4: 210 (Estimated cost per lane: 52. -; CHECK: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8 at %10, ir<%9> +; CHECK: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 @@ -1348,7 +1348,7 @@ define hidden void @eight_bytes_split_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: ir<%40> = load from index 5 ; CHECK-NEXT: ir<%46> = load from index 6 ; CHECK-NEXT: ir<%52> = load from index 7 -; CHECK: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%14> +; CHECK: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1358,7 +1358,7 @@ define hidden void @eight_bytes_split_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: store ir<%49> to index 6 ; CHECK-NEXT: store ir<%55> to index 7 ; CHECK: Cost for VF 8: 408 (Estimated cost per lane: 51. -; CHECK: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8 at %10, ir<%9> +; CHECK: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%16> = load from index 1 ; CHECK-NEXT: ir<%22> = load from index 2 @@ -1367,7 +1367,7 @@ define hidden void @eight_bytes_split_op(ptr noalias nocapture noundef writeonly ; CHECK-NEXT: ir<%40> = load from index 5 ; CHECK-NEXT: ir<%46> = load from index 6 ; CHECK-NEXT: ir<%52> = load from index 7 -; CHECK: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%14> +; CHECK: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%14> ; CHECK-NEXT: store ir<%13> to index 0 ; CHECK-NEXT: store ir<%19> to index 1 ; CHECK-NEXT: store ir<%25> to index 2 @@ -1452,25 +1452,30 @@ define hidden void @eight_bytes_interleave_op(ptr noalias nocapture noundef writ ; CHECK: LV: Scalar loop costs: 28. ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%10> = load ir<%9> ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%13> = load ir<%12> -; CHECK: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 4 at %17, ir<%16> +; CHECK: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%16> ; CHECK-NEXT: ir<%17> = load from index 0 ; CHECK-NEXT: ir<%27> = load from index 1 ; CHECK-NEXT: ir<%37> = load from index 2 ; CHECK-NEXT: ir<%47> = load from index 3 ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%20> = load ir<%19> -; CHECK: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%16> +; CHECK: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%16> ; CHECK-NEXT: store ir<%18> to index 0 ; CHECK-NEXT: store ir<%28> to index 1 ; CHECK-NEXT: store ir<%38> to index 2 ; CHECK-NEXT: store ir<%48> to index 3 ; CHECK: Cost for VF 2: 88 (Estimated cost per lane: 44. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%20> = load from index 1 ; CHECK-NEXT: ir<%30> = load from index 2 ; CHECK-NEXT: ir<%40> = load from index 3 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %13 -; CHECK: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%16> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%12> +; CHECK: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%16> +; CHECK-NEXT: ir<%17> = load from index 0 +; CHECK-NEXT: ir<%27> = load from index 1 +; CHECK-NEXT: ir<%37> = load from index 2 +; CHECK-NEXT: ir<%47> = load from index 3 +; CHECK: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%16> ; CHECK-NEXT: store ir<%18> to index 0 ; CHECK-NEXT: store ir<%28> to index 1 ; CHECK-NEXT: store ir<%38> to index 2 @@ -1540,19 +1545,19 @@ define hidden void @four_bytes_into_four_ints_same_op(ptr noalias nocapture noun ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%10> = load ir<%9> ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%13> = load ir<%12> ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%18> = load ir<%17> -; CHECK: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%16> +; CHECK: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%16> ; CHECK-NEXT: store ir<%15> to index 0 ; CHECK-NEXT: store ir<%23> to index 1 ; CHECK-NEXT: store ir<%31> to index 2 ; CHECK-NEXT: store ir<%38> to index 3 ; CHECK: Cost for VF 2: 71 (Estimated cost per lane: 35. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %10, ir<%9> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%9> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%18> = load from index 1 ; CHECK-NEXT: ir<%26> = load from index 2 ; CHECK-NEXT: ir<%34> = load from index 3 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %13 -; CHECK: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%16> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%12> +; CHECK: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%16> ; CHECK-NEXT: store ir<%15> to index 0 ; CHECK-NEXT: store ir<%23> to index 1 ; CHECK-NEXT: store ir<%31> to index 2 @@ -1610,24 +1615,24 @@ define hidden void @four_bytes_into_four_ints_vary_op(ptr noalias nocapture noun ; CHECK-LABEL: scale_uv_row_down2 ; CHECK: LV: Scalar loop costs: 10. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %11, ir<%10> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%10> ; CHECK-NEXT: ir<%11> = load from index 0 ; CHECK-NEXT: ir<%13> = load from index 1 -; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2 at , vp<%next.gep>.1 +; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2, vp<%next.gep>.1 ; CHECK-NEXT: store ir<%11> to index 0 ; CHECK-NEXT: store ir<%13> to index 1 ; CHECK: Cost for VF 4: 35 (Estimated cost per lane: 8. -; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4 at %11, ir<%10> +; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%10> ; CHECK-NEXT: ir<%11> = load from index 0 ; CHECK-NEXT: ir<%13> = load from index 1 -; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at , vp<%next.gep>.1 +; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, vp<%next.gep>.1 ; CHECK-NEXT: store ir<%11> to index 0 ; CHECK-NEXT: store ir<%13> to index 1 ; CHECK: Cost for VF 8: 39 (Estimated cost per lane: 4. -; CHECK: Cost of 68 for VF 16: INTERLEAVE-GROUP with factor 4 at %11, ir<%10> +; CHECK: Cost of 68 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%10> ; CHECK-NEXT: ir<%11> = load from index 0 ; CHECK-NEXT: ir<%13> = load from index 1 -; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2 at , vp<%next.gep>.1 +; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2, vp<%next.gep>.1 ; CHECK-NEXT: store ir<%11> to index 0 ; CHECK-NEXT: store ir<%13> to index 1 ; CHECK: Cost for VF 16: 80 (Estimated cost per lane: 5. @@ -1664,33 +1669,33 @@ define hidden void @scale_uv_row_down2(ptr nocapture noundef readonly %0, i32 no ; CHECK: Cost of 6 for VF 2: REPLICATE ir<%20> = load ir<%19> (!alias.scope {{.*}}) ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%48>, ir<%49> ; CHECK: Cost for VF 2: 78 (Estimated cost per lane: 39. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %14, vp<%next.gep> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, vp<%next.gep> ; CHECK-NEXT: ir<%14> = load from index 0 ; CHECK-NEXT: ir<%32> = load from index 1 ; CHECK-NEXT: ir<%17> = load from index 2 ; CHECK-NEXT: ir<%35> = load from index 3 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %20 -; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2 at , vp<%next.gep>.1 +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%19> +; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2, vp<%next.gep>.1 ; CHECK-NEXT: store ir<%30> to index 0 ; CHECK-NEXT: store ir<%48> to index 1 ; CHECK: Cost for VF 4: 73 (Estimated cost per lane: 18. -; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4 at %14, vp<%next.gep> +; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4, vp<%next.gep> ; CHECK-NEXT: ir<%14> = load from index 0 ; CHECK-NEXT: ir<%32> = load from index 1 ; CHECK-NEXT: ir<%17> = load from index 2 ; CHECK-NEXT: ir<%35> = load from index 3 -; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4 at %20 -; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at , vp<%next.gep>.1 +; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%19> +; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, vp<%next.gep>.1 ; CHECK-NEXT: store ir<%30> to index 0 ; CHECK-NEXT: store ir<%48> to index 1 ; CHECK: Cost for VF 8: 89 (Estimated cost per lane: 11. -; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4 at %14, vp<%next.gep> +; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4, vp<%next.gep> ; CHECK-NEXT: ir<%14> = load from index 0 ; CHECK-NEXT: ir<%32> = load from index 1 ; CHECK-NEXT: ir<%17> = load from index 2 ; CHECK-NEXT: ir<%35> = load from index 3 -; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4 at %20 -; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2 at , vp<%next.gep>.1 +; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%19> +; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2, vp<%next.gep>.1 ; CHECK-NEXT: store ir<%30> to index 0 ; CHECK-NEXT: store ir<%48> to index 1 ; CHECK: Cost for VF 16: 322 (Estimated cost per lane: 20. @@ -1764,30 +1769,30 @@ define hidden void @scale_uv_row_down2_box(ptr nocapture noundef readonly %0, i3 ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%18>, vp<%next.gep>.1 (!alias.scope {{.*}}, !noalias {{.*}}) ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%28>, ir<%29> ; CHECK: Cost for VF 2: 50 (Estimated cost per lane: 25. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %10, vp<%next.gep> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, vp<%next.gep> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%20> = load from index 1 ; CHECK-NEXT: ir<%13> = load from index 2 ; CHECK-NEXT: ir<%23> = load from index 3 -; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2 at , vp<%next.gep>.1 +; CHECK: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 2, vp<%next.gep>.1 ; CHECK-NEXT: store ir<%18> to index 0 ; CHECK-NEXT: store ir<%28> to index 1 ; CHECK: Cost for VF 4: 47 (Estimated cost per lane: 11. -; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4 at %10, vp<%next.gep> +; CHECK: Cost of 26 for VF 8: INTERLEAVE-GROUP with factor 4, vp<%next.gep> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%20> = load from index 1 ; CHECK-NEXT: ir<%13> = load from index 2 ; CHECK-NEXT: ir<%23> = load from index 3 -; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at , vp<%next.gep>.1 +; CHECK: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, vp<%next.gep>.1 ; CHECK-NEXT: store ir<%18> to index 0 ; CHECK-NEXT: store ir<%28> to index 1 ; CHECK: Cost for VF 8: 55 (Estimated cost per lane: 6. -; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4 at %10, vp<%next.gep> +; CHECK: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4, vp<%next.gep> ; CHECK-NEXT: ir<%10> = load from index 0 ; CHECK-NEXT: ir<%20> = load from index 1 ; CHECK-NEXT: ir<%13> = load from index 2 ; CHECK-NEXT: ir<%23> = load from index 3 -; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2 at , vp<%next.gep>.1 +; CHECK: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2, vp<%next.gep>.1 ; CHECK-NEXT: store ir<%18> to index 0 ; CHECK-NEXT: store ir<%28> to index 1 ; CHECK: Cost for VF 16: 174 (Estimated cost per lane: 10. @@ -2683,13 +2688,13 @@ for.body: ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%conv9>, ir<%y11> ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%conv16>, ir<%z18> ; CHECK: Cost for VF 2: 88 (Estimated cost per lane: 44. -; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at %0, ir<%arrayidx> +; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx> ; CHECK-NEXT: ir<%0> = load from index 0 ; CHECK-NEXT: ir<%2> = load from index 1 ; CHECK-NEXT: ir<%4> = load from index 2 ; CHECK-NEXT: ir<%6> = load from index 3 -; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at %1 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx3> +; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx1> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx3> ; CHECK-NEXT: store ir<%conv> to index 0 ; CHECK-NEXT: store ir<%conv9> to index 1 ; CHECK-NEXT: store ir<%conv16> to index 2 @@ -2759,12 +2764,12 @@ for.body: ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%conv8>, ir<%y10> ; CHECK: Cost of 6 for VF 2: REPLICATE store ir<%conv14>, ir<%z16> ; CHECK: Cost for VF 2: 88 (Estimated cost per lane: 44. -; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at %0, ir<%arrayidx> +; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx> ; CHECK-NEXT: ir<%0> = load from index 0 ; CHECK-NEXT: ir<%2> = load from index 1 ; CHECK-NEXT: ir<%4> = load from index 2 ; CHECK-NEXT: ir<%6> = load from index 3 -; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at %1 +; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx1> ; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 ; CHECK-NEXT: store ir<%conv> to index 0 ; CHECK-NEXT: store ir<%conv8> to index 1 @@ -2821,25 +2826,25 @@ for.body: ; CHECK-LABEL: four_shorts_four_floats_same_op ; CHECK: LV: Scalar loop costs: 32. -; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at %0, ir<%arrayidx> +; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%arrayidx> ; CHECK-NEXT: ir<%0> = load from index 0 ; CHECK-NEXT: ir<%2> = load from index 1 ; CHECK-NEXT: ir<%4> = load from index 2 ; CHECK-NEXT: ir<%6> = load from index 3 -; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at %1 -; CHECK: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx4> +; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%arrayidx1> +; CHECK: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%arrayidx4> ; CHECK-NEXT: store ir<%mul> to index 0 ; CHECK-NEXT: store ir<%mul11> to index 1 ; CHECK-NEXT: store ir<%mul19> to index 2 ; CHECK-NEXT: store ir<%mul27> to index 3 ; CHECK: Cost for VF 2: 78 (Estimated cost per lane: 39. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %0, ir<%arrayidx> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx> ; CHECK-NEXT: ir<%0> = load from index 0 ; CHECK-NEXT: ir<%2> = load from index 1 ; CHECK-NEXT: ir<%4> = load from index 2 ; CHECK-NEXT: ir<%6> = load from index 3 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %1 -; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx4> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx1> +; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx4> ; CHECK-NEXT: store ir<%mul> to index 0 ; CHECK-NEXT: store ir<%mul11> to index 1 ; CHECK-NEXT: store ir<%mul19> to index 2 @@ -2899,25 +2904,25 @@ for.body: ; CHECK-LABEL: four_shorts_four_floats_vary_op ; CHECK: LV: Scalar loop costs: 32. -; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at %0, ir<%arrayidx> +; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%arrayidx> ; CHECK-NEXT: ir<%0> = load from index 0 ; CHECK-NEXT: ir<%2> = load from index 1 ; CHECK-NEXT: ir<%4> = load from index 2 ; CHECK-NEXT: ir<%6> = load from index 3 -; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at %1 -; CHECK: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx4> +; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%arrayidx1> +; CHECK: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%arrayidx4> ; CHECK-NEXT: store ir<%mul> to index 0 ; CHECK-NEXT: store ir<%add> to index 1 ; CHECK-NEXT: store ir<%div> to index 2 ; CHECK-NEXT: store ir<%sub> to index 3 ; CHECK: Cost for VF 2: 78 (Estimated cost per lane: 39. -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %0, ir<%arrayidx> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx> ; CHECK-NEXT: ir<%0> = load from index 0 ; CHECK-NEXT: ir<%2> = load from index 1 ; CHECK-NEXT: ir<%4> = load from index 2 ; CHECK-NEXT: ir<%6> = load from index 3 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %1 -; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx4> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx1> +; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx4> ; CHECK-NEXT: store ir<%mul> to index 0 ; CHECK-NEXT: store ir<%add> to index 1 ; CHECK-NEXT: store ir<%div> to index 2 @@ -2987,19 +2992,19 @@ for.body: ; CHECK-NEXT: ir<%3> = load from index 1 ; CHECK-NEXT: ir<%5> = load from index 2 ; CHECK-NEXT: ir<%7> = load from index 3 -; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx3> +; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%arrayidx3> ; CHECK-NEXT: store ir<%conv> to index 0 ; CHECK-NEXT: store ir<%conv9> to index 1 ; CHECK-NEXT: store ir<%conv16> to index 2 ; CHECK-NEXT: store ir<%conv23> to index 3 ; CHECK: Cost for VF 2: 74 (Estimated cost per lane: 37. -; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at %0, ir<%arrayidx> +; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx> ; CHECK-NEXT: ir<%0> = load from index 0 ; CHECK-NEXT: ir<%2> = load from index 1 ; CHECK-NEXT: ir<%4> = load from index 2 ; CHECK-NEXT: ir<%6> = load from index 3 -; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at %1 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx3> +; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx1> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx3> ; CHECK-NEXT: store ir<%conv> to index 0 ; CHECK-NEXT: store ir<%conv9> to index 1 ; CHECK-NEXT: store ir<%conv16> to index 2 @@ -3065,19 +3070,19 @@ for.body: ; CHECK-NEXT: ir<%3> = load from index 1 ; CHECK-NEXT: ir<%5> = load from index 2 ; CHECK-NEXT: ir<%7> = load from index 3 -; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx3> +; CHECK: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%arrayidx3> ; CHECK-NEXT: store ir<%conv> to index 0 ; CHECK-NEXT: store ir<%conv8> to index 1 ; CHECK-NEXT: store ir<%conv14> to index 2 ; CHECK-NEXT: store ir<%conv20> to index 3 ; CHECK: Cost for VF 2: 74 (Estimated cost per lane: 37. -; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at %0, ir<%arrayidx> +; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx> ; CHECK-NEXT: ir<%0> = load from index 0 ; CHECK-NEXT: ir<%2> = load from index 1 ; CHECK-NEXT: ir<%4> = load from index 2 ; CHECK-NEXT: ir<%6> = load from index 3 -; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at %1 -; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx3> +; CHECK: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx1> +; CHECK: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx3> ; CHECK-NEXT: store ir<%conv> to index 0 ; CHECK-NEXT: store ir<%conv8> to index 1 ; CHECK-NEXT: store ir<%conv14> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/handle-iptr-with-data-layout-to-not-assert.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/handle-iptr-with-data-layout-to-not-assert.ll index 360dd8cb9b232..f6d2ff372d6bf 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/handle-iptr-with-data-layout-to-not-assert.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/handle-iptr-with-data-layout-to-not-assert.ll @@ -6,9 +6,9 @@ target triple = "x86_64-unknown-linux-gnu" define ptr @foo(ptr %__first, ptr %__last) #0 { ; CHECK-LABEL: 'foo' ; CHECK: LV: Found an estimated cost of 1 for VF 1 For instruction: store ptr %0, ptr %__last, align 8 -; CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 2 at %0, vp<%next.gep> -; CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 2 at %0, vp<%next.gep> -; CHECK: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at %0, vp<%next.gep> +; CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 2, vp<%next.gep> +; CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 2, vp<%next.gep> +; CHECK: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, vp<%next.gep> ; entry: %cmp.not1 = icmp eq ptr %__first, %__last diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll index cda29b96ce120..a6f7e96bdd67f 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll @@ -14,10 +14,10 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' ; SSE2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; SSE2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; SSE2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; SSE2: ir<%v0> = load from index 0 ; SSE2: ir<%v1> = load from index 1 -; SSE2: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; SSE2: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; SSE2: ir<%v0> = load from index 0 ; SSE2: ir<%v1> = load from index 1 ; SSE2: Cost of 14 for VF 8: REPLICATE ir<%v0> = load ir<%in0> @@ -25,10 +25,10 @@ define void @test() { ; ; AVX1-LABEL: 'test' ; AVX1: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; AVX1: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX1: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX1: ir<%v0> = load from index 0 ; AVX1: ir<%v1> = load from index 1 -; AVX1: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX1: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX1: ir<%v0> = load from index 0 ; AVX1: ir<%v1> = load from index 1 ; AVX1: Cost of 15 for VF 8: REPLICATE ir<%v0> = load ir<%in0> @@ -37,40 +37,40 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 24 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 24 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 34 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 34 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 148 for VF 64: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 148 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll index 203d90d053788..6ae2d29de2793 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll @@ -29,46 +29,46 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; AVX2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 10 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 10 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 20 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 20 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 44 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 44 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; AVX512: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 9.5 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 9.5 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 18 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 18 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 81 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 81 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll index 0b6ed5a1d08c2..26455e027af64 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll @@ -29,27 +29,27 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; AVX2: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 10 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 10 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 20 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 20 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 40 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 40 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 84 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 84 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -57,27 +57,27 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; AVX512: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 -; AVX512: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 -; AVX512: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 -; AVX512: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 -; AVX512: Cost of 148 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 148 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll index 165997367a59a..cd9a59dbec852 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll @@ -37,25 +37,25 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; AVX512: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 -; AVX512: Cost of 14.5 for VF 4: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512: Cost of 14.5 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 -; AVX512: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 -; AVX512: Cost of 55 for VF 16: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512: Cost of 55 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll index 30ec27d887340..ad8a602c02613 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll @@ -29,28 +29,28 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 37 for VF 8: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 37 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 76 for VF 16: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 76 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -61,28 +61,28 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; AVX512: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 -; AVX512: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 -; AVX512: Cost of 33 for VF 8: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512: Cost of 33 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 -; AVX512: Cost of 81 for VF 16: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512: Cost of 81 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll index 0dd8052657a28..5ae2ff2dd178e 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll @@ -37,7 +37,7 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; AVX512: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 @@ -45,7 +45,7 @@ define void @test() { ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 ; AVX512: ir<%v6> = load from index 6 -; AVX512: Cost of 19.5 for VF 4: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512: Cost of 19.5 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 @@ -53,7 +53,7 @@ define void @test() { ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 ; AVX512: ir<%v6> = load from index 6 -; AVX512: Cost of 56.5 for VF 8: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512: Cost of 56.5 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 @@ -61,7 +61,7 @@ define void @test() { ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 ; AVX512: ir<%v6> = load from index 6 -; AVX512: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll index 128cb4e1dd4c6..3f2d0acb07982 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll @@ -31,7 +31,7 @@ define void @test() { ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 ; AVX2: Cost of 3 for VF 2: REPLICATE ir<%v0> = load ir<%in0> ; AVX2: Cost of 7 for VF 4: REPLICATE ir<%v0> = load ir<%in0> -; AVX2: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX2: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -45,7 +45,7 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; AVX512: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 @@ -54,7 +54,7 @@ define void @test() { ; AVX512: ir<%v5> = load from index 5 ; AVX512: ir<%v6> = load from index 6 ; AVX512: ir<%v7> = load from index 7 -; AVX512: Cost of 22 for VF 4: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512: Cost of 22 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 @@ -63,7 +63,7 @@ define void @test() { ; AVX512: ir<%v5> = load from index 5 ; AVX512: ir<%v6> = load from index 6 ; AVX512: ir<%v7> = load from index 7 -; AVX512: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 @@ -72,7 +72,7 @@ define void @test() { ; AVX512: ir<%v5> = load from index 5 ; AVX512: ir<%v6> = load from index 6 ; AVX512: ir<%v7> = load from index 7 -; AVX512: Cost of 148 for VF 16: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512: Cost of 148 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll index 857d920498d9e..434789dc2157e 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll @@ -14,7 +14,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' ; SSE2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; SSE2: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; SSE2: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; SSE2: ir<%v0> = load from index 0 ; SSE2: ir<%v1> = load from index 1 ; SSE2: Cost of 6 for VF 4: REPLICATE ir<%v0> = load ir<%in0> @@ -23,7 +23,7 @@ define void @test() { ; ; AVX1-LABEL: 'test' ; AVX1: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; AVX1: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX1: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX1: ir<%v0> = load from index 0 ; AVX1: ir<%v1> = load from index 1 ; AVX1: Cost of 7 for VF 4: REPLICATE ir<%v0> = load ir<%in0> @@ -33,34 +33,34 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 24 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 24 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 48 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 48 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll index 81649538a04a3..da5095193ba22 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll @@ -29,19 +29,19 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 16 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 16 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 32 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 32 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -49,15 +49,15 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; AVX512: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 9.5 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 9.5 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll index 834a8953d3bc9..2e7ae075f46f8 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll @@ -29,22 +29,22 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 56 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 56 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -53,17 +53,17 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; AVX512: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 -; AVX512: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 -; AVX512: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll index 8c82346f5b38e..07f860571331b 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll @@ -37,13 +37,13 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; AVX512: Cost of 14.5 for VF 2: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512: Cost of 14.5 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 -; AVX512: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll index 0260534896090..33892de8fd798 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll @@ -29,21 +29,21 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; AVX2: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -55,14 +55,14 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; AVX512: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 -; AVX512: Cost of 33 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512: Cost of 33 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll index 28b20cf673d92..0529174acd377 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll @@ -37,7 +37,7 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; AVX512: Cost of 19.5 for VF 2: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512: Cost of 19.5 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll index 0150db7c679bc..10239f5264792 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll @@ -37,7 +37,7 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load double, ptr %in0, align 8 -; AVX512: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-half.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-half.ll index 53d770aa7c8af..748cb00270ba4 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-half.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-half.ll @@ -9,7 +9,7 @@ target triple = "i386-unknown-linux-gnu" define void @stride8(half %k, i32 %width_) { ; CHECK-LABEL: 'stride8' -; CHECK: Cost of 148 for VF 32: INTERLEAVE-GROUP with factor 8 at %0, ir<%arrayidx> +; CHECK: Cost of 148 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%arrayidx> ; entry: @@ -98,7 +98,7 @@ for.body: define void @stride3(half %k, i32 %width_) { ; CHECK-LABEL: 'stride3' -; CHECK: Cost of 18 for VF 32: INTERLEAVE-GROUP with factor 3 at %0, ir<%arrayidx> +; CHECK: Cost of 18 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%arrayidx> ; entry: diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll index e107164f7276f..4043e7f3294e4 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll @@ -15,10 +15,10 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' ; SSE2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; SSE2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; SSE2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; SSE2: ir<%v0> = load from index 0 ; SSE2: ir<%v1> = load from index 1 -; SSE2: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; SSE2: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; SSE2: ir<%v0> = load from index 0 ; SSE2: ir<%v1> = load from index 1 ; SSE2: Cost of 16 for VF 8: REPLICATE ir<%v0> = load ir<%in0> @@ -26,10 +26,10 @@ define void @test() { ; ; AVX1-LABEL: 'test' ; AVX1: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX1: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX1: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX1: ir<%v0> = load from index 0 ; AVX1: ir<%v1> = load from index 1 -; AVX1: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX1: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX1: ir<%v0> = load from index 0 ; AVX1: ir<%v1> = load from index 1 ; AVX1: Cost of 16 for VF 8: REPLICATE ir<%v0> = load ir<%in0> @@ -38,61 +38,61 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 11 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 11 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 22 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 22 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512DQ: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512DQ: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 -; AVX512DQ: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512DQ: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 -; AVX512DQ: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512DQ: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 -; AVX512DQ: Cost of 10 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512DQ: Cost of 10 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 -; AVX512DQ: Cost of 20 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512DQ: Cost of 20 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 -; AVX512DQ: Cost of 284 for VF 64: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512DQ: Cost of 284 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512BW: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512BW: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 -; AVX512BW: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512BW: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 -; AVX512BW: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512BW: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 -; AVX512BW: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512BW: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 -; AVX512BW: Cost of 7 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512BW: Cost of 7 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 -; AVX512BW: Cost of 34 for VF 64: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512BW: Cost of 34 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll index 97f7874b05c01..3c123b0dd8624 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll @@ -30,77 +30,77 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 10 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 10 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 31 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 31 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 62 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 62 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512DQ: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512DQ: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 -; AVX512DQ: Cost of 10 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512DQ: Cost of 10 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 -; AVX512DQ: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512DQ: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 -; AVX512DQ: Cost of 30 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512DQ: Cost of 30 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 -; AVX512DQ: Cost of 59 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512DQ: Cost of 59 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 -; AVX512DQ: Cost of 426 for VF 64: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512DQ: Cost of 426 for VF 64: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512BW: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512BW: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 -; AVX512BW: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512BW: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 -; AVX512BW: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512BW: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 -; AVX512BW: Cost of 9.5 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512BW: Cost of 9.5 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 -; AVX512BW: Cost of 18 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512BW: Cost of 18 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 -; AVX512BW: Cost of 81 for VF 64: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512BW: Cost of 81 for VF 64: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll index 2af8a1ff785c6..57e43282e972a 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll @@ -30,27 +30,27 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX2: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 35 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 35 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 79 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 79 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 158 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 158 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -58,32 +58,32 @@ define void @test() { ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512DQ: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512DQ: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 -; AVX512DQ: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512DQ: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 -; AVX512DQ: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512DQ: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 -; AVX512DQ: Cost of 77 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512DQ: Cost of 77 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 -; AVX512DQ: Cost of 154 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512DQ: Cost of 154 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 -; AVX512DQ: Cost of 568 for VF 64: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512DQ: Cost of 568 for VF 64: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -91,32 +91,32 @@ define void @test() { ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512BW: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512BW: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 -; AVX512BW: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512BW: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 -; AVX512BW: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512BW: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 -; AVX512BW: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512BW: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 -; AVX512BW: Cost of 34 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512BW: Cost of 34 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 -; AVX512BW: Cost of 148 for VF 64: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512BW: Cost of 148 for VF 64: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-5.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-5.ll index da12b39bb9fb1..084081357959a 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-5.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-5.ll @@ -38,37 +38,37 @@ define void @test() { ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512DQ: Cost of 25 for VF 2: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512DQ: Cost of 25 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 -; AVX512DQ: Cost of 45 for VF 4: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512DQ: Cost of 45 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 -; AVX512DQ: Cost of 85 for VF 8: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512DQ: Cost of 85 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 -; AVX512DQ: Cost of 175 for VF 16: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512DQ: Cost of 175 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 -; AVX512DQ: Cost of 355 for VF 32: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512DQ: Cost of 355 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 -; AVX512DQ: Cost of 710 for VF 64: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512DQ: Cost of 710 for VF 64: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -77,37 +77,37 @@ define void @test() { ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512BW: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512BW: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 -; AVX512BW: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512BW: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 -; AVX512BW: Cost of 14.5 for VF 8: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512BW: Cost of 14.5 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 -; AVX512BW: Cost of 28 for VF 16: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512BW: Cost of 28 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 -; AVX512BW: Cost of 55 for VF 32: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512BW: Cost of 55 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 -; AVX512BW: Cost of 235 for VF 64: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512BW: Cost of 235 for VF 64: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll index bada7e1f26570..2c745a7477351 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll @@ -30,35 +30,35 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX2: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 42 for VF 8: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 42 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 224 for VF 32: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 224 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -68,42 +68,42 @@ define void @test() { ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512DQ: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512DQ: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 -; AVX512DQ: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512DQ: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 -; AVX512DQ: Cost of 41 for VF 8: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512DQ: Cost of 41 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 -; AVX512DQ: Cost of 109 for VF 16: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512DQ: Cost of 109 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 -; AVX512DQ: Cost of 218 for VF 32: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512DQ: Cost of 218 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 -; AVX512DQ: Cost of 852 for VF 64: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512DQ: Cost of 852 for VF 64: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -113,42 +113,42 @@ define void @test() { ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512BW: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512BW: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 -; AVX512BW: Cost of 13 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512BW: Cost of 13 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 -; AVX512BW: Cost of 17 for VF 8: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512BW: Cost of 17 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 -; AVX512BW: Cost of 33 for VF 16: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512BW: Cost of 33 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 -; AVX512BW: Cost of 81 for VF 32: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512BW: Cost of 81 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 -; AVX512BW: Cost of 342 for VF 64: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512BW: Cost of 342 for VF 64: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll index 44b62529a7f95..1ae42766a6add 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll @@ -38,7 +38,7 @@ define void @test() { ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512DQ: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512DQ: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -46,7 +46,7 @@ define void @test() { ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 -; AVX512DQ: Cost of 64 for VF 4: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512DQ: Cost of 64 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -54,7 +54,7 @@ define void @test() { ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 -; AVX512DQ: Cost of 121 for VF 8: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512DQ: Cost of 121 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -62,7 +62,7 @@ define void @test() { ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 -; AVX512DQ: Cost of 245 for VF 16: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512DQ: Cost of 245 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -70,7 +70,7 @@ define void @test() { ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 -; AVX512DQ: Cost of 497 for VF 32: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512DQ: Cost of 497 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -78,7 +78,7 @@ define void @test() { ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 -; AVX512DQ: Cost of 994 for VF 64: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512DQ: Cost of 994 for VF 64: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -89,7 +89,7 @@ define void @test() { ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512BW: Cost of 15 for VF 2: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512BW: Cost of 15 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -97,7 +97,7 @@ define void @test() { ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 -; AVX512BW: Cost of 15 for VF 4: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512BW: Cost of 15 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -105,7 +105,7 @@ define void @test() { ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 -; AVX512BW: Cost of 19.5 for VF 8: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512BW: Cost of 19.5 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -113,7 +113,7 @@ define void @test() { ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 -; AVX512BW: Cost of 56.5 for VF 16: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512BW: Cost of 56.5 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -121,7 +121,7 @@ define void @test() { ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 -; AVX512BW: Cost of 112 for VF 32: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512BW: Cost of 112 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -129,7 +129,7 @@ define void @test() { ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 -; AVX512BW: Cost of 469 for VF 64: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512BW: Cost of 469 for VF 64: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.ll index 5f946718cad8b..2181667cf5626 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.ll @@ -38,7 +38,7 @@ define void @test() { ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512DQ: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512DQ: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -47,7 +47,7 @@ define void @test() { ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 ; AVX512DQ: ir<%v7> = load from index 7 -; AVX512DQ: Cost of 68 for VF 4: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512DQ: Cost of 68 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -56,7 +56,7 @@ define void @test() { ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 ; AVX512DQ: ir<%v7> = load from index 7 -; AVX512DQ: Cost of 136 for VF 8: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512DQ: Cost of 136 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -65,7 +65,7 @@ define void @test() { ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 ; AVX512DQ: ir<%v7> = load from index 7 -; AVX512DQ: Cost of 280 for VF 16: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512DQ: Cost of 280 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -74,7 +74,7 @@ define void @test() { ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 ; AVX512DQ: ir<%v7> = load from index 7 -; AVX512DQ: Cost of 568 for VF 32: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512DQ: Cost of 568 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -83,7 +83,7 @@ define void @test() { ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 ; AVX512DQ: ir<%v7> = load from index 7 -; AVX512DQ: Cost of 1136 for VF 64: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512DQ: Cost of 1136 for VF 64: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -95,7 +95,7 @@ define void @test() { ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i16, ptr %in0, align 2 -; AVX512BW: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512BW: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -104,7 +104,7 @@ define void @test() { ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 ; AVX512BW: ir<%v7> = load from index 7 -; AVX512BW: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512BW: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -113,7 +113,7 @@ define void @test() { ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 ; AVX512BW: ir<%v7> = load from index 7 -; AVX512BW: Cost of 22 for VF 8: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512BW: Cost of 22 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -122,7 +122,7 @@ define void @test() { ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 ; AVX512BW: ir<%v7> = load from index 7 -; AVX512BW: Cost of 64 for VF 16: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512BW: Cost of 64 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -131,7 +131,7 @@ define void @test() { ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 ; AVX512BW: ir<%v7> = load from index 7 -; AVX512BW: Cost of 148 for VF 32: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512BW: Cost of 148 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -140,7 +140,7 @@ define void @test() { ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 ; AVX512BW: ir<%v7> = load from index 7 -; AVX512BW: Cost of 616 for VF 64: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512BW: Cost of 616 for VF 64: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll index 9402ddb464ffc..7ac23631ad343 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll @@ -14,18 +14,18 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' ; SSE2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; SSE2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; SSE2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; SSE2: ir<%v0> = load from index 0 -; SSE2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; SSE2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; SSE2: ir<%v0> = load from index 0 ; SSE2: Cost of 22 for VF 8: REPLICATE ir<%v0> = load ir<%in0> ; SSE2: Cost of 44 for VF 16: REPLICATE ir<%v0> = load ir<%in0> ; ; AVX1-LABEL: 'test' ; AVX1: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX1: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX1: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX1: ir<%v0> = load from index 0 -; AVX1: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX1: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX1: ir<%v0> = load from index 0 ; AVX1: Cost of 17 for VF 8: REPLICATE ir<%v0> = load ir<%in0> ; AVX1: Cost of 34 for VF 16: REPLICATE ir<%v0> = load ir<%in0> @@ -33,30 +33,30 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 -; AVX2: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 -; AVX2: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 -; AVX2: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 -; AVX2: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 -; AVX512: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 -; AVX512: Cost of 1 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 1 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 -; AVX512: Cost of 3 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 -; AVX512: Cost of 19 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 19 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 -; AVX512: Cost of 78 for VF 64: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 78 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; entry: diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll index 940c3f13dd09c..5bbd77d88479e 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll @@ -14,10 +14,10 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' ; SSE2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; SSE2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; SSE2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; SSE2: ir<%v0> = load from index 0 ; SSE2: ir<%v1> = load from index 1 -; SSE2: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; SSE2: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; SSE2: ir<%v0> = load from index 0 ; SSE2: ir<%v1> = load from index 1 ; SSE2: Cost of 22 for VF 8: REPLICATE ir<%v0> = load ir<%in0> @@ -25,10 +25,10 @@ define void @test() { ; ; AVX1-LABEL: 'test' ; AVX1: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX1: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX1: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX1: ir<%v0> = load from index 0 ; AVX1: ir<%v1> = load from index 1 -; AVX1: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX1: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX1: ir<%v0> = load from index 0 ; AVX1: ir<%v1> = load from index 1 ; AVX1: Cost of 17 for VF 8: REPLICATE ir<%v0> = load ir<%in0> @@ -37,40 +37,40 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 24 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 24 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 34 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 34 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 148 for VF 64: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 148 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll index 495d3eb4c005e..cae29abd23947 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll @@ -29,37 +29,37 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX2: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 34 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 34 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 56 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 56 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll index 55a24b90b9fea..cc1adf1698803 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll @@ -30,26 +30,26 @@ define void @test() { ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 ; AVX2: Cost of 4 for VF 2: REPLICATE ir<%v0> = load ir<%in0> -; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 -; AVX2: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 -; AVX2: Cost of 11 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 11 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 -; AVX2: Cost of 23 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 23 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 -; AVX512: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 -; AVX512: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 -; AVX512: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 -; AVX512: Cost of 31 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 31 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; entry: diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll index 543d3dea632cf..bb0ce149aed3f 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll @@ -29,46 +29,46 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 10 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 10 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 20 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 20 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 44 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 44 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 9.5 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 9.5 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 18 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 18 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 81 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 81 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll index 4b78028c35a3f..e89f6ae781e69 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll @@ -29,46 +29,46 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX2: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 16 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 16 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 32 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 32 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 67 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 67 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 9.5 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 9.5 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 26.5 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 26.5 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 113 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 113 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll index 6ee920d2ab216..bdc6334a6e84a 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll @@ -29,37 +29,37 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 24 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 24 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 50 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 50 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 19 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 19 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 78 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 78 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll index c1bb77c8b5b3e..b8f2baeb7ccd1 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll @@ -29,26 +29,26 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 -; AVX2: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 -; AVX2: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 -; AVX2: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 16 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 -; AVX2: Cost of 33 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 33 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 -; AVX512: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 -; AVX512: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 -; AVX512: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: Cost of 40 for VF 32: WIDEN ir<%v0> = load ir<%in0> ; AVX512: Cost of 80 for VF 64: WIDEN ir<%v0> = load ir<%in0> diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll index 955257e12259f..f4ed289cc5c41 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll @@ -29,27 +29,27 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX2: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 10 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 10 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 20 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 20 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 40 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 40 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 84 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 84 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -57,27 +57,27 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 -; AVX512: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 -; AVX512: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 -; AVX512: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 -; AVX512: Cost of 148 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 148 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll index 0038be1bac3c0..9668f9b51417c 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll @@ -37,25 +37,25 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 -; AVX512: Cost of 14.5 for VF 4: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512: Cost of 14.5 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 -; AVX512: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 -; AVX512: Cost of 55 for VF 16: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512: Cost of 55 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll index dc46359b561ba..7a1cb1913417e 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll @@ -29,28 +29,28 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 37 for VF 8: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 37 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 76 for VF 16: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 76 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -61,28 +61,28 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 -; AVX512: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 -; AVX512: Cost of 33 for VF 8: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512: Cost of 33 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 -; AVX512: Cost of 81 for VF 16: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512: Cost of 81 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll index 9afc961cb7c71..0bbdd39f2ad66 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll @@ -37,7 +37,7 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 @@ -45,7 +45,7 @@ define void @test() { ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 ; AVX512: ir<%v6> = load from index 6 -; AVX512: Cost of 19.5 for VF 4: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512: Cost of 19.5 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 @@ -53,7 +53,7 @@ define void @test() { ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 ; AVX512: ir<%v6> = load from index 6 -; AVX512: Cost of 56.5 for VF 8: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512: Cost of 56.5 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 @@ -61,7 +61,7 @@ define void @test() { ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 ; AVX512: ir<%v6> = load from index 6 -; AVX512: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll index ab373f70135a2..2b134fb879faa 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll @@ -31,7 +31,7 @@ define void @test() { ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 ; AVX2: Cost of 4 for VF 2: REPLICATE ir<%v0> = load ir<%in0> ; AVX2: Cost of 8 for VF 4: REPLICATE ir<%v0> = load ir<%in0> -; AVX2: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX2: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -45,7 +45,7 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i32, ptr %in0, align 4 -; AVX512: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 @@ -54,7 +54,7 @@ define void @test() { ; AVX512: ir<%v5> = load from index 5 ; AVX512: ir<%v6> = load from index 6 ; AVX512: ir<%v7> = load from index 7 -; AVX512: Cost of 22 for VF 4: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512: Cost of 22 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 @@ -63,7 +63,7 @@ define void @test() { ; AVX512: ir<%v5> = load from index 5 ; AVX512: ir<%v6> = load from index 6 ; AVX512: ir<%v7> = load from index 7 -; AVX512: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 @@ -72,7 +72,7 @@ define void @test() { ; AVX512: ir<%v5> = load from index 5 ; AVX512: ir<%v6> = load from index 6 ; AVX512: ir<%v7> = load from index 7 -; AVX512: Cost of 148 for VF 16: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512: Cost of 148 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll index 3884d1991b8ff..100ab85ddbb1e 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll @@ -14,7 +14,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' ; SSE2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; SSE2: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; SSE2: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; SSE2: ir<%v0> = load from index 0 ; SSE2: ir<%v1> = load from index 1 ; SSE2: Cost of 10 for VF 4: REPLICATE ir<%v0> = load ir<%in0> @@ -23,7 +23,7 @@ define void @test() { ; ; AVX1-LABEL: 'test' ; AVX1: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; AVX1: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX1: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX1: ir<%v0> = load from index 0 ; AVX1: ir<%v1> = load from index 1 ; AVX1: Cost of 9 for VF 4: REPLICATE ir<%v0> = load ir<%in0> @@ -33,34 +33,34 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 24 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 24 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 48 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 48 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 -; AVX512: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: Cost of 40 for VF 32: WIDEN ir<%v0> = load ir<%in0> diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll index 00930867b82f3..ffaca321e9d49 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll @@ -29,19 +29,19 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 16 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 16 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 32 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 32 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -49,15 +49,15 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; AVX512: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 9.5 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 9.5 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 -; AVX512: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll index a95be386b45f2..a8d8edf1c8755 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll @@ -29,22 +29,22 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 56 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 56 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -53,17 +53,17 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; AVX512: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 -; AVX512: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 -; AVX512: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll index 9601b5b0d4c9a..6877858a4a95c 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll @@ -37,13 +37,13 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; AVX512: Cost of 14.5 for VF 2: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512: Cost of 14.5 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 -; AVX512: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll index a7a20cffe6e3f..4146b8906fb21 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll @@ -29,21 +29,21 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; AVX2: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -55,14 +55,14 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; AVX512: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 ; AVX512: ir<%v3> = load from index 3 ; AVX512: ir<%v4> = load from index 4 ; AVX512: ir<%v5> = load from index 5 -; AVX512: Cost of 33 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512: Cost of 33 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll index 62d7eed1a4294..aa454516641ab 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll @@ -37,7 +37,7 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; AVX512: Cost of 19.5 for VF 2: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512: Cost of 19.5 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll index f46633bb24cc1..edef781eae4a2 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll @@ -37,7 +37,7 @@ define void @test() { ; ; AVX512-LABEL: 'test' ; AVX512: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i64, ptr %in0, align 8 -; AVX512: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512: ir<%v0> = load from index 0 ; AVX512: ir<%v1> = load from index 1 ; AVX512: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll index ad7fd15a9f11f..03f9fb7c8f1bf 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll @@ -30,61 +30,61 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 -; AVX2: Cost of 8 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX2: Cost of 8 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512DQ: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512DQ: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 -; AVX512DQ: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512DQ: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 -; AVX512DQ: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512DQ: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 -; AVX512DQ: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512DQ: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 -; AVX512DQ: Cost of 7 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512DQ: Cost of 7 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 -; AVX512DQ: Cost of 270 for VF 64: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512DQ: Cost of 270 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512BW: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512BW: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 -; AVX512BW: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512BW: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 -; AVX512BW: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512BW: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 -; AVX512BW: Cost of 9 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512BW: Cost of 9 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 -; AVX512BW: Cost of 17 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512BW: Cost of 17 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 -; AVX512BW: Cost of 41 for VF 64: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; AVX512BW: Cost of 41 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll index d6ef47ad00dcb..e1f737a2b9879 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll @@ -30,77 +30,77 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX2: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 -; AVX2: Cost of 17 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX2: Cost of 17 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512DQ: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512DQ: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 -; AVX512DQ: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512DQ: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 -; AVX512DQ: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512DQ: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 -; AVX512DQ: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512DQ: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 -; AVX512DQ: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512DQ: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 -; AVX512DQ: Cost of 405 for VF 64: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512DQ: Cost of 405 for VF 64: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512BW: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512BW: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 -; AVX512BW: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512BW: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 -; AVX512BW: Cost of 13 for VF 8: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512BW: Cost of 13 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 -; AVX512BW: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512BW: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 -; AVX512BW: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512BW: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 -; AVX512BW: Cost of 25 for VF 64: INTERLEAVE-GROUP with factor 3 at %v0, ir<%in0> +; AVX512BW: Cost of 25 for VF 64: INTERLEAVE-GROUP with factor 3, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll index 0135476488847..b92e9fe280a4d 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll @@ -30,27 +30,27 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX2: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 13 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 13 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 26 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 26 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 -; AVX2: Cost of 60 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX2: Cost of 60 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -58,32 +58,32 @@ define void @test() { ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512DQ: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512DQ: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 -; AVX512DQ: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512DQ: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 -; AVX512DQ: Cost of 13 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512DQ: Cost of 13 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 -; AVX512DQ: Cost of 25 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512DQ: Cost of 25 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 -; AVX512DQ: Cost of 58 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512DQ: Cost of 58 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 -; AVX512DQ: Cost of 540 for VF 64: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512DQ: Cost of 540 for VF 64: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -91,32 +91,32 @@ define void @test() { ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512BW: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512BW: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 -; AVX512BW: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512BW: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 -; AVX512BW: Cost of 17 for VF 8: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512BW: Cost of 17 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 -; AVX512BW: Cost of 33 for VF 16: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512BW: Cost of 33 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 -; AVX512BW: Cost of 80 for VF 32: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512BW: Cost of 80 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 -; AVX512BW: Cost of 238 for VF 64: INTERLEAVE-GROUP with factor 4 at %v0, ir<%in0> +; AVX512BW: Cost of 238 for VF 64: INTERLEAVE-GROUP with factor 4, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-5.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-5.ll index dca54e574d3ba..1ecfd6ba6e574 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-5.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-5.ll @@ -38,37 +38,37 @@ define void @test() { ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512DQ: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512DQ: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 -; AVX512DQ: Cost of 45 for VF 4: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512DQ: Cost of 45 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 -; AVX512DQ: Cost of 85 for VF 8: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512DQ: Cost of 85 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 -; AVX512DQ: Cost of 165 for VF 16: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512DQ: Cost of 165 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 -; AVX512DQ: Cost of 335 for VF 32: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512DQ: Cost of 335 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 -; AVX512DQ: Cost of 675 for VF 64: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512DQ: Cost of 675 for VF 64: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -77,37 +77,37 @@ define void @test() { ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512BW: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512BW: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 -; AVX512BW: Cost of 21 for VF 4: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512BW: Cost of 21 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 -; AVX512BW: Cost of 41 for VF 8: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512BW: Cost of 41 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 -; AVX512BW: Cost of 99.5 for VF 16: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512BW: Cost of 99.5 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 -; AVX512BW: Cost of 198 for VF 32: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512BW: Cost of 198 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 -; AVX512BW: Cost of 395 for VF 64: INTERLEAVE-GROUP with factor 5 at %v0, ir<%in0> +; AVX512BW: Cost of 395 for VF 64: INTERLEAVE-GROUP with factor 5, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll index 3992a2ad5cfeb..74af7dd09d76d 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll @@ -30,35 +30,35 @@ define void @test() { ; ; AVX2-LABEL: 'test' ; AVX2: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX2: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 20 for VF 8: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 20 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 46 for VF 16: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 46 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 ; AVX2: ir<%v3> = load from index 3 ; AVX2: ir<%v4> = load from index 4 ; AVX2: ir<%v5> = load from index 5 -; AVX2: Cost of 88 for VF 32: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX2: Cost of 88 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX2: ir<%v0> = load from index 0 ; AVX2: ir<%v1> = load from index 1 ; AVX2: ir<%v2> = load from index 2 @@ -68,42 +68,42 @@ define void @test() { ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512DQ: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512DQ: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 -; AVX512DQ: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512DQ: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 -; AVX512DQ: Cost of 21 for VF 8: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512DQ: Cost of 21 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 -; AVX512DQ: Cost of 45 for VF 16: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512DQ: Cost of 45 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 -; AVX512DQ: Cost of 85 for VF 32: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512DQ: Cost of 85 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 ; AVX512DQ: ir<%v3> = load from index 3 ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 -; AVX512DQ: Cost of 810 for VF 64: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512DQ: Cost of 810 for VF 64: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -113,42 +113,42 @@ define void @test() { ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512BW: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512BW: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 -; AVX512BW: Cost of 25 for VF 4: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512BW: Cost of 25 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 -; AVX512BW: Cost of 49 for VF 8: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512BW: Cost of 49 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 -; AVX512BW: Cost of 119 for VF 16: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512BW: Cost of 119 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 -; AVX512BW: Cost of 237 for VF 32: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512BW: Cost of 237 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 ; AVX512BW: ir<%v3> = load from index 3 ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 -; AVX512BW: Cost of 591 for VF 64: INTERLEAVE-GROUP with factor 6 at %v0, ir<%in0> +; AVX512BW: Cost of 591 for VF 64: INTERLEAVE-GROUP with factor 6, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll index 088a29d257417..71ffdb2e47534 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll @@ -38,7 +38,7 @@ define void @test() { ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512DQ: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512DQ: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -46,7 +46,7 @@ define void @test() { ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 -; AVX512DQ: Cost of 62 for VF 4: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512DQ: Cost of 62 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -54,7 +54,7 @@ define void @test() { ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 -; AVX512DQ: Cost of 120 for VF 8: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512DQ: Cost of 120 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -62,7 +62,7 @@ define void @test() { ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 -; AVX512DQ: Cost of 233 for VF 16: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512DQ: Cost of 233 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -70,7 +70,7 @@ define void @test() { ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 -; AVX512DQ: Cost of 469 for VF 32: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512DQ: Cost of 469 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -78,7 +78,7 @@ define void @test() { ; AVX512DQ: ir<%v4> = load from index 4 ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 -; AVX512DQ: Cost of 945 for VF 64: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512DQ: Cost of 945 for VF 64: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -89,7 +89,7 @@ define void @test() { ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512BW: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512BW: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -97,7 +97,7 @@ define void @test() { ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 -; AVX512BW: Cost of 29 for VF 4: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512BW: Cost of 29 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -105,7 +105,7 @@ define void @test() { ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 -; AVX512BW: Cost of 57 for VF 8: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512BW: Cost of 57 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -113,7 +113,7 @@ define void @test() { ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 -; AVX512BW: Cost of 138.5 for VF 16: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512BW: Cost of 138.5 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -121,7 +121,7 @@ define void @test() { ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 -; AVX512BW: Cost of 413.5 for VF 32: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512BW: Cost of 413.5 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -129,7 +129,7 @@ define void @test() { ; AVX512BW: ir<%v4> = load from index 4 ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 -; AVX512BW: Cost of 826 for VF 64: INTERLEAVE-GROUP with factor 7 at %v0, ir<%in0> +; AVX512BW: Cost of 826 for VF 64: INTERLEAVE-GROUP with factor 7, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-8.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-8.ll index 178b99d03ef4b..36ad28d25ec31 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-8.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-8.ll @@ -38,7 +38,7 @@ define void @test() { ; ; AVX512DQ-LABEL: 'test' ; AVX512DQ: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512DQ: Cost of 33 for VF 2: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512DQ: Cost of 33 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -47,7 +47,7 @@ define void @test() { ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 ; AVX512DQ: ir<%v7> = load from index 7 -; AVX512DQ: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512DQ: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -56,7 +56,7 @@ define void @test() { ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 ; AVX512DQ: ir<%v7> = load from index 7 -; AVX512DQ: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512DQ: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -65,7 +65,7 @@ define void @test() { ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 ; AVX512DQ: ir<%v7> = load from index 7 -; AVX512DQ: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512DQ: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -74,7 +74,7 @@ define void @test() { ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 ; AVX512DQ: ir<%v7> = load from index 7 -; AVX512DQ: Cost of 536 for VF 32: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512DQ: Cost of 536 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -83,7 +83,7 @@ define void @test() { ; AVX512DQ: ir<%v5> = load from index 5 ; AVX512DQ: ir<%v6> = load from index 6 ; AVX512DQ: ir<%v7> = load from index 7 -; AVX512DQ: Cost of 1080 for VF 64: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512DQ: Cost of 1080 for VF 64: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512DQ: ir<%v0> = load from index 0 ; AVX512DQ: ir<%v1> = load from index 1 ; AVX512DQ: ir<%v2> = load from index 2 @@ -95,7 +95,7 @@ define void @test() { ; ; AVX512BW-LABEL: 'test' ; AVX512BW: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load i8, ptr %in0, align 1 -; AVX512BW: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512BW: Cost of 9 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -104,7 +104,7 @@ define void @test() { ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 ; AVX512BW: ir<%v7> = load from index 7 -; AVX512BW: Cost of 33 for VF 4: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512BW: Cost of 33 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -113,7 +113,7 @@ define void @test() { ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 ; AVX512BW: ir<%v7> = load from index 7 -; AVX512BW: Cost of 65 for VF 8: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512BW: Cost of 65 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -122,7 +122,7 @@ define void @test() { ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 ; AVX512BW: ir<%v7> = load from index 7 -; AVX512BW: Cost of 158 for VF 16: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512BW: Cost of 158 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -131,7 +131,7 @@ define void @test() { ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 ; AVX512BW: ir<%v7> = load from index 7 -; AVX512BW: Cost of 472 for VF 32: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512BW: Cost of 472 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 @@ -140,7 +140,7 @@ define void @test() { ; AVX512BW: ir<%v5> = load from index 5 ; AVX512BW: ir<%v6> = load from index 6 ; AVX512BW: ir<%v7> = load from index 7 -; AVX512BW: Cost of 1100 for VF 64: INTERLEAVE-GROUP with factor 8 at %v0, ir<%in0> +; AVX512BW: Cost of 1100 for VF 64: INTERLEAVE-GROUP with factor 8, ir<%in0> ; AVX512BW: ir<%v0> = load from index 0 ; AVX512BW: ir<%v1> = load from index 1 ; AVX512BW: ir<%v2> = load from index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll index 1c392dd193a1e..b88c006d5b916 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll @@ -13,70 +13,70 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 14 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 14 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 56 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 56 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 14 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 14 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 30 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 30 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 60 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 60 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 120 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 120 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 24 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 24 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 14 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 14 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 28 for VF 64: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 28 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll index c1829b71b47ef..8c69a21d68ac1 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll @@ -13,89 +13,89 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 96 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 96 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 22 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 22 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 45 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 45 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 90 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 90 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 180 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 180 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 14 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 14 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 28 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 28 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 60 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 60 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 18 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 18 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 36 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 36 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 72 for VF 64: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 72 for VF 64: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll index 91df129d93ca3..1df640056a381 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll @@ -13,108 +13,108 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 60 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 60 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 120 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 120 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 240 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 240 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 20 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 20 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 40 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 40 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 80 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 80 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 17 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 17 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 68 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 68 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 136 for VF 64: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 136 for VF 64: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll index 77471f266797e..529d0cc66c0a8 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll @@ -13,25 +13,25 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 88 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 88 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -39,31 +39,31 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 75 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 75 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 150 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 150 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 300 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 300 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -71,31 +71,31 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 75 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 75 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 150 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 150 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 300 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 300 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -103,37 +103,37 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 -; AVX512: Cost of 22 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 22 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 -; AVX512: Cost of 33 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 33 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 -; AVX512: Cost of 55 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 55 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 -; AVX512: Cost of 110 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 110 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 -; AVX512: Cost of 220 for VF 64: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 220 for VF 64: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll index 0929dba36adf5..ad932cb745d3d 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll @@ -13,28 +13,28 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 21 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 21 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 48 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 48 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 96 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 96 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 192 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 192 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -43,35 +43,35 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 19 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 19 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 42 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 42 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 90 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 90 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 180 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 180 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 360 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 360 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -80,35 +80,35 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 15 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 15 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 39 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 39 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 78 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 78 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 360 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 360 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -117,42 +117,42 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 -; AVX512: Cost of 27 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 27 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 -; AVX512: Cost of 40 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 40 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 -; AVX512: Cost of 81 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 81 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 -; AVX512: Cost of 162 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 162 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 -; AVX512: Cost of 324 for VF 64: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 324 for VF 64: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll index 722ecdab66c87..8cf14921a6d6c 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll @@ -13,7 +13,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 23 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 23 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -21,7 +21,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 52 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 52 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -29,7 +29,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 104 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 104 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -37,7 +37,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 208 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 208 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -47,7 +47,7 @@ define void @test() { ; SSE2: store ir<%v6> to index 6 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -55,7 +55,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 50 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 50 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -63,7 +63,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 105 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 105 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -71,7 +71,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 210 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 210 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -79,7 +79,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 420 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 420 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -89,7 +89,7 @@ define void @test() { ; AVX1: store ir<%v6> to index 6 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -97,7 +97,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 50 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 50 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -105,7 +105,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 105 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 105 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -113,7 +113,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 210 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 210 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -121,7 +121,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 420 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 420 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -131,7 +131,7 @@ define void @test() { ; AVX2: store ir<%v6> to index 6 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -139,7 +139,7 @@ define void @test() { ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 -; AVX512: Cost of 32 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 32 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -147,7 +147,7 @@ define void @test() { ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 -; AVX512: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -155,7 +155,7 @@ define void @test() { ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 -; AVX512: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -163,7 +163,7 @@ define void @test() { ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 -; AVX512: Cost of 224 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 224 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -171,7 +171,7 @@ define void @test() { ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 -; AVX512: Cost of 448 for VF 64: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 448 for VF 64: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll index d537f6156f50d..1a69cf3b9b6d0 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll @@ -13,7 +13,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -22,7 +22,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 56 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 56 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -31,7 +31,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 112 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 112 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -40,7 +40,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 224 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 224 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -51,7 +51,7 @@ define void @test() { ; SSE2: store ir<%v7> to index 7 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -60,7 +60,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 56 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 56 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -69,7 +69,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 120 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 120 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -78,7 +78,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 240 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 240 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -87,7 +87,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 480 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 480 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -98,7 +98,7 @@ define void @test() { ; AVX1: store ir<%v7> to index 7 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -107,7 +107,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 56 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 56 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -116,7 +116,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 120 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 120 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -125,7 +125,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 240 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 240 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -134,7 +134,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 480 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 480 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -145,7 +145,7 @@ define void @test() { ; AVX2: store ir<%v7> to index 7 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -154,7 +154,7 @@ define void @test() { ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 ; AVX512: store ir<%v7> to index 7 -; AVX512: Cost of 37 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 37 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -163,7 +163,7 @@ define void @test() { ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 ; AVX512: store ir<%v7> to index 7 -; AVX512: Cost of 74 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 74 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -172,7 +172,7 @@ define void @test() { ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 ; AVX512: store ir<%v7> to index 7 -; AVX512: Cost of 148 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 148 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -181,7 +181,7 @@ define void @test() { ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 ; AVX512: store ir<%v7> to index 7 -; AVX512: Cost of 296 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 296 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -190,7 +190,7 @@ define void @test() { ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 ; AVX512: store ir<%v7> to index 7 -; AVX512: Cost of 592 for VF 64: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 592 for VF 64: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll index e0599aebe22e3..14c8628f6ba6c 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll @@ -13,70 +13,70 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 24 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 24 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 48 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 48 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 14 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 14 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 56 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 56 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 112 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 112 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 24 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 24 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 48 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 48 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 28 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 28 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 56 for VF 64: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 56 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll index 6331fe088a229..5322bfb06ff37 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll @@ -13,89 +13,89 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 20 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 20 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 40 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 40 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 80 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 80 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 96 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 96 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 192 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 192 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 36 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 36 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 192 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 192 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 36 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 36 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 72 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 72 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 144 for VF 64: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 144 for VF 64: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll index dcbc88024af28..2a993d7a48b2c 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll @@ -13,108 +13,108 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 24 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 48 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 96 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 96 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 12 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 224 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 224 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 56 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 56 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 224 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 224 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 68 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 68 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 136 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 136 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 272 for VF 64: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 272 for VF 64: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll index 48dfeb9eb802d..1461d2678fe24 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll @@ -13,25 +13,25 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 72 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 72 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 144 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 144 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -39,31 +39,31 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 88 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 88 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 352 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 352 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -71,31 +71,31 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 88 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 88 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 352 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 352 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -103,7 +103,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll index 7597e85cd0d36..78715dbe67a96 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll @@ -13,28 +13,28 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 40 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 40 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 80 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 80 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 160 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 160 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -43,35 +43,35 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 21 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 21 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 48 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 48 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 96 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 96 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 192 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 192 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 384 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 384 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -80,35 +80,35 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 21 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 21 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 42 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 42 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 192 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 192 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 384 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 384 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -117,7 +117,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 27 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 27 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll index 255a69e68933d..b55ed5aa39f53 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll @@ -13,7 +13,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -21,7 +21,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -29,7 +29,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 88 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 88 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -37,7 +37,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v0> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -47,7 +47,7 @@ define void @test() { ; SSE2: store ir<%v6> to index 6 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 23 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 23 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -55,7 +55,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 52 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 52 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -63,7 +63,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 104 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 104 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -71,7 +71,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 208 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 208 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -79,7 +79,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 416 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 416 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v0> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -89,7 +89,7 @@ define void @test() { ; AVX1: store ir<%v6> to index 6 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 23 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 23 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -97,7 +97,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 52 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 52 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -105,7 +105,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 104 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 104 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -113,7 +113,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 208 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 208 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -121,7 +121,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 416 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 416 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v0> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -131,7 +131,7 @@ define void @test() { ; AVX2: store ir<%v6> to index 6 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 32 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 32 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v0> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll index 8969c89ff485f..13f19f309a33b 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll @@ -14,90 +14,90 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 68 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 68 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 70 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 70 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 140 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 140 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 6 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 12 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 12 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512DQ: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 -; AVX512DQ: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512DQ: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 -; AVX512DQ: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512DQ: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 -; AVX512DQ: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512DQ: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 -; AVX512DQ: Cost of 10 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512DQ: Cost of 10 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 -; AVX512DQ: Cost of 284 for VF 64: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512DQ: Cost of 284 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512BW: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 -; AVX512BW: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512BW: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 -; AVX512BW: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512BW: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 -; AVX512BW: Cost of 3 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512BW: Cost of 3 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 -; AVX512BW: Cost of 7 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512BW: Cost of 7 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 -; AVX512BW: Cost of 14 for VF 64: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512BW: Cost of 14 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll index fb3baa4115401..27e18adae35c7 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll @@ -14,115 +14,115 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 26 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 26 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 51 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 51 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 102 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 102 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 15 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 15 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 29 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 29 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 52 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 52 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 105 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 105 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 210 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 210 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 14 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 14 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 30 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 30 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 60 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 60 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512DQ: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 -; AVX512DQ: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512DQ: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 -; AVX512DQ: Cost of 15 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512DQ: Cost of 15 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 -; AVX512DQ: Cost of 29 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512DQ: Cost of 29 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 -; AVX512DQ: Cost of 57 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512DQ: Cost of 57 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 -; AVX512DQ: Cost of 426 for VF 64: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512DQ: Cost of 426 for VF 64: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512BW: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 -; AVX512BW: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512BW: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 -; AVX512BW: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512BW: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 -; AVX512BW: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512BW: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 -; AVX512BW: Cost of 18 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512BW: Cost of 18 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 -; AVX512BW: Cost of 36 for VF 64: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512BW: Cost of 36 for VF 64: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll index 5e04cad079cff..65836c4b9aa00 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll @@ -14,140 +14,140 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 34 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 34 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 136 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 136 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 34 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 34 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 68 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 140 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 140 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 280 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 280 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 36 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 36 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 72 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 72 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512DQ: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 -; AVX512DQ: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512DQ: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 -; AVX512DQ: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512DQ: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 -; AVX512DQ: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512DQ: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 -; AVX512DQ: Cost of 68 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512DQ: Cost of 68 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 -; AVX512DQ: Cost of 568 for VF 64: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512DQ: Cost of 568 for VF 64: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512BW: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 -; AVX512BW: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512BW: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 -; AVX512BW: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512BW: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 -; AVX512BW: Cost of 17 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512BW: Cost of 17 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 -; AVX512BW: Cost of 34 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512BW: Cost of 34 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 -; AVX512BW: Cost of 68 for VF 64: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512BW: Cost of 68 for VF 64: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll index 915082bbf9eb0..5772647e530a8 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll @@ -14,25 +14,25 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 43 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 43 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 85 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 85 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 170 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 170 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -40,31 +40,31 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 86 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 86 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 175 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 175 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 350 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 350 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -72,31 +72,31 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 86 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 86 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 175 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 175 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 350 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 350 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -104,37 +104,37 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512DQ: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 -; AVX512DQ: Cost of 47 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512DQ: Cost of 47 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 -; AVX512DQ: Cost of 86 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512DQ: Cost of 86 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 -; AVX512DQ: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512DQ: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 -; AVX512DQ: Cost of 355 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512DQ: Cost of 355 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 -; AVX512DQ: Cost of 710 for VF 64: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512DQ: Cost of 710 for VF 64: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -142,37 +142,37 @@ define void @test() { ; AVX512DQ: store ir<%v4> to index 4 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512BW: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 -; AVX512BW: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512BW: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 -; AVX512BW: Cost of 22 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512BW: Cost of 22 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 -; AVX512BW: Cost of 33 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512BW: Cost of 33 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 -; AVX512BW: Cost of 55 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512BW: Cost of 55 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 -; AVX512BW: Cost of 110 for VF 64: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512BW: Cost of 110 for VF 64: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll index a9ea73d9c3ad7..b07588c1a9ee6 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll @@ -14,28 +14,28 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 51 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 51 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 102 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 102 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 204 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 204 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -44,35 +44,35 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 29 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 29 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 52 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 52 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 102 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 102 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 210 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 210 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 420 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 420 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -81,35 +81,35 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 24 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 24 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 64 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 64 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 102 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 102 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -118,42 +118,42 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512DQ: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 -; AVX512DQ: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512DQ: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 -; AVX512DQ: Cost of 23 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512DQ: Cost of 23 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 -; AVX512DQ: Cost of 61 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512DQ: Cost of 61 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 -; AVX512DQ: Cost of 96 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512DQ: Cost of 96 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 -; AVX512DQ: Cost of 852 for VF 64: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512DQ: Cost of 852 for VF 64: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -162,42 +162,42 @@ define void @test() { ; AVX512DQ: store ir<%v5> to index 5 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512BW: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 -; AVX512BW: Cost of 13 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512BW: Cost of 13 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 -; AVX512BW: Cost of 27 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512BW: Cost of 27 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 -; AVX512BW: Cost of 40 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512BW: Cost of 40 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 -; AVX512BW: Cost of 81 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512BW: Cost of 81 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 -; AVX512BW: Cost of 162 for VF 64: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512BW: Cost of 162 for VF 64: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll index 3b07b7cdf58ca..da11dd4ad9de1 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll @@ -14,7 +14,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 33 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 33 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -22,7 +22,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 60 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 60 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -30,7 +30,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 119 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 119 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -38,7 +38,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 238 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 238 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -48,7 +48,7 @@ define void @test() { ; SSE2: store ir<%v6> to index 6 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 35 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 35 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -56,7 +56,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 63 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 63 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -64,7 +64,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 120 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 120 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -72,7 +72,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 245 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 245 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -80,7 +80,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 490 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 490 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -90,7 +90,7 @@ define void @test() { ; AVX1: store ir<%v6> to index 6 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 35 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 35 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -98,7 +98,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 63 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 63 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -106,7 +106,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 120 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 120 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -114,7 +114,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 245 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 245 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -122,7 +122,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 490 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 490 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -132,7 +132,7 @@ define void @test() { ; AVX2: store ir<%v6> to index 6 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 35 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512DQ: Cost of 35 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -140,7 +140,7 @@ define void @test() { ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 -; AVX512DQ: Cost of 65 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512DQ: Cost of 65 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -148,7 +148,7 @@ define void @test() { ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 -; AVX512DQ: Cost of 122 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512DQ: Cost of 122 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -156,7 +156,7 @@ define void @test() { ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 -; AVX512DQ: Cost of 246 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512DQ: Cost of 246 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -164,7 +164,7 @@ define void @test() { ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 -; AVX512DQ: Cost of 497 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512DQ: Cost of 497 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -172,7 +172,7 @@ define void @test() { ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 -; AVX512DQ: Cost of 994 for VF 64: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512DQ: Cost of 994 for VF 64: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -182,7 +182,7 @@ define void @test() { ; AVX512DQ: store ir<%v6> to index 6 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512BW: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -190,7 +190,7 @@ define void @test() { ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 -; AVX512BW: Cost of 16 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512BW: Cost of 16 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -198,7 +198,7 @@ define void @test() { ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 -; AVX512BW: Cost of 32 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512BW: Cost of 32 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -206,7 +206,7 @@ define void @test() { ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 -; AVX512BW: Cost of 64 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512BW: Cost of 64 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -214,7 +214,7 @@ define void @test() { ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 -; AVX512BW: Cost of 112 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512BW: Cost of 112 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -222,7 +222,7 @@ define void @test() { ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 -; AVX512BW: Cost of 224 for VF 64: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512BW: Cost of 224 for VF 64: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-8.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-8.ll index de2c7eb6f8021..023dee8edc1da 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-8.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-8.ll @@ -14,7 +14,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -23,7 +23,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 68 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 68 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -32,7 +32,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 136 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 136 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -41,7 +41,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 272 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 272 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -52,7 +52,7 @@ define void @test() { ; SSE2: store ir<%v7> to index 7 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -61,7 +61,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 68 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 68 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -70,7 +70,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 136 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 136 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -79,7 +79,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 280 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 280 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -88,7 +88,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 560 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 560 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -99,7 +99,7 @@ define void @test() { ; AVX1: store ir<%v7> to index 7 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -108,7 +108,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 68 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 68 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -117,7 +117,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 136 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 136 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -126,7 +126,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 280 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 280 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -135,7 +135,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 560 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 560 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -146,7 +146,7 @@ define void @test() { ; AVX2: store ir<%v7> to index 7 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512DQ: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -155,7 +155,7 @@ define void @test() { ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 ; AVX512DQ: store ir<%v7> to index 7 -; AVX512DQ: Cost of 68 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512DQ: Cost of 68 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -164,7 +164,7 @@ define void @test() { ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 ; AVX512DQ: store ir<%v7> to index 7 -; AVX512DQ: Cost of 136 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512DQ: Cost of 136 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -173,7 +173,7 @@ define void @test() { ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 ; AVX512DQ: store ir<%v7> to index 7 -; AVX512DQ: Cost of 280 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512DQ: Cost of 280 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -182,7 +182,7 @@ define void @test() { ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 ; AVX512DQ: store ir<%v7> to index 7 -; AVX512DQ: Cost of 568 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512DQ: Cost of 568 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -191,7 +191,7 @@ define void @test() { ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 ; AVX512DQ: store ir<%v7> to index 7 -; AVX512DQ: Cost of 1136 for VF 64: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512DQ: Cost of 1136 for VF 64: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -202,7 +202,7 @@ define void @test() { ; AVX512DQ: store ir<%v7> to index 7 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512BW: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -211,7 +211,7 @@ define void @test() { ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 ; AVX512BW: store ir<%v7> to index 7 -; AVX512BW: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512BW: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -220,7 +220,7 @@ define void @test() { ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 ; AVX512BW: store ir<%v7> to index 7 -; AVX512BW: Cost of 37 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512BW: Cost of 37 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -229,7 +229,7 @@ define void @test() { ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 ; AVX512BW: store ir<%v7> to index 7 -; AVX512BW: Cost of 74 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512BW: Cost of 74 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -238,7 +238,7 @@ define void @test() { ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 ; AVX512BW: store ir<%v7> to index 7 -; AVX512BW: Cost of 148 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512BW: Cost of 148 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -247,7 +247,7 @@ define void @test() { ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 ; AVX512BW: store ir<%v7> to index 7 -; AVX512BW: Cost of 296 for VF 64: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512BW: Cost of 296 for VF 64: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll index 6a85e80935f7f..36b78e9309b8c 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll @@ -13,70 +13,70 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 30 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 30 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 60 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 60 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 120 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 120 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 18 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 38 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 38 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 76 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 76 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 152 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 152 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 6 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 24 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 24 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 14 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 14 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 28 for VF 64: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 28 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll index 0940b5f205100..6ec5d91c81ace 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll @@ -13,89 +13,89 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 23 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 23 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 48 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 48 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 96 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 96 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 192 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 192 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 57 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 57 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 114 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 114 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 228 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 228 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 14 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 14 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 28 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 28 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 60 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 60 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 18 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 18 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 36 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 36 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 72 for VF 64: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 72 for VF 64: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll index 1ae5dc7dd4c1d..56fb08a98c7fb 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll @@ -13,108 +13,108 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 28 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 28 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 60 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 60 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 120 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 120 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 240 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 240 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 36 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 76 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 76 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 152 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 152 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 304 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 304 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 20 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 20 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 40 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 40 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 80 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 80 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 17 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 17 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 34 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 68 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 68 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 136 for VF 64: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 136 for VF 64: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll index 545b23621794f..914c82ead3aa7 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll @@ -13,25 +13,25 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 40 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 40 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 84 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 84 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 168 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 168 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 336 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 336 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -39,31 +39,31 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 46 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 46 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 95 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 95 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 190 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 190 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 380 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 380 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -71,31 +71,31 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 46 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 46 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 95 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 95 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 190 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 190 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 380 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 380 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -103,37 +103,37 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 -; AVX512: Cost of 22 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 22 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 -; AVX512: Cost of 33 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 33 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 -; AVX512: Cost of 55 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 55 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 -; AVX512: Cost of 110 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 110 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 -; AVX512: Cost of 220 for VF 64: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 220 for VF 64: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll index 9f41a80d0cf23..bc27a61100d3b 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll @@ -13,28 +13,28 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 45 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 45 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 96 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 96 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 192 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 192 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 384 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 384 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -43,35 +43,35 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 28 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 28 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 54 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 54 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 114 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 114 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 228 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 228 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 456 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 456 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -80,35 +80,35 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 15 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 15 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 39 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 39 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 78 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 78 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 456 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 456 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -117,42 +117,42 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 -; AVX512: Cost of 27 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 27 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 -; AVX512: Cost of 40 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 40 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 -; AVX512: Cost of 81 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 81 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 -; AVX512: Cost of 162 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 162 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 -; AVX512: Cost of 324 for VF 64: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 324 for VF 64: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll index 22637fe502090..f20448c0f1f93 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll @@ -13,7 +13,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 51 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 51 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -21,7 +21,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 108 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 108 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -29,7 +29,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 216 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 216 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -37,7 +37,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 432 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 432 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -47,7 +47,7 @@ define void @test() { ; SSE2: store ir<%v6> to index 6 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 35 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 35 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -55,7 +55,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 64 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 64 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -63,7 +63,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 133 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 133 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -71,7 +71,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 266 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 266 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -79,7 +79,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 532 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 532 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -89,7 +89,7 @@ define void @test() { ; AVX1: store ir<%v6> to index 6 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 35 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 35 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -97,7 +97,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 64 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 64 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -105,7 +105,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 133 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 133 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -113,7 +113,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 266 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 266 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -121,7 +121,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 532 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 532 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -131,7 +131,7 @@ define void @test() { ; AVX2: store ir<%v6> to index 6 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -139,7 +139,7 @@ define void @test() { ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 -; AVX512: Cost of 32 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 32 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -147,7 +147,7 @@ define void @test() { ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 -; AVX512: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 64 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -155,7 +155,7 @@ define void @test() { ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 -; AVX512: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -163,7 +163,7 @@ define void @test() { ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 -; AVX512: Cost of 224 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 224 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -171,7 +171,7 @@ define void @test() { ; AVX512: store ir<%v4> to index 4 ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 -; AVX512: Cost of 448 for VF 64: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 448 for VF 64: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll index 59c26eb13d141..e56dfff45bbbb 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll @@ -13,7 +13,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 56 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 56 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -22,7 +22,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 120 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 120 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -31,7 +31,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 240 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 240 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -40,7 +40,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 480 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 480 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -51,7 +51,7 @@ define void @test() { ; SSE2: store ir<%v7> to index 7 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 36 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 36 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -60,7 +60,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 72 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 72 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -69,7 +69,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 152 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 152 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -78,7 +78,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 304 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 304 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -87,7 +87,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 608 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 608 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -98,7 +98,7 @@ define void @test() { ; AVX1: store ir<%v7> to index 7 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 36 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 36 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -107,7 +107,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 72 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 72 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -116,7 +116,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 152 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 152 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -125,7 +125,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 304 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 304 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -134,7 +134,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 608 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 608 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -145,7 +145,7 @@ define void @test() { ; AVX2: store ir<%v7> to index 7 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -154,7 +154,7 @@ define void @test() { ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 ; AVX512: store ir<%v7> to index 7 -; AVX512: Cost of 37 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 37 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -163,7 +163,7 @@ define void @test() { ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 ; AVX512: store ir<%v7> to index 7 -; AVX512: Cost of 74 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 74 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -172,7 +172,7 @@ define void @test() { ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 ; AVX512: store ir<%v7> to index 7 -; AVX512: Cost of 148 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 148 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -181,7 +181,7 @@ define void @test() { ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 ; AVX512: store ir<%v7> to index 7 -; AVX512: Cost of 296 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 296 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 @@ -190,7 +190,7 @@ define void @test() { ; AVX512: store ir<%v5> to index 5 ; AVX512: store ir<%v6> to index 6 ; AVX512: store ir<%v7> to index 7 -; AVX512: Cost of 592 for VF 64: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 592 for VF 64: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll index 5bc1b5c1fa57e..6a8332c593228 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll @@ -13,70 +13,70 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 14 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 28 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 56 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 112 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 22 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 22 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 44 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 44 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 88 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 88 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 176 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 176 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 6 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 12 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 24 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 24 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 48 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 48 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 7 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 28 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 28 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 -; AVX512: Cost of 56 for VF 64: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512: Cost of 56 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll index 8d704d3b8222a..209af72e22ba5 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll @@ -13,89 +13,89 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 88 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 88 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 33 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 33 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 66 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 66 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 264 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 264 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 36 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 36 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 264 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 264 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 6 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 36 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 36 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 72 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 72 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 -; AVX512: Cost of 144 for VF 64: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512: Cost of 144 for VF 64: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll index b1d313f258bc1..3dfcb6de22c77 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll @@ -13,108 +13,108 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 28 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 28 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 56 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 56 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 112 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 112 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 224 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 224 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 20 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 44 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 88 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 88 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 176 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 352 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 352 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 28 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 56 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 56 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 352 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 352 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 17 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 34 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 68 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 68 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 136 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 136 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 ; AVX512: store ir<%v3> to index 3 -; AVX512: Cost of 272 for VF 64: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512: Cost of 272 for VF 64: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll index 6704bf5647499..523c885bc015c 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll @@ -13,25 +13,25 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 38 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 38 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 76 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 76 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 152 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 152 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 304 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 304 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -39,31 +39,31 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 55 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 55 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 110 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 110 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 220 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 220 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 440 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 440 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -71,31 +71,31 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 55 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 55 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 110 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 110 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 220 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 220 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 440 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 440 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -103,7 +103,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll index d86c087a42b84..b9c688b07304b 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll @@ -13,28 +13,28 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 44 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 44 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 88 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 88 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 176 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 176 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 352 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 352 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -43,35 +43,35 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 30 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 30 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 528 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 528 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -80,35 +80,35 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 21 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 21 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 42 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 42 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 528 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 528 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -117,7 +117,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 27 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512: Cost of 27 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll index c981563f9126b..c4805ed4c7e01 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll @@ -13,7 +13,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 50 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 50 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -21,7 +21,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 100 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 100 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -29,7 +29,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 200 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 200 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -37,7 +37,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 400 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 400 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -47,7 +47,7 @@ define void @test() { ; SSE2: store ir<%v6> to index 6 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 36 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 36 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -55,7 +55,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 77 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 77 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -63,7 +63,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 154 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 154 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -71,7 +71,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 308 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 308 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -79,7 +79,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 616 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 616 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -89,7 +89,7 @@ define void @test() { ; AVX1: store ir<%v6> to index 6 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 36 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 36 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -97,7 +97,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 77 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 77 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -105,7 +105,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 154 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 154 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -113,7 +113,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 308 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 308 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -121,7 +121,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 616 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 616 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -131,7 +131,7 @@ define void @test() { ; AVX2: store ir<%v6> to index 6 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 32 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512: Cost of 32 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll index 145519da84ee3..d90077f6c37c9 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll @@ -13,7 +13,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 56 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 56 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -22,7 +22,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 112 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 112 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -31,7 +31,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 224 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 224 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -40,7 +40,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 448 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 448 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -51,7 +51,7 @@ define void @test() { ; SSE2: store ir<%v7> to index 7 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 40 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 40 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -60,7 +60,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 88 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 88 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -69,7 +69,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 176 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 176 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -78,7 +78,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 352 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 352 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -87,7 +87,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 704 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 704 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -98,7 +98,7 @@ define void @test() { ; AVX1: store ir<%v7> to index 7 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 40 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 40 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -107,7 +107,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 88 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 88 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -116,7 +116,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 176 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 176 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -125,7 +125,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 352 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 352 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -134,7 +134,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 704 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 704 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -145,7 +145,7 @@ define void @test() { ; AVX2: store ir<%v7> to index 7 ; ; AVX512-LABEL: 'test' -; AVX512: Cost of 37 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512: Cost of 37 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512: store ir<%v> to index 0 ; AVX512: store ir<%v1> to index 1 ; AVX512: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll index 74b3ae2837d89..b9f7c958f1178 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll @@ -14,90 +14,90 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 -; SSE2: Cost of 126 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; SSE2: Cost of 126 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 66 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 66 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 -; AVX1: Cost of 134 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX1: Cost of 134 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 -; AVX2: Cost of 6 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX2: Cost of 6 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512DQ: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 -; AVX512DQ: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512DQ: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 -; AVX512DQ: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512DQ: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 -; AVX512DQ: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512DQ: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 -; AVX512DQ: Cost of 5 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512DQ: Cost of 5 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 -; AVX512DQ: Cost of 270 for VF 64: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512DQ: Cost of 270 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512BW: Cost of 4 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 -; AVX512BW: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512BW: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 -; AVX512BW: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512BW: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 -; AVX512BW: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512BW: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 -; AVX512BW: Cost of 20 for VF 32: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512BW: Cost of 20 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 -; AVX512BW: Cost of 41 for VF 64: INTERLEAVE-GROUP with factor 2 at , ir<%out0> +; AVX512BW: Cost of 41 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll index 747d1701fbd6b..af79906323121 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll @@ -14,115 +14,115 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 26 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 52 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 52 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 101 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 101 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 -; SSE2: Cost of 204 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; SSE2: Cost of 204 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 16 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 27 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 27 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 53 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 53 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 100 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 100 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 -; AVX1: Cost of 201 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX1: Cost of 201 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 -; AVX2: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX2: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512DQ: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 -; AVX512DQ: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512DQ: Cost of 7 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 -; AVX512DQ: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512DQ: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 -; AVX512DQ: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512DQ: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 -; AVX512DQ: Cost of 15 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512DQ: Cost of 15 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 -; AVX512DQ: Cost of 405 for VF 64: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512DQ: Cost of 405 for VF 64: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512BW: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 -; AVX512BW: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512BW: Cost of 8 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 -; AVX512BW: Cost of 16 for VF 8: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512BW: Cost of 16 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 -; AVX512BW: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512BW: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 -; AVX512BW: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512BW: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 -; AVX512BW: Cost of 29 for VF 64: INTERLEAVE-GROUP with factor 3 at , ir<%out0> +; AVX512BW: Cost of 29 for VF 64: INTERLEAVE-GROUP with factor 3, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll index 7638868068de3..af0e22aa2130e 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll @@ -14,140 +14,140 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 28 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 28 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 60 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 60 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 124 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 124 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 -; SSE2: Cost of 252 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; SSE2: Cost of 252 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 17 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 33 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 33 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 66 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 66 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 132 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 -; AVX1: Cost of 268 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX1: Cost of 268 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 10 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 10 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 -; AVX2: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX2: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512DQ: Cost of 5 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 -; AVX512DQ: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512DQ: Cost of 5 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 -; AVX512DQ: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512DQ: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 -; AVX512DQ: Cost of 9 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512DQ: Cost of 9 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 -; AVX512DQ: Cost of 14 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512DQ: Cost of 14 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 -; AVX512DQ: Cost of 540 for VF 64: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512DQ: Cost of 540 for VF 64: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512BW: Cost of 11 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 -; AVX512BW: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512BW: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 -; AVX512BW: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512BW: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 -; AVX512BW: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512BW: Cost of 12 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 -; AVX512BW: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512BW: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 -; AVX512BW: Cost of 28 for VF 64: INTERLEAVE-GROUP with factor 4 at , ir<%out0> +; AVX512BW: Cost of 28 for VF 64: INTERLEAVE-GROUP with factor 4, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll index d0ef8457e45d2..14c99e33e8356 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll @@ -14,25 +14,25 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 44 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 44 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 87 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 87 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 178 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 178 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 -; SSE2: Cost of 360 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; SSE2: Cost of 360 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -40,31 +40,31 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 46 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 46 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 84 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 84 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 166 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 166 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 -; AVX1: Cost of 335 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX1: Cost of 335 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -72,31 +72,31 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 46 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 46 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 84 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 84 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 166 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 166 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 -; AVX2: Cost of 335 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX2: Cost of 335 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -104,37 +104,37 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512DQ: Cost of 24 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 -; AVX512DQ: Cost of 46 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512DQ: Cost of 46 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 -; AVX512DQ: Cost of 87 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512DQ: Cost of 87 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 -; AVX512DQ: Cost of 166 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512DQ: Cost of 166 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 -; AVX512DQ: Cost of 336 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512DQ: Cost of 336 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 -; AVX512DQ: Cost of 675 for VF 64: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512DQ: Cost of 675 for VF 64: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -142,37 +142,37 @@ define void @test() { ; AVX512DQ: store ir<%v4> to index 4 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 15 for VF 2: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512BW: Cost of 15 for VF 2: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 -; AVX512BW: Cost of 31 for VF 4: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512BW: Cost of 31 for VF 4: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 -; AVX512BW: Cost of 79 for VF 8: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512BW: Cost of 79 for VF 8: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 -; AVX512BW: Cost of 158 for VF 16: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512BW: Cost of 158 for VF 16: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 -; AVX512BW: Cost of 237 for VF 32: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512BW: Cost of 237 for VF 32: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 -; AVX512BW: Cost of 395 for VF 64: INTERLEAVE-GROUP with factor 5 at , ir<%out0> +; AVX512BW: Cost of 395 for VF 64: INTERLEAVE-GROUP with factor 5, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll index 3b1137a9b5e0f..85ce63cae0054 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll @@ -14,28 +14,28 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 49 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 49 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 98 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 98 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 201 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 201 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 ; SSE2: store ir<%v3> to index 3 ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 -; SSE2: Cost of 408 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; SSE2: Cost of 408 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -44,35 +44,35 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 27 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 27 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 53 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 53 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 100 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 100 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 198 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 198 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 ; AVX1: store ir<%v3> to index 3 ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 -; AVX1: Cost of 402 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX1: Cost of 402 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -81,35 +81,35 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 18 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 30 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 30 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 ; AVX2: store ir<%v3> to index 3 ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 -; AVX2: Cost of 96 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX2: Cost of 96 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -118,42 +118,42 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512DQ: Cost of 10 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 -; AVX512DQ: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512DQ: Cost of 12 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 -; AVX512DQ: Cost of 19 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512DQ: Cost of 19 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 -; AVX512DQ: Cost of 29 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512DQ: Cost of 29 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 -; AVX512DQ: Cost of 93 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512DQ: Cost of 93 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 ; AVX512DQ: store ir<%v3> to index 3 ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 -; AVX512DQ: Cost of 810 for VF 64: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512DQ: Cost of 810 for VF 64: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -162,42 +162,42 @@ define void @test() { ; AVX512DQ: store ir<%v5> to index 5 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512BW: Cost of 18 for VF 2: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 -; AVX512BW: Cost of 38 for VF 4: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512BW: Cost of 38 for VF 4: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 -; AVX512BW: Cost of 98 for VF 8: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512BW: Cost of 98 for VF 8: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 -; AVX512BW: Cost of 197 for VF 16: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512BW: Cost of 197 for VF 16: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 -; AVX512BW: Cost of 295 for VF 32: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512BW: Cost of 295 for VF 32: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 ; AVX512BW: store ir<%v3> to index 3 ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 -; AVX512BW: Cost of 591 for VF 64: INTERLEAVE-GROUP with factor 6 at , ir<%out0> +; AVX512BW: Cost of 591 for VF 64: INTERLEAVE-GROUP with factor 6, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll index 9852f0b4ef856..6c59a632eba6b 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll @@ -14,7 +14,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 57 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 57 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -22,7 +22,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 112 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 112 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -30,7 +30,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 225 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 225 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -38,7 +38,7 @@ define void @test() { ; SSE2: store ir<%v4> to index 4 ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 -; SSE2: Cost of 456 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; SSE2: Cost of 456 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -48,7 +48,7 @@ define void @test() { ; SSE2: store ir<%v6> to index 6 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -56,7 +56,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 63 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 63 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -64,7 +64,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 119 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 119 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -72,7 +72,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 232 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 232 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -80,7 +80,7 @@ define void @test() { ; AVX1: store ir<%v4> to index 4 ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 -; AVX1: Cost of 469 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX1: Cost of 469 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -90,7 +90,7 @@ define void @test() { ; AVX1: store ir<%v6> to index 6 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -98,7 +98,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 63 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 63 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -106,7 +106,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 119 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 119 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -114,7 +114,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 232 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 232 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -122,7 +122,7 @@ define void @test() { ; AVX2: store ir<%v4> to index 4 ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 -; AVX2: Cost of 469 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX2: Cost of 469 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -132,7 +132,7 @@ define void @test() { ; AVX2: store ir<%v6> to index 6 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512DQ: Cost of 34 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -140,7 +140,7 @@ define void @test() { ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 -; AVX512DQ: Cost of 63 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512DQ: Cost of 63 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -148,7 +148,7 @@ define void @test() { ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 -; AVX512DQ: Cost of 121 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512DQ: Cost of 121 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -156,7 +156,7 @@ define void @test() { ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 -; AVX512DQ: Cost of 234 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512DQ: Cost of 234 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -164,7 +164,7 @@ define void @test() { ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 -; AVX512DQ: Cost of 470 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512DQ: Cost of 470 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -172,7 +172,7 @@ define void @test() { ; AVX512DQ: store ir<%v4> to index 4 ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 -; AVX512DQ: Cost of 945 for VF 64: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512DQ: Cost of 945 for VF 64: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -182,7 +182,7 @@ define void @test() { ; AVX512DQ: store ir<%v6> to index 6 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512BW: Cost of 22 for VF 2: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -190,7 +190,7 @@ define void @test() { ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 -; AVX512BW: Cost of 46 for VF 4: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512BW: Cost of 46 for VF 4: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -198,7 +198,7 @@ define void @test() { ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 -; AVX512BW: Cost of 118 for VF 8: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512BW: Cost of 118 for VF 8: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -206,7 +206,7 @@ define void @test() { ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 -; AVX512BW: Cost of 236 for VF 16: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512BW: Cost of 236 for VF 16: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -214,7 +214,7 @@ define void @test() { ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 -; AVX512BW: Cost of 472 for VF 32: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512BW: Cost of 472 for VF 32: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -222,7 +222,7 @@ define void @test() { ; AVX512BW: store ir<%v4> to index 4 ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 -; AVX512BW: Cost of 826 for VF 64: INTERLEAVE-GROUP with factor 7 at , ir<%out0> +; AVX512BW: Cost of 826 for VF 64: INTERLEAVE-GROUP with factor 7, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll index 6bf688cd22a7f..7ea721d5abc50 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll @@ -14,7 +14,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; SSE2-LABEL: 'test' -; SSE2: Cost of 56 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 56 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -23,7 +23,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 120 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 120 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -32,7 +32,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 248 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 248 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -41,7 +41,7 @@ define void @test() { ; SSE2: store ir<%v5> to index 5 ; SSE2: store ir<%v6> to index 6 ; SSE2: store ir<%v7> to index 7 -; SSE2: Cost of 504 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; SSE2: Cost of 504 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; SSE2: store ir<%v> to index 0 ; SSE2: store ir<%v1> to index 1 ; SSE2: store ir<%v2> to index 2 @@ -52,7 +52,7 @@ define void @test() { ; SSE2: store ir<%v7> to index 7 ; ; AVX1-LABEL: 'test' -; AVX1: Cost of 33 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 33 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -61,7 +61,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -70,7 +70,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -79,7 +79,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -88,7 +88,7 @@ define void @test() { ; AVX1: store ir<%v5> to index 5 ; AVX1: store ir<%v6> to index 6 ; AVX1: store ir<%v7> to index 7 -; AVX1: Cost of 536 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX1: Cost of 536 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX1: store ir<%v> to index 0 ; AVX1: store ir<%v1> to index 1 ; AVX1: store ir<%v2> to index 2 @@ -99,7 +99,7 @@ define void @test() { ; AVX1: store ir<%v7> to index 7 ; ; AVX2-LABEL: 'test' -; AVX2: Cost of 33 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 33 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -108,7 +108,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -117,7 +117,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -126,7 +126,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -135,7 +135,7 @@ define void @test() { ; AVX2: store ir<%v5> to index 5 ; AVX2: store ir<%v6> to index 6 ; AVX2: store ir<%v7> to index 7 -; AVX2: Cost of 536 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX2: Cost of 536 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX2: store ir<%v> to index 0 ; AVX2: store ir<%v1> to index 1 ; AVX2: store ir<%v2> to index 2 @@ -146,7 +146,7 @@ define void @test() { ; AVX2: store ir<%v7> to index 7 ; ; AVX512DQ-LABEL: 'test' -; AVX512DQ: Cost of 33 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512DQ: Cost of 33 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -155,7 +155,7 @@ define void @test() { ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 ; AVX512DQ: store ir<%v7> to index 7 -; AVX512DQ: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512DQ: Cost of 66 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -164,7 +164,7 @@ define void @test() { ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 ; AVX512DQ: store ir<%v7> to index 7 -; AVX512DQ: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512DQ: Cost of 132 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -173,7 +173,7 @@ define void @test() { ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 ; AVX512DQ: store ir<%v7> to index 7 -; AVX512DQ: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512DQ: Cost of 264 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -182,7 +182,7 @@ define void @test() { ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 ; AVX512DQ: store ir<%v7> to index 7 -; AVX512DQ: Cost of 536 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512DQ: Cost of 536 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -191,7 +191,7 @@ define void @test() { ; AVX512DQ: store ir<%v5> to index 5 ; AVX512DQ: store ir<%v6> to index 6 ; AVX512DQ: store ir<%v7> to index 7 -; AVX512DQ: Cost of 1080 for VF 64: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512DQ: Cost of 1080 for VF 64: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512DQ: store ir<%v> to index 0 ; AVX512DQ: store ir<%v1> to index 1 ; AVX512DQ: store ir<%v2> to index 2 @@ -202,7 +202,7 @@ define void @test() { ; AVX512DQ: store ir<%v7> to index 7 ; ; AVX512BW-LABEL: 'test' -; AVX512BW: Cost of 25 for VF 2: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512BW: Cost of 25 for VF 2: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -211,7 +211,7 @@ define void @test() { ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 ; AVX512BW: store ir<%v7> to index 7 -; AVX512BW: Cost of 53 for VF 4: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512BW: Cost of 53 for VF 4: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -220,7 +220,7 @@ define void @test() { ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 ; AVX512BW: store ir<%v7> to index 7 -; AVX512BW: Cost of 137 for VF 8: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512BW: Cost of 137 for VF 8: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -229,7 +229,7 @@ define void @test() { ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 ; AVX512BW: store ir<%v7> to index 7 -; AVX512BW: Cost of 275 for VF 16: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512BW: Cost of 275 for VF 16: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -238,7 +238,7 @@ define void @test() { ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 ; AVX512BW: store ir<%v7> to index 7 -; AVX512BW: Cost of 550 for VF 32: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512BW: Cost of 550 for VF 32: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 @@ -247,7 +247,7 @@ define void @test() { ; AVX512BW: store ir<%v5> to index 5 ; AVX512BW: store ir<%v6> to index 6 ; AVX512BW: store ir<%v7> to index 7 -; AVX512BW: Cost of 1100 for VF 64: INTERLEAVE-GROUP with factor 8 at , ir<%out0> +; AVX512BW: Cost of 1100 for VF 64: INTERLEAVE-GROUP with factor 8, ir<%out0> ; AVX512BW: store ir<%v> to index 0 ; AVX512BW: store ir<%v1> to index 1 ; AVX512BW: store ir<%v2> to index 2 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-load-i16.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-load-i16.ll index b020bf1363c82..af9bd7c7f4e5b 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-load-i16.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-load-i16.ll @@ -34,16 +34,16 @@ define void @test1(ptr noalias nocapture %points, ptr noalias nocapture readonly ; ENABLED_MASKED_STRIDED-LABEL: 'test1' ; ENABLED_MASKED_STRIDED: LV: Found an estimated cost of 1 for VF 1 For instruction: %i2 = load i16, ptr %arrayidx2, align 2 ; ENABLED_MASKED_STRIDED: LV: Found an estimated cost of 1 for VF 1 For instruction: %i4 = load i16, ptr %arrayidx7, align 2 -; ENABLED_MASKED_STRIDED: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at %i2, ir<%arrayidx2> +; ENABLED_MASKED_STRIDED: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2> ; ENABLED_MASKED_STRIDED: ir<%i2> = load from index 0 ; ENABLED_MASKED_STRIDED: ir<%i4> = load from index 1 -; ENABLED_MASKED_STRIDED: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 4 at %i2, ir<%arrayidx2> +; ENABLED_MASKED_STRIDED: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2> ; ENABLED_MASKED_STRIDED: ir<%i2> = load from index 0 ; ENABLED_MASKED_STRIDED: ir<%i4> = load from index 1 -; ENABLED_MASKED_STRIDED: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 4 at %i2, ir<%arrayidx2> +; ENABLED_MASKED_STRIDED: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2> ; ENABLED_MASKED_STRIDED: ir<%i2> = load from index 0 ; ENABLED_MASKED_STRIDED: ir<%i4> = load from index 1 -; ENABLED_MASKED_STRIDED: Cost of 17 for VF 16: INTERLEAVE-GROUP with factor 4 at %i2, ir<%arrayidx2> +; ENABLED_MASKED_STRIDED: Cost of 17 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2> ; ENABLED_MASKED_STRIDED: ir<%i2> = load from index 0 ; ENABLED_MASKED_STRIDED: ir<%i4> = load from index 1 ; @@ -95,16 +95,16 @@ define void @test2(ptr noalias nocapture %points, i32 %numPoints, ptr noalias no ; ENABLED_MASKED_STRIDED-LABEL: 'test2' ; ENABLED_MASKED_STRIDED: LV: Found an estimated cost of 1 for VF 1 For instruction: %i2 = load i16, ptr %arrayidx2, align 2 ; ENABLED_MASKED_STRIDED: LV: Found an estimated cost of 1 for VF 1 For instruction: %i4 = load i16, ptr %arrayidx7, align 2 -; ENABLED_MASKED_STRIDED: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4 at %i2, ir<%arrayidx2>, vp<[[VP8:%[0-9]+]]> +; ENABLED_MASKED_STRIDED: Cost of 8 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2>, vp<[[VP8:%[0-9]+]]> ; ENABLED_MASKED_STRIDED: ir<%i2> = load from index 0 ; ENABLED_MASKED_STRIDED: ir<%i4> = load from index 1 -; ENABLED_MASKED_STRIDED: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 4 at %i2, ir<%arrayidx2>, vp<[[VP8]]> +; ENABLED_MASKED_STRIDED: Cost of 11 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2>, vp<[[VP8]]> ; ENABLED_MASKED_STRIDED: ir<%i2> = load from index 0 ; ENABLED_MASKED_STRIDED: ir<%i4> = load from index 1 -; ENABLED_MASKED_STRIDED: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 4 at %i2, ir<%arrayidx2>, vp<[[VP8]]> +; ENABLED_MASKED_STRIDED: Cost of 11 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2>, vp<[[VP8]]> ; ENABLED_MASKED_STRIDED: ir<%i2> = load from index 0 ; ENABLED_MASKED_STRIDED: ir<%i4> = load from index 1 -; ENABLED_MASKED_STRIDED: Cost of 17 for VF 16: INTERLEAVE-GROUP with factor 4 at %i2, ir<%arrayidx2>, vp<[[VP8]]> +; ENABLED_MASKED_STRIDED: Cost of 17 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2>, vp<[[VP8]]> ; ENABLED_MASKED_STRIDED: ir<%i2> = load from index 0 ; ENABLED_MASKED_STRIDED: ir<%i4> = load from index 1 ; @@ -162,13 +162,13 @@ define void @test(ptr noalias nocapture %points, ptr noalias nocapture readonly ; ENABLED_MASKED_STRIDED-LABEL: 'test' ; ENABLED_MASKED_STRIDED: LV: Found an estimated cost of 1 for VF 1 For instruction: %i2 = load i16, ptr %arrayidx, align 2 ; ENABLED_MASKED_STRIDED: LV: Found an estimated cost of 1 for VF 1 For instruction: %i4 = load i16, ptr %arrayidx6, align 2 -; ENABLED_MASKED_STRIDED: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3 at %i4, ir<%arrayidx6>, ir<%cmp1> +; ENABLED_MASKED_STRIDED: Cost of 7 for VF 2: INTERLEAVE-GROUP with factor 3, ir<%arrayidx6>, ir<%cmp1> ; ENABLED_MASKED_STRIDED: ir<%i4> = load from index 0 -; ENABLED_MASKED_STRIDED: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 3 at %i4, ir<%arrayidx6>, ir<%cmp1> +; ENABLED_MASKED_STRIDED: Cost of 9 for VF 4: INTERLEAVE-GROUP with factor 3, ir<%arrayidx6>, ir<%cmp1> ; ENABLED_MASKED_STRIDED: ir<%i4> = load from index 0 -; ENABLED_MASKED_STRIDED: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 3 at %i4, ir<%arrayidx6>, ir<%cmp1> +; ENABLED_MASKED_STRIDED: Cost of 9 for VF 8: INTERLEAVE-GROUP with factor 3, ir<%arrayidx6>, ir<%cmp1> ; ENABLED_MASKED_STRIDED: ir<%i4> = load from index 0 -; ENABLED_MASKED_STRIDED: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 3 at %i4, ir<%arrayidx6>, ir<%cmp1> +; ENABLED_MASKED_STRIDED: Cost of 14 for VF 16: INTERLEAVE-GROUP with factor 3, ir<%arrayidx6>, ir<%cmp1> ; ENABLED_MASKED_STRIDED: ir<%i4> = load from index 0 ; entry: diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll index 7e0f17a42bc9d..5f561b4403fba 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll @@ -36,9 +36,9 @@ define void @test1(ptr noalias nocapture %points, ptr noalias nocapture readonly ; ENABLED_MASKED_STRIDED: LV: Found an estimated cost of 1 for VF 1 For instruction: store i16 %2, ptr %arrayidx7, align 2 ; ENABLED_MASKED_STRIDED: Cost of 6 for VF 2: REPLICATE store ir<%0>, ir<%arrayidx2> ; ENABLED_MASKED_STRIDED: Cost of 6 for VF 2: REPLICATE store ir<%2>, ir<%arrayidx7> -; ENABLED_MASKED_STRIDED: Cost of 14 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx2> -; ENABLED_MASKED_STRIDED: Cost of 14 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx2> -; ENABLED_MASKED_STRIDED: Cost of 27 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx2> +; ENABLED_MASKED_STRIDED: Cost of 14 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2> +; ENABLED_MASKED_STRIDED: Cost of 14 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2> +; ENABLED_MASKED_STRIDED: Cost of 27 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2> ; entry: br label %for.body @@ -88,10 +88,10 @@ define void @test2(ptr noalias nocapture %points, i32 %numPoints, ptr noalias no ; ENABLED_MASKED_STRIDED-LABEL: 'test2' ; ENABLED_MASKED_STRIDED: LV: Found an estimated cost of 1 for VF 1 For instruction: store i16 %0, ptr %arrayidx2, align 2 ; ENABLED_MASKED_STRIDED: LV: Found an estimated cost of 1 for VF 1 For instruction: store i16 %2, ptr %arrayidx7, align 2 -; ENABLED_MASKED_STRIDED: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx2>, vp<[[VP8:%[0-9]+]]> -; ENABLED_MASKED_STRIDED: Cost of 14 for VF 4: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx2>, vp<[[VP8]]> -; ENABLED_MASKED_STRIDED: Cost of 14 for VF 8: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx2>, vp<[[VP8]]> -; ENABLED_MASKED_STRIDED: Cost of 27 for VF 16: INTERLEAVE-GROUP with factor 4 at , ir<%arrayidx2>, vp<[[VP8]]> +; ENABLED_MASKED_STRIDED: Cost of 13 for VF 2: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2>, vp<[[VP8:%[0-9]+]]> +; ENABLED_MASKED_STRIDED: Cost of 14 for VF 4: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2>, vp<[[VP8]]> +; ENABLED_MASKED_STRIDED: Cost of 14 for VF 8: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2>, vp<[[VP8]]> +; ENABLED_MASKED_STRIDED: Cost of 27 for VF 16: INTERLEAVE-GROUP with factor 4, ir<%arrayidx2>, vp<[[VP8]]> ; entry: %cmp15 = icmp sgt i32 %numPoints, 0 diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i16.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i16.ll index 65182911e3b04..2e479adbe03d6 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i16.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i16.ll @@ -10,11 +10,11 @@ target triple = "x86_64-unknown-linux-gnu" define void @load_i16_stride2() { ;CHECK-LABEL: load_i16_stride2 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 2 for VF 16: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 3 for VF 32: INTERLEAVE-GROUP with factor 2 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 2 for VF 16: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 3 for VF 32: INTERLEAVE-GROUP with factor 2, entry: br label %for.body @@ -36,11 +36,11 @@ for.end: define void @load_i16_stride3() { ;CHECK-LABEL: load_i16_stride3 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 3 for VF 16: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 5 for VF 32: INTERLEAVE-GROUP with factor 3 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 3 for VF 16: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 5 for VF 32: INTERLEAVE-GROUP with factor 3, entry: br label %for.body @@ -62,11 +62,11 @@ for.end: define void @load_i16_stride4() { ;CHECK-LABEL: load_i16_stride4 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 3 for VF 16: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 8 for VF 32: INTERLEAVE-GROUP with factor 4 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 2 for VF 8: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 3 for VF 16: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 8 for VF 32: INTERLEAVE-GROUP with factor 4, entry: br label %for.body @@ -88,11 +88,11 @@ for.end: define void @load_i16_stride5() { ;CHECK-LABEL: load_i16_stride5 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 5 at %1, -;CHECK: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 5 at %1, -;CHECK: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 5 at %1, -;CHECK: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 5 at %1, -;CHECK: Cost of 10 for VF 32: INTERLEAVE-GROUP with factor 5 at %1, +;CHECK: Cost of 2 for VF 2: INTERLEAVE-GROUP with factor 5, +;CHECK: Cost of 2 for VF 4: INTERLEAVE-GROUP with factor 5, +;CHECK: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 5, +;CHECK: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 5, +;CHECK: Cost of 10 for VF 32: INTERLEAVE-GROUP with factor 5, entry: br label %for.body diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll index 77cf0d166a2e7..36a11e6baf8ac 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll @@ -10,10 +10,10 @@ target triple = "x86_64-unknown-linux-gnu" define void @load_int_stride2() { ;CHECK-LABEL: load_int_stride2 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 1 for VF 8: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 3 for VF 16: INTERLEAVE-GROUP with factor 2 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 1 for VF 8: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 3 for VF 16: INTERLEAVE-GROUP with factor 2, entry: br label %for.body @@ -35,10 +35,10 @@ for.end: define void @load_int_stride3() { ;CHECK-LABEL: load_int_stride3 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 3 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 5 for VF 16: INTERLEAVE-GROUP with factor 3, entry: br label %for.body @@ -60,10 +60,10 @@ for.end: define void @load_int_stride4() { ;CHECK-LABEL: load_int_stride4 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 4 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 4, entry: br label %for.body @@ -85,10 +85,10 @@ for.end: define void @load_int_stride5() { ;CHECK-LABEL: load_int_stride5 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 5 at %1, -;CHECK: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 5 at %1, -;CHECK: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 5 at %1, -;CHECK: Cost of 10 for VF 16: INTERLEAVE-GROUP with factor 5 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 5, +;CHECK: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 5, +;CHECK: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 5, +;CHECK: Cost of 10 for VF 16: INTERLEAVE-GROUP with factor 5, entry: br label %for.body diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll index 8e264609959ec..c9a3de926250f 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll @@ -10,9 +10,9 @@ target triple = "x86_64-unknown-linux-gnu" define void @load_i64_stride2() { ;CHECK-LABEL: load_i64_stride2 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, entry: br label %for.body @@ -34,9 +34,9 @@ for.end: define void @load_i64_stride3() { ;CHECK-LABEL: load_i64_stride3 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 3 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 5 for VF 8: INTERLEAVE-GROUP with factor 3, entry: br label %for.body @@ -58,9 +58,9 @@ for.end: define void @load_i64_stride4() { ;CHECK-LABEL: load_i64_stride4 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 4 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 4, entry: br label %for.body diff --git a/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i8.ll b/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i8.ll index c078e40c0caa4..df0a191ce638f 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i8.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i8.ll @@ -10,12 +10,12 @@ target triple = "x86_64-unknown-linux-gnu" define void @load_i8_stride2() { ;CHECK-LABEL: load_i8_stride2 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 1 for VF 8: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 8 for VF 32: INTERLEAVE-GROUP with factor 2 at %1, -;CHECK: Cost of 20 for VF 64: INTERLEAVE-GROUP with factor 2 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 1 for VF 8: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 4 for VF 16: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 8 for VF 32: INTERLEAVE-GROUP with factor 2, +;CHECK: Cost of 20 for VF 64: INTERLEAVE-GROUP with factor 2, entry: br label %for.body @@ -37,12 +37,12 @@ for.end: define void @load_i8_stride3() { ;CHECK-LABEL: load_i8_stride3 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 3 at %1, -;CHECK: Cost of 25 for VF 64: INTERLEAVE-GROUP with factor 3 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 13 for VF 16: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 16 for VF 32: INTERLEAVE-GROUP with factor 3, +;CHECK: Cost of 25 for VF 64: INTERLEAVE-GROUP with factor 3, entry: br label %for.body @@ -64,12 +64,12 @@ for.end: define void @load_i8_stride4() { ;CHECK-LABEL: load_i8_stride4 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 20 for VF 32: INTERLEAVE-GROUP with factor 4 at %1, -;CHECK: Cost of 59 for VF 64: INTERLEAVE-GROUP with factor 4 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 1 for VF 4: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 4 for VF 8: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 8 for VF 16: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 20 for VF 32: INTERLEAVE-GROUP with factor 4, +;CHECK: Cost of 59 for VF 64: INTERLEAVE-GROUP with factor 4, entry: br label %for.body @@ -91,12 +91,12 @@ for.end: define void @load_i8_stride5() { ;CHECK-LABEL: load_i8_stride5 ;CHECK: Found an estimated cost of 1 for VF 1 For instruction: %1 = load -;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 5 at %1, -;CHECK: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 5 at %1, -;CHECK: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 5 at %1, -;CHECK: Cost of 20 for VF 16: INTERLEAVE-GROUP with factor 5 at %1, -;CHECK: Cost of 39 for VF 32: INTERLEAVE-GROUP with factor 5 at %1, -;CHECK: Cost of 78 for VF 64: INTERLEAVE-GROUP with factor 5 at %1, +;CHECK: Cost of 1 for VF 2: INTERLEAVE-GROUP with factor 5, +;CHECK: Cost of 4 for VF 4: INTERLEAVE-GROUP with factor 5, +;CHECK: Cost of 8 for VF 8: INTERLEAVE-GROUP with factor 5, +;CHECK: Cost of 20 for VF 16: INTERLEAVE-GROUP with factor 5, +;CHECK: Cost of 39 for VF 32: INTERLEAVE-GROUP with factor 5, +;CHECK: Cost of 78 for VF 64: INTERLEAVE-GROUP with factor 5, entry: br label %for.body diff --git a/llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll b/llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll index e8b8e4bccea7d..714ddb3b04317 100644 --- a/llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll +++ b/llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll @@ -1,4 +1,4 @@ -; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --filter "LV: Found an estimated cost of [0-9]+ for VF [0-9]+ For instruction:\s*%v0 = load float, float\* %in0, align 4" --filter "Cost of [0-9]+ for VF [0-9]+: INTERLEAVE-GROUP with factor 2 at %v0" +; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --filter "LV: Found an estimated cost of [0-9]+ for VF [0-9]+ For instruction:\s*%v0 = load float, float\* %in0, align 4" --filter "Cost of [0-9]+ for VF [0-9]+: INTERLEAVE-GROUP with factor 2, ir<%in0>" ; RUN: opt -passes=loop-vectorize -vectorizer-maximize-bandwidth -S -mattr=+avx512bw --debug-only=loop-vectorize < %s 2>&1 | FileCheck %s --check-prefixes=CHECK,AVX512 ; REQUIRES: asserts diff --git a/llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected b/llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected index 7d919e2298957..3abf35ff0feba 100644 --- a/llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected +++ b/llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected @@ -1,4 +1,4 @@ -; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --filter "LV: Found an estimated cost of [0-9]+ for VF [0-9]+ For instruction:\s*%v0 = load float, ptr %in0, align 4" --filter "Cost of [0-9]+ for VF [0-9]+: INTERLEAVE-GROUP with factor 2 at %v0" --filter "LV: Found an estimated cost of [0-9]+ for VF [0-9]+ For instruction:\s*%v0 = load float, float\* %in0, align 4" +; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --filter "LV: Found an estimated cost of [0-9]+ for VF [0-9]+ For instruction:\s*%v0 = load float, ptr %in0, align 4" --filter "Cost of [0-9]+ for VF [0-9]+: INTERLEAVE-GROUP with factor 2, ir<%in0>" --filter "LV: Found an estimated cost of [0-9]+ for VF [0-9]+ For instruction:\s*%v0 = load float, float\* %in0, align 4" ; RUN: opt -passes=loop-vectorize -vectorizer-maximize-bandwidth -S -mattr=+avx512bw --debug-only=loop-vectorize < %s 2>&1 | FileCheck %s --check-prefixes=CHECK,AVX512 ; REQUIRES: asserts @@ -11,12 +11,12 @@ target triple = "x86_64-unknown-linux-gnu" define void @test() { ; CHECK-LABEL: 'test' ; CHECK: LV: Found an estimated cost of 1 for VF 1 For instruction: %v0 = load float, ptr %in0, align 4 -; CHECK: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> -; CHECK: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> -; CHECK: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> -; CHECK: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> -; CHECK: Cost of 34 for VF 32: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> -; CHECK: Cost of 148 for VF 64: INTERLEAVE-GROUP with factor 2 at %v0, ir<%in0> +; CHECK: Cost of 3 for VF 2: INTERLEAVE-GROUP with factor 2, ir<%in0> +; CHECK: Cost of 3 for VF 4: INTERLEAVE-GROUP with factor 2, ir<%in0> +; CHECK: Cost of 3 for VF 8: INTERLEAVE-GROUP with factor 2, ir<%in0> +; CHECK: Cost of 7 for VF 16: INTERLEAVE-GROUP with factor 2, ir<%in0> +; CHECK: Cost of 34 for VF 32: INTERLEAVE-GROUP with factor 2, ir<%in0> +; CHECK: Cost of 148 for VF 64: INTERLEAVE-GROUP with factor 2, ir<%in0> ; entry: br label %for.body diff --git a/llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test b/llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test index bdfac53db2f17..c82ea022edd6f 100644 --- a/llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test +++ b/llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test @@ -1,11 +1,11 @@ # REQUIRES: x86-registered-target, asserts ## Check that --filter works properly with both legacy and VPlan cost model output. -# RUN: cp -f %S/Inputs/x86-loopvectorize-costmodel.ll %t.ll && %update_analyze_test_checks --filter "LV: Found an estimated cost of [0-9]+ for VF [0-9]+ For instruction:\s*%v0 = load float, ptr %in0, align 4" --filter "Cost of [0-9]+ for VF [0-9]+: INTERLEAVE-GROUP with factor 2 at %%v0" %t.ll +# RUN: cp -f %S/Inputs/x86-loopvectorize-costmodel.ll %t.ll && %update_analyze_test_checks --filter "LV: Found an estimated cost of [0-9]+ for VF [0-9]+ For instruction:\s*%v0 = load float, ptr %in0, align 4" --filter "Cost of [0-9]+ for VF [0-9]+: INTERLEAVE-GROUP with factor 2, ir<%%in0>" %t.ll # RUN: diff -u %t.ll %S/Inputs/x86-loopvectorize-costmodel.ll.expected ## Check that running the script again does not change the result: -# RUN: %update_analyze_test_checks --filter "LV: Found an estimated cost of [0-9]+ for VF [0-9]+ For instruction:\s*%v0 = load float, ptr %in0, align 4" --filter "Cost of [0-9]+ for VF [0-9]+: INTERLEAVE-GROUP with factor 2 at %%v0" %t.ll +# RUN: %update_analyze_test_checks --filter "LV: Found an estimated cost of [0-9]+ for VF [0-9]+ For instruction:\s*%v0 = load float, ptr %in0, align 4" --filter "Cost of [0-9]+ for VF [0-9]+: INTERLEAVE-GROUP with factor 2, ir<%%in0>" %t.ll # RUN: diff -u %t.ll %S/Inputs/x86-loopvectorize-costmodel.ll.expected ## Check that running the script again, without arguments, does not change the result: