diff options
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 5e719ae..ab950fd 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -237,7 +237,11 @@ const_double_htab_hash (x) if (GET_MODE (value) == VOIDmode) h = CONST_DOUBLE_LOW (value) ^ CONST_DOUBLE_HIGH (value); else - h = real_hash (CONST_DOUBLE_REAL_VALUE (value)); + { + h = real_hash (CONST_DOUBLE_REAL_VALUE (value)); + /* MODE is used in the comparison, so it should be in the hash. */ + h ^= GET_MODE (value); + } return h; } |