[clang] [CIR][NFC] Sync AArch64 NEON intrinsics with Clang (PR #204862)
Amr Hesham via cfe-commits
cfe-commits at lists.llvm.org
Fri Jun 19 09:48:56 PDT 2026
https://github.com/AmrDeveloper created https://github.com/llvm/llvm-project/pull/204862
Sync AArch64 NEON intrinsics with Clang after changes merged from #204201
>From 74097090260a39583e3bdf761085820ee3445062 Mon Sep 17 00:00:00 2001
From: Amr Hesham <amr96 at programmer.net>
Date: Fri, 19 Jun 2026 18:40:26 +0200
Subject: [PATCH] [CIR][NFC] Sync AArch64 NEON intrinsics with Clang
---
.../lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp | 76 -------------------
1 file changed, 76 deletions(-)
diff --git a/clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp b/clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
index b52e978fa0f4d..a8358f65d0cbf 100644
--- a/clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+++ b/clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
@@ -1474,22 +1474,6 @@ CIRGenFunction::emitAArch64SMEBuiltinExpr(unsigned builtinID,
// Some intrinsics are equivalent for codegen.
static const std::pair<unsigned, unsigned> neonEquivalentIntrinsicMap[] = {
- {
- NEON::BI__builtin_neon_splat_lane_bf16,
- NEON::BI__builtin_neon_splat_lane_v,
- },
- {
- NEON::BI__builtin_neon_splat_laneq_bf16,
- NEON::BI__builtin_neon_splat_laneq_v,
- },
- {
- NEON::BI__builtin_neon_splatq_lane_bf16,
- NEON::BI__builtin_neon_splatq_lane_v,
- },
- {
- NEON::BI__builtin_neon_splatq_laneq_bf16,
- NEON::BI__builtin_neon_splatq_laneq_v,
- },
{
NEON::BI__builtin_neon_vabd_f16,
NEON::BI__builtin_neon_vabd_v,
@@ -1602,40 +1586,6 @@ static const std::pair<unsigned, unsigned> neonEquivalentIntrinsicMap[] = {
NEON::BI__builtin_neon_vfmaq_laneq_f16,
NEON::BI__builtin_neon_vfmaq_laneq_v,
},
- {NEON::BI__builtin_neon_vld1_bf16_x2, NEON::BI__builtin_neon_vld1_x2_v},
- {NEON::BI__builtin_neon_vld1_bf16_x3, NEON::BI__builtin_neon_vld1_x3_v},
- {NEON::BI__builtin_neon_vld1_bf16_x4, NEON::BI__builtin_neon_vld1_x4_v},
- {NEON::BI__builtin_neon_vld1_bf16, NEON::BI__builtin_neon_vld1_v},
- {NEON::BI__builtin_neon_vld1_dup_bf16, NEON::BI__builtin_neon_vld1_dup_v},
- {NEON::BI__builtin_neon_vld1_lane_bf16, NEON::BI__builtin_neon_vld1_lane_v},
- {NEON::BI__builtin_neon_vld1q_bf16_x2, NEON::BI__builtin_neon_vld1q_x2_v},
- {NEON::BI__builtin_neon_vld1q_bf16_x3, NEON::BI__builtin_neon_vld1q_x3_v},
- {NEON::BI__builtin_neon_vld1q_bf16_x4, NEON::BI__builtin_neon_vld1q_x4_v},
- {NEON::BI__builtin_neon_vld1q_bf16, NEON::BI__builtin_neon_vld1q_v},
- {NEON::BI__builtin_neon_vld1q_dup_bf16, NEON::BI__builtin_neon_vld1q_dup_v},
- {NEON::BI__builtin_neon_vld1q_lane_bf16,
- NEON::BI__builtin_neon_vld1q_lane_v},
- {NEON::BI__builtin_neon_vld2_bf16, NEON::BI__builtin_neon_vld2_v},
- {NEON::BI__builtin_neon_vld2_dup_bf16, NEON::BI__builtin_neon_vld2_dup_v},
- {NEON::BI__builtin_neon_vld2_lane_bf16, NEON::BI__builtin_neon_vld2_lane_v},
- {NEON::BI__builtin_neon_vld2q_bf16, NEON::BI__builtin_neon_vld2q_v},
- {NEON::BI__builtin_neon_vld2q_dup_bf16, NEON::BI__builtin_neon_vld2q_dup_v},
- {NEON::BI__builtin_neon_vld2q_lane_bf16,
- NEON::BI__builtin_neon_vld2q_lane_v},
- {NEON::BI__builtin_neon_vld3_bf16, NEON::BI__builtin_neon_vld3_v},
- {NEON::BI__builtin_neon_vld3_dup_bf16, NEON::BI__builtin_neon_vld3_dup_v},
- {NEON::BI__builtin_neon_vld3_lane_bf16, NEON::BI__builtin_neon_vld3_lane_v},
- {NEON::BI__builtin_neon_vld3q_bf16, NEON::BI__builtin_neon_vld3q_v},
- {NEON::BI__builtin_neon_vld3q_dup_bf16, NEON::BI__builtin_neon_vld3q_dup_v},
- {NEON::BI__builtin_neon_vld3q_lane_bf16,
- NEON::BI__builtin_neon_vld3q_lane_v},
- {NEON::BI__builtin_neon_vld4_bf16, NEON::BI__builtin_neon_vld4_v},
- {NEON::BI__builtin_neon_vld4_dup_bf16, NEON::BI__builtin_neon_vld4_dup_v},
- {NEON::BI__builtin_neon_vld4_lane_bf16, NEON::BI__builtin_neon_vld4_lane_v},
- {NEON::BI__builtin_neon_vld4q_bf16, NEON::BI__builtin_neon_vld4q_v},
- {NEON::BI__builtin_neon_vld4q_dup_bf16, NEON::BI__builtin_neon_vld4q_dup_v},
- {NEON::BI__builtin_neon_vld4q_lane_bf16,
- NEON::BI__builtin_neon_vld4q_lane_v},
{
NEON::BI__builtin_neon_vmax_f16,
NEON::BI__builtin_neon_vmax_v,
@@ -1812,32 +1762,6 @@ static const std::pair<unsigned, unsigned> neonEquivalentIntrinsicMap[] = {
NEON::BI__builtin_neon_vsqrtq_f16,
NEON::BI__builtin_neon_vsqrtq_v,
},
- {NEON::BI__builtin_neon_vst1_bf16_x2, NEON::BI__builtin_neon_vst1_x2_v},
- {NEON::BI__builtin_neon_vst1_bf16_x3, NEON::BI__builtin_neon_vst1_x3_v},
- {NEON::BI__builtin_neon_vst1_bf16_x4, NEON::BI__builtin_neon_vst1_x4_v},
- {NEON::BI__builtin_neon_vst1_bf16, NEON::BI__builtin_neon_vst1_v},
- {NEON::BI__builtin_neon_vst1_lane_bf16, NEON::BI__builtin_neon_vst1_lane_v},
- {NEON::BI__builtin_neon_vst1q_bf16_x2, NEON::BI__builtin_neon_vst1q_x2_v},
- {NEON::BI__builtin_neon_vst1q_bf16_x3, NEON::BI__builtin_neon_vst1q_x3_v},
- {NEON::BI__builtin_neon_vst1q_bf16_x4, NEON::BI__builtin_neon_vst1q_x4_v},
- {NEON::BI__builtin_neon_vst1q_bf16, NEON::BI__builtin_neon_vst1q_v},
- {NEON::BI__builtin_neon_vst1q_lane_bf16,
- NEON::BI__builtin_neon_vst1q_lane_v},
- {NEON::BI__builtin_neon_vst2_bf16, NEON::BI__builtin_neon_vst2_v},
- {NEON::BI__builtin_neon_vst2_lane_bf16, NEON::BI__builtin_neon_vst2_lane_v},
- {NEON::BI__builtin_neon_vst2q_bf16, NEON::BI__builtin_neon_vst2q_v},
- {NEON::BI__builtin_neon_vst2q_lane_bf16,
- NEON::BI__builtin_neon_vst2q_lane_v},
- {NEON::BI__builtin_neon_vst3_bf16, NEON::BI__builtin_neon_vst3_v},
- {NEON::BI__builtin_neon_vst3_lane_bf16, NEON::BI__builtin_neon_vst3_lane_v},
- {NEON::BI__builtin_neon_vst3q_bf16, NEON::BI__builtin_neon_vst3q_v},
- {NEON::BI__builtin_neon_vst3q_lane_bf16,
- NEON::BI__builtin_neon_vst3q_lane_v},
- {NEON::BI__builtin_neon_vst4_bf16, NEON::BI__builtin_neon_vst4_v},
- {NEON::BI__builtin_neon_vst4_lane_bf16, NEON::BI__builtin_neon_vst4_lane_v},
- {NEON::BI__builtin_neon_vst4q_bf16, NEON::BI__builtin_neon_vst4q_v},
- {NEON::BI__builtin_neon_vst4q_lane_bf16,
- NEON::BI__builtin_neon_vst4q_lane_v},
// The mangling rules cause us to have one ID for each type for
// vldap1(q)_lane and vstl1(q)_lane, but codegen is equivalent for all of
// them. Choose an arbitrary one to be handled as tha canonical variation.
More information about the cfe-commits
mailing list