diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-05 16:08:30 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-05 16:08:30 +0000 |
commit | 8a3edb3344c41154c8ff6b4f392faa0a8d0f9612 (patch) | |
tree | 701e939718c2586014d56b1c40b3359df5fab2bb /libgcc | |
parent | d75579d0a30030c4ba57a62dfb2d228533a7e0f1 (diff) | |
download | gcc-8a3edb3344c41154c8ff6b4f392faa0a8d0f9612.tar.gz |
gcc/
* config/i386/i386-c.c (ix86_target_macros): Define _SOFT_FLOAT
for !TARGET_80387.
* config/i386/rtemself.h (TARGET_OS_CPP_BUILTINS): Do not define
_SOFT_FLOAT here.
(LONG_DOUBLE_TYPE_SIZE): New define.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Ditto.
libgcc/
* config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Define.
(_FP_MUL_MEAT_D): Ditto.
(_FP_DIV_MEAT_S): Ditto.
(_FP_DIV_MEAT_D): Ditto.
* config.host (i[34567]86-*-rtems*): Remove i386/t-softfp, add
t-softfp-sfdf and t-softfp to tmake_file.
M gcc/config/i386/i386-c.c
M gcc/config/i386/rtemself.h
M gcc/ChangeLog
M libgcc/ChangeLog
M libgcc/config.host
M libgcc/config/i386/32/sfp-machine.h
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204404 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 9 | ||||
-rw-r--r-- | libgcc/config.host | 2 | ||||
-rw-r--r-- | libgcc/config/i386/32/sfp-machine.h | 6 |
3 files changed, 16 insertions, 1 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 30b53c94ea8..41bf1c55ff4 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,12 @@ +2013-11-05 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Define. + (_FP_MUL_MEAT_D): Ditto. + (_FP_DIV_MEAT_S): Ditto. + (_FP_DIV_MEAT_D): Ditto. + * config.host (i[34567]86-*-rtems*): Remove i386/t-softfp, add + t-softfp-sfdf and t-softfp to tmake_file. + 2013-11-03 Uros Bizjak <ubizjak@gmail.com> * config/i386/crtfastmath.c: Compile only for !_SOFT_FLOAT. diff --git a/libgcc/config.host b/libgcc/config.host index 905b816b0dd..325ed84ad90 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -564,7 +564,7 @@ i[34567]86-*-nto-qnx*) extra_parts=crtbegin.o ;; i[34567]86-*-rtems*) - tmake_file="$tmake_file i386/t-softfp i386/t-crtstuff" + tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdf t-softfp" extra_parts="$extra_parts crti.o crtn.o" ;; i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) diff --git a/libgcc/config/i386/32/sfp-machine.h b/libgcc/config/i386/32/sfp-machine.h index 143296d69ff..b9eb16633eb 100644 --- a/libgcc/config/i386/32/sfp-machine.h +++ b/libgcc/config/i386/32/sfp-machine.h @@ -65,9 +65,15 @@ "g" ((USItype) (y0))) +#define _FP_MUL_MEAT_S(R,X,Y) \ + _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm) +#define _FP_MUL_MEAT_D(R,X,Y) \ + _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) #define _FP_MUL_MEAT_Q(R,X,Y) \ _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) +#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_loop(S,R,X,Y) +#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y) #define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y) #define _FP_NANFRAC_S _FP_QNANBIT_S |