Index: docs/LangRef.rst =================================================================== --- docs/LangRef.rst +++ docs/LangRef.rst @@ -12240,19 +12240,22 @@ declare i16 @llvm.bitreverse.i16(i16 ) declare i32 @llvm.bitreverse.i32(i32 ) declare i64 @llvm.bitreverse.i64(i64 ) + declare <4 x i32> @llvm.bitreverse.v4i32(<4 x i32> ) Overview: """"""""" The '``llvm.bitreverse``' family of intrinsics is used to reverse the -bitpattern of an integer value; for example ``0b10110110`` becomes -``0b01101101``. +bitpattern of an integer value or vector of integers values; for example +``0b10110110`` becomes ``0b01101101``. Semantics: """""""""" The ``llvm.bitreverse.iN`` intrinsic returns an iN value that has bit -``M`` in the input moved to bit ``N-M`` in the output. +``M`` in the input moved to bit ``N-M`` in the output. The vector +intrinsics, such as ``llvm.bitreverse.v4i32``, perform on a per-element +basis, the element order is not affected. '``llvm.bswap.*``' Intrinsics ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -12268,14 +12271,15 @@ declare i16 @llvm.bswap.i16(i16 ) declare i32 @llvm.bswap.i32(i32 ) declare i64 @llvm.bswap.i64(i64 ) + declare <4 x i32> @llvm.bswap.v4i32(<4 x i32> ) Overview: """"""""" -The '``llvm.bswap``' family of intrinsics is used to byte swap integer -values with an even number of bytes (positive multiple of 16 bits). -These are useful for performing operations on data that is not in the -target's native byte order. +The '``llvm.bswap``' family of intrinsics is used to byte swap integer or +vector of integers with values with an even number of bytes (positive +multiple of 16 bits). These are useful for performing operations on data that +is not in the target's native byte order. Semantics: """""""""" @@ -12287,7 +12291,8 @@ returned i32 will have its bytes in 3, 2, 1, 0 order. The ``llvm.bswap.i48``, ``llvm.bswap.i64`` and other intrinsics extend this concept to additional even-byte lengths (6 bytes, 8 bytes and more, -respectively). +respectively). The vector intrinsics, such as ``llvm.bswap.v4i32``, +perform on a per-element basis, the element order is not affected. '``llvm.ctpop.*``' Intrinsic ^^^^^^^^^^^^^^^^^^^^^^^^^^^^