This seems (well, is) down to the inclusion of the SSE flags in CMakeLists.txt, line 98-99. Removing those two lines resolves the problem.
As far as I'm aware, cmake does not provide an architecture flag (though WIN32, MSVC evidently work), though executing uname -m should be sufficient.
How central are SIMD operations to binaryen's performance? Ideally I'd like to keep SIMD and support ARM, but given the...weirdness of gcc/g++ flags (see Stackoverflow|Detect neon availability), it would be considerably more expedient to provide degraded performance (no neon instructions) on ARM, followed by a more complete solution at a later date.
This seems (well, is) down to the inclusion of the SSE flags in CMakeLists.txt, line 98-99. Removing those two lines resolves the problem.
As far as I'm aware, cmake does not provide an architecture flag (though WIN32, MSVC evidently work), though executing
uname -mshould be sufficient.How central are SIMD operations to binaryen's performance? Ideally I'd like to keep SIMD and support ARM, but given the...weirdness of gcc/g++ flags (see Stackoverflow|Detect neon availability), it would be considerably more expedient to provide degraded performance (no neon instructions) on ARM, followed by a more complete solution at a later date.