------- Comment #6 from pinskia at gcc dot gnu dot org 2007-03-25 23:05 ------- Now the patch does not solve the following testcase: int main1 (int X) { int s = X; int i; for (i = 0; i < 96*16; i+=16) s += i; return s; }
For this one to be fixed, we need to define an insn which does vec_duplicate as an insn_and_split instead of expanding it up in the rs6000_expand_vector_init. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31334