llvm/llvm-project
Auf GitHub ansehen[Headers][X86] Allow AVX512 masked bitlogic intrinsics to be used in constexpr
Open
#160.556 geöffnet am 24. Sept. 2025
backend:X86clang:headersconstexprgood first issue
Repository-Metriken
- Stars
- (26.378 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 1T 2h) (1.000 gemergte PRs in 30 T)
Beschreibung
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...)