commit 81ff16f86a1ebfdd01851901aa86036b4041a1ad
parent 2db812e99a2f06a0fb93705fa05307622d97a9d3
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date: Fri, 30 May 2025 09:42:19 +0200
Use ARM NEON for web build for tiny performance gain
Diffstat:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/build b/build
@@ -135,10 +135,14 @@ CPPFLAGS="-std=c++20 -pthread"
# -sMAXIMUM_MEMORY=10737418240 to WASMLINKFLAGS. This way we can enable
# solvers larger than h48h6k2 in the web version.
+# TODO:
+# The options below have to be adjusted when native WASM_SIMD is implemented.
+
# Build flags for emscripten (WASM target)
-WASMCFLAGS="-std=c11 -fPIC -D_POSIX_C_SOURCE=199309L -pthread"
+WASMCFLAGS="-std=c11 -fPIC -D_POSIX_C_SOURCE=199309L -pthread \
+ -mfpu=neon -mrelaxed-simd"
WASMCPPFLAGS="-std=c++20 -pthread"
-WASMMFLAGS="-DTHREADS=$THREADS -DWASMSIMD"
+WASMMFLAGS="-DTHREADS=$THREADS -DNEON"
WASMLINKFLAGS="--no-entry -sEXPORT_NAME='Nissy' -sMODULARIZE
-sALLOW_MEMORY_GROWTH -sSTACK_SIZE=5MB -sPTHREAD_POOL_SIZE=$THREADS \
-sFETCH -sASYNCIFY -sLINKABLE -sEXPORT_ALL"