This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
RE: [PATCH][AArch64][PING[ Faster math barriers
- From: "Wilco Dijkstra" <wdijkstr at arm dot com>
- To: <libc-alpha at sourceware dot org>
- Cc: <marcus dot shawcroft at gmail dot com>
- Date: Mon, 6 Jul 2015 12:31:10 +0100
- Subject: RE: [PATCH][AArch64][PING[ Faster math barriers
- Authentication-results: sourceware.org; auth=none
- References:
> Wilco Dijkstra wrote:
> Add more efficient versions of math_opt_barrier and math_force_eval that avoid going via
> memory.
>
> OK for commit?
>
> 2015-04-15 Wilco Dijkstra <wdijkstr@arm.com>
>
> * sysdeps/aarch64/fpu/math_private.h
> (define math_opt_barrier): Add AArch64 version.
> (math_force_eval): Likewise.
>
> ---
> sysdeps/aarch64/fpu/math_private.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/sysdeps/aarch64/fpu/math_private.h b/sysdeps/aarch64/fpu/math_private.h
> index b3c2509..1f02ddb 100644
> --- a/sysdeps/aarch64/fpu/math_private.h
> +++ b/sysdeps/aarch64/fpu/math_private.h
> @@ -22,6 +22,11 @@
> #include <fenv.h>
> #include <fpu_control.h>
>
> +#define math_opt_barrier(x) \
> +({ __typeof (x) __x = (x); __asm ("" : "+w" (__x)); __x; })
> +#define math_force_eval(x) \
> +({ __typeof (x) __x = (x); __asm __volatile__ ("" : : "w" (__x)); })
> +
> extern __always_inline double
> __ieee754_sqrt (double d)
> {
> --
> 1.9.1