[llvm] [VPlan] Support scalable VFs in narrowInterleaveGroups. (PR #154842)

David Sherwood via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 27 02:56:26 PDT 2025


================
@@ -16,18 +16,15 @@ define void @load_store_interleave_group(ptr noalias %data) {
 ; CHECK-NEXT:    [[TMP3:%.*]] = mul nuw i64 [[TMP2]], 2
 ; CHECK-NEXT:    [[N_MOD_VF:%.*]] = urem i64 100, [[TMP3]]
 ; CHECK-NEXT:    [[N_VEC:%.*]] = sub i64 100, [[N_MOD_VF]]
+; CHECK-NEXT:    [[TMP6:%.*]] = call i64 @llvm.vscale.i64()
----------------
david-arm wrote:

Hmm, is the calculation of N_VEC still correct here? The vector loop is processing half the number of iterations compared to before, so I thought the calculation needed updating. Does the narrowing only take place for power-of-2 interleave factors?

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


More information about the llvm-commits mailing list