diff options
author | ed <ed@FreeBSD.org> | 2011-06-02 20:02:42 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2011-06-02 20:02:42 +0000 |
commit | ee2dbb0f7e84d908ac62aecc178992c9be1ca636 (patch) | |
tree | 51db692a6c937b68c7180d996af6bb7952b4b55d /lib/addsf3.c | |
parent | cbbb7af7461cc897920c5924c6bdc1fe3b86a7e5 (diff) | |
download | FreeBSD-src-ee2dbb0f7e84d908ac62aecc178992c9be1ca636.zip FreeBSD-src-ee2dbb0f7e84d908ac62aecc178992c9be1ca636.tar.gz |
Import compiler-rt r132478.
Diffstat (limited to 'lib/addsf3.c')
-rw-r--r-- | lib/addsf3.c | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/lib/addsf3.c b/lib/addsf3.c index c0e8d8e..20610ef 100644 --- a/lib/addsf3.c +++ b/lib/addsf3.c @@ -1,4 +1,4 @@ -//===-- lib/addsf3.c - Single-precision addition and subtraction --*- C -*-===// +//===-- lib/addsf3.c - Single-precision addition ------------------*- C -*-===// // // The LLVM Compiler Infrastructure // @@ -7,14 +7,18 @@ // //===----------------------------------------------------------------------===// // -// This file implements single-precision soft-float addition and subtraction -// with the IEEE-754 default rounding (to nearest, ties to even). +// This file implements single-precision soft-float addition with the IEEE-754 +// default rounding (to nearest, ties to even). // //===----------------------------------------------------------------------===// +#include "abi.h" + #define SINGLE_PRECISION #include "fp_lib.h" +ARM_EABI_FNALIAS(fadd, addsf3); + fp_t __addsf3(fp_t a, fp_t b) { rep_t aRep = toRep(a); @@ -147,18 +151,3 @@ fp_t __addsf3(fp_t a, fp_t b) { if (roundGuardSticky == 0x4) result += result & 1; return fromRep(result); } - -// Subtraction; flip the sign bit of b and add. -fp_t __subsf3(fp_t a, fp_t b) { - return __addsf3(a, fromRep(toRep(b) ^ signBit)); -} - - - - - - - - - - |