[Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
--- Comment #6 from jakub at gcc dot gnu dot org 2008-10-30 12:51 --- Fixed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730
[Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
--- Comment #5 from jakub at gcc dot gnu dot org 2008-10-30 12:49 --- Subject: Bug 37730 Author: jakub Date: Thu Oct 30 12:49:31 2008 New Revision: 141461 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141461 Log: PR middle-end/37730 * expr.c (store_constructor): For vectors, if target is a MEM, use target's MEM_ALIAS_SET instead of elttype alias set. * gcc.dg/vect/pr37730.c: New test. Added: trunk/gcc/testsuite/gcc.dg/vect/pr37730.c Modified: trunk/gcc/ChangeLog trunk/gcc/expr.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730
[Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730
[Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
--- Comment #4 from rguenth at gcc dot gnu dot org 2008-10-08 08:01 --- Well, the RHS scalar alias set is IMHO irrelevant. What is relevant is the alias set of the store. Which is why I think the assert is somewhat bogus. Note that the gimple type-system allows assignment of any pointer to a void * pointer without a conversion, which is what happens here. It looks like on RTL we treat the RHS as memory load (because of the constructor) and for this reason verify that the alias sets are compatible. But I think there is no reason to assert that? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730
[Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
--- Comment #3 from pinskia at gcc dot gnu dot org 2008-10-07 21:05 --- Also ICEs the same way on spu-elf. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added GCC target triplet|i686-*-*|i686-*-*, spu-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730
[Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
--- 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 # ivtmp.40_38 = PHI *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
[Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
--- Comment #1 from rguenth at gcc dot gnu dot org 2008-10-03 20:29 --- Confirmed. At first sight this looks like an expansion problem of the initializer. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2008-10-03 20:29:59 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730
[Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||rguenth at gcc dot gnu dot ||org Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730