From: rguenth Date: Tue, 12 Jan 2016 11:39:54 +0000 (+0000) Subject: 2016-01-12 Richard Biener X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5ddb3e0df163a41b26cfb924844555b3c847505d;p=thirdparty%2Fgcc.git 2016-01-12 Richard Biener PR tree-optimization/69007 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move widen_sum after dot_prod and sad. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232262 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 96a63869a0ae..708fab405e57 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-01-12 Richard Biener + + 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 PR tree-optimization/69168 diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index 51d3e068dc7a..712b34c39c3d 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" },