2015-12-10 Richard Biener <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Dec 2015 15:33:20 +0000 (15:33 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Dec 2015 15:33:20 +0000 (15:33 +0000)
PR tree-optimization/68707
PR tree-optimization/67323
* tree-vect-slp.c (vect_analyze_slp_instance): Drop SLP instances
if they can be vectorized using load/store-lane instructions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231620 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 35a0586..ed6f28e 100644 (file)
@@ -1,5 +1,13 @@
 2015-12-14  Richard Biener  <rguenther@suse.de>
 
+       Revert accidentially applied
+       PR tree-optimization/68707
+       PR tree-optimization/67323
+       * tree-vect-slp.c (vect_analyze_slp_instance): Drop SLP instances
+       if they can be vectorized using load/store-lane instructions.
+
+2015-12-14  Richard Biener  <rguenther@suse.de>
+
        PR tree-optimization/68852
        * tree-vectorizer.h (struct _slp_tree): Add def_type member.
        (SLP_TREE_DEF_TYPE): New accessor.
index b87b3d4..3fdc988 100644 (file)
@@ -1808,33 +1808,6 @@ vect_analyze_slp_instance (vec_info *vinfo,
             }
         }
 
-      /* If the loads and stores can be handled with load/store-lane
-         instructions do not generate this SLP instance.  */
-      if (is_a <loop_vec_info> (vinfo)
-         && loads_permuted
-         && dr && vect_store_lanes_supported (vectype, group_size))
-       {
-         slp_tree load_node;
-         FOR_EACH_VEC_ELT (loads, i, load_node)
-           {
-             gimple *first_stmt = GROUP_FIRST_ELEMENT
-                 (vinfo_for_stmt (SLP_TREE_SCALAR_STMTS (load_node)[0]));
-             stmt_vec_info stmt_vinfo = vinfo_for_stmt (first_stmt);
-             if (! vect_load_lanes_supported (STMT_VINFO_VECTYPE (stmt_vinfo),
-                                              GROUP_SIZE (stmt_vinfo)))
-               break;
-           }
-         if (i == loads.length ())
-           {
-             if (dump_enabled_p ())
-               dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
-                                "Built SLP cancelled: can use "
-                                "load/store-lanes\n");
-              vect_free_slp_instance (new_instance);
-              return false;
-           }
-       }
-
       vinfo->slp_instances.safe_push (new_instance);
 
       if (dump_enabled_p ())