aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1996-03-14 16:58:32 -0800
committerJim Wilson <wilson@gcc.gnu.org>1996-03-14 16:58:32 -0800
commita88d48a43c52ed60c5fbca03e652d79e2b1eb994 (patch)
treef040ccb18fa476e98b0ecbf93aadf0378ce73dd7 /gcc
parentb4c6e06c29aa16e552ed379401574e4c43f9b401 (diff)
downloadgcc-a88d48a43c52ed60c5fbca03e652d79e2b1eb994.zip
gcc-a88d48a43c52ed60c5fbca03e652d79e2b1eb994.tar.gz
gcc-a88d48a43c52ed60c5fbca03e652d79e2b1eb994.tar.bz2
(ASM_OUTPUT_DOUBLE_INT): Use 'X' if CONST_INT and
HOST_BITS_PER_WIDE_INT == 64. From-SVN: r11539
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/mips/mips.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 5348380..21693ba 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -3538,7 +3538,14 @@ do { \
if (TARGET_64BIT) \
{ \
fprintf (STREAM, "\t.dword\t"); \
- output_addr_const (STREAM, (VALUE)); \
+ if (HOST_BITS_PER_WIDE_INT < 64 || GET_CODE (VALUE) != CONST_INT) \
+ /* We can't use 'X' for negative numbers, because then we won't \
+ get the right value for the upper 32 bits. */ \
+ output_addr_const (STREAM, VALUE); \
+ else \
+ /* We must use 'X', because otherwise LONG_MIN will print as \
+ a number that the Irix 6 assembler won't accept. */ \
+ print_operand (STREAM, VALUE, 'X'); \
fprintf (STREAM, "\n"); \
} \
else \