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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |irar at gcc dot gnu.org
         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-08-23 
08:52:26 UTC ---
Fix:

Index: gcc/tree-vect-stmts.c
===================================================================
--- gcc/tree-vect-stmts.c       (revision 177983)
+++ gcc/tree-vect-stmts.c       (working copy)
@@ -1697,7 +1697,7 @@ vectorizable_call (gimple stmt, gimple_s
                }
              else
                {
-                 vec_oprnd1 = gimple_call_arg (new_stmt, 2*i);
+                 vec_oprnd1 = gimple_call_arg (new_stmt, 2*i + 1);
                  vec_oprnd0
                    = vect_get_vec_def_for_stmt_copy (dt[i], vec_oprnd1);
                  vec_oprnd1


Ira, does that make sense?  I suppose we replace foo (a, b, c) with
foo_vec_pack (a1, a2, b1, b2, c1, c2), etc.  And we want the second
argument from each pair from the last stmt?  (I wonder if all this even
works for nargs != 1).

Reply via email to