aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGavin Romig-Koch <gavin@cygnus.com>1999-05-25 05:57:50 +0000
committerGavin Romig-Koch <gavin@gcc.gnu.org>1999-05-25 05:57:50 +0000
commitd89ccde6a8115b08305a4d6af9661a333fa830c6 (patch)
treeb397202003665a89439a2cf25cdea420fae1db8e /gcc
parente83e9d6a0ec9bcfd81a56a75dcc32f6906533d96 (diff)
downloadgcc-d89ccde6a8115b08305a4d6af9661a333fa830c6.zip
gcc-d89ccde6a8115b08305a4d6af9661a333fa830c6.tar.gz
gcc-d89ccde6a8115b08305a4d6af9661a333fa830c6.tar.bz2
mips.h (ASM_OUTPUT_DOUBLE_INT): Use 'dword' if TARGET_GAS.
* config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if TARGET_GAS. From-SVN: r27136
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.h13
2 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a207e8a..6cdd3c4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Tue May 25 08:55:57 1999 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if
+ TARGET_GAS.
+
Mon May 24 20:30:08 1999 Jim Wilson <wilson@cygnus.com>
* configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 7360e1b..dec6f2b 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -4315,11 +4315,20 @@ do { \
fprintf (STREAM, "\n"); \
} while (0)
-/* Likewise for 64 bit, `char' and `short' constants. */
+/* Likewise for 64 bit, `char' and `short' constants.
+
+ FIXME: operand_subword can't handle some complex constant expressions
+ that output_addr_const can (for example it does not call
+ simplify_subtraction). Since GAS can handle dword, even for mipsII,
+ rely on that to avoid operand_subword for most of the cases where this
+ matters. Try gcc.c-torture/compile/930326-1.c with -mips2 -mlong64,
+ or the same case with the type of 'i' changed to long long.
+
+*/
#define ASM_OUTPUT_DOUBLE_INT(STREAM,VALUE) \
do { \
- if (TARGET_64BIT) \
+ if (TARGET_64BIT || TARGET_GAS) \
{ \
fprintf (STREAM, "\t.dword\t"); \
if (HOST_BITS_PER_WIDE_INT < 64 || GET_CODE (VALUE) != CONST_INT) \