[clang] [CIR] Maximum across vector (IEEE754) (PR #199779)

Andrzej WarzyƄski via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 3 00:17:05 PDT 2026


================
@@ -434,6 +434,12 @@ static mlir::Value emitCommonNeonSISDBuiltinExpr(
   case NEON::BI__builtin_neon_vqrshrund_n_s64:
   case NEON::BI__builtin_neon_vqrshrnd_n_s64:
   case NEON::BI__builtin_neon_vqrshrnd_n_u64:
+  case NEON::BI__builtin_neon_vmaxnmv_f32:
+  case NEON::BI__builtin_neon_vmaxnmvq_f32:
+  case NEON::BI__builtin_neon_vmaxnmvq_f64:
+    return emitNeonCall(cgf.cgm, cgf.getBuilder(),
+                        {cgf.convertType(expr->getArg(0)->getType())}, ops,
+                        llvmIntrName, cgf.convertType(expr->getType()), loc);
----------------
banach-space wrote:

Why do we need this?

There's a call to `emitNeonCall` below this switch and this extra invocation should not be required, please remove it and make any other adjustments that might be required. I will also quote the comment from above this `switch` stmt:

>   // Avoid adding specialized code in cases - that should only be required for a handful of examples.

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


More information about the cfe-commits mailing list