[Bug tree-optimization/55559] Marshalling double through union with inlines, incorrect behavior with -O2
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Dec 2 00:10:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55559
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-12-02
Component|c++ |tree-optimization
Ever Confirmed|0 |1
Known to fail| |4.7.0, 4.8.0
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-12-02 00:09:30 UTC ---
CCP is broken:
Visiting statement:
D.1625_1 = D.1625_8;
Lattice value changed to CONSTANT -4616189618054758400. Adding SSA edges to
worklist.
Visiting statement:
D.1631_7 = VIEW_CONVERT_EXPR<double>(D.1625_1);
which is likely CONSTANT
Lattice value changed to CONSTANT -1.0e+0. Adding SSA edges to worklist.
Visiting statement:
D.1631_9 = D.1631_7;
Lattice value changed to CONSTANT -1.0e+0. Adding SSA edges to worklist.
Visiting statement:
D.1631_2 = D.1631_9;
Lattice value changed to CONSTANT -1.0e+0. Adding SSA edges to worklist.
Visiting statement:
D.1610_3 = (unsigned int) D.1631_2;
which is likely CONSTANT
Lattice value changed to CONSTANT 0. Adding SSA edges to worklist.
I think this is a regression if the code does not use extended initializer
lists but I have not tested it though.
More information about the Gcc-bugs
mailing list