aboutsummaryrefslogtreecommitdiff
path: root/lib/builtins/arm/negsf2vfp.S
diff options
context:
space:
mode:
Diffstat (limited to 'lib/builtins/arm/negsf2vfp.S')
-rw-r--r--lib/builtins/arm/negsf2vfp.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/builtins/arm/negsf2vfp.S b/lib/builtins/arm/negsf2vfp.S
index 797abb32ead3..46ab4a9cf164 100644
--- a/lib/builtins/arm/negsf2vfp.S
+++ b/lib/builtins/arm/negsf2vfp.S
@@ -18,7 +18,11 @@
.syntax unified
.p2align 2
DEFINE_COMPILERRT_FUNCTION(__negsf2vfp)
+#if defined(COMPILER_RT_ARMHF_TARGET)
+ vneg.f32 s0, s0
+#else
eor r0, r0, #-2147483648 // flip sign bit on float in r0
+#endif
bx lr
END_COMPILERRT_FUNCTION(__negsf2vfp)