(canon_hash, CONST_DOUBLE): Hash integer and real differently.
From-SVN: r10303
This commit is contained in:
parent
28a19afce3
commit
969c851727
@ -1897,11 +1897,15 @@ canon_hash (x, mode)
|
|||||||
/* This is like the general case, except that it only counts
|
/* This is like the general case, except that it only counts
|
||||||
the integers representing the constant. */
|
the integers representing the constant. */
|
||||||
hash += (unsigned) code + (unsigned) GET_MODE (x);
|
hash += (unsigned) code + (unsigned) GET_MODE (x);
|
||||||
|
if (GET_MODE (x) != VOIDmode)
|
||||||
for (i = 2; i < GET_RTX_LENGTH (CONST_DOUBLE); i++)
|
for (i = 2; i < GET_RTX_LENGTH (CONST_DOUBLE); i++)
|
||||||
{
|
{
|
||||||
unsigned tem = XINT (x, i);
|
unsigned tem = XINT (x, i);
|
||||||
hash += tem;
|
hash += tem;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
hash += ((unsigned) CONST_DOUBLE_LOW (x)
|
||||||
|
+ (unsigned) CONST_DOUBLE_HIGH (x));
|
||||||
return hash;
|
return hash;
|
||||||
|
|
||||||
/* Assume there is only one rtx object for any given label. */
|
/* Assume there is only one rtx object for any given label. */
|
||||||
|
Loading…
Reference in New Issue
Block a user