mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
[ARM64] Handle fp128 for parameter passing on stack
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207222 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5c4d1570ca
commit
0c4797c31a
@ -59,7 +59,8 @@ def CC_ARM64_AAPCS : CallingConv<[
|
||||
CCIfType<[i32, f32], CCAssignToStack<8, 8>>,
|
||||
CCIfType<[i64, f64, v1f64, v2f32, v1i64, v2i32, v4i16, v8i8],
|
||||
CCAssignToStack<8, 8>>,
|
||||
CCIfType<[v2i64, v4i32, v8i16, v16i8, v4f32, v2f64], CCAssignToStack<16, 16>>
|
||||
CCIfType<[f128, v2i64, v4i32, v8i16, v16i8, v4f32, v2f64],
|
||||
CCAssignToStack<16, 16>>
|
||||
]>;
|
||||
|
||||
def RetCC_ARM64_AAPCS : CallingConv<[
|
||||
|
@ -94,3 +94,10 @@ define i128 @test_i128_shadow([7 x i64] %x0_x6, i128 %sp) {
|
||||
|
||||
ret i128 %sp
|
||||
}
|
||||
|
||||
; This test is to check if fp128 can be correctly handled on stack.
|
||||
define fp128 @test_fp128([8 x float] %arg0, fp128 %arg1) {
|
||||
; CHECK-LABEL: test_fp128:
|
||||
; CHECK: ldr {{q[0-9]+}}, [sp]
|
||||
ret fp128 %arg1
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user