This is the mail archive of the gcc@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]
Other format: [Raw text]

Re: Bootstrap still broken on ia64


On Wed, Sep 25, 2002 at 07:00:14PM -0400, Jim Wilson wrote:
> I tried writing a patch for this.  With this patch, my make bootstrap (minus
> ada) completed successfully.
> 
> 2002-09-25  Jim Wilson  <wilson@tortoise.toronto.redhat.com>
> 
> 	* emit-rtl.c (const_double_htab_eq): Rewrite to use real_identical.

Doh.  I just bootstraped and commited a slightly different patch.
In any case, your patch is incorrect for the integer CONST_DOUBLE case.


r~

        * emit-rtl.c (const_double_htab_eq): Distinguish integer and
        fp CONST_DOUBLE; use real_identical.

Index: emit-rtl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/emit-rtl.c,v
retrieving revision 1.297
diff -u -r1.297 emit-rtl.c
--- emit-rtl.c	22 Sep 2002 14:09:31 -0000	1.297
+++ emit-rtl.c	25 Sep 2002 21:24:29 -0000
@@ -243,11 +243,12 @@
 
   if (GET_MODE (a) != GET_MODE (b))
     return 0;
-  for (i = 0; i < sizeof(CONST_DOUBLE_FORMAT)-1; i++)
-    if (XWINT (a, i) != XWINT (b, i))
-      return 0;
-
-  return 1;
+  if (GET_MODE (a) == VOIDmode)
+    return (CONST_DOUBLE_LOW (a) == CONST_DOUBLE_LOW (b)
+	    && CONST_DOUBLE_HIGH (a) == CONST_DOUBLE_HIGH (b));
+  else
+    return real_identical (CONST_DOUBLE_REAL_VALUE (a),
+			   CONST_DOUBLE_REAL_VALUE (b));
 }
 
 /* Returns a hash code for X (which is a really a mem_attrs *).  */


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