aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Analysis
diff options
context:
space:
mode:
authorDavid Sherwood <david.sherwood@arm.com>2025-04-17 08:44:47 +0100
committerGitHub <noreply@github.com>2025-04-17 08:44:47 +0100
commit1cf9acdb750612985674a0349ed607768e1edc6d (patch)
treedb551101bac799f2419ca2e9d330b61592b77fa5 /llvm/unittests/Analysis
parent34f9ddf1ce2d775d8df1ca9c9806710f3ba8361d (diff)
downloadllvm-1cf9acdb750612985674a0349ed607768e1edc6d.zip
llvm-1cf9acdb750612985674a0349ed607768e1edc6d.tar.gz
llvm-1cf9acdb750612985674a0349ed607768e1edc6d.tar.bz2
[TLI] Use AArch64 vector calling convention for ArmPL routines (#135790)
Some ArmPL vector math routines that operate on fixed-width vector types obey the aarch64_vector_pcs calling convention, e.g. armpl_vsinq_f64, etc. This patch adds support for functions in the TLI to specify an optional calling convention to be added to the declared function. Once this patch lands I intend to follow up with a vectoriser patch that adds this optional calling convention when invoking the vector library variant from the loop vectoriser.
Diffstat (limited to 'llvm/unittests/Analysis')
-rw-r--r--llvm/unittests/Analysis/ReplaceWithVecLibTest.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/unittests/Analysis/ReplaceWithVecLibTest.cpp b/llvm/unittests/Analysis/ReplaceWithVecLibTest.cpp
index d97549c..31e0263 100644
--- a/llvm/unittests/Analysis/ReplaceWithVecLibTest.cpp
+++ b/llvm/unittests/Analysis/ReplaceWithVecLibTest.cpp
@@ -97,7 +97,7 @@ declare <vscale x 4 x float> @llvm.powi.f32.i32(<vscale x 4 x float>, i32) #0
TEST_F(ReplaceWithVecLibTest, TestValidMapping) {
VecDesc CorrectVD = {"llvm.powi.f32.i32", "_ZGVsMxvu_powi",
ElementCount::getScalable(4), /*Masked*/ true,
- "_ZGVsMxvu"};
+ "_ZGVsMxvu", /* CC = */ std::nullopt};
EXPECT_EQ(run(CorrectVD, IR),
"Intrinsic calls replaced with vector libraries: 1");
}
@@ -107,9 +107,9 @@ TEST_F(ReplaceWithVecLibTest, TestValidMapping) {
TEST_F(ReplaceWithVecLibTest, TestInvalidMapping) {
VecDesc IncorrectVD = {"llvm.powi.f32.i32", "_ZGVsMxvv_powi",
ElementCount::getScalable(4), /*Masked*/ true,
- "_ZGVsMxvv"};
+ "_ZGVsMxvv", /* CC = */ std::nullopt};
EXPECT_EQ(run(IncorrectVD, IR),
"replace-with-veclib: Will not replace: llvm.powi.f32.i32. Wrong "
"type at index 1: i32");
}
-#endif \ No newline at end of file
+#endif