[clang] [Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow MMX/SSE/AVX2 PSIGN intrinsics to be used in constexpr (PR #163685)
Simon Pilgrim via cfe-commits
cfe-commits at lists.llvm.org
Sat Oct 18 04:43:46 PDT 2025
================
@@ -720,11 +717,10 @@ _mm_sign_epi32(__m128i __a, __m128i __b)
/// A 64-bit integer vector containing control bytes corresponding to
/// positions in the destination.
/// \returns A 64-bit integer vector containing the resultant values.
-static __inline__ __m64 __DEFAULT_FN_ATTRS
-_mm_sign_pi8(__m64 __a, __m64 __b)
-{
- return __trunc64(__builtin_ia32_psignb128((__v16qi)__anyext128(__a),
- (__v16qi)__anyext128(__b)));
+static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_sign_pi8(__m64 __a,
+ __m64 __b) {
+ return __trunc64(__builtin_ia32_psignb128((__v16qi)__anyext128(__a),
----------------
RKSimon wrote:
You will need to replace __anyext128 with __zext128 for the MMX variants of PSIGN
https://github.com/llvm/llvm-project/pull/163685
More information about the cfe-commits
mailing list