================
@@ -11874,6 +11874,28 @@ bool VectorExprEvaluator::VisitCallExpr(const CallExpr
*E) {
return Success(APValue(ResultElements.data(), ResultElements.size()), E);
}
+
+ case Builtin::BI__builtin_elementwise_fma: {
+ APValue SourceX, SourceY, SourceZ;
+ if (!EvaluateAsRValue(Info, E->getArg(0), SourceX) ||
+ !EvaluateAsRValue(Info, E->getArg(1), SourceY) ||
+ !EvaluateAsRValue(Info, E->getArg(2), SourceZ))
+ return false;
+
+ unsigned SourceLen = SourceX.getVectorLength();
----------------
ckoparkar wrote:
This is already verified,
[clang/test/Sema/builtins-elementwise-math.c](https://github.com/llvm/llvm-project/blob/8b128388b527ac196e06115dd2496e2e9d59e565/clang/test/Sema/builtins-elementwise-math.c#L1216)
has tests which check various bad inputs.
https://github.com/llvm/llvm-project/pull/152919
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits