-
Notifications
You must be signed in to change notification settings - Fork 14.7k
Open
Labels
backend:X86clang:headersHeaders provided by Clang, e.g. for intrinsicsHeaders provided by Clang, e.g. for intrinsicsconstexprAnything related to constant evaluationAnything related to constant evaluationgood first issuehttps://github.com/llvm/llvm-project/contributehttps://github.com/llvm/llvm-project/contribute
Description
Once #152497 and #152705 have landed we need to update the MMX/SSE/AVX2/AVX512 absolute functions to constexpr
These wrap __builtin_elementwise_abs
:
_mm_abs_pi8
_mm_abs_pi16
_mm_abs_pi32
_mm_abs_epi8 _mm256_abs_epi8 _mm512_abs_epi8
_mm_abs_epi16 _mm256_abs_epi16 _mm512_abs_epi16
_mm_abs_epi32 _mm256_abs_epi32 _mm512_abs_epi32
_mm_abs_epi64 _mm256_abs_epi64 _mm512_abs_epi64
_mm_mask_abs_epi8 _mm256_mask_abs_epi8 _mm512_mask_abs_epi8
_mm_mask_abs_epi16 _mm256_mask_abs_epi16 _mm512_mask_abs_epi16
_mm_mask_abs_epi32 _mm256_mask_abs_epi32 _mm512_mask_abs_epi32
_mm_mask_abs_epi64 _mm256_mask_abs_epi64 _mm512_mask_abs_epi64
_mm_maskz_abs_epi8 _mm256_maskz_abs_epi8 _mm512_maskz_abs_epi8
_mm_maskz_abs_epi16 _mm256_maskz_abs_epi16 _mm512_maskz_abs_epi16
_mm_maskz_abs_epi32 _mm256_maskz_abs_epi32 _mm512_maskz_abs_epi32
_mm_maskz_abs_epi64 _mm256_maskz_abs_epi64 _mm512_maskz_abs_epi64
The AVX512 fp absolute use bit logic:
_mm512_abs_pd _mm512_mask_abs_pd
_mm512_abs_ps _mm512_mask_abs_ps
_mm_abs_ph _mm256_abs_ph _mm512_abs_ph
You can use #152305 as reference.
Metadata
Metadata
Assignees
Labels
backend:X86clang:headersHeaders provided by Clang, e.g. for intrinsicsHeaders provided by Clang, e.g. for intrinsicsconstexprAnything related to constant evaluationAnything related to constant evaluationgood first issuehttps://github.com/llvm/llvm-project/contributehttps://github.com/llvm/llvm-project/contribute