aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/aarch64/fpu/math_private.h5
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index df8c19e..dfef5e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-04-01 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * sysdeps/aarch64/fpu/math_private.h
+ (define math_opt_barrier): Add AArch64 version.
+ (math_force_eval): Likewise.
+
2015-07-13 Wilco Dijkstra <wdijkstr@arm.com>
* sysdeps/aarch64/strlen.S (strlen): Optimize strlen.
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)
{