Skip to content

[Headers][X86] Allow AVX512BW masked intrinsics to be used in constexpr #162070

@RKSimon

Description

@RKSimon

These appear to be missed in earlier patches like #152313 as we didn't have mask/maskz constexpr support back then

_mm_mask_set1_epi8 _mm_maskz_set1_epi8
_mm512_mask_set1_epi8 _mm512_maskz_set1_epi8 
_mm256_mask_set1_epi8 _mm256_maskz_set1_epi8
_mm_mask_set1_epi16 _mm_maskz_set1_epi16
_mm256_mask_set1_epi16 _mm256_maskz_set1_epi16
_mm512_mask_set1_epi16 _mm512_maskz_set1_epi16

_mm_mask_broadcastb_epi8 _mm_maskz_broadcastb_epi8
_mm_mask_broadcastw_epi16 _mm_maskz_broadcastw_epi16
_mm256_mask_broadcastb_epi8 _mm256_maskz_broadcastb_epi8
_mm256_mask_broadcastw_epi16 _mm256_maskz_broadcastw_epi16
_mm512_mask_broadcastb_epi8 _mm512_maskz_broadcastb_epi8
_mm512_mask_broadcastw_epi16 _mm512_maskz_broadcastw_epi16

_mm_mask_adds_epi8 _mm_maskz_adds_epi8
_mm_mask_adds_epu8 _mm_maskz_adds_epu8
_mm_mask_adds_epi16 _mm_maskz_adds_epi16
_mm_mask_adds_epu16 _mm_maskz_adds_epu16
_mm256_mask_adds_epi8 _mm256_maskz_adds_epi8
_mm256_mask_adds_epu8 _mm256_maskz_adds_epu8
_mm256_mask_adds_epi16 _mm256_maskz_adds_epi16
_mm256_mask_adds_epu16 _mm256_maskz_adds_epu16
_mm512_mask_adds_epi8 _mm512_maskz_adds_epi8
_mm512_mask_adds_epu8 _mm512_maskz_adds_epu8
_mm512_mask_adds_epi16 _mm512_maskz_adds_epi16
_mm512_mask_adds_epu16 _mm512_maskz_adds_epu16

_mm_mask_subs_epi8 _mm_maskz_subs_epi8
_mm_mask_subs_epu8 _mm_maskz_subs_epu8
_mm_mask_subs_epi16 _mm_maskz_subs_epi16
_mm_mask_subs_epu16 _mm_maskz_subs_epu16
_mm256_mask_subs_epi8 _mm256_maskz_subs_epi8
_mm256_mask_subs_epu8 _mm256_maskz_subs_epu8
_mm256_mask_subs_epi16 _mm256_maskz_subs_epi16
_mm256_mask_subs_epu16 _mm256_maskz_subs_epu16
_mm512_mask_subs_epi8 _mm512_maskz_subs_epi8
_mm512_mask_subs_epu8 _mm512_maskz_subs_epu8
_mm512_mask_subs_epi16 _mm512_maskz_subs_epi16
_mm512_mask_subs_epu16 _mm512_maskz_subs_epu16

_mm_mask_unpackhi_epi8 _mm_maskz_unpackhi_epi8
_mm_mask_unpacklo_epi8 _mm_maskz_unpacklo_epi8
_mm_mask_unpackhi_epi16 _mm_maskz_unpackhi_epi16
_mm_mask_unpacklo_epi16 _mm_maskz_unpacklo_epi16

_mm256_mask_unpackhi_epi8 _mm256_maskz_unpackhi_epi8
_mm256_mask_unpacklo_epi8 _mm256_maskz_unpacklo_epi8
_mm256_mask_unpackhi_epi16 _mm256_maskz_unpackhi_epi16
_mm256_mask_unpacklo_epi16 _mm256_maskz_unpacklo_epi16

_mm512_mask_unpackhi_epi8 _mm512_maskz_unpackhi_epi8
_mm512_mask_unpacklo_epi8 _mm512_maskz_unpacklo_epi8
_mm512_mask_unpackhi_epi16 _mm512_maskz_unpackhi_epi16
_mm512_mask_unpacklo_epi16 _mm512_maskz_unpacklo_epi16

_mm_mask_packs_epi16 _mm_maskz_packs_epi16
_mm_mask_packs_epi32 _mm_maskz_packs_epi32
_mm256_mask_packs_epi16 _mm256_maskz_packs_epi16
_mm256_mask_packs_epi32 _mm256_maskz_packs_epi32
_mm512_mask_packs_epi16 _mm512_maskz_packs_epi16
_mm512_mask_packs_epi32 _mm512_maskz_packs_epi32

_mm_mask_packus_epi16 _mm_maskz_packus_epi16
_mm_mask_packus_epi32 _mm_maskz_packus_epi32
_mm256_mask_packus_epi16 _mm256_maskz_packus_epi16
_mm256_mask_packus_epi32 _mm256_maskz_packus_epi32
_mm512_mask_packus_epi16 _mm512_maskz_packus_epi16
_mm512_mask_packus_epi32 _mm512_maskz_packus_epi32

_mm_mask_cvtepi8_epi16 _mm_maskz_cvtepi8_epi16
_mm_mask_cvtepu8_epi16 _mm_maskz_cvtepu8_epi16
_mm256_mask_cvtepi8_epi16 _mm256_maskz_cvtepi8_epi16
_mm256_mask_cvtepu8_epi16 _mm256_maskz_cvtepu8_epi16

_mm_mask_slli_epi16 _mm_mask_slli_epi16
_mm256_mask_slli_epi16 _mm256_mask_slli_epi16

_mm512_mask_mov_epi8 _mm512_maskz_mov_epi8
_mm512_mask_mov_epi16 _mm512_maskz_mov_epi16

These should just fixes to the headers along with adding test coverage to avx512bw-builtins.c and avx512vlbw-builtins.c

Metadata

Metadata

Assignees

Labels

backend:X86clang:headersHeaders provided by Clang, e.g. for intrinsicsgood first issuehttps://github.com/llvm/llvm-project/contribute

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions