[Bug tree-optimization/19283] [4.0 Regression] Bad code generated in final_cleanup
jakub at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Jan 6 15:52:00 GMT 2005
------- Additional Comments From jakub at gcc dot gnu dot org 2005-01-06 15:52 -------
Yeah, this is fold_widened_comparison "optimizing":
(short intD.7) (short unsigned intD.8) (intD.0) (short unsigned intD.8) uD.1124 <
0
into 1 (for unsigned int uD.1124).
get_unwidened returns (unsigned short) uD.1124 (note different sign; and that
seems to be what get_unwidened documents:
If we have not stripped any zero-extensions (uns is 0), we can strip any kind of
extension.).
But I guess fold_widened_comparison relies on shorter_type really being a shorter
type. Will look into this further.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
Last reconfirmed|2005-01-06 00:27:06 |2005-01-06 15:52:31
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19283
More information about the Gcc-bugs
mailing list