Skip to content

[Headers][X86] Allow AVX/AVX512 float/double add/sub/mul/div/unpck intrinsics to be used in constexpr #152313

@RKSimon

Description

@RKSimon

We already do this for SSE1/SSE2 intrinsics, but are missing the AVX1/AVX512F intrinsics:

_mm256_add_pd / _mm256_add_ps
_mm256_sub_pd / _mm256_sub_ps
_mm256_mul_pd / _mm256_mul_ps
_mm256_div_pd / _mm256_div_ps
_mm256_unpackhi_pd / _mm256_unpackhi_ps
_mm256_unpacklo_pd / _mm256_unpacklo_ps

_mm512_add_pd / _mm512_add_ps
_mm512_sub_pd / _mm512_sub_ps
_mm512_mul_pd / _mm512_mul_ps
_mm512_div_pd / _mm512_div_ps
_mm512_unpackhi_pd / _mm512_unpackhi_ps
_mm512_unpacklo_pd / _mm512_unpacklo_ps

(ignore the AVX512 mask/maskz variants for now)

You can use #152305 as reference.

Metadata

Metadata

Assignees

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