This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: optimization/7702: [PATCH] Make reload-cse honor CANNOT_CHANGE_MODE_CLASS
- From: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 14 Feb 2003 22:36:01 -0000
- Subject: Re: optimization/7702: [PATCH] Make reload-cse honor CANNOT_CHANGE_MODE_CLASS
- Reply-to: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
The following reply was made to PR optimization/7702; it has been noted by GNATS.
From: Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
To: Richard Henderson <rth@redhat.com>
Cc: gcc-patches@gcc.gnu.org, gcc-gnats@gcc.gnu.org, bfkelly@nsa.gov
Subject: Re: optimization/7702: [PATCH] Make reload-cse honor CANNOT_CHANGE_MODE_CLASS
Date: 14 Feb 2003 23:31:11 +0100
--=-=-=
Richard Henderson <rth@redhat.com> writes:
> On Fri, Feb 14, 2003 at 10:25:54AM +0100, Falk Hueffner wrote:
> > * reload1.c (reload_cse_simplify_set): Honor
> > CANNOT_CHANGE_MODE_CLASS.
>
> Applied to mainline.
Thanks.
> I'm fairly certain that the exact form of this macro was different
> in both 3.3 and 3.2. Would you generate and test patches for these
> branches?
I have this patch for 3.2. I'll check out 3.3.
--
Falk
--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=reload-cse-3.2.2.patch
--- reload1.c.orig 2003-02-14 22:34:42.000000000 +0100
+++ reload1.c 2003-02-14 22:31:14.000000000 +0100
@@ -8277,7 +8277,14 @@
{
#ifdef LOAD_EXTEND_OP
if (GET_MODE_BITSIZE (GET_MODE (SET_DEST (set))) < BITS_PER_WORD
- && extend_op != NIL)
+ && extend_op != NIL
+#ifdef CLASS_CANNOT_CHANGE_MODE
+ && !(REGNO_REG_CLASS (REGNO (SET_DEST (set)))
+ == CLASS_CANNOT_CHANGE_MODE
+ && CLASS_CANNOT_CHANGE_MODE_P (GET_MODE (SET_DEST (set)),
+ word_mode))
+#endif
+ )
{
rtx wide_dest = gen_rtx_REG (word_mode, REGNO (SET_DEST (set)));
ORIGINAL_REGNO (wide_dest) = ORIGINAL_REGNO (SET_DEST (set));
--=-=-=--