From 02ac9503fda84a6a5973c0ddc02c4407194145bb Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Tue, 5 Nov 2013 17:08:30 +0100 Subject: 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 --- libgcc/ChangeLog | 9 +++++++++ libgcc/config.host | 2 +- libgcc/config/i386/32/sfp-machine.h | 6 ++++++ 3 files changed, 16 insertions(+), 1 deletion(-) (limited to 'libgcc') 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 + + * 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 * 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 -- cgit v1.1