-
Notifications
You must be signed in to change notification settings - Fork 14.7k
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
All of these intrinsics wrap __builtin_convertvector/__builtin_shufflevector which can already be used in constexpr
_mm_cvtepi8_epi16 _mm_cvtepu8_epi16
_mm_cvtepi8_epi32 _mm_cvtepu8_epi32
_mm_cvtepi8_epi64 _mm_cvtepu8_epi64
_mm_cvtepi16_epi32 _mm_cvtepu16_epi32
_mm_cvtepi16_epi64 _mm_cvtepu16_epi64
_mm_cvtepi32_epi64 _mm_cvtepu32_epi64
_mm256_cvtepi8_epi16 _mm256_cvtepu8_epi16
_mm256_cvtepi8_epi32 _mm256_cvtepu8_epi32
_mm256_cvtepi8_epi64 _mm256_cvtepu8_epi64
_mm256_cvtepi16_epi32 _mm256_cvtepu16_epi32
_mm256_cvtepi16_epi64 _mm256_cvtepu16_epi64
_mm256_cvtepi32_epi64 _mm256_cvtepu32_epi64
_mm512_cvtepi8_epi16 _mm512_cvtepu8_epi16
_mm512_cvtepi8_epi32 _mm512_cvtepu8_epi32
_mm512_cvtepi8_epi64 _mm512_cvtepu8_epi64
_mm512_cvtepi16_epi32 _mm512_cvtepu16_epi32
_mm512_cvtepi16_epi64 _mm512_cvtepu16_epi64
_mm512_cvtepi32_epi64 _mm512_cvtepu32_epi64
(ignore the AVX512 mask/maskz variants for now)
You can use #152296 for 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