diff options
Diffstat (limited to 'gcc/cselib.c')
-rw-r--r-- | gcc/cselib.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/cselib.c b/gcc/cselib.c index 2d34a91..f5c8cbb 100644 --- a/gcc/cselib.c +++ b/gcc/cselib.c @@ -1048,6 +1048,11 @@ rtx_equal_for_cselib_1 (rtx x, rtx y, machine_mode memmode, int depth) case DEBUG_EXPR: return 0; + case CONST_VECTOR: + if (!same_vector_encodings_p (x, y)) + return false; + break; + case DEBUG_IMPLICIT_PTR: return DEBUG_IMPLICIT_PTR_DECL (x) == DEBUG_IMPLICIT_PTR_DECL (y); @@ -1382,7 +1387,6 @@ cselib_hash_rtx (rtx x, int create, machine_mode memmode) return cselib_hash_rtx (XEXP (x, 0), create, memmode); case PC: - case CC0: case CALL: case UNSPEC_VOLATILE: return 0; @@ -1822,7 +1826,6 @@ cselib_expand_value_rtx_1 (rtx orig, struct expand_value_data *evd, case SYMBOL_REF: case CODE_LABEL: case PC: - case CC0: case SCRATCH: /* SCRATCH must be shared because they represent distinct values. */ return orig; |