-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Open
Labels
backend:X86clang:bytecodeIssues for the clang bytecode constexpr interpreterIssues for the clang bytecode constexpr interpreterclang: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
Followup to #158653 - the AVX512 mask predicate KTEST intrinsics should be able to be used in constexpr - probably by interp__builtin_elementwise_int_binop?
unsigned char _ktestc_mask16_u8 (__mmask16 a, __mmask16 b)
unsigned char _ktestc_mask32_u8 (__mmask32 a, __mmask32 b)
unsigned char _ktestc_mask64_u8 (__mmask64 a, __mmask64 b)
unsigned char _ktestc_mask8_u8 (__mmask8 a, __mmask8 b)
unsigned char _ktestz_mask16_u8 (__mmask16 a, __mmask16 b)
unsigned char _ktestz_mask32_u8 (__mmask32 a, __mmask32 b)
unsigned char _ktestz_mask64_u8 (__mmask64 a, __mmask64 b)
unsigned char _ktestz_mask8_u8 (__mmask8 a, __mmask8 b)
int _mm512_kortestc (__mmask16 k1, __mmask16 k2)
unsigned char _kortestc_mask16_u8 (__mmask16 a, __mmask16 b)
unsigned char _kortestc_mask32_u8 (__mmask32 a, __mmask32 b)
unsigned char _kortestc_mask64_u8 (__mmask64 a, __mmask64 b)
unsigned char _kortestc_mask8_u8 (__mmask8 a, __mmask8 b)
int _mm512_kortestz (__mmask16 k1, __mmask16 k2)
unsigned char _kortestz_mask16_u8 (__mmask16 a, __mmask16 b)
unsigned char _kortestz_mask32_u8 (__mmask32 a, __mmask32 b)
unsigned char _kortestz_mask64_u8 (__mmask64 a, __mmask64 b)
unsigned char _kortestz_mask8_u8 (__mmask8 a, __mmask8 b)
A stretch goal would be to handle these as well:
unsigned char _ktest_mask16_u8 (__mmask16 a, __mmask16 b, unsigned char* and_not)
unsigned char _ktest_mask32_u8 (__mmask32 a, __mmask32 b, unsigned char* and_not)
unsigned char _ktest_mask64_u8 (__mmask64 a, __mmask64 b, unsigned char* and_not)
unsigned char _ktest_mask8_u8 (__mmask8 a, __mmask8 b, unsigned char* and_not)
unsigned char _kortest_mask16_u8 (__mmask16 a, __mmask16 b, unsigned char* all_ones)
unsigned char _kortest_mask32_u8 (__mmask32 a, __mmask32 b, unsigned char* all_ones)
unsigned char _kortest_mask64_u8 (__mmask64 a, __mmask64 b, unsigned char* all_ones)
unsigned char _kortest_mask8_u8 (__mmask8 a, __mmask8 b, unsigned char* all_ones)
Metadata
Metadata
Assignees
Labels
backend:X86clang:bytecodeIssues for the clang bytecode constexpr interpreterIssues for the clang bytecode constexpr interpreterclang: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