From a88d48a43c52ed60c5fbca03e652d79e2b1eb994 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Thu, 14 Mar 1996 16:58:32 -0800 Subject: (ASM_OUTPUT_DOUBLE_INT): Use 'X' if CONST_INT and HOST_BITS_PER_WIDE_INT == 64. From-SVN: r11539 --- gcc/config/mips/mips.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'gcc') 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 \ -- cgit v1.1