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: [PATCH] S/390: shifts and setmems with implicit ANDs


Richard Henderson wrote:
> On Wed, Aug 17, 2005 at 09:53:28AM +0200, Andreas Krebbel wrote:
> > I've bootstrapped with this patch and have run the testsuite without new
> > failures. Do you remember a particular testcase which triggered the reload 
> > problem? 
> 
> Sure.  All you need is for the actual argument buried underneath
> the operator to be reloaded.  It doesn't appear in the insn_data
> that reload uses to do its job.

Actually, basic reloads work fine, because the operand is using an
EXTRA_ADDRESS_CONSTRAINT, and find_reloads_address knows how to
look through an outermost AND.

Unfortunately, there are still failure cases in more complex scenarios
involving register elimination.  In fact, we've managed to generate
ICEs even without the AND-patch, just due to SUBREGs.

However, those scenarios can only be triggered by doing weird things
like using the address of a stack variable as shift count, so I'd
prefer to solve the issue by just not accepting any eliminable reg
as shift count operand.  (I still need to verify that the reg_equiv
stuff doesn't make problems ...)

Bye,
Ulrich

-- 
  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]