[llvm] [IR][REVEC] Define llvm.vector.broadcast intrinsic (PR #208212)
Gaƫtan Bossu via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 21 10:56:18 PDT 2026
================
@@ -20591,6 +20537,29 @@ runtime, then the result vector is a {ref}`poison value <poisonvalues>`. The
`idx` parameter must be a vector index constant type (for most targets this
will be an integer pointer type).
+#### '`llvm.vector.repeat`' Intrinsic
+
+##### Syntax:
+This is an overloaded intrinsic.
+
+```
+declare <vscale x 16 x i8> @llvm.vector.repeat.nxv16i8.v16i8(<16 x i8> %vec)
+```
+
+##### Overview:
+
+The '`llvm.vector.repeat.*`' intrinsic repeatedly copies the elements of the
+source fixed-length vector, in order, until the result scalable vector is
+filled. For example, repeating `<A, B>` produces a scalable vector containing
+`vscale` copies of `<A, B>`.
+
+##### Arguments:
+
+The argument must be a fixed-length vector and the result must be a scalable
+vector with the same element type and minimum element count. In other words,
+the result type is formed by adding `vscale x` in front of the argument type's
+element count.
----------------
gbossu wrote:
I think that's better. Thanks for the suggestions, I was struggling to concisely define the intrinsic.
https://github.com/llvm/llvm-project/pull/208212
More information about the llvm-commits
mailing list