This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [PATCH 9/13] AArch64: Cleanup fenv implementation


ping

> -----Original Message-----
> From: Wilco Dijkstra [mailto:wdijkstr@arm.com]
> Sent: 23 October 2014 18:36
> To: 'libc-alpha@sourceware.org'
> Subject: [PATCH 9/13] AArch64: Cleanup fenv implementation
> 
> Call libc_fesetround_aarch64 from math_private.h rather than duplicating functionality.
> 
> ChangeLog:
> 2014-10-23  Wilco Dijkstra  <wdijkstr@arm.com>
> 
> 	* sysdeps/aarch64/fpu/fesetround.c (fesetround):
> 	Call libc_fesetround_aarch64.
> 
> ---
>  sysdeps/aarch64/fpu/fesetround.c | 26 +++++---------------------
>  1 file changed, 5 insertions(+), 21 deletions(-)
> 
> diff --git a/sysdeps/aarch64/fpu/fesetround.c b/sysdeps/aarch64/fpu/fesetround.c
> index d34706d..540ef48 100644
> --- a/sysdeps/aarch64/fpu/fesetround.c
> +++ b/sysdeps/aarch64/fpu/fesetround.c
> @@ -16,32 +16,16 @@
>     License along with the GNU C Library; if not, see
>     <http://www.gnu.org/licenses/>.  */
> 
> -#include <fenv.h>
> +#include <math_private.h>
>  #include <fpu_control.h>
> 
>  int
>  fesetround (int round)
>  {
> -  fpu_control_t fpcr;
> -  fpu_control_t fpcr_new;
> +  if (round & ~_FPU_FPCR_RM_MASK)
> +    return 1;
> 
> -  switch (round)
> -    {
> -    case FE_TONEAREST:
> -    case FE_UPWARD:
> -    case FE_DOWNWARD:
> -    case FE_TOWARDZERO:
> -      _FPU_GETCW (fpcr);
> -      fpcr_new = (fpcr & ~FE_TOWARDZERO) | round;
> -
> -      if (fpcr != fpcr_new)
> -	_FPU_SETCW (fpcr_new);
> -      return 0;
> -
> -    default:
> -      return 1;
> -    }
> -
> -  return 1;
> +  libc_fesetround_aarch64 (round);
> +  return 0;
>  }
>  libm_hidden_def (fesetround)
> --
> 1.9.1





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]