From 098e655dfbe6b13123388997422ee1f8a4538e73 Mon Sep 17 00:00:00 2001 From: raventid Date: Fri, 21 Nov 2025 02:02:32 +0800 Subject: [PATCH] [LangRef] Docs: more detailed categories for Vector intrinsics Fixes: https://github.com/llvm/llvm-project/issues/167132 --- llvm/docs/LangRef.rst | 84 +++++++++++++++++++++++-------------------- 1 file changed, 45 insertions(+), 39 deletions(-) diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 734778f73af5f..5fcf6501f461c 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -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 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -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> , i1 ) - -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 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -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> , i1 ) + +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 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^