This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: optimization/7702: [PATCH] Make reload-cse honor CANNOT_CHANGE_MODE_CLASS


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

--- 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));

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]