Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751534AbbF3Vsg (ORCPT ); Tue, 30 Jun 2015 17:48:36 -0400 Received: from mail-la0-f53.google.com ([209.85.215.53]:32902 "EHLO mail-la0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753047AbbF3Vs3 (ORCPT ); Tue, 30 Jun 2015 17:48:29 -0400 MIME-Version: 1.0 In-Reply-To: <55930D24.4040105@zytor.com> References: <20150630213736.GQ10247@tucnak.redhat.com> <55930D24.4040105@zytor.com> From: Andy Lutomirski Date: Tue, 30 Jun 2015 14:48:08 -0700 Message-ID: Subject: Re: gcc feature request / RFC: extra clobbered regs To: "H. Peter Anvin" Cc: Jakub Jelinek , Andy Lutomirski , gcc@gcc.gnu.org, "linux-kernel@vger.kernel.org" , Linus Torvalds , Ingo Molnar , Thomas Gleixner , Vladimir Makarov Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1168 Lines: 28 On Tue, Jun 30, 2015 at 2:41 PM, H. Peter Anvin 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/