diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 35a05864a25..ed6f28e1db1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2015-12-14 Richard Biener + + 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 PR tree-optimization/68852 diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c index b87b3d4124d..3fdc988b4d6 100644 --- a/gcc/tree-vect-slp.c +++ b/gcc/tree-vect-slp.c @@ -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 (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 ())