[Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
jakub at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Oct 6 06:20:00 GMT 2008
------- 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
More information about the Gcc-bugs
mailing list