While the checks look unnecessary they probably are quick and
thus done early.  The following avoids using TYPE_PRECISION
on VECTOR_TYPEs by making the code match the comment which
talks about precision and signedness.  An alternative would
be to only retain the ERROR_MARK and TYPE_MODE checks or
use TYPE_PRECISION_RAW (but I like that least).

Bootstrap and regtest ongoing on x86_64-unknown-linux-gnu, OK?

        * tree-ssa-scopedtables.cc (hashable_expr_equal_p):
        Use element_precision.
---
 gcc/tree-ssa-scopedtables.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/tree-ssa-scopedtables.cc b/gcc/tree-ssa-scopedtables.cc
index 528ddf2a2ab..e698ef97343 100644
--- a/gcc/tree-ssa-scopedtables.cc
+++ b/gcc/tree-ssa-scopedtables.cc
@@ -574,7 +574,7 @@ hashable_expr_equal_p (const struct hashable_expr *expr0,
       && (TREE_CODE (type0) == ERROR_MARK
          || TREE_CODE (type1) == ERROR_MARK
          || TYPE_UNSIGNED (type0) != TYPE_UNSIGNED (type1)
-         || TYPE_PRECISION (type0) != TYPE_PRECISION (type1)
+         || element_precision (type0) != element_precision (type1)
          || TYPE_MODE (type0) != TYPE_MODE (type1)))
     return false;
 
-- 
2.35.3

Reply via email to