Thank you very much.
It turns out that the FPU register is renamed.
After configuring HARD_REGNO_RENAME_OK, now one FPU register is used for those 
three instructions.

 David

----- Original Message -----
> From: "Joern Rennecke" <joern.renne...@embecosm.com>
> To: "David Kang" <dk...@isi.edu>
> Cc: "Jeff Law" <l...@redhat.com>, "GCC" <gcc@gcc.gnu.org>
> Sent: Monday, November 3, 2014 5:05:21 PM
> Subject: Re: how to keep a hard register across multiple instrutions?
> On 3 November 2014 21:51, David Kang <dk...@isi.edu> wrote:
> >
> >  Thank you for the tips.
> > I tried the following condition for split.
> >
> >   "reload_completed && FP_REG_P (operands[0])"
> >
> > But, the registers are still changed.
> > How can I specify "after register allocation" in the split
> > condition?
> 
> Are you sure that your problem is that the split is too early, or
> could you suffering
> from later register renumbering?
> You can get a set of dump files for all rtl passes by adding the -da
> option to gcc / cc1,
> so that you can see exactly when things go wrong.
> I would suspect the register renaming pass causing you trouble.
> You might have to define HARD_REGNO_RENAME_OK suitably for your
> target.

-- 
----------------------
Dr. Dong-In "David" Kang
Computer Scientist
USC/ISI

Reply via email to