Skip to content

[Headers][X86] Allow SSE2/AVX2/AVX512F/AVX512BW/AVX512DQ integer multiply intrinsics to be used in constexpr #155411

@RKSimon

Description

@RKSimon

Split off from #152490

_mm_mullo_epi32 _mm256_mullo_epi32 _mm512_mullo_epi32
_mm_mullo_epi64 _mm256_mullo_epi64 _mm512_mullo_epi64

_mm_mask_mullo_epi16 _mm256_mask_mullo_epi16 _mm512_mask_mullo_epi16
_mm_mask_mullo_epi32 _mm256_mask_mullo_epi32 _mm512_mask_mullo_epi32
_mm_mask_mullo_epi64 _mm256_mask_mullo_epi64 _mm512_mask_mullo_epi64

_mm_maskz_mullo_epi16 _mm256_maskz_mullo_epi16 _mm512_maskz_mullo_epi16
_mm_maskz_mullo_epi32 _mm256_maskz_mullo_epi32 _mm512_maskz_mullo_epi32
_mm_maskz_mullo_epi64 _mm256_maskz_mullo_epi64 _mm512_maskz_mullo_epi64

_mm_mask_mulhi_epi16 _mm256_mask_mulhi_epi16 _mm512_mask_mulhi_epi16
_mm_mask_mulhi_epu16 _mm256_mask_mulhi_epu16 _mm512_mask_mulhi_epu16

_mm_maskz_mulhi_epi16 _mm256_maskz_mulhi_epi16 _mm512_maskz_mulhi_epi16
_mm_maskz_mulhi_epu16 _mm256_maskz_mulhi_epu16 _mm512_maskz_mulhi_epu16

The integer multiple intrinsics (including the masked mulhi variants missed in #152524) are all safe to be used in constexpr - use #152296 for 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