Date: Mon, 13 Jan 2014 22:18:49 +0000 From: Andrew Turner <andrew@fubar.geek.nz> To: Warner Losh <imp@bsdimp.com> Cc: freebsd-arm@freebsd.org Subject: Re: Using VFP registers in the msun fenv functions Message-ID: <20140113221849.099275ca@bender.Home> In-Reply-To: <1EEB0662-E528-4E36-8A39-B5804AD89132@bsdimp.com> References: <20140112194532.27366e43@bender.Home> <1EEB0662-E528-4E36-8A39-B5804AD89132@bsdimp.com>
index | next in thread | previous in thread | raw e-mail
On Mon, 13 Jan 2014 14:34:28 -0700 Warner Losh <imp@bsdimp.com> wrote: > Hi Andrew, > > Thanks for tackling this... > > On Jan 12, 2014, at 12:45 PM, Andrew Turner wrote: > > [1] http://people.freebsd.org/~andrew/armv6fenv2.diff > > I noticed several constructs like > > +int feclearexcept(int __excepts) > +{ > + > + if (_libc_arm_fpu_present) > + __vfp_feclearexcept(__excepts); > + __softfp_feclearexcept(__excepts); > + > + return (0); > +} > > where you do the softfp thing unconditionally. Why is that, and is it > intentional? As this is for the soft-float ABI we still use the softfloat code. Because of this there are a number of places where we still need to call into the softfloat version of these functions. i.e. just because _libc_arm_fpu_present is set there is no guarantee we will use the VFP unit in any helper functions. Andrewhelp
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140113221849.099275ca>
