diff options
author | Richard Biener <rguenther@suse.de> | 2016-03-09 16:41:19 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-03-09 16:41:19 +0000 |
commit | c9e336624a5f3d3845b9b4a070f29d074418bd73 (patch) | |
tree | 6eeff31f2bbd574cdd383c1442c4967fa3bd4748 /gcc/tree-vect-loop-manip.c | |
parent | 2c73b7640dba91c6041404ab3e3b4f629ad73ad1 (diff) | |
download | gcc-c9e336624a5f3d3845b9b4a070f29d074418bd73.zip gcc-c9e336624a5f3d3845b9b4a070f29d074418bd73.tar.gz gcc-c9e336624a5f3d3845b9b4a070f29d074418bd73.tar.bz2 |
re PR tree-optimization/70138 (wrong code at -O3 on x86_64-linux-gnu)
2016-03-09 Richard Biener <rguenther@suse.de>
Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/70138
* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
Also skip vect_double_reduction_def.
* gcc.dg/vect/pr70138-1.c: New testcase.
* gcc.dg/vect/pr70138-2.c: Likewise.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r234086
Diffstat (limited to 'gcc/tree-vect-loop-manip.c')
-rw-r--r-- | gcc/tree-vect-loop-manip.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c index f8a44b5..7ec6dae 100644 --- a/gcc/tree-vect-loop-manip.c +++ b/gcc/tree-vect-loop-manip.c @@ -1692,7 +1692,8 @@ vect_update_ivs_after_vectorizer (loop_vec_info loop_vinfo, tree niters, /* Skip reduction phis. */ stmt_info = vinfo_for_stmt (phi); - if (STMT_VINFO_DEF_TYPE (stmt_info) == vect_reduction_def) + if (STMT_VINFO_DEF_TYPE (stmt_info) == vect_reduction_def + || STMT_VINFO_DEF_TYPE (stmt_info) == vect_double_reduction_def) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, |