This is the mail archive of the
mailing list for the GCC project.
Re: how to keep a hard register across multiple instrutions?
- From: David Kang <dkang at isi dot edu>
- To: Joern Rennecke <joern dot rennecke at embecosm dot com>
- Cc: Jeff Law <law at redhat dot com>, GCC <gcc at gcc dot gnu dot org>
- Date: Wed, 5 Nov 2014 14:15:20 -0800 (PST)
- Subject: Re: how to keep a hard register across multiple instrutions?
- Authentication-results: sourceware.org; auth=none
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.
----- Original Message -----
> From: "Joern Rennecke" <firstname.lastname@example.org>
> To: "David Kang" <email@example.com>
> Cc: "Jeff Law" <firstname.lastname@example.org>, "GCC" <email@example.com>
> 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 <firstname.lastname@example.org> wrote:
> > Thank you for the tips.
> > I tried the following condition for split.
> > "reload_completed && FP_REG_P (operands)"
> > 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
Dr. Dong-In "David" Kang