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]
Other format: [Raw text]

Re: rs6000: load_multiple code


On Fri, Nov 22, 2013 at 09:31:18AM +0000, Paulo Matos wrote:
> > From: Alan Modra [mailto:amodra@gmail.com]
> > On Wed, Nov 20, 2013 at 05:06:13PM +0000, Paulo Matos wrote:
> > > I am looking into how rs6000 implements load multiple code
> > [snip]
> > 
> > No pseudos are involved for the destination.  See the FAIL in
> > rs6000.md load_multiple.
> 
> Right, I missed that bit:
> if (...
>     || REGNO (operands[0]) >= 32)
>   FAIL;
> 
> This will basically never match at expand time then, and will have little, if any, use before register allocation then. Right?

Right.  You'll find store_multiple used in function prologues and
load_multiple in epilogues, with -Os if the target supports the string
insns.  movmemsi is of more interest in code elsewhere, and you'll see
a comment there about the register allocator.  :)

-- 
Alan Modra
Australia Development Lab, IBM


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