Support intel AVX512 VP2INTERSECT instructions in clang
OK! But I really find many ntrinsicxxx.h have no doxygen comments, Is it like this format: ?
/// Rounds up each element of the 128-bit vector of [4 x float] to an /// integer and returns the rounded values in a 128-bit vector of /// [4 x float]. /// /// \headerfile <x86intrin.h> /// /// \code /// __m128 _mm_ceil_ps(__m128 X); /// \endcode /// /// This intrinsic corresponds to the <c> VROUNDPS / ROUNDPS </c> instruction. /// /// \param X /// A 128-bit vector of [4 x float] values to be rounded up. /// \returns A 128-bit vector of [4 x float] containing the rounded values. #define _mm_ceil_ps(X) _mm_round_ps((X), _MM_FROUND_CEIL)
Yeah that looks right. Someone was kind enough to provide comments for some of the header files a few years ago, but it wasn't complete. I know avx512* especially are missing comments.
The hope is that these will get added as time goes on - usually it just requires a copy + paste of existing comments and tweak for ymm/zmm/whatever.
New intrinsics should always include documentation since the person adding it is the most likely to be able to correct describe it.
This doesn't really say anything about what's in the mask registers. I don' think any of the MODRM encoding details are relevant here. I think a better description would be what's in the table in the ISE manual. "Store, in an even/odd pair of mask registers,
Drop the "AVX512-". Add the proper D/Q suffix. This should be the instruction mnemonic