From: Jim Wilson Date: Fri, 15 Mar 1996 00:58:32 +0000 (-0800) Subject: (ASM_OUTPUT_DOUBLE_INT): Use 'X' if CONST_INT and X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a88d48a43c52ed60c5fbca03e652d79e2b1eb994;p=gcc.git (ASM_OUTPUT_DOUBLE_INT): Use 'X' if CONST_INT and HOST_BITS_PER_WIDE_INT == 64. From-SVN: r11539 --- diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index 534838002e9..21693bab533 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 \