aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2016-01-12 11:39:54 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2016-01-12 11:39:54 +0000
commit5b723b6806dc86853fff5a1b30b9c505f870e800 (patch)
tree3505dc5325ea3071170829dc332f93022ac63acb /gcc
parent2935d9941464d64964a1885f5fcabcb0aa5290e5 (diff)
downloadgcc-5b723b6806dc86853fff5a1b30b9c505f870e800.zip
gcc-5b723b6806dc86853fff5a1b30b9c505f870e800.tar.gz
gcc-5b723b6806dc86853fff5a1b30b9c505f870e800.tar.bz2
re PR testsuite/69007 (test cases gcc.dg/vect/vect-reduc-dot-s8a.c fails starting with r231815)
2016-01-12 Richard Biener <rguenther@suse.de> PR tree-optimization/69007 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move widen_sum after dot_prod and sad. From-SVN: r232262
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-vect-patterns.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 96a6386..708fab4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2016-01-12 Richard Biener <rguenther@suse.de>
+ PR tree-optimization/69007
+ * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
+ widen_sum after dot_prod and sad.
+
+2016-01-12 Richard Biener <rguenther@suse.de>
+
PR tree-optimization/69168
* tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
pattern stmt SLP type.
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index 51d3e06..712b34c 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -75,11 +75,15 @@ struct vect_recog_func
vect_recog_func_ptr fn;
const char *name;
};
+
+/* Note that ordering matters - the first pattern matching on a stmt
+ is taken which means usually the more complex one needs to preceed
+ the less comples onex (widen_sum only after dot_prod or sad for example). */
static vect_recog_func vect_vect_recog_func_ptrs[NUM_PATTERNS] = {
{ vect_recog_widen_mult_pattern, "widen_mult" },
- { vect_recog_widen_sum_pattern, "widen_sum" },
{ vect_recog_dot_prod_pattern, "dot_prod" },
{ vect_recog_sad_pattern, "sad" },
+ { vect_recog_widen_sum_pattern, "widen_sum" },
{ vect_recog_pow_pattern, "pow" },
{ vect_recog_widen_shift_pattern, "widen_shift" },
{ vect_recog_over_widening_pattern, "over_widening" },