[llvm] [LV] Improve cost model for some replicating recipes (PR #192056)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 17 06:15:42 PDT 2026


================
@@ -343,11 +343,125 @@ define void @test_store_loaded_value(ptr noalias %src, ptr noalias %dst, i32 %n)
 ; I64-NEXT:    [[MIN_ITERS_CHECK:%.*]] = icmp ult i64 [[N_EXT]], 4
 ; I64-NEXT:    br i1 [[MIN_ITERS_CHECK]], label %[[SCALAR_PH:.*]], label %[[VECTOR_PH:.*]]
 ; I64:       [[VECTOR_PH]]:
+; I64-NEXT:    [[MIN_ITERS_CHECK1:%.*]] = icmp ult i64 [[N_EXT]], 16
+; I64-NEXT:    br i1 [[MIN_ITERS_CHECK1]], label %[[VEC_EPILOG_PH:.*]], label %[[VECTOR_PH1:.*]]
+; I64:       [[VECTOR_PH1]]:
+; I64-NEXT:    [[N_MOD_VF1:%.*]] = urem i64 [[N_EXT]], 16
+; I64-NEXT:    [[N_VEC1:%.*]] = sub i64 [[N_EXT]], [[N_MOD_VF1]]
+; I64-NEXT:    br label %[[VECTOR_BODY1:.*]]
+; I64:       [[VECTOR_BODY1]]:
+; I64-NEXT:    [[INDEX1:%.*]] = phi i64 [ 0, %[[VECTOR_PH1]] ], [ [[INDEX_NEXT1:%.*]], %[[VECTOR_BODY1]] ]
+; I64-NEXT:    [[TMP0:%.*]] = add i64 [[INDEX1]], 1
----------------
fhahn wrote:

This looks like another case where it looks like there's no gain over the scalar loop?

https://github.com/llvm/llvm-project/pull/192056


More information about the llvm-commits mailing list