]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2016-01-12 Richard Biener <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Jan 2016 11:39:54 +0000 (11:39 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Jan 2016 11:39:54 +0000 (11:39 +0000)
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

gcc/ChangeLog
gcc/tree-vect-patterns.c

index 96a63869a0aec1257c9e240bfd1af79990263368..708fab405e571566d819cb3bd4a458eca83b74e9 100644 (file)
@@ -1,3 +1,9 @@
+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
index 51d3e068dc7ab6e1dbb9fe3ac6a29b7de21c90d5..712b34c39c3db3adbf25208cb926ec5663929296 100644 (file)
@@ -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" },