The CONST_WIDE_INT case in const_rtx_hash_1 started the hash
with the precision of the mode, but the mode is always VOIDmode.
2017-08-21 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
gcc/
* varasm.c (const_rtx_hash_1): Don't hash in the mode of a
CONST_WIDE_INT.
Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r251218
+2017-08-21 Richard Sandiford <richard.sandiford@linaro.org>
+ Alan Hayward <alan.hayward@arm.com>
+ David Sherwood <david.sherwood@arm.com>
+
+ * varasm.c (const_rtx_hash_1): Don't hash in the mode of a
+ CONST_WIDE_INT.
+
2017-08-21 Richard Biener <rguenther@suse.de>
PR middle-end/81884
break;
case CONST_WIDE_INT:
- hwi = GET_MODE_PRECISION (mode);
+ hwi = 0;
{
for (i = 0; i < CONST_WIDE_INT_NUNITS (x); i++)
hwi ^= CONST_WIDE_INT_ELT (x, i);