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

Reply via email to