Continued effort to provide better version for WebAssembly, first WASM SIMD build is available using:
#define BMWASMSIMDOPT(or define via makefile).
Example emcc command like may look like:
emcc -std=c++11 -s ALLOW_MEMORY_GROWTH=1 -O2 -msse4.2 -msimd128 -D BMWASMSIMDOPT -s WASM=1 -s DISABLE_EXCEPTION_CATCHING=0 -fno-rtti
Please note that WebAssembly SIMD is implemented as cross-compilation tweak for SSE4.2 (thus needs
WebAssembly SIMD is still an experimental feature for all browsers but Google Chrome. Initial performance observations sometimes show faster than native(without SIMD) speed for optimized algorithms.
Implemented 3-valued logic operations (INVERT, AND, OR) following the Kleene truth tables.
Usage example on GitHub
- Fixed bugs in parallel algorithms (race condition).