diff options
author | Richard Henderson <rth@twiddle.net> | 2014-07-03 08:56:55 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2014-07-03 08:56:55 -0700 |
commit | d5e16ade14822f1a125b6d568b1e3e1326e8868d (patch) | |
tree | d16c46b2ee3dfd84a500c710e347757f1a3eaf43 /sysdeps/alpha/fpu | |
parent | ca7b945c7330064f494436611bd35fce6107abf6 (diff) | |
download | glibc-d5e16ade14822f1a125b6d568b1e3e1326e8868d.tar.gz glibc-d5e16ade14822f1a125b6d568b1e3e1326e8868d.tar.xz glibc-d5e16ade14822f1a125b6d568b1e3e1326e8868d.zip |
alpha: Implement math_opt_barrier and math_force_eval
Diffstat (limited to 'sysdeps/alpha/fpu')
-rw-r--r-- | sysdeps/alpha/fpu/math_private.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/alpha/fpu/math_private.h b/sysdeps/alpha/fpu/math_private.h index 22ab3b9ab0..9e06e25dc6 100644 --- a/sysdeps/alpha/fpu/math_private.h +++ b/sysdeps/alpha/fpu/math_private.h @@ -13,6 +13,12 @@ # define __isnanf __isnanf #endif +/* Generic code forces values to memory; we don't need to do that. */ +#define math_opt_barrier(x) \ + ({ __typeof (x) __x = (x); __asm ("" : "+frm" (__x)); __x; }) +#define math_force_eval(x) \ + ({ __typeof (x) __x = (x); __asm __volatile__ ("" : : "frm" (__x)); }) + #include_next <math_private.h> #ifdef __alpha_fix__ |