[clang] [CIR][AArch64] Upstream narrowing-addition NEON builtins (PR #204989)

Andrzej WarzyƄski via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 25 08:10:06 PDT 2026


================
@@ -1060,15 +1095,26 @@ static mlir::Value emitCommonNeonBuiltinExpr(
                      std::string("unimplemented AArch64 builtin call: ") +
                          cgf.getContext().BuiltinInfo.getName(builtinID));
     break;
+  case NEON::BI__builtin_neon_vhadd_v:
+  case NEON::BI__builtin_neon_vhaddq_v:
+  case NEON::BI__builtin_neon_vrhadd_v:
+  case NEON::BI__builtin_neon_vrhaddq_v:
   case NEON::BI__builtin_neon_vshl_v:
-  case NEON::BI__builtin_neon_vshlq_v: {
+  case NEON::BI__builtin_neon_vshlq_v:
+  case NEON::BI__builtin_neon_vraddhn_v: {
+    // Pick the signed/unsigned intrinsic when the builtin has both
+    // (UnsignedAlts); otherwise there is a single intrinsic.
----------------
banach-space wrote:

Nice!

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


More information about the cfe-commits mailing list