[clang] [clang][CIR] Add lowering for Neon rounding builtins (PR #195021)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 4 04:18:12 PDT 2026
================
@@ -915,6 +918,27 @@ static mlir::Value emitCommonNeonBuiltinExpr(
std::string("unimplemented AArch64 builtin call: ") +
cgf.getContext().BuiltinInfo.getName(builtinID));
break;
+ case NEON::BI__builtin_neon_vrnd32x_f32:
+ case NEON::BI__builtin_neon_vrnd32xq_f32:
+ case NEON::BI__builtin_neon_vrnd32x_f64:
+ case NEON::BI__builtin_neon_vrnd32xq_f64:
+ case NEON::BI__builtin_neon_vrnd32z_f32:
+ case NEON::BI__builtin_neon_vrnd32zq_f32:
+ case NEON::BI__builtin_neon_vrnd32z_f64:
+ case NEON::BI__builtin_neon_vrnd32zq_f64:
+ case NEON::BI__builtin_neon_vrnd64x_f32:
+ case NEON::BI__builtin_neon_vrnd64xq_f32:
+ case NEON::BI__builtin_neon_vrnd64x_f64:
+ case NEON::BI__builtin_neon_vrnd64xq_f64:
+ case NEON::BI__builtin_neon_vrnd64z_f32:
+ case NEON::BI__builtin_neon_vrnd64zq_f32:
+ case NEON::BI__builtin_neon_vrnd64z_f64:
+ case NEON::BI__builtin_neon_vrnd64zq_f64: {
----------------
AbdallahRashed wrote:
the original code is dead, without any changes it will never hit the errorNYI, because The vrnd32x/64x builtins are NEONMAP1 entries in AArch64SIMDIntrinsicMap so in this check https://github.com/llvm/llvm-project/blob/f6e4e71fcdbff98cb060f87695c75f00b43bf918/clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp?plain=1#L2252 it will be routed to emitCommonNeonBuiltinsExpr even before going to the switch case.
https://github.com/llvm/llvm-project/pull/195021
More information about the cfe-commits
mailing list