diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1996-03-14 16:58:32 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1996-03-14 16:58:32 -0800 |
commit | a88d48a43c52ed60c5fbca03e652d79e2b1eb994 (patch) | |
tree | f040ccb18fa476e98b0ecbf93aadf0378ce73dd7 /gcc | |
parent | b4c6e06c29aa16e552ed379401574e4c43f9b401 (diff) | |
download | gcc-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.h | 9 |
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 \ |