|
Message-ID: <20170624005539.GT1627@brightrain.aerifal.cx> Date: Fri, 23 Jun 2017 20:55:39 -0400 From: Rich Felker <dalias@...c.org> To: musl@...ts.openwall.com Subject: Re: [PATCH] powerpc64le: Add single instruction math functions On Fri, Jun 23, 2017 at 07:46:38PM -0500, A. Wilcox wrote: > -----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 <dalias@...c.org> > > 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, Thanks for the feedback. If it ends up being problematic, but gcc has a way to tell if -march is for a model with or without it, please feel free to submit a patch to make the use conditional. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.