This is the mail archive of the gcc@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]

Re: next glibc showstopper


> This indeed should have been done in i386.[ch].
> 
> Can you show me the exact RTL so we can figure out where it should 
> be changed?

I've figured it out. It turned out to be caused by a piece of code from
Intel's pentium patches that shouldn't have gotten in there. Removing this
code fixes the problem.

Bernd

	* i386.c (notice_update_cc): Remove bogus pentium GCC code.

*** ./config/i386/i386.c.orig-1	Tue Dec  2 20:08:51 1997
--- ./config/i386/i386.c	Tue Dec  2 20:12:18 1997
*************** notice_update_cc (exp)
*** 3542,3556 ****
        if (SET_DEST (exp) == pc_rtx)
  	return;
  
- #ifdef IS_STACK_MODE
-       /* Moving into a memory of stack_mode may have been moved
-          in between the use and set of cc0 by loop_spl(). So
-          old value of cc.status must be retained */
-       if (GET_CODE(SET_DEST(exp)) == MEM 
- 	  && IS_STACK_MODE (GET_MODE (SET_DEST (exp))))
- 	return;
- #endif
- 
        /* Moving register or memory into a register:
  	 it doesn't alter the cc's, but it might invalidate
  	 the RTX's which we remember the cc's came from.
--- 3542,3547 ----


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