http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51684

Ira Rosen <irar at il dot ibm.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2011-12-27
                 CC|                            |irar at il dot ibm.com
         AssignedTo|unassigned at gcc dot       |irar at il dot ibm.com
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #1 from Ira Rosen <irar at il dot ibm.com> 2011-12-27 13:53:13 UTC 
---
Untested patch:

Index: tree-vect-slp.c
===================================================================
--- tree-vect-slp.c     (revision 182692)
+++ tree-vect-slp.c     (working copy)
@@ -2885,6 +2885,8 @@ vect_schedule_slp_instance (slp_tree nod
       && REFERENCE_CLASS_P (gimple_get_lhs (stmt)))
     {
       gimple last_store = vect_find_last_store_in_slp_instance (instance);
+      if (is_pattern_stmt_p (vinfo_for_stmt (last_store)))
+       last_store = STMT_VINFO_RELATED_STMT (vinfo_for_stmt (last_store));
       si = gsi_for_stmt (last_store);
     }

@@ -2989,6 +2991,8 @@ vect_schedule_slp (loop_vec_info loop_vi
           if (!STMT_VINFO_DATA_REF (vinfo_for_stmt (store)))
             break;

+         if (is_pattern_stmt_p (vinfo_for_stmt (store)))
+           store = STMT_VINFO_RELATED_STMT (vinfo_for_stmt (store));
           /* Free the attached stmt_vec_info and remove the stmt.  */
           gsi = gsi_for_stmt (store);
           gsi_remove (&gsi, true);

Reply via email to