diff options
author | John van Groningen | 2016-06-21 11:20:53 +0000 |
---|---|---|
committer | John van Groningen | 2016-06-21 11:20:53 +0000 |
commit | e8571f4fce9a86196d90d8c646145e74c48a4bc2 (patch) | |
tree | 2190662842584b050af036c81256784aae990d5c | |
parent | fix RtoAC, 8 byte align the stack pointer on ARM before calling sprintf (diff) |
fix print_real and pow_real for softfp calling convention (define SOFT_FP_CC)
-rw-r--r-- | armstartup.s | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/armstartup.s b/armstartup.s index ce3ca03..4a5ec2f 100644 --- a/armstartup.s +++ b/armstartup.s @@ -1259,9 +1259,16 @@ print_false: ldr pc,[sp],#4 print_real: +.ifdef SOFT_FP_CC + vmov r0,r1,d0 +.endif b print_real_ print_real_node: +.ifdef SOFT_FP_CC + ldrd r0,r1,[r6,#4] +.else vldr.f64 d0,[r6,#4] +.endif print_real_: mov r11,sp bic sp,sp,#7 @@ -4854,10 +4861,18 @@ exp_real: .section .text.pow_real,"ax" pow_real: +.ifdef SOFT_FP_CC + vmov r0,r1,d1 + vmov r2,r3,d0 +.else vmov.f64 d2,d0 vmov.f64 d0,d1 vmov.f64 d1,d2 +.endif bl pow +.ifdef SOFT_FP_CC + vmov d0,r0,r1 +.endif ldr pc,[sp],#4 .section .text.entier_real,"ax" |