------- Comment #9 from rguenther at suse dot de 2008-05-04 12:22 ------- Subject: Re: [4.4 regression] internal compiler error: in vectorizable_assignment, at tree-vect-transform.c:3671
On Sun, 4 May 2008, irar at il dot ibm dot com wrote: > ------- Comment #8 from irar at il dot ibm dot com 2008-05-04 12:07 ------- > (In reply to comment #7) > > It does - and the loop is vectorized. But it looks like a hack ;) > > It is not. We actually do this in all vectorizable_...() that support SLP. > SLP currently does not support multiple types (I am working on this right > now). > So in the analysis phase we check that there is only one type in the loop > before we try to SLP it. In loop-based vectorization of loops with multiple > types we generate "copies" of stmts of the bigger type, and the number of > copies is vf/nunits. In SLP this expression is meaningless, therefore, we > overwrite NCOPIES with 1 (which is the correct number of copies in case there > is only one type in the loop). Ah, I see. Can you give the patch bootstrap & test? I'll pre-approve it here. Thanks, Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36119