------- 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). Ira > > Richard. > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36119