From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/11582 Path: news.gmane.org!.POSTED!not-for-mail From: "A. Wilcox" Newsgroups: gmane.linux.lib.musl.general Subject: Re: [PATCH] powerpc64le: Add single instruction math functions Date: Fri, 23 Jun 2017 19:46:38 -0500 Organization: =?UTF-8?Q?Ad=c3=a9lie_Linux?= Message-ID: <594DB66E.7030009@adelielinux.org> References: <20170623193533.GO1627@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1498265260 23894 195.159.176.226 (24 Jun 2017 00:47:40 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 24 Jun 2017 00:47:40 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 To: musl@lists.openwall.com Original-X-From: musl-return-11595-gllmg-musl=m.gmane.org@lists.openwall.com Sat Jun 24 02:47:36 2017 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1dOZEd-0005ul-GM for gllmg-musl@m.gmane.org; Sat, 24 Jun 2017 02:47:35 +0200 Original-Received: (qmail 1768 invoked by uid 550); 24 Jun 2017 00:47:38 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 1744 invoked from network); 24 Jun 2017 00:47:37 -0000 X-Enigmail-Draft-Status: N1110 In-Reply-To: Xref: news.gmane.org gmane.linux.lib.musl.general:11582 Archived-At: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 23/06/17 14:53, David Edelsohn wrote: > On Fri, Jun 23, 2017 at 3:35 PM, Rich Felker > wrote: >> On Wed, Jun 21, 2017 at 10:53:13AM -0400, David Edelsohn wrote: >>> The following two patches are a start at single instruction >>> math functions for PowerPC64 architecture. Although PPC64LE >>> Linux and ELFv2 ABI require Power8 as the minimum >>> architecture, I have added guards that fallback to C code for >>> earlier architectures. >> >> Indeed, musl uses the ELFv2 ABI (minus its gratuitous mandate of >> minimum ISA level) for both little and big endian powerpc64, >> and I think we have users of both (people running it on old >> powerbooks, etc.). >> >> Am I reading correctly that sqrt, fma, and fabs are available >> even in the lowest powerpc64 ISA, and don't need preprocessor >> conditionals? > > fabs and fma are part of the base ISA for Power processors that > include floating point support. fsqrt originally was optional > feature in the distant past (General Purpose group of optional > instructions), but is required in the ISA for Power processors. > > Thanks, David > Chiming in as one of the heavy users/developers involved with musl/ppc. I can confirm FSQRT exists on the oldest PPC64 chip I have - a 970FX from 2003 - but it is indeed optional. (I didn't bother checking the actual IBM chips because they're all on the higher end.) The Linux kernel actually has support for emulating the instruction on PowerPC chips where it wasn't implemented. See arch/powerpc/math-emu/fsqrt.c in the kernel tree. It depends on CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED (or CONFIG_MATH_EMULATION_FULL), but most (all?) distros that ship PPC kernels have that knob turned on, as far as I can tell. So this should be safe. The worst case scenario is that distros would need to twiddle a config knob in the kernel. All the best, - --arw - -- A. Wilcox (awilfox) Project Lead, Adélie Linux http://adelielinux.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJZTbZrAAoJEMspy1GSK50UPQIQAJS//JXGNUSjHtlOsK2ngxTz 0lOFPDSMTJHmTTXVGJIfoM/Rw0NtAKO6I9+eBbi08eN+Bmh6swRDK+/WQeIft8xx Ayyi0fCNFhrEFLCc/M+SE5cwSym2gD7o0XyjNGhi5OM4rqOCybHUzTk5KW2Yxoyr MUG7tqFgXCX8LOkWauGDkAmr9A6NjCN6GZazR7ubrsqId7KRxPGUtZRNZhfl+/cQ sR5TcTF1yy1Ify6D0wyHIJlIdQPE65i+L+lAr9FGQSNl/NdOQA56hRiijCLwhMNJ GNSGS6xPMWX0I7bV/gas15CRmJZyNC5sc+5Gm61/wToHgsclYVWJNJ52NXfSEWCA LzEBfZ+6xoZgKQqBDumGEPSRoaRp8sYTTv5mgmlMBs76mOvjyd8j1p9gYrfzFoPx Th1EX/CAlgUq84f2Nx1MyDq47ukeJKjWEGfsJe3+yUHYYpENYIKYgvKfx01UGkqR vx7Cshtz6zjhadruxWAkQ3oqEJwJOfbBXKCITUMuUxFLHK47Ij4yJ/VZaAwiasLn 9zcTEtsq+Iu4xj/drNNPzVm2KbHTDfcKaQynowvuOx9KgyOpv+UprDXr2Koi5SCD 5+jS26QzcflGOF6WLvY+pKbDO3l1GPRHc57MhPcjJVVdYWE2NoVbcq+BhYw9ljTq KIiCkOVyagFRViWyrzvO =eogy -----END PGP SIGNATURE-----