-
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:frontendLanguage frontend issues, e.g. anything involving "Sema"Language frontend issues, e.g. anything involving "Sema"clang: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
The i8 byte shuffle mask intrinsics can be used in constant expressions:
_mm_shuffle_pi8
_mm_shuffle_epi8 _mm_mask_shuffle_epi8 _mm_maskz_shuffle_epi8
_mm256_shuffle_epi8 _mm256_mask_shuffle_epi8 _mm256_maskz_shuffle_epi8
_mm512_shuffle_epi8 _mm512_mask_shuffle_epi8 _mm512_maskz_shuffle_epi8
These will require handling inside VectorExprEvaluator::VisitCallExpr / InterpretBuiltin
Similar testing to #153102 - single test for each intrinsic, but ensure a range of masks are used (inc some zeroing / unused bits).
Metadata
Metadata
Assignees
Labels
backend:X86clang:bytecodeIssues for the clang bytecode constexpr interpreterIssues for the clang bytecode constexpr interpreterclang:frontendLanguage frontend issues, e.g. anything involving "Sema"Language frontend issues, e.g. anything involving "Sema"clang: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