Author: Mikołaj Piróg Date: 2024-12-10T21:49:28+08:00 New Revision: e6ba3452ab086cf24725f3587709150b686d4b05
URL: https://github.com/llvm/llvm-project/commit/e6ba3452ab086cf24725f3587709150b686d4b05 DIFF: https://github.com/llvm/llvm-project/commit/e6ba3452ab086cf24725f3587709150b686d4b05.diff LOG: [X86][AVX10.2] Add comments for the avx10_2copyintrin.h file (#119238) As in title Added: Modified: clang/lib/Headers/avx10_2copyintrin.h Removed: ################################################################################ diff --git a/clang/lib/Headers/avx10_2copyintrin.h b/clang/lib/Headers/avx10_2copyintrin.h index 7fc31190781d91..76b8f8ced540d3 100644 --- a/clang/lib/Headers/avx10_2copyintrin.h +++ b/clang/lib/Headers/avx10_2copyintrin.h @@ -19,11 +19,43 @@ __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); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits