diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2013-11-05 17:08:30 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2013-11-05 17:08:30 +0100 |
commit | 02ac9503fda84a6a5973c0ddc02c4407194145bb (patch) | |
tree | 701e939718c2586014d56b1c40b3359df5fab2bb /libgcc | |
parent | b1705a63884677d72924b7044610eb687287688b (diff) | |
download | gcc-02ac9503fda84a6a5973c0ddc02c4407194145bb.zip gcc-02ac9503fda84a6a5973c0ddc02c4407194145bb.tar.gz gcc-02ac9503fda84a6a5973c0ddc02c4407194145bb.tar.bz2 |
i386-c.c (ix86_target_macros): Define _SOFT_FLOAT for !TARGET_80387.
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
From-SVN: r204404
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 30b53c9..41bf1c5 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 905b816..325ed84 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 143296d..b9eb166 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 |