Skip to content

[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow AVX512 VPSHUFBITQMB intrinsics to be used in constexpr #161337

@RKSimon

Description

@RKSimon

These are the last instructions in avx512bitalgintrin.h / avx512vlbitalgintrin.h that require constexpr support

__mmask16 _mm_bitshuffle_epi64_mask (__m128i b, __m128i c)
__mmask16 _mm_mask_bitshuffle_epi64_mask (__mmask16 k, __m128i b, __m128i c)
__mmask32 _mm256_bitshuffle_epi64_mask (__m256i b, __m256i c)
__mmask32 _mm256_mask_bitshuffle_epi64_mask (__mmask32 k, __m256i b, __m256i c)
__mmask64 _mm512_bitshuffle_epi64_mask (__m512i b, __m512i c)
__mmask64 _mm512_mask_bitshuffle_epi64_mask (__mmask64 k, __m512i b, __m512i c)

NOTE: These instructions are not easy - you will need access to a AVX512 machine to thoroughly test your implementation

Metadata

Metadata

Assignees

No one assigned

    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