[clang] [CIR][NEON] Add lowering for `vfmah_f16` and `vfmsh_f16` (PR #181148)

Andrzej WarzyƄski via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 16 11:12:49 PST 2026


================
@@ -1508,7 +1519,17 @@ CIRGenFunction::emitAArch64BuiltinExpr(unsigned builtinID, const CallExpr *expr,
   case NEON::BI__builtin_neon_vsubh_f16:
   case NEON::BI__builtin_neon_vmulh_f16:
   case NEON::BI__builtin_neon_vdivh_f16:
+    cgm.errorNYI(expr->getSourceRange(),
+                 std::string("unimplemented AArch64 builtin call: ") +
+                     getContext().BuiltinInfo.getName(builtinID));
+    return mlir::Value{};
   case NEON::BI__builtin_neon_vfmah_f16:
+    ops.push_back(emitScalarExpr(expr->getArg(1)));
+    ops.push_back(emitScalarExpr(expr->getArg(2)));
+    ops.push_back(emitScalarExpr(expr->getArg(0)));
----------------
banach-space wrote:

Thanks for pointing this out, updated! This made me realise that classic codegen is quite inconsistent.

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


More information about the cfe-commits mailing list