aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-vectorizer.c5
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))
{