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: how to keep a hard register across multiple instrutions?


 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.rennecke@embecosm.com>
> To: "David Kang" <dkang@isi.edu>
> Cc: "Jeff Law" <law@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 <dkang@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


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