Skip site navigation (1)Skip section navigation (2)
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.

Andrew


help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140113221849.099275ca>