[clang] [llvm] [AArch64][VecLib] Add libmvec support for AArch64 targets (PR #143696)
Sander de Smalen via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 12 01:18:25 PDT 2025
================
@@ -1299,6 +1299,30 @@ static const VecDesc VecFuncs_LIBMVEC_X86[] = {
#undef TLI_DEFINE_LIBMVEC_X86_VECFUNCS
};
+static const VecDesc VecFuncs_LIBMVEC_AARCH64_VF2[] = {
+#define TLI_DEFINE_LIBMVEC_AARCH64_VF2_VECFUNCS
+#define TLI_DEFINE_VECFUNC(SCAL, VEC, VABI_PREFIX) \
+ {SCAL, VEC, /* VF = */ FIXED(2), /* MASK = */ false, VABI_PREFIX, \
+ /* CC = */ CallingConv::AArch64_VectorCall},
+#include "llvm/Analysis/VecFuncs.def"
+#undef TLI_DEFINE_LIBMVEC_AARCH64_VF2_VECFUNCS
+};
+static const VecDesc VecFuncs_LIBMVEC_AARCH64_VF4[] = {
+#define TLI_DEFINE_LIBMVEC_AARCH64_VF4_VECFUNCS
+#define TLI_DEFINE_VECFUNC(SCAL, VEC, VABI_PREFIX) \
+ {SCAL, VEC, /* VF = */ FIXED(4), /* MASK = */ false, VABI_PREFIX, \
+ /* CC = */ CallingConv::AArch64_VectorCall},
+#include "llvm/Analysis/VecFuncs.def"
+#undef TLI_DEFINE_LIBMVEC_AARCH64_VF4_VECFUNCS
+};
----------------
sdesmalen-arm wrote:
The reason I asked this is that when all (e.g. `sin`) function-mappings are defined together, it is easier to see what variants are missing, whereas now it's artificially split between two macros.
https://github.com/llvm/llvm-project/pull/143696
More information about the cfe-commits
mailing list