diff options
author | James Almer <jamrial@gmail.com> | 2017-03-23 17:38:20 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2017-03-23 17:38:20 -0300 |
commit | 67b639b496268d1d2b0ec64978f754ab692c44d1 (patch) | |
tree | 4c9ef4068c1567fc86cad75dc61fb24fc36a39f4 /tests/checkasm/aarch64 | |
parent | a2d34cc51ba1e3c19928f1c5aedd7a2990593c47 (diff) | |
parent | c91d6a33f872574c95c8784277cf60ffcf6bff4f (diff) |
Merge commit 'c91d6a33f872574c95c8784277cf60ffcf6bff4f'
* commit 'c91d6a33f872574c95c8784277cf60ffcf6bff4f':
checkasm: aarch64: Add filler args to make sure all parameters are passed on the stack
Merged-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'tests/checkasm/aarch64')
-rw-r--r-- | tests/checkasm/aarch64/checkasm.S | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/tests/checkasm/aarch64/checkasm.S b/tests/checkasm/aarch64/checkasm.S index 8e4f8c35e4..03bd983160 100644 --- a/tests/checkasm/aarch64/checkasm.S +++ b/tests/checkasm/aarch64/checkasm.S @@ -93,22 +93,18 @@ function checkasm_checked_call, export=1 sub sp, sp, #ARG_STACK .equ pos, 0 -// the first stacked arg is copied to x7 .rept MAX_ARGS-8 - ldr x9, [x29, #16 + 8 + pos] + // Skip the first 8 args, that are loaded into registers + ldr x9, [x29, #16 + 8*8 + pos] str x9, [sp, #pos] .equ pos, pos + 8 .endr mov x12, x0 - mov x0, x1 - mov x1, x2 - mov x2, x3 - mov x3, x4 - mov x4, x5 - mov x5, x6 - mov x6, x7 - ldr x7, [x29, #16] + ldp x0, x1, [x29, #16] + ldp x2, x3, [x29, #32] + ldp x4, x5, [x29, #48] + ldp x6, x7, [x29, #64] blr x12 add sp, sp, #ARG_STACK stp x0, x1, [sp, #-16]! |