* tree-vect-stmts.cc (vectorizable_load): One more tricky
        !SLP path removal.
---
 gcc/tree-vect-stmts.cc | 40 +---------------------------------------
 1 file changed, 1 insertion(+), 39 deletions(-)

diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc
index c5fe7879d5a..eca7e70adf4 100644
--- a/gcc/tree-vect-stmts.cc
+++ b/gcc/tree-vect-stmts.cc
@@ -12007,9 +12007,6 @@ vectorizable_load (vec_info *vinfo,
                                         stmt_info, bump);
        }
 
-      if (!slp_perm)
-       continue;
-
       if (slp_perm)
        {
          unsigned n_perms;
@@ -12031,43 +12028,8 @@ vectorizable_load (vec_info *vinfo,
                                                      nullptr, true);
              gcc_assert (ok);
            }
+         dr_chain.release ();
        }
-      else
-       {
-         if (grouped_load)
-           {
-             gcc_assert (memory_access_type == VMAT_CONTIGUOUS_PERMUTE);
-             /* We assume that the cost of a single load-lanes instruction
-                is equivalent to the cost of DR_GROUP_SIZE separate loads.
-                If a grouped access is instead being provided by a
-                load-and-permute operation, include the cost of the
-                permutes.  */
-             if (costing_p && first_stmt_info == stmt_info)
-               {
-                 /* Uses an even and odd extract operations or shuffle
-                    operations for each needed permute.  */
-                 int group_size = DR_GROUP_SIZE (first_stmt_info);
-                 int nstmts = ceil_log2 (group_size) * group_size;
-                 inside_cost += record_stmt_cost (cost_vec, nstmts, vec_perm,
-                                                  slp_node, 0, vect_body);
-
-                 if (dump_enabled_p ())
-                   dump_printf_loc (MSG_NOTE, vect_location,
-                                    "vect_model_load_cost: "
-                                    "strided group_size = %d .\n",
-                                    group_size);
-               }
-             else if (!costing_p)
-               {
-                 vect_transform_grouped_load (vinfo, stmt_info, dr_chain,
-                                              group_size, gsi);
-                 *vec_stmt = STMT_VINFO_VEC_STMTS (stmt_info)[0];
-               }
-           }
-         else if (!costing_p)
-           STMT_VINFO_VEC_STMTS (stmt_info).safe_push (new_stmt);
-       }
-      dr_chain.release ();
     }
 
   if (costing_p)
-- 
2.43.0

Reply via email to