llvm/llvm-project

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

Fechada

#188.062 aberto em 23 de mar. de 2026

 (8 comentários) (0 reação) (1 responsável)C++ (10.782 forks)batch import
backend:X86clang:bytecodeclang:frontendconstexprgood first issue

Métricas do repositório

Stars
 (26.378 estrelas)
Métricas de merge de PR
 (Mesclagem média 1d 2h) (1.000 fundiu PRs em 30d)

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

Guia do colaborador