RTL checking fails (solaris2, irix6 & x86) SUBREG_BYTE related?

Andrew Macleod amacleod@cygnus.com
Fri Apr 6 19:19:00 GMT 2001


Give this a try, it bootstraps for me now.

OK to commit?

Andrew


	* function.c (purge_single_hard_subreg_set): Only check REGNO if 
	the subreg was a hard register. Pseudos are left as subregs.



*** /src/egcs0403/egcs/gcc/function.c	Fri Apr  6 11:08:53 2001
--- ./function.c	Fri Apr  6 18:27:05 2001
*************** purge_single_hard_subreg_set (pattern)
*** 3456,3462 ****
      }
  
  		  
!   if (REGNO (reg) < FIRST_PSEUDO_REGISTER)
      {
        reg = gen_rtx_REG (mode, REGNO (reg) + offset);
        SET_DEST (pattern) = reg;
--- 3456,3462 ----
      }
  
  		  
!   if (GET_CODE (reg) == REG && REGNO (reg) < FIRST_PSEUDO_REGISTER)
      {
        reg = gen_rtx_REG (mode, REGNO (reg) + offset);
        SET_DEST (pattern) = reg;



More information about the Gcc-bugs mailing list