[clang] [CIR] max-across-vector (vmaxv_*) intrinsics (PR #194401)
Andrzej WarzyĆski via cfe-commits
cfe-commits at lists.llvm.org
Tue May 5 03:59:02 PDT 2026
================
@@ -2732,10 +2725,18 @@ CIRGenFunction::emitAArch64BuiltinExpr(unsigned builtinID, const CallExpr *expr,
case NEON::BI__builtin_neon_vsqrtq_v:
assert(!cir::MissingFeatures::emitConstrainedFPCall());
return emitNeonCall(cgm, builder, {ty}, ops, "sqrt", ty, loc);
+ case NEON::BI__builtin_neon_vmaxv_f16: {
+ cir::VectorType vecTy = cir::VectorType::get(fP16Ty, 4);
+ return emitNeonCall(cgm, builder, {vecTy}, ops, "aarch64.neon.fmaxv",
+ fP16Ty, loc);
+ }
+ case NEON::BI__builtin_neon_vmaxvq_f16: {
+ cir::VectorType vecTy = cir::VectorType::get(fP16Ty, 8);
+ return emitNeonCall(cgm, builder, {vecTy}, ops, "aarch64.neon.fmaxv",
+ fP16Ty, loc);
+ }
----------------
banach-space wrote:
Please move these cases back to their original location - we want to preserve consistency with https://github.com/llvm/llvm-project/blob/main/clang/lib/CodeGen/TargetBuiltins/ARM.cpp
https://github.com/llvm/llvm-project/pull/194401
More information about the cfe-commits
mailing list