aboutsummaryrefslogtreecommitdiff
path: root/gcc/cselib.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cselib.c')
-rw-r--r--gcc/cselib.c7
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;