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]

Re: hard register reload patch


   Date: Mon, 13 Dec 1999 13:17:55 +0000 (GMT)
   From: Bernd Schmidt <bernds@balti.cygnus.co.uk>

   On Mon, 13 Dec 1999, Jeffrey A Law wrote:

   > Don't we usually write this loop using a "while" so that we strip off any
   > nested SUBREGs?

   Are nested SUBREGs allowed?  I've never seen any, and I do believe I've seen
   code that tries to avoid making them.

Technically no.  But it can happen when, for example, a TFmode move
splits into DFmode moves which splits into SFmode moves on targets
which can only move values one SFmode register at a time due to some
restriction.

However, the best thing to do in those cases is to just compute and
generate the splits post reload and gen up the hard registers
directly.

Or, one can use alter_subreg, etc.

So what I'm saying is that ports can/do create them sometimes, and
this is probably a bug.

Later,
David S. Miller
davem@redhat.com


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