Skip to content

[Headers][X86] Allow AVX512 integer reduction intrinsics to be used in constexpr #152324

@RKSimon

Description

@RKSimon

The AVX512 _mm512_reduce_*_epi* intrinsic wrap the builtin reduction intrinsics which can already be used in constexpr:

_mm512_reduce_add_epi32 _mm512_reduce_add_epi64
_mm512_reduce_mul_epi32 _mm512_reduce_mul_epi64

_mm512_reduce_and_epi32 _mm512_reduce_and_epi64
_mm512_reduce_or_epi32 _mm512_reduce_or_epi64

_mm512_reduce_max_epi32 _mm512_reduce_max_epi64
_mm512_reduce_min_epi32 _mm512_reduce_min_epi64
_mm512_reduce_max_epu32 _mm512_reduce_max_epu64
_mm512_reduce_min_epu32 _mm512_reduce_min_epu64

(ignore the AVX512 mask/maskz variants for now)

You can use #152305 as reference.

Metadata

Metadata

Assignees

No one assigned

    Labels

    backend:X86clang: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