summaryrefslogtreecommitdiffstats
path: root/contrib/compiler-rt/lib/arm/ltsf2vfp.S
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2011-12-31 19:01:48 +0000
committered <ed@FreeBSD.org>2011-12-31 19:01:48 +0000
commit0ece074de9d070fa87b7f58f9e96bce63db862d8 (patch)
tree21b838383a703c249dd4f0180c8566c40f70e0e3 /contrib/compiler-rt/lib/arm/ltsf2vfp.S
parent55bd70ed9a164b6b2d84037c8362ff3725ff294b (diff)
parent6a5f9bc9ae3205be8bb5570b86a509fcd01a9db6 (diff)
downloadFreeBSD-src-0ece074de9d070fa87b7f58f9e96bce63db862d8.zip
FreeBSD-src-0ece074de9d070fa87b7f58f9e96bce63db862d8.tar.gz
Upgrade libcompiler_rt to upstream revision 147390.
This version of libcompiler_rt adds support for __mulo[sdt]i4(), which computes a multiply and its overflow flag. There are also a lot of cleanup fixes to headers that don't really affect us. Updating to this revision should make it a bit easier to contribute changes back to the LLVM developers.
Diffstat (limited to 'contrib/compiler-rt/lib/arm/ltsf2vfp.S')
-rw-r--r--contrib/compiler-rt/lib/arm/ltsf2vfp.S9
1 files changed, 5 insertions, 4 deletions
diff --git a/contrib/compiler-rt/lib/arm/ltsf2vfp.S b/contrib/compiler-rt/lib/arm/ltsf2vfp.S
index ca06ae2..8c7f9a8 100644
--- a/contrib/compiler-rt/lib/arm/ltsf2vfp.S
+++ b/contrib/compiler-rt/lib/arm/ltsf2vfp.S
@@ -16,12 +16,13 @@
// Uses Darwin calling convention where single precision arguments are passsed
// like 32-bit ints
//
+ .syntax unified
.align 2
DEFINE_COMPILERRT_FUNCTION(__ltsf2vfp)
- fmsr s14, r0 // move from GPR 0 to float register
- fmsr s15, r1 // move from GPR 1 to float register
- fcmps s14, s15
- fmstat
+ vmov s14, r0 // move from GPR 0 to float register
+ vmov s15, r1 // move from GPR 1 to float register
+ vcmp.f32 s14, s15
+ vmrs apsr_nzcv, fpscr
movmi r0, #1 // set result register to 1 if equal
movpl r0, #0
bx lr
OpenPOWER on IntegriCloud