-
Notifications
You must be signed in to change notification settings - Fork 15.6k
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
Similar to #160312 except initially we should only allow EXACT/INBOUNDS and FINITE conversions - any special case (DENORMAL/INF/NAN/etc.) or loss of precision shouldn't be allowed in constexpr for now.
_mm_cvtss_si32
_mm_cvt_ss2si
_mm_cvtss_si64
_mm_cvtps_pi32
_mm_cvt_ps2pi
_mm_cvttss_si32
_mm_cvtt_ss2si
_mm_cvttss_si64
_mm_cvttps_pi32
_mm_cvtt_ps2pi
_mm_cvtps_pi16
_mm_cvtps_pi8
_mm_cvtpd_epi32
_mm_cvtsd_si32
_mm_cvttpd_epi32
_mm_cvttsd_si32
_mm_cvtpd_pi32
_mm_cvttpd_pi32
_mm_cvtsd_si64
_mm_cvttsd_si64
_mm_cvtps_epi32
_mm_cvttps_epi32
_mm256_cvtpd_epi32
_mm256_cvttpd_epi32
_mm256_cvtps_epi32
_mm256_cvttps_epi32
There are also the AVX512 variants, but the SSE/AVX are a good starting point.
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