summaryrefslogtreecommitdiffstats
path: root/libgcc
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-05 16:08:30 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-05 16:08:30 +0000
commit8a3edb3344c41154c8ff6b4f392faa0a8d0f9612 (patch)
tree701e939718c2586014d56b1c40b3359df5fab2bb /libgcc
parentd75579d0a30030c4ba57a62dfb2d228533a7e0f1 (diff)
downloadppe42-gcc-8a3edb3344c41154c8ff6b4f392faa0a8d0f9612.tar.gz
ppe42-gcc-8a3edb3344c41154c8ff6b4f392faa0a8d0f9612.zip
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/ChangeLog9
-rw-r--r--libgcc/config.host2
-rw-r--r--libgcc/config/i386/32/sfp-machine.h6
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
OpenPOWER on IntegriCloud