================
@@ -3558,11 +3558,38 @@ Sema::CheckBuiltinFunctionCall(FunctionDecl *FDecl, 
unsigned BuiltinID,
             TheCall, EltwiseBuiltinArgTyRestriction::IntegerTy))
       return ExprError();
     break;
-  case Builtin::BI__builtin_elementwise_min:
-  case Builtin::BI__builtin_elementwise_max:
+  case Builtin::BI__builtin_elementwise_min: {
     if (BuiltinElementwiseMath(TheCall))
       return ExprError();
+    Expr *Arg0 = TheCall->getArg(0);
+    Expr *Arg1 = TheCall->getArg(1);
+    QualType Ty0 = Arg0->getType();
+    QualType Ty1 = Arg1->getType();
+    const VectorType *VecTy0 = Ty0->getAs<VectorType>();
+    const VectorType *VecTy1 = Ty1->getAs<VectorType>();
+    if (Ty0->isFloatingType() || Ty1->isFloatingType() ||
+        (VecTy0 && VecTy0->getElementType()->isFloatingType()) ||
+        (VecTy1 && VecTy1->getElementType()->isFloatingType()))
+      Diag(TheCall->getBeginLoc(), diag::warn_deprecated_builtin_no_suggestion)
+          << "__builtin_elementwise_min";
----------------
AaronBallman wrote:

Sorry for missing this earlier, but you can use 
`getASTContext().BuiltinInfo.getQuotedName()` to get the name of the builtin 
from its ID instead of passing in the string explicitly. If you use that, I 
think you can combine the checking for min and max again and reduce a lot of 
duplication.

https://github.com/llvm/llvm-project/pull/180885
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to