http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52020
Michael Matz <matz at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2012-01-27 CC| |matz at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from Michael Matz <matz at gcc dot gnu.org> 2012-01-27 15:28:18 UTC --- Will be fixed when Richi commits his patch from http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01465.html The problem is, that SRA transforms the "bu = CLOBBER" into bu.__o=0, where the zero is of an OImode type. This later is transformed into a debug instruction (still using that large-type zero), and that zero can't be transformed into RTL because OImode constants are too large to be held in 2*HOST_WIDE_INT . SRA should not invent new constants that weren't there before. It could just as well generate new clobber statements (SSA names in LHS are allowed there), if it really must scalarize the clobber statements.