# HG changeset patch # User Tassilo Philipp # Date 1633250506 -7200 # Node ID 7364f285cac8bab30856894cf0e4d58ce465886c # Parent 351bb41d3bb13f76ab63391a6ef4f3c4001a463e - use UAL syntax for some arm instructions for armhf targets, as clang's integrated as disallows pre-UAL syntax diff -r 351bb41d3bb1 -r 7364f285cac8 dyncall/dyncall_call_arm32_arm_armhf.S --- 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 diff -r 351bb41d3bb1 -r 7364f285cac8 dyncall/dyncall_call_arm32_thumb_armhf.S --- 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 diff -r 351bb41d3bb1 -r 7364f285cac8 dyncallback/dyncall_callback_arm32_arm_gas.S --- 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. */