llvm/llvm-project
Ver no GitHub[Headers][X86] Allow AVX512 masked bitlogic intrinsics to be used in constexpr
Open
#160.556 aberto em 24 de set. de 2025
backend:X86clang:headersconstexprgood first issue
Métricas do repositório
- Stars
- (26.378 stars)
- Métricas de merge de PR
- (Mesclagem média 1d 2h) (1.000 fundiu PRs em 30d)
Description
These appear to be missed in earlier patches like #152313 as we didn't have mask/maskz constexpr support back then
avx512fintrin.h
_mm512_maskz_and_epi32 / _mm512_maskz_and_epi64
_mm512_mask_andnot_epi32 / _mm512_mask_andnot_epi64
_mm512_maskz_andnot_epi32 / _mm512_maskz_andnot_epi64
_mm512_mask_or_epi32 / _mm512_mask_or_epi64
_mm512_maskz_or_epi32 / _mm512_maskz_or_epi64
_mm512_mask_xor_epi32 / _mm512_mask_xor_epi64
_mm512_maskz_xor_epi32 / _mm512_maskz_xor_epi64
avx512vlintrin.h
_mm_mask_and_epi32 / _mm256_mask_and_epi32
_mm_maskz_and_epi32 / _mm256_maskz_and_epi32
_mm_mask_andnot_epi32 / _mm256_mask_andnot_epi32
_mm_maskz_andnot_epi32 / _mm256_maskz_andnot_epi32
_mm_mask_or_epi32 / _mm256_mask_or_epi32
_mm_maskz_or_epi32 / _mm256_maskz_or_epi32
_mm_mask_xor_epi32 / _mm256_mask_xor_epi32
_mm_maskz_xor_epi32 / _mm256_maskz_xor_epi32
_mm_mask_and_epi64 / _mm256_mask_and_epi64
_mm_maskz_and_epi64 / _mm256_maskz_and_epi64
_mm_mask_andnot_epi64 / _mm256_mask_andnot_epi64
_mm_maskz_andnot_epi64 / _mm256_maskz_andnot_epi64
_mm_mask_or_epi64 / _mm256_mask_or_epi64
_mm_maskz_or_epi64 / _mm256_maskz_or_epi64
_mm_mask_xor_epi64 / _mm256_mask_xor_epi64
_mm_maskz_xor_epi64 / _mm256_maskz_xor_epi64
avx512dqintrin.h
_mm512_maskz_and_ps / _mm512_maskz_and_pd
_mm512_mask_andnot_ps / _mm512_mask_andnot_pd
_mm512_maskz_andnot_ps / _mm512_maskz_andnot_pd
_mm512_mask_or_ps / _mm512_mask_or_pd
_mm512_maskz_or_ps / _mm512_maskz_or_pd
_mm512_mask_xor_ps / _mm512_mask_xor_pd
_mm512_maskz_xor_ps / _mm512_maskz_xor_pd
avx512vldqintrin.h
_mm_mask_and_ps / _mm256_mask_and_ps
_mm_maskz_and_ps / _mm256_maskz_and_ps
_mm_mask_andnot_ps / _mm256_mask_andnot_ps
_mm_maskz_andnot_ps / _mm256_maskz_andnot_ps
_mm_mask_or_ps / _mm256_mask_or_ps
_mm_maskz_or_ps / _mm256_maskz_or_ps
_mm_mask_xor_ps / _mm256_mask_xor_ps
_mm_maskz_xor_ps / _mm256_maskz_xor_ps
_mm_mask_and_pd / _mm256_mask_and_pd
_mm_maskz_and_pd / _mm256_maskz_and_pd
_mm_mask_andnot_pd / _mm256_mask_andnot_pd
_mm_maskz_andnot_pd / _mm256_maskz_andnot_pd
_mm_mask_or_pd / _mm256_mask_or_pd
_mm_maskz_or_pd / _mm256_maskz_or_pd
_mm_mask_xor_pd / _mm256_mask_xor_pd
_mm_maskz_xor_pd / _mm256_maskz_xor_pd
(I may have missed a few...)