Skip to content

[X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow AVX512 mask predicate intrinsics to be used in constexpr #162072

@RKSimon

Description

@RKSimon

These predicate intrinsics seem to have been missed, but can easily be implemented, along with suitable test coverage:

_mm512_kmov

_cvtmask8_u32 _cvtmask16_u32 _cvtmask32_u32 _cvtmask64_u64
_cvtu32_mask8 _cvtu32_mask32 _cvtu64_mask64

_mm512_kunpackb _mm512_kunpackw _mm512_kunpackd

_mm_movepi8_mask _mm256_movepi8_mask _mm512_movepi8_mask
_mm_movepi16_mask _mm256_movepi16_mask _mm512_movepi16_mask
_mm_movepi32_mask _mm256_movepi32_mask _mm512_movepi32_mask
_mm_movepi64_mask _mm256_movepi64_mask _mm512_movepi64_mask

_mm_movm_epi8 _mm256_movm_epi8 _mm512_movm_epi8
_mm_movm_epi16 _mm256_movm_epi16 _mm512_movm_epi16
_mm_movm_epi32 _mm256_movm_epi32 _mm512_movm_epi32
_mm_movm_epi64 _mm256_movm_epi64 _mm512_movm_epi64

Metadata

Metadata

Assignees

Labels

backend:X86clang:bytecodeIssues for the clang bytecode constexpr interpreterclang:headersHeaders provided by Clang, e.g. for intrinsicsconstexprAnything related to constant evaluationgood 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