This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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 *). */