[clang] [Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 VPTERNLOGD/VPTERNLOGQ intrinsics to be used in constexpr (PR #158703)

Timm Baeder via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 3 21:27:01 PDT 2025


================
@@ -2874,7 +2874,62 @@ static bool interp__builtin_x86_insert_subvector(InterpState &S, CodePtr OpPC,
   });
 
   Dst.initializeAllElements();
+  return true;
+}
+
+static bool interp__builtin_ia32_pternlog(InterpState &S, CodePtr OpPC,
+                                          const CallExpr *Call, bool MaskZ) {
+  assert(Call->getNumArgs() == 5);
+
+  const VectorType *VecT = Call->getArg(0)->getType()->castAs<VectorType>();
+  const PrimType &DstElemT = *S.getContext().classify(VecT->getElementType());
----------------
tbaederr wrote:

```suggestion
  PrimType DstElemT = *S.getContext().classify(VecT->getElementType());
```

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


More information about the cfe-commits mailing list