------- Comment #4 from irar at il dot ibm dot com 2008-04-22 07:57 ------- The problem here is that we do not check the types of interleaved data-refs, but only their steps (and since float and int are of the same size here, their steps are equal). And then we treat all the data-refs as if they were of the same type, the type of the first scalar load, i.e., float in this case. Therefore, the conversion from vector int to vector float fails, since we have vector floats on both sides.
It seems like we better prevent vectorization of such mixed types for 4.3.1. For 4.4 we can do all the loads and permutations on one type, but later convert to the correct type before performing any operation on the extracted elements. Ira -- irar at il dot ibm dot com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |irar at il dot ibm dot com |dot org | Status|NEW |ASSIGNED Last reconfirmed|2008-04-21 15:08:02 |2008-04-22 07:57:11 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35982