[clang] [Headers][X86] Allow AVX512 masked arithmetic ss/sd intrinsics to be used in constexpr (PR #162816)

Simon Pilgrim via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 7 06:52:10 PST 2026


================
@@ -2838,6 +2838,30 @@ static bool interp__builtin_select(InterpState &S, CodePtr OpPC,
   return true;
 }
 
+/// Scalar variant of AVX512 predicated select:
+/// Result[i] = (Mask bit 0) ? LHS[i] : RHS[i], but only element 0 may change.
+/// All other elements are taken from RHS.
+static bool interp__builtin_select_scalar(InterpState &S,
+                                          const CallExpr *Call) {
+  unsigned N =
+      Call->getArg(1)->getType()->getAs<VectorType>()->getNumElements();
----------------
RKSimon wrote:

@shafik Please ping if I've missed any of your comments - I'm still playing catchup after the holidays and will have missed some notifications

https://github.com/llvm/llvm-project/pull/162816


More information about the cfe-commits mailing list