Hi! This PR got fixed by my recent vectorizable_conversion changes, in particular the truncation of the vec_oprnds[01] vectors on multistep type promotion if copies > 1.
Testcase tested on x86_64-linux and i686-linux, checked in as obvious. 2011-11-22 Jakub Jelinek <ja...@redhat.com> PR tree-optimization/50765 * gcc.dg/pr50765.c: New test. --- gcc/testsuite/gcc.dg/pr50765.c.jj 2011-11-22 11:43:17.614794630 +0100 +++ gcc/testsuite/gcc.dg/pr50765.c 2011-11-22 11:43:05.000000000 +0100 @@ -0,0 +1,10 @@ +/* PR tree-optimization/50765 */ +/* { dg-do compile } */ +/* { dg-options "-O3 -fno-tree-dce" } */ + +void +foo (long *w, long *x, unsigned char *y, int z) +{ + for (; z < 429; z++) + w[z] = (-19 ^ y[z]) & x[z]; +} Jakub