[Bug regression/52020] ICE in immed_double_const, at emit-rtl.c:544
matz at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jan 27 15:54:00 GMT 2012
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.
More information about the Gcc-bugs
mailing list