[llvm] [AArch64] Use indexed dup for 128b segmented splat (PR #144688)

Sander de Smalen via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 18 05:50:37 PDT 2025


================
@@ -29317,6 +29317,17 @@ SDValue AArch64TargetLowering::LowerFixedLengthConcatVectorsToSVE(
   EVT VT = Op.getValueType();
   EVT SrcVT = SrcOp1.getValueType();
 
+  // Match a splat of 128b segments that fit in a single register.
+  if (SrcVT.is128BitVector() && all_equal(Op.getNode()->op_values()) &&
+      VT.getSizeInBits() <= Subtarget->getMinSVEVectorSizeInBits()) {
----------------
sdesmalen-arm wrote:

nit: Is this check actually required? (if it got to the point of lowering the operation, I would think this condition is always true)

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


More information about the llvm-commits mailing list