[clang] [X86][AVX10.2] Add comments for the avx10_2copyintrin.h file (PR #119238)

Mikołaj Piróg via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 10 03:42:51 PST 2024


https://github.com/mikolaj-pirog updated https://github.com/llvm/llvm-project/pull/119238

>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 1/2] 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);

>From b8a84c6c7bb5bee71b91e2de684ec36ef358e84a Mon Sep 17 00:00:00 2001
From: "Pirog, Mikolaj Maciej" <mikolaj.maciej.pirog at intel.com>
Date: Tue, 10 Dec 2024 12:42:27 +0100
Subject: [PATCH 2/2] Apply reviewers suggestions

---
 clang/lib/Headers/avx10_2copyintrin.h | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/clang/lib/Headers/avx10_2copyintrin.h b/clang/lib/Headers/avx10_2copyintrin.h
index cd8cc3e4016d62..76b8f8ced540d3 100644
--- a/clang/lib/Headers/avx10_2copyintrin.h
+++ b/clang/lib/Headers/avx10_2copyintrin.h
@@ -33,9 +33,8 @@
 ///
 /// \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.
+///    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);
@@ -55,9 +54,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_move_epi32(__m128i __A) {
 ///
 /// \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.
+///    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