llvm/llvm-project
View on GitHub[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add MMX/SSE/AVX/AVX512 VPSADBW intrinsics to be used in constexpr
Open
#188062 opened on Mar 23, 2026
backend:X86clang:bytecodeclang:frontendconstexprgood first issue
Description
The horizontal sum of difference intrinsics can all be used in constexpr with suitable handling of the builtins inside VectorExprEvaluator::VisitCallExpr and InterBuiltin.cpp, and testing in the relevent *-builtins.c files.
_mm_sad_epu8 _mm256_sad_epu8 _mm512_sad_epu8 _mm_sad_pu8
Care needs to be taken with the signed/unsigned extension of the arguments - we might need to adjust the builtin signatures.
Review other sub-issues from #30794 on implementation
Split off from #157522