[llvm] [AArch64][ABI] Pass v8f32 on the stack (PR #69729)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 20 06:56:33 PDT 2023
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-aarch64
Author: Allen (vfdff)
<details>
<summary>Changes</summary>
No definition of calling convention for 256bit vector types
Fixes https://github.com/llvm/llvm-project/issues/69694
---
Full diff: https://github.com/llvm/llvm-project/pull/69729.diff
2 Files Affected:
- (modified) llvm/lib/Target/AArch64/AArch64CallingConvention.td (+4-1)
- (added) llvm/test/CodeGen/AArch64/aarch64-vector-pcs.ll (+9)
``````````diff
diff --git a/llvm/lib/Target/AArch64/AArch64CallingConvention.td b/llvm/lib/Target/AArch64/AArch64CallingConvention.td
index 117c9cad3916f52..bfb4c2c185d6823 100644
--- a/llvm/lib/Target/AArch64/AArch64CallingConvention.td
+++ b/llvm/lib/Target/AArch64/AArch64CallingConvention.td
@@ -108,7 +108,10 @@ defvar AArch64_Common = [
CCIfType<[i64, f64, v1f64, v2f32, v1i64, v2i32, v4i16, v8i8, v4f16, v4bf16],
CCAssignToStack<8, 8>>,
CCIfType<[f128, v2i64, v4i32, v8i16, v16i8, v4f32, v2f64, v8f16, v8bf16],
- CCAssignToStack<16, 16>>
+ CCAssignToStack<16, 16>>,
+ // TODO: Add more vector types
+ CCIfType<[v8f32],
+ CCAssignToStack<32, 16>>
];
let Entry = 1 in
diff --git a/llvm/test/CodeGen/AArch64/aarch64-vector-pcs.ll b/llvm/test/CodeGen/AArch64/aarch64-vector-pcs.ll
new file mode 100644
index 000000000000000..9ea8649a5a985f7
--- /dev/null
+++ b/llvm/test/CodeGen/AArch64/aarch64-vector-pcs.ll
@@ -0,0 +1,9 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc -mtriple=aarch64 -mattr=+sve -o - %s | FileCheck %s
+
+define fastcc void @inline_foo(<8 x float> %val) vscale_range(2,2) {
+; CHECK-LABEL: inline_foo:
+; CHECK: // %bb.0:
+; CHECK-NEXT: ret
+ ret void
+}
``````````
</details>
https://github.com/llvm/llvm-project/pull/69729
More information about the llvm-commits
mailing list