This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gcc feature request / RFC: extra clobbered regs
- From: Andy Lutomirski <luto at amacapital dot net>
- To: "H. Peter Anvin" <hpa at zytor dot com>
- Cc: Jakub Jelinek <jakub at redhat dot com>, Andy Lutomirski <luto at kernel dot org>, gcc at gcc dot gnu dot org, "linux-kernel at vger dot kernel dot org" <linux-kernel at vger dot kernel dot org>, Linus Torvalds <torvalds at linux-foundation dot org>, Ingo Molnar <mingo at kernel dot org>, Thomas Gleixner <tglx at linutronix dot de>, Vladimir Makarov <vmakarov at redhat dot com>
- Date: Tue, 30 Jun 2015 14:48:08 -0700
- Subject: Re: gcc feature request / RFC: extra clobbered regs
- Authentication-results: sourceware.org; auth=none
- References: <CALCETrX6j9vBZR7RirXf8usz1Y4f-1TnVaYTVg0_PgQCeWZnRg at mail dot gmail dot com> <20150630213736 dot GQ10247 at tucnak dot redhat dot com> <55930D24 dot 4040105 at zytor dot com>
On Tue, Jun 30, 2015 at 2:41 PM, H. Peter Anvin <hpa@zytor.com> wrote:
> On 06/30/2015 02:37 PM, Jakub Jelinek wrote:
>> I'd say the most natural API for this would be to allow
>> f{fixed,call-{used,saved}}-REG in target attribute.
>
> Either that or
>
> __attribute__((fixed(rbp,rcx),used(rax,rbx),saved(r11)))
>
> ... just to be shorter. Either way, I would consider this to be
> desirable -- I have myself used this to good effect in a past life
> (*cough* Transmeta *cough*) -- but not a high priority feature.
I think I mean the per-function equivalent of -fcall-used-reg, so
hpa's "used" suggestion would do the trick.
I guess that clobbering the frame pointer is a non-starter, but five
out of six isn't so bad. It would be nice to error out instead of
producing "disastrous results", though, if another bad reg is chosen.
(Presumably the PIC register on PIC builds would be an example of
that.)
--Andy