[PATCH][AArch64][PING[ Faster math barriers
Wilco Dijkstra
wdijkstr@arm.com
Mon Jul 6 11:31:00 GMT 2015
> 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
More information about the Libc-alpha
mailing list