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][AArch64][PING[ Faster math barriers


> 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



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