[llvm-branch-commits] [clang] [CIR][AArch64] Add missing lowerings for vceqz_* Neon builtins (PR #184402)

Andy Kaylor via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Mar 4 11:54:19 PST 2026


================
@@ -64,17 +86,344 @@ struct armVectorIntrinsicInfo {
 };
 } // end anonymous namespace
 
-#define SVEMAP1(NameBase, llvmIntrinsic, TypeModifier)                         \
-  {SVE::BI__builtin_sve_##NameBase, Intrinsic::llvmIntrinsic, TypeModifier}
+#define NEONMAP0(NameBase)                                                     \
+  {#NameBase, NEON::BI__builtin_neon_##NameBase, 0, 0, 0}
+
+#define NEONMAP1(NameBase, LLVMIntrinsic, TypeModifier)                        \
+  {#NameBase, NEON::BI__builtin_neon_##NameBase, Intrinsic::LLVMIntrinsic, 0,  \
+   TypeModifier}
+
+#define NEONMAP2(NameBase, LLVMIntrinsic, AltLLVMIntrinsic, TypeModifier)      \
+  {#NameBase, NEON::BI__builtin_neon_##NameBase, Intrinsic::LLVMIntrinsic,     \
+   Intrinsic::AltLLVMIntrinsic, TypeModifier}
+
+static const armVectorIntrinsicInfo AArch64SIMDIntrinsicMap[] = {
----------------
andykaylor wrote:

It would be really great to be able to share these with classic codegen. As a reviewer, I'm trusting that you copied them over correctly. It will be really easy for them to get out of sync, though I guess the tests should catch that?

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


More information about the llvm-branch-commits mailing list