================
@@ -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)));
----------------
andykaylor wrote:
Do `ops[1]`, `ops[2]`, and `ops[0]` not already contain the `expr->getArg[n]`
results? I see that classic codegen calls `getArg` for 1 and 2, but uses
`ops[0]` directly. It looks like an artifact from an earlier state.
https://github.com/llvm/llvm-project/pull/181148
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits