This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/36119] [4.4 regression] internal compiler error: in vectorizable_assignment, at tree-vect-transform.c:3671



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]