From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8260 invoked by alias); 14 Feb 2003 22:36:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 8140 invoked by uid 71); 14 Feb 2003 22:36:01 -0000 Date: Fri, 14 Feb 2003 22:36:00 -0000 Message-ID: <20030214223601.8138.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Falk Hueffner Subject: Re: optimization/7702: [PATCH] Make reload-cse honor CANNOT_CHANGE_MODE_CLASS Reply-To: Falk Hueffner X-SW-Source: 2003-02/txt/msg00643.txt.bz2 List-Id: The following reply was made to PR optimization/7702; it has been noted by GNATS. From: Falk Hueffner To: Richard Henderson 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 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)); --=-=-=--