Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 45 additions & 39 deletions llvm/docs/LangRef.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20466,6 +20466,9 @@ contraction can be leveraged to implement the reduction, which may result in
variations to the results due to reordering or by lowering to different
instructions (including combining multiple instructions into a single one).

Vector Manipulation Intrinsics
------------------------------

'``llvm.vector.insert``' Intrinsic
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand Down Expand Up @@ -20665,45 +20668,6 @@ Arguments:
All arguments must be vectors of the same type whereby their logical
concatenation matches the result type.

'``llvm.experimental.cttz.elts``' Intrinsic
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Syntax:
"""""""

This is an overloaded intrinsic. You can use ```llvm.experimental.cttz.elts```
on any vector of integer elements, both fixed width and scalable.

::

declare i8 @llvm.experimental.cttz.elts.i8.v8i1(<8 x i1> <src>, i1 <is_zero_poison>)

Overview:
"""""""""

The '``llvm.experimental.cttz.elts``' intrinsic counts the number of trailing
zero elements of a vector.

Arguments:
""""""""""

The first argument is the vector to be counted. This argument must be a vector
with integer element type. The return type must also be an integer type which is
wide enough to hold the maximum number of elements of the source vector. The
behavior of this intrinsic is undefined if the return type is not wide enough
for the number of elements in the input vector.

The second argument is a constant flag that indicates whether the intrinsic
returns a valid result if the first argument is all zero. If the first argument
is all zero and the second argument is true, the result is poison.

Semantics:
""""""""""

The '``llvm.experimental.cttz.elts``' intrinsic counts the trailing (least
significant) zero elements in a vector. If ``src == 0`` the result is the
number of elements in the input vector.

'``llvm.vector.splice``' Intrinsic
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand Down Expand Up @@ -20780,6 +20744,48 @@ Arguments:

None.

Experimental Vector Intrinsics
------------------------------

'``llvm.experimental.cttz.elts``' Intrinsic
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Syntax:
"""""""

This is an overloaded intrinsic. You can use ```llvm.experimental.cttz.elts```
on any vector of integer elements, both fixed width and scalable.

::

declare i8 @llvm.experimental.cttz.elts.i8.v8i1(<8 x i1> <src>, i1 <is_zero_poison>)

Overview:
"""""""""

The '``llvm.experimental.cttz.elts``' intrinsic counts the number of trailing
zero elements of a vector.

Arguments:
""""""""""

The first argument is the vector to be counted. This argument must be a vector
with integer element type. The return type must also be an integer type which is
wide enough to hold the maximum number of elements of the source vector. The
behavior of this intrinsic is undefined if the return type is not wide enough
for the number of elements in the input vector.

The second argument is a constant flag that indicates whether the intrinsic
returns a valid result if the first argument is all zero. If the first argument
is all zero and the second argument is true, the result is poison.

Semantics:
""""""""""

The '``llvm.experimental.cttz.elts``' intrinsic counts the trailing (least
significant) zero elements in a vector. If ``src == 0`` the result is the
number of elements in the input vector.


'``llvm.experimental.get.vector.length``' Intrinsic
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
Loading