From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 87318 invoked by alias); 5 Feb 2016 14:16:10 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 86170 invoked by uid 89); 5 Feb 2016 14:16:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 spammy=Hx-languages-length:820, density X-HELO: mailrelay7.public.one.com Received: from mailrelay7.public.one.com (HELO mailrelay7.public.one.com) (91.198.169.215) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Fri, 05 Feb 2016 14:16:08 +0000 X-HalOne-Cookie: 873a0412db63c7932c1994d513161f5fceb042f4 X-HalOne-ID: fcdb33f0-cc12-11e5-882a-b82a72cffc46 Received: from localhost.localdomain (unknown [91.135.11.213]) by smtpfilter4.public.one.com (Halon Mail Gateway) with ESMTPSA; Fri, 5 Feb 2016 14:16:02 +0000 (UTC) Subject: Re: [PATCH] [ARC] Add single/double IEEE precission FPU support. To: Claudiu Zissulescu , gcc-patches@gcc.gnu.org References: <1454335022-21760-1-git-send-email-claziss@synopsys.com> <56B13316.9090903@amylaar.uk> Cc: Francois.Bedard@synopsys.com, jeremy.bennett@embecosm.com From: Joern Wolfgang Rennecke Message-ID: <56B4AEA1.6090607@amylaar.uk> Date: Fri, 05 Feb 2016 14:16:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <56B13316.9090903@amylaar.uk> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2016-02/txt/msg00423.txt.bz2 P.S.: if code that is missing prototypes for stdarg functions is of no concern, there is another ABI alternative that might give good code density for architectures like ARC that have pre-decrement addressing modes and allow immediates to be pushed: You could put all unnamed arguments on the stack (thus simplifying varargs processing), and leave all registers not used for argument passing call-saved. Thus, the callers wouldn't have to worry about saving these registers or reloading their values from the stack. For gcc, this would require making the call fusage really work - probably involving a hook to tell the middle-end that the port really wants that - or a kludge to make affected call insn not look like call insns, similar to the sfuncs.