summaryrefslogtreecommitdiffstats
path: root/libc-top-half/musl/arch/wasm32/fp_arch.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc-top-half/musl/arch/wasm32/fp_arch.h')
-rw-r--r--libc-top-half/musl/arch/wasm32/fp_arch.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/libc-top-half/musl/arch/wasm32/fp_arch.h b/libc-top-half/musl/arch/wasm32/fp_arch.h
new file mode 100644
index 0000000..707d512
--- /dev/null
+++ b/libc-top-half/musl/arch/wasm32/fp_arch.h
@@ -0,0 +1,25 @@
+// WebAssembly has no floating-point exceptions or alternate rounding modes,
+// so there's no need to prevent expressions from moving or force their
+// evaluation.
+
+#define fp_barrierf fp_barrierf
+static inline float fp_barrierf(float x)
+{
+ return x;
+}
+
+#define fp_barrier fp_barrier
+static inline double fp_barrier(double x)
+{
+ return x;
+}
+
+#define fp_force_evalf fp_force_evalf
+static inline void fp_force_evalf(float x)
+{
+}
+
+#define fp_force_eval fp_force_eval
+static inline void fp_force_eval(double x)
+{
+}