Mercurial > pub > dyncall > dyncall
changeset 407:7364f285cac8
- use UAL syntax for some arm instructions for armhf targets, as clang's integrated as disallows pre-UAL syntax
author | Tassilo Philipp |
---|---|
date | Sun, 03 Oct 2021 10:41:46 +0200 |
parents | 351bb41d3bb1 |
children | 5387564a1096 |
files | dyncall/dyncall_call_arm32_arm_armhf.S dyncall/dyncall_call_arm32_thumb_armhf.S dyncallback/dyncall_callback_arm32_arm_gas.S |
diffstat | 3 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/dyncall/dyncall_call_arm32_arm_armhf.S Sun Oct 03 10:34:56 2021 +0200 +++ b/dyncall/dyncall_call_arm32_arm_armhf.S Sun Oct 03 10:41:46 2021 +0200 @@ -59,7 +59,7 @@ add r5, r1, #16 /* r5 = stack args (after intreg ones) */ /* Load 16 single-precision registers (= 8 double-precision registers). */ - fldmiad r3, {d0-d7} + vldmia r3, {d0-d7} /* prep stack parameter area (includes room for spill area, callee spills if needed) */ sub r13, r13, r2
--- a/dyncall/dyncall_call_arm32_thumb_armhf.S Sun Oct 03 10:34:56 2021 +0200 +++ b/dyncall/dyncall_call_arm32_thumb_armhf.S Sun Oct 03 10:41:46 2021 +0200 @@ -68,7 +68,7 @@ mov r5 , r1 /* r5 = 'args' (2nd argument is passed in r1). */ /* Load 16 single-precision registers (= 8 double-precision registers). */ - fldmiad r3, {d0-d7} + vldmia r3, {d0-d7} sub r2 , #16 cmp r2, #0
--- a/dyncallback/dyncall_callback_arm32_arm_gas.S Sun Oct 03 10:34:56 2021 +0200 +++ b/dyncallback/dyncall_callback_arm32_arm_gas.S Sun Oct 03 10:41:46 2021 +0200 @@ -56,7 +56,7 @@ #if defined(DC__ABI_ARM_HF) stmdb r13!, {r4} /* Init freg_count and dreg_count to 0 */ stmdb r13!, {r4} - fstmdbd r13!, {d0-d7} /* Store all fp-registers in DCArgs' f[16] */ + vstmdb r13!, {d0-d7} /* Store all fp-registers in DCArgs' f[16] */ #endif stmdb r13!, {r0-r4, r11} /* Spill first 4 args to DCArgs, along with reg_count (init to 0) and (stack) pointer to remaining args. */ @@ -75,7 +75,7 @@ /* Return value. */ ldmia r13, {r0, r1} /* Load return value in r0 and r1. */ #if defined(DC__ABI_ARM_HF) - fldmiad r13, {d0} /* Same for floating point return value (if any). */ + vldmia r13, {d0} /* Same for floating point return value (if any). */ #endif /* Epilog. */