@@ -18805,7 +18805,7 @@ runtime, then the result vector is a :ref:`poison value <poisonvalues>`. The
1880518805``idx`` parameter must be a vector index constant type (for most targets this
1880618806will be an integer pointer type).
1880718807
18808- '``llvm.experimental. vector.reverse``' Intrinsic
18808+ '``llvm.vector.reverse``' Intrinsic
1880918809^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1881018810
1881118811Syntax:
@@ -18814,25 +18814,26 @@ This is an overloaded intrinsic.
1881418814
1881518815::
1881618816
18817- declare <2 x i8> @llvm.experimental. vector.reverse.v2i8(<2 x i8> %a)
18818- declare <vscale x 4 x i32> @llvm.experimental. vector.reverse.nxv4i32(<vscale x 4 x i32> %a)
18817+ declare <2 x i8> @llvm.vector.reverse.v2i8(<2 x i8> %a)
18818+ declare <vscale x 4 x i32> @llvm.vector.reverse.nxv4i32(<vscale x 4 x i32> %a)
1881918819
1882018820Overview:
1882118821"""""""""
1882218822
18823- The '``llvm.experimental. vector.reverse.*``' intrinsics reverse a vector.
18823+ The '``llvm.vector.reverse.*``' intrinsics reverse a vector.
1882418824The intrinsic takes a single vector and returns a vector of matching type but
1882518825with the original lane order reversed. These intrinsics work for both fixed
18826- and scalable vectors. While this intrinsic is marked as experimental the
18827- recommended way to express reverse operations for fixed-width vectors is still
18828- to use a shufflevector, as that may allow for more optimization opportunities.
18826+ and scalable vectors. While this intrinsic supports all vector types
18827+ the recommended way to express this operation for fixed-width vectors is
18828+ still to use a shufflevector, as that may allow for more optimization
18829+ opportunities.
1882918830
1883018831Arguments:
1883118832""""""""""
1883218833
1883318834The argument to this intrinsic must be a vector.
1883418835
18835- '``llvm.experimental. vector.deinterleave2``' Intrinsic
18836+ '``llvm.vector.deinterleave2``' Intrinsic
1883618837^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1883718838
1883818839Syntax:
@@ -18841,13 +18842,13 @@ This is an overloaded intrinsic.
1884118842
1884218843::
1884318844
18844- declare {<2 x double>, <2 x double>} @llvm.experimental. vector.deinterleave2.v4f64(<4 x double> %vec1)
18845- declare {<vscale x 4 x i32>, <vscale x 4 x i32>} @llvm.experimental. vector.deinterleave2.nxv8i32(<vscale x 8 x i32> %vec1)
18845+ declare {<2 x double>, <2 x double>} @llvm.vector.deinterleave2.v4f64(<4 x double> %vec1)
18846+ declare {<vscale x 4 x i32>, <vscale x 4 x i32>} @llvm.vector.deinterleave2.nxv8i32(<vscale x 8 x i32> %vec1)
1884618847
1884718848Overview:
1884818849"""""""""
1884918850
18850- The '``llvm.experimental. vector.deinterleave2``' intrinsic constructs two
18851+ The '``llvm.vector.deinterleave2``' intrinsic constructs two
1885118852vectors by deinterleaving the even and odd lanes of the input vector.
1885218853
1885318854This intrinsic works for both fixed and scalable vectors. While this intrinsic
@@ -18859,15 +18860,15 @@ For example:
1885918860
1886018861.. code-block:: text
1886118862
18862- {<2 x i64>, <2 x i64>} llvm.experimental. vector.deinterleave2.v4i64(<4 x i64> <i64 0, i64 1, i64 2, i64 3>); ==> {<2 x i64> <i64 0, i64 2>, <2 x i64> <i64 1, i64 3>}
18863+ {<2 x i64>, <2 x i64>} llvm.vector.deinterleave2.v4i64(<4 x i64> <i64 0, i64 1, i64 2, i64 3>); ==> {<2 x i64> <i64 0, i64 2>, <2 x i64> <i64 1, i64 3>}
1886318864
1886418865Arguments:
1886518866""""""""""
1886618867
1886718868The argument is a vector whose type corresponds to the logical concatenation of
1886818869the two result types.
1886918870
18870- '``llvm.experimental. vector.interleave2``' Intrinsic
18871+ '``llvm.vector.interleave2``' Intrinsic
1887118872^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1887218873
1887318874Syntax:
@@ -18876,13 +18877,13 @@ This is an overloaded intrinsic.
1887618877
1887718878::
1887818879
18879- declare <4 x double> @llvm.experimental. vector.interleave2.v4f64(<2 x double> %vec1, <2 x double> %vec2)
18880- declare <vscale x 8 x i32> @llvm.experimental. vector.interleave2.nxv8i32(<vscale x 4 x i32> %vec1, <vscale x 4 x i32> %vec2)
18880+ declare <4 x double> @llvm.vector.interleave2.v4f64(<2 x double> %vec1, <2 x double> %vec2)
18881+ declare <vscale x 8 x i32> @llvm.vector.interleave2.nxv8i32(<vscale x 4 x i32> %vec1, <vscale x 4 x i32> %vec2)
1888118882
1888218883Overview:
1888318884"""""""""
1888418885
18885- The '``llvm.experimental. vector.interleave2``' intrinsic constructs a vector
18886+ The '``llvm.vector.interleave2``' intrinsic constructs a vector
1888618887by interleaving two input vectors.
1888718888
1888818889This intrinsic works for both fixed and scalable vectors. While this intrinsic
@@ -18894,7 +18895,7 @@ For example:
1889418895
1889518896.. code-block:: text
1889618897
18897- <4 x i64> llvm.experimental. vector.interleave2.v4i64(<2 x i64> <i64 0, i64 2>, <2 x i64> <i64 1, i64 3>); ==> <4 x i64> <i64 0, i64 1, i64 2, i64 3>
18898+ <4 x i64> llvm.vector.interleave2.v4i64(<2 x i64> <i64 0, i64 2>, <2 x i64> <i64 1, i64 3>); ==> <4 x i64> <i64 0, i64 1, i64 2, i64 3>
1889818899
1889918900Arguments:
1890018901""""""""""
@@ -18940,7 +18941,7 @@ The '``llvm.experimental.cttz.elts``' intrinsic counts the trailing (least
1894018941significant) zero elements in a vector. If ``src == 0`` the result is the
1894118942number of elements in the input vector.
1894218943
18943- '``llvm.experimental. vector.splice``' Intrinsic
18944+ '``llvm.vector.splice``' Intrinsic
1894418945^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1894518946
1894618947Syntax:
@@ -18949,13 +18950,13 @@ This is an overloaded intrinsic.
1894918950
1895018951::
1895118952
18952- declare <2 x double> @llvm.experimental. vector.splice.v2f64(<2 x double> %vec1, <2 x double> %vec2, i32 %imm)
18953- declare <vscale x 4 x i32> @llvm.experimental. vector.splice.nxv4i32(<vscale x 4 x i32> %vec1, <vscale x 4 x i32> %vec2, i32 %imm)
18953+ declare <2 x double> @llvm.vector.splice.v2f64(<2 x double> %vec1, <2 x double> %vec2, i32 %imm)
18954+ declare <vscale x 4 x i32> @llvm.vector.splice.nxv4i32(<vscale x 4 x i32> %vec1, <vscale x 4 x i32> %vec2, i32 %imm)
1895418955
1895518956Overview:
1895618957"""""""""
1895718958
18958- The '``llvm.experimental. vector.splice.*``' intrinsics construct a vector by
18959+ The '``llvm.vector.splice.*``' intrinsics construct a vector by
1895918960concatenating elements from the first input vector with elements of the second
1896018961input vector, returning a vector of the same type as the input vectors. The
1896118962signed immediate, modulo the number of elements in the vector, is the index
@@ -18966,16 +18967,16 @@ immediate, it extracts ``-imm`` trailing elements from the first vector, and
1896618967the remaining elements from ``%vec2``.
1896718968
1896818969These intrinsics work for both fixed and scalable vectors. While this intrinsic
18969- is marked as experimental, the recommended way to express this operation for
18970+ supports all vector types the recommended way to express this operation for
1897018971fixed-width vectors is still to use a shufflevector, as that may allow for more
1897118972optimization opportunities.
1897218973
1897318974For example:
1897418975
1897518976.. code-block:: text
1897618977
18977- llvm.experimental. vector.splice(<A,B,C,D>, <E,F,G,H>, 1); ==> <B, C, D, E> index
18978- llvm.experimental. vector.splice(<A,B,C,D>, <E,F,G,H>, -3); ==> <B, C, D, E> trailing elements
18978+ llvm.vector.splice(<A,B,C,D>, <E,F,G,H>, 1); ==> <B, C, D, E> index
18979+ llvm.vector.splice(<A,B,C,D>, <E,F,G,H>, -3); ==> <B, C, D, E> trailing elements
1897918980
1898018981
1898118982Arguments:
@@ -22198,7 +22199,7 @@ Overview:
2219822199"""""""""
2219922200
2220022201The '``llvm.experimental.vp.splice.*``' intrinsic is the vector length
22201- predicated version of the '``llvm.experimental. vector.splice.*``' intrinsic.
22202+ predicated version of the '``llvm.vector.splice.*``' intrinsic.
2220222203
2220322204Arguments:
2220422205""""""""""
@@ -22257,7 +22258,7 @@ Overview:
2225722258"""""""""
2225822259
2225922260The '``llvm.experimental.vp.reverse.*``' intrinsic is the vector length
22260- predicated version of the '``llvm.experimental. vector.reverse.*``' intrinsic.
22261+ predicated version of the '``llvm.vector.reverse.*``' intrinsic.
2226122262
2226222263Arguments:
2226322264""""""""""
0 commit comments