diff --git a/tests/checkasm/aarch64/checkasm.S b/tests/checkasm/aarch64/checkasm.S index 9668518c9b..39e83372b7 100644 --- a/tests/checkasm/aarch64/checkasm.S +++ b/tests/checkasm/aarch64/checkasm.S @@ -52,7 +52,7 @@ endconst // max number of args used by any asm function. #define MAX_ARGS 15 -#define ARG_STACK ((8*(MAX_ARGS - 7) + 15) & ~15) +#define ARG_STACK ((8*(MAX_ARGS - 8) + 15) & ~15) function checkasm_checked_call, export=1 stp x29, x30, [sp, #-16]! @@ -81,7 +81,7 @@ 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-7 +.rept MAX_ARGS-8 ldr x9, [x29, #16 + 8 + pos] str x9, [sp, #pos] .equ pos, pos + 8 diff --git a/tests/checkasm/arm/checkasm.S b/tests/checkasm/arm/checkasm.S index 098f22eaef..237252f978 100644 --- a/tests/checkasm/arm/checkasm.S +++ b/tests/checkasm/arm/checkasm.S @@ -50,7 +50,7 @@ endconst @ max number of args used by any asm function. #define MAX_ARGS 15 -#define ARG_STACK 4*(MAX_ARGS - 2) +#define ARG_STACK 4*(MAX_ARGS - 4) @ align the used stack space to 8 to preserve the stack alignment #define ARG_STACK_A (((ARG_STACK + pushed + 7) & ~7) - pushed) @@ -74,7 +74,7 @@ function checkasm_checked_call_\variant, export=1 sub sp, sp, #ARG_STACK_A .equ pos, 0 -.rept MAX_ARGS-2 +.rept MAX_ARGS-4 ldr r12, [sp, #ARG_STACK_A + pushed + 8 + pos] str r12, [sp, #pos] .equ pos, pos + 4