This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

MIPS PATCH: ICE in ASM_OUTPUT_DOUBLE_INT



If no one objects, or otherwise sees a problem with this, I'll 
push it in a few days.


	* config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if 
	TARGET_GAS.


Index: config/mips/mips.h
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/config/mips/mips.h,v
retrieving revision 1.162.6.7
diff -c -r1.162.6.7 mips.h
*** config/mips/mips.h	1999/04/14 18:43:09	1.162.6.7
--- config/mips/mips.h	1999/05/10 14:36:44
***************
*** 4328,4338 ****
    fprintf (STREAM, "\n");						\
  } while (0)
  
! /* Likewise for 64 bit, `char' and `short' constants.  */
  
  #define ASM_OUTPUT_DOUBLE_INT(STREAM,VALUE)				\
  do {									\
!   if (TARGET_64BIT)							\
      {									\
        fprintf (STREAM, "\t.dword\t");					\
        if (HOST_BITS_PER_WIDE_INT < 64 || GET_CODE (VALUE) != CONST_INT)	\
--- 4328,4347 ----
    fprintf (STREAM, "\n");						\
  } while (0)
  
! /* 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 || TARGET_GAS)					\
      {									\
        fprintf (STREAM, "\t.dword\t");					\
        if (HOST_BITS_PER_WIDE_INT < 64 || GET_CODE (VALUE) != CONST_INT)	\


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]