llvm/llvm-project

[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add MMX/SSE/AVX/AVX512 VPSADBW intrinsics to be used in constexpr

Chiusa

#188.062 aperta il 23 mar 2026

 (8 commenti) (0 reazioni) (1 assegnatario)C++ (10.782 fork)batch import
backend:X86clang:bytecodeclang:frontendconstexprgood first issue

Metriche repository

Star
 (26.378 stelle)
Metriche merge PR
 (Merge medio 1g 2h) (1000 PR mergiate in 30 g)

Descrizione

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

Guida contributor