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]

[PATCH] Fix PR 18420 and other problems


Hello,

this patch reverts my change to simplify_gen_subreg of 2004-10-28.
The original reason for that change (to fix PR 15286) is now
superfluous due to the validate_subreg call added by RTH recently.

However, the change introduced additional problems, like the ones
described in PR 18420; since a couple of days, it also causes
the failure of 22_locale/collate_byname/named_equivalence.cc
in the libstdc++ test suite on s390 and s390x.

All this is fixed by simply reverting that change.

Bootstrapped/regtested on s390-ibm-linux and s390x-ibm-linux,
fixes the above mentioned libstdc++ failure.
OK for mainline?

Bye,
Ulrich


ChangeLog:

	PR rtl-optimization/18420
	* simplify-rtx.c (simplify_gen_subreg): Revert 2004-10-28 change.

Index: gcc/simplify-rtx.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/simplify-rtx.c,v
retrieving revision 1.211
diff -c -p -r1.211 simplify-rtx.c
*** gcc/simplify-rtx.c	24 Nov 2004 00:09:03 -0000	1.211
--- gcc/simplify-rtx.c	26 Nov 2004 22:12:16 -0000
*************** simplify_gen_subreg (enum machine_mode o
*** 3782,3789 ****
    if (newx)
      return newx;
  
!   if (GET_CODE (op) == SUBREG || GET_MODE (op) == VOIDmode
!       || (REG_P (op) && REGNO (op) < FIRST_PSEUDO_REGISTER))
      return NULL_RTX;
  
    if (validate_subreg (outermode, innermode, op, byte))
--- 3782,3788 ----
    if (newx)
      return newx;
  
!   if (GET_CODE (op) == SUBREG || GET_MODE (op) == VOIDmode)
      return NULL_RTX;
  
    if (validate_subreg (outermode, innermode, op, byte))
-- 
  Dr. Ulrich Weigand
  Linux on zSeries Development
  Ulrich.Weigand@de.ibm.com


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