diff options
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r-- | gcc/tree-vectorizer.c | 5 |
1 files changed, 3 insertions, 2 deletions
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)) { |