diff options
author | Richard Biener <rguenther@suse.de> | 2016-01-12 11:39:54 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-01-12 11:39:54 +0000 |
commit | 5b723b6806dc86853fff5a1b30b9c505f870e800 (patch) | |
tree | 3505dc5325ea3071170829dc332f93022ac63acb /gcc | |
parent | 2935d9941464d64964a1885f5fcabcb0aa5290e5 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-vect-patterns.c | 6 |
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" }, |