From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13870 invoked by alias); 10 Apr 2015 20:29:56 -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 13856 invoked by uid 89); 10 Apr 2015 20:29:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 10 Apr 2015 20:29:54 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-02.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1YgfYk-0002Cy-Eq from joseph_myers@mentor.com ; Fri, 10 Apr 2015 13:29:50 -0700 Received: from digraph.polyomino.org.uk (137.202.0.76) by SVR-IES-FEM-02.mgc.mentorg.com (137.202.0.106) with Microsoft SMTP Server id 14.3.224.2; Fri, 10 Apr 2015 21:29:48 +0100 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.82) (envelope-from ) id 1YgfYh-0002ZV-1p; Fri, 10 Apr 2015 20:29:47 +0000 Date: Fri, 10 Apr 2015 20:29:00 -0000 From: Joseph Myers To: Hale Wang CC: 'GCC Patches' Subject: Re: [PATCH] [1/2] [ARM] [libgcc] Support RTABI half-precision conversion functions. In-Reply-To: <000601d07346$9fbec910$df3c5b30$@arm.com> Message-ID: References: <000601d07346$9fbec910$df3c5b30$@arm.com> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-SW-Source: 2015-04/txt/msg00471.txt.bz2 On Fri, 10 Apr 2015, Hale Wang wrote: > According to the run-time ABI for ARM architecture, this function is allowed > to corrupt only the integer core registers permitted to be corrupted by the > [AAPCS] (r0-r3, ip, lr, and CPSR). So we can't just simply use the existing > GNU conversion functions to implement this function. I don't see that "only". Indeed, at the bottom of page 15 in IHI0043D, "If the FP instruction set is available, implementations of these functions may use it. Consequently, FP hardware-using code that calls one of these helper functions directly, or indirectly by calling a function with a base-standard interface, must assume that the FP parameter, result, scratch, and status registers might be altered by a call to it.". (Furthermore, the ideal result on implementations with VFP but not hardware half-precision support would be that the software conversions interact properly with hardware exceptions and rounding modes (so using FPSCR).) -- Joseph S. Myers joseph@codesourcery.com