[llvm] [LAA] Rework getStrideFromPointer, speculate more (PR #212816)

Andrei Elovikov via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 30 11:54:29 PDT 2026


================
@@ -466,14 +463,14 @@ define void @byte_gep_under_scaled_stride(ptr noalias %p.out, ptr %p, i64 %strid
 ; COMPARE-LAA-MV-NEXT:  [[ENTRY:.*:]]
 ; COMPARE-LAA-MV-NEXT:    br label %[[VECTOR_PH:.*]]
 ; COMPARE-LAA-MV:       [[VECTOR_PH]]:
-; COMPARE-LAA-MV-NEXT:    [[BROADCAST_SPLATINSERT:%.*]] = insertelement <4 x i64> poison, i64 [[STRIDE]], i64 0
-; COMPARE-LAA-MV-NEXT:    [[BROADCAST_SPLAT:%.*]] = shufflevector <4 x i64> [[BROADCAST_SPLATINSERT]], <4 x i64> poison, <4 x i32> zeroinitializer
-; COMPARE-LAA-MV-NEXT:    [[TMP0:%.*]] = shl <4 x i64> [[BROADCAST_SPLAT]], splat (i64 2)
+; COMPARE-LAA-MV-NEXT:    [[IDENT_CHECK:%.*]] = icmp ne i64 [[STRIDE]], 1
----------------
eas wrote:

This is a regression, potentially pre-existing bug in LAA before your change - see comment on line 418 (and I think this file might have another test triggering it without your change, but I might be wrong).

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


More information about the llvm-commits mailing list