[clang] [X86][AVX10.2] Add comments for the avx10_2copyintrin file (PR #119238)
Mikołaj Piróg via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 9 10:01:12 PST 2024
https://github.com/mikolaj-pirog created https://github.com/llvm/llvm-project/pull/119238
As in title
>From 14ac4e104dd3adeb3c1d59d7c5ce3b0006391ffb Mon Sep 17 00:00:00 2001
From: "Pirog, Mikolaj Maciej" <mikolaj.maciej.pirog at intel.com>
Date: Mon, 9 Dec 2024 18:59:38 +0100
Subject: [PATCH] Add comments
---
clang/lib/Headers/avx10_2copyintrin.h | 34 +++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/clang/lib/Headers/avx10_2copyintrin.h b/clang/lib/Headers/avx10_2copyintrin.h
index 7fc31190781d91..cd8cc3e4016d62 100644
--- a/clang/lib/Headers/avx10_2copyintrin.h
+++ b/clang/lib/Headers/avx10_2copyintrin.h
@@ -19,11 +19,45 @@
__attribute__((__always_inline__, __nodebug__, __target__("avx10.2-256"), \
__min_vector_width__(128)))
+/// Constructs a 128-bit integer vector, setting the lower 32 bits to the
+/// lower 32 bits of the parameter \a __A; the upper bits are zeoroed.
+///
+/// \code{.operation}
+/// result[31:0] := __A[31:0]
+/// result[MAX:32] := 0
+/// \endcode
+///
+/// \headerfile <immintrin.h>
+///
+/// This intrinsic corresponds to the <c> VMOVD </c> instruction.
+///
+/// \param __A
+/// A 128-bit integer vector.
+///
+/// \returns A 128-bit integer vector. The lower 32 bits are copied from the
+/// parameter \a __A; the upper bits are zeroed.
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_move_epi32(__m128i __A) {
return (__m128i)__builtin_shufflevector(
(__v4si)__A, (__v4si)_mm_setzero_si128(), 0, 4, 4, 4);
}
+/// Constructs a 128-bit integer vector, setting the lower 16 bits to the
+/// lower 16 bits of the parameter \a __A; the upper bits are zeoroed.
+///
+/// \code{.operation}
+/// result[15:0] := __A[15:0]
+/// result[MAX:16] := 0
+/// \endcode
+///
+/// \headerfile <immintrin.h>
+///
+/// This intrinsic corresponds to the <c> VMOVW </c> instruction.
+///
+/// \param __A
+/// A 128-bit integer vector.
+///
+/// \returns A 128-bit integer vector. The lower 16 bits are copied from the
+/// parameter \a __A; the upper bits are zeroed.
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_move_epi16(__m128i __A) {
return (__m128i)__builtin_shufflevector(
(__v8hi)__A, (__v8hi)_mm_setzero_si128(), 0, 8, 8, 8, 8, 8, 8, 8);
More information about the cfe-commits
mailing list