This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/19283] [4.0 Regression] Bad code generated in final_cleanup
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Jan 2005 15:52:32 -0000
- Subject: [Bug tree-optimization/19283] [4.0 Regression] Bad code generated in final_cleanup
- References: <20050105234928.19283.snyder@fnal.gov>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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