------- Comment #2 from jakub at gcc dot gnu dot org  2008-10-06 06:18 -------
This looks like a vectorizer bug to me.  Vectorizer creates:
  vector void * * vect_pdtds.39;
  vector void * * vect_pdtds.34;
  vector unsigned char * vect_cst_.33;
...
  vect_cst_.33_33 = {&dtd, &dtd, &dtd, &dtd};
  vect_pdtds.39_34 = (vector void * *) &dtds;
  vect_pdtds.34_35 = vect_pdtds.39_34;
...
  # vect_pdtds.34_36 = PHI <vect_pdtds.34_37(9), vect_pdtds.34_35(3)>
  # ivtmp.40_38 = PHI <ivtmp.40_39(9), 0(3)>
  *vect_pdtds.34_36 = vect_cst_.33_33;

Shouldn't that use VCE instead?  void * and unsigned char * certainly have
different alias sets, so storing vect_cst.33 with element type's alias set 3
into dtds variable, which has element alias set 2, doesn't work very well.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |irar at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730

Reply via email to