This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] [powerpc] get_rounding_mode: utilize faster method to get rounding mode
- From: Tulio Magno Quites Machado Filho <tuliom at ascii dot art dot br>
- To: "Paul A. Clarke" <pc at us dot ibm dot com>, libc-alpha at sourceware dot org
- Cc:
- Date: Thu, 06 Jun 2019 11:17:47 -0300
- Subject: Re: [PATCH] [powerpc] get_rounding_mode: utilize faster method to get rounding mode
- References: <1559773022-26575-1-git-send-email-pc@us.ibm.com>
"Paul A. Clarke" <pc@us.ibm.com> writes:
> From: "Paul A. Clarke" <pc@us.ibm.com>
>
> Add support to use 'mffsl' instruction if compiled for POWER9 (or later).
>
> Also, mask the result to avoid bleeding unrelated bits into the result of
> _FPU_GET_RC().
>
> 2019-06-05 Paul A. Clarke <pc@us.ibm.com>
>
> * sysdeps/powerpc/fpu/fegetexcept.c (__fegetexcept): Replace code
> with call to equivalent function.
> * sysdeps/powerpc/fpu/fenv_libc.h (fegetenv_status): New function.
As you explained, both entries have to be removed.
> * sysdeps/powerpc/fpu_control.h (_FPU_MASK_RC): New.
> (__FPU_MFFS): New.
> (__FPU_MFFSL): New.
> (_FPU_GET_RC): New.
> (_FPU_GETCW): Use __FPU_MFFS().
^ Extra spaces here. Should be only 1 tab.
> * sysdeps/powerpc/powerpc64/get-rounding-mode.h: New file.
I also think this file is unnecessary.
> diff --git a/sysdeps/powerpc/powerpc64/get-rounding-mode.h b/sysdeps/powerpc/powerpc64/get-rounding-mode.h
> new file mode 100644
> index 0000000..e2fdbbb
> --- /dev/null
> +++ b/sysdeps/powerpc/powerpc64/get-rounding-mode.h
> @@ -0,0 +1,33 @@
> +/* Determine floating-point rounding mode within libc. powerpc64 version.
> + Copyright (C) 2019 Free Software Foundation, Inc.
> + This file is part of the GNU C Library.
> +
> + The GNU C Library is free software; you can redistribute it and/or
> + modify it under the terms of the GNU Lesser General Public
> + License as published by the Free Software Foundation; either
> + version 2.1 of the License, or (at your option) any later version.
> +
> + The GNU C Library is distributed in the hope that it will be useful,
> + but WITHOUT ANY WARRANTY; without even the implied warranty of
> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + Lesser General Public License for more details.
> +
> + You should have received a copy of the GNU Lesser General Public
> + License along with the GNU C Library; if not, see
> + <http://www.gnu.org/licenses/>. */
> +
> +#ifndef _POWERPC64_GET_ROUNDING_MODE_H
> +#define _POWERPC64_GET_ROUNDING_MODE_H 1
> +
> +#include <fenv.h>
> +#include <fpu_control.h>
> +
> +/* Return the floating-point rounding mode. */
> +
> +static inline int
> +get_rounding_mode (void)
> +{
> + return _FPU_GET_RC ();
> +}
> +
> +#endif /* get-rounding-mode.h */
I don't understand why this file/function is needed.
Looks like another file that should be removed from this patch.
LGTM if you fix the ChangeLog and keep only the changes to
sysdeps/powerpc/fpu_control.h.
Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
--
Tulio Magno