aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2007-06-15 07:01:31 +0000
committerUros Bizjak <ubizjak@gmail.com>2007-06-15 07:01:31 +0000
commita409ce88beef5ce0f8180dbe7973f2a324eb1d6d (patch)
tree8edb3de675b231d55a819e39733fb9b3b9a0e8fc /gcc
parentdf3efda4485cbaade3d8c34e8cb4d446c58f6abb (diff)
* libgcc2.c (CEXT): When compiling L_multc3 and L_divtc3,
define to "l" if LIBGCC_LONG_DOUBLE_SIZE == 128, otherwise define to LIBGCC2_TF_CEXT. * config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): New define. (LIBGCC_TF_CEXT): Ditto. (TF_SIZE): Ditto. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@125737 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog15
-rw-r--r--gcc/config/i386/linux64.h9
-rw-r--r--gcc/libgcc2.c8
3 files changed, 26 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 14f50febb76..63ebfa087b1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,8 +1,17 @@
+2007-06-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * libgcc2.c (CEXT): When compiling L_multc3 and L_divtc3,
+ define to "l" if LIBGCC_LONG_DOUBLE_SIZE == 128,
+ otherwise define to LIBGCC2_TF_CEXT.
+ * config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): New define.
+ (LIBGCC_TF_CEXT): Ditto.
+ (TF_SIZE): Ditto.
+
2007-06-14 Seongbae Park <seongbae.park@gmail.com>
PR rtl-optimization/32339
- * df-scan.c (df_uses_record): Don't modify flags but just add to it for
- df_ref_record.
+ * df-scan.c (df_uses_record): Don't modify flags but just add to
+ it for df_ref_record.
2007-06-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
@@ -20,7 +29,7 @@
2007-06-14 Uros Bizjak <ubizjak@gmail.com>
PR target/32268
- * config/i386/sfp-machine.c (CMPtype): New define.
+ * config/i386/sfp-machine.h (CMPtype): New define.
(mach stubs): Use CMPtype instead of int as a return type.
2007-06-14 Uros Bizjak <ubizjak@gmail.com>
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
index c6a7c88d883..8d68269ad89 100644
--- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h
@@ -1,5 +1,6 @@
/* Definitions for AMD x86-64 running Linux-based GNU systems with ELF format.
- Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007
+ Free Software Foundation, Inc.
Contributed by Jan Hubicka <jh@suse.cz>, based on linux.h.
This file is part of GCC.
@@ -89,6 +90,12 @@ Boston, MA 02110-1301, USA. */
#define MULTILIB_DEFAULTS { "m32" }
#endif
+/* Put all *tf routines in libgcc. */
+#undef LIBGCC2_HAS_TF_MODE
+#define LIBGCC2_HAS_TF_MODE TARGET_64BIT
+#define LIBGCC2_TF_CEXT q
+#define TF_SIZE 113
+
#undef NEED_INDICATE_EXEC_STACK
#define NEED_INDICATE_EXEC_STACK 1
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index a026fff4a87..dd26a6e5ca0 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -1,7 +1,7 @@
/* More subroutines needed by GCC output code on some machines. */
/* Compile this one with gcc. */
/* Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1780,7 +1780,11 @@ NAME (TYPE x, int m)
# define MTYPE TFtype
# define CTYPE TCtype
# define MODE tc
-# define CEXT l
+# if LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 128
+# define CEXT l
+# else
+# define CEXT LIBGCC2_TF_CEXT
+# endif
# define NOTRUNC 1
#else
# error