"Richard Guenther" <richard.guenther@gmail.com> wrote on 10/12/2006
13:37:03:
> On 12/10/06, Ira Rosen <IRAR@il.ibm.com> wrote:
> >
> > A lot of the vectorizer testcases are broken on powerpc-linux. The last
> > version they passed was r119475 (from December 3). The tests are
failing at
> > least since December 6. Looking at the tests that fail, it seems that
the
> > failures are connected to misaligned accesses. Wonder which patch broke
> > it...
>
> My bet would be another missed GIMPLE_STMT_OPERAND transition
> from Aldys patch. Just look at one of the ICEs, it should be trivial to
> fix.
I did the following fixes:
Index: tree-vect-patterns.c
===================================================================
--- tree-vect-patterns.c (revision 119704)
+++ tree-vect-patterns.c (working copy)
@@ -204,7 +204,7 @@ vect_recog_dot_prod_pattern (tree last_s
/* Has been detected as widening-summation? */
stmt = STMT_VINFO_RELATED_STMT (stmt_vinfo);
- expr = TREE_OPERAND (stmt, 1);
+ expr = GIMPLE_STMT_OPERAND (stmt, 1);
type = TREE_TYPE (expr);
if (TREE_CODE (expr) != WIDEN_SUM_EXPR)
return NULL;
Index: tree-vect-transform.c
===================================================================
--- tree-vect-transform.c (revision 119704)
+++ tree-vect-transform.c (working copy)
@@ -2575,7 +2575,7 @@ vect_permute_store_chain (VEC(tree,heap)
unsigned int j;
VEC(tree,heap) *first, *second;
- scalar_dest = TREE_OPERAND (stmt, 0);
+ scalar_dest = GIMPLE_STMT_OPERAND (stmt, 0);
first = VEC_alloc (tree, heap, length/2);
second = VEC_alloc (tree, heap, length/2);
@@ -2941,7 +2941,7 @@ vect_setup_realignment (tree stmt, block
loop_vec_info loop_vinfo = STMT_VINFO_LOOP_VINFO (stmt_info);
struct loop *loop = LOOP_VINFO_LOOP (loop_vinfo);
edge pe = loop_preheader_edge (loop);
- tree scalar_dest = TREE_OPERAND (stmt, 0);
+ tree scalar_dest = GIMPLE_STMT_OPERAND (stmt, 0);
tree vec_dest;
tree init_addr;
tree inc;
Should I commit them as obvious (I can't bootstrap, since it's broken)?