diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-vectorizer.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bd0a65c..aaf27cf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2005-06-28 Richard Henderson <rth@redhat.com> + * tree-vectorizer.c (vect_is_simple_reduction): Compare types + using TYPE_MAIN_VARIANT. + +2005-06-28 Richard Henderson <rth@redhat.com> + * config/ia64/ia64.c (ia64_expand_vecint_compare): Decompose to EQ when using psubN.uuu. diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index cf16f66..169b306 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -1870,9 +1870,10 @@ vect_is_simple_reduction (struct loop *loop ATTRIBUTE_UNUSED, return NULL_TREE; } - /* Check that it's ok to change the order of the computation */ + /* Check that it's ok to change the order of the computation. */ type = TREE_TYPE (operation); - if (type != TREE_TYPE (op1) || type != TREE_TYPE (op2)) + if (TYPE_MAIN_VARIANT (type) != TYPE_MAIN_VARIANT (TREE_TYPE (op1)) + || TYPE_MAIN_VARIANT (type) != TYPE_MAIN_VARIANT (TREE_TYPE (op2))) { if (vect_print_dump_info (REPORT_DETAILS, UNKNOWN_LOC)) { |