This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/14084] Reg allocator changes REG_EXPR
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Feb 2004 16:49:55 -0000
- Subject: [Bug middle-end/14084] Reg allocator changes REG_EXPR
- References: <20040209141044.14084.zlomek@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-02-09 16:49 -------
Confirmed then, the variable tracking has to do a better job as this is correct because otherwise it will
cause wrong code to change the reg allocator not to do this as values in the register are stored no
matter what in the widess form, see:
/* Define this macro if it is advisable to hold scalars in registers
in a wider mode than that declared by the program. In such cases,
the value is constrained to be within the bounds of the declared
type, but kept valid in the wider mode. The signedness of the
extension may differ from that of the type. */
#define PROMOTE_MODE(MODE,UNSIGNEDP,TYPE) \
if (GET_MODE_CLASS (MODE) == MODE_INT \
&& GET_MODE_SIZE (MODE) < UNITS_PER_WORD) \
(MODE) = TARGET_32BIT ? SImode : DImode;
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-02-09 16:49:51
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14084