Using VFP registers in the msun fenv functions
Andrew Turner
andrew at fubar.geek.nz
Mon Jan 13 22:19:05 UTC 2014
On Mon, 13 Jan 2014 14:34:28 -0700
Warner Losh <imp at 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.
Andrew
More information about the freebsd-arm
mailing list