[clang] [Clang] Add __builtin_selectvector and use it for AVX512 intrinsics (PR #91306)
Phoebe Wang via cfe-commits
cfe-commits at lists.llvm.org
Thu May 16 03:47:47 PDT 2024
================
@@ -77,9 +77,9 @@ _mm512_cvtne2ps_pbh(__m512 __A, __m512 __B) {
/// conversion of __B, and higher 256 bits come from conversion of __A.
static __inline__ __m512bh __DEFAULT_FN_ATTRS512
_mm512_mask_cvtne2ps_pbh(__m512bh __W, __mmask32 __U, __m512 __A, __m512 __B) {
- return (__m512bh)__builtin_ia32_selectpbf_512((__mmask32)__U,
- (__v32bf)_mm512_cvtne2ps_pbh(__A, __B),
- (__v32bf)__W);
+ return (__m512bh)__builtin_selectvector(
+ (__v32bf)_mm512_cvtne2ps_pbh(__A, __B), (__v32bf)__W,
+ __builtin_bit_cast(__vecmask32, __U));
----------------
phoebewang wrote:
Can we use (__vecmask32) dirctly like `__v32bf` etc?
https://github.com/llvm/llvm-project/pull/91306
More information about the cfe-commits
mailing list