================
@@ -2097,7 +2097,46 @@ RValue CIRGenFunction::emitBuiltinExpr(const GlobalDecl 
&gd, unsigned builtinID,
   case Builtin::BI__builtin_elementwise_maximum:
   case Builtin::BI__builtin_elementwise_minimum:
   case Builtin::BI__builtin_elementwise_maximumnum:
-  case Builtin::BI__builtin_elementwise_minimumnum:
+  case Builtin::BI__builtin_elementwise_minimumnum: {
+    mlir::Location loc = getLoc(e->getExprLoc());
+    mlir::Value op0 = emitScalarExpr(e->getArg(0));
+    mlir::Value op1 = emitScalarExpr(e->getArg(1));
+
+    auto getIntrinName = [&](unsigned builtinID) {
+      switch (builtinID) {
+      case Builtin::BI__builtin_elementwise_min:
+        if (cir::isIntOrVectorOfIntType(op0.getType())) {
+          QualType ty = e->getArg(0)->getType();
+          return ty->hasSignedIntegerRepresentation() ? "smin" : "umin";
+        }
+        return "minnum";
+      case Builtin::BI__builtin_elementwise_max:
+        if (cir::isIntOrVectorOfIntType(op0.getType())) {
+          QualType ty = e->getArg(0)->getType();
+          return ty->hasSignedIntegerRepresentation() ? "smax" : "umax";
+        }
+        return "maxnum";
+      case Builtin::BI__builtin_elementwise_minnum:
+        return "minnum";
+      case Builtin::BI__builtin_elementwise_maxnum:
----------------
bruteforceboy wrote:

makes sense

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

Reply via email to