summaryrefslogtreecommitdiffstats
path: root/contrib/compiler-rt/lib/arm/extendsfdf2vfp.S
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/compiler-rt/lib/arm/extendsfdf2vfp.S')
-rw-r--r--contrib/compiler-rt/lib/arm/extendsfdf2vfp.S7
1 files changed, 4 insertions, 3 deletions
diff --git a/contrib/compiler-rt/lib/arm/extendsfdf2vfp.S b/contrib/compiler-rt/lib/arm/extendsfdf2vfp.S
index b1aa88e..17a146e 100644
--- a/contrib/compiler-rt/lib/arm/extendsfdf2vfp.S
+++ b/contrib/compiler-rt/lib/arm/extendsfdf2vfp.S
@@ -16,9 +16,10 @@
// Uses Darwin calling convention where a single precision parameter is
// passed in a GPR and a double precision result is returned in R0/R1 pair.
//
+ .syntax unified
.align 2
DEFINE_COMPILERRT_FUNCTION(__extendsfdf2vfp)
- fmsr s15, r0 // load float register from R0
- fcvtds d7, s15 // convert single to double
- fmrrd r0, r1, d7 // return result in r0/r1 pair
+ vmov s15, r0 // load float register from R0
+ vcvt.f64.f32 d7, s15 // convert single to double
+ vmov r0, r1, d7 // return result in r0/r1 pair
bx lr
OpenPOWER on IntegriCloud