Here is my build line: as you can see I pass all the -msse options, but not -mavx.
Yet the code still stries to call _mm256_blendv_pd which is AVX (and fails as Emscripten only supports 128-bit instructions & this looks like a 256 one given the name
$ /opt/ossia-sdk-wasm/emsdk/upstream/emscripten/em++ -DFMT_HEADER_ONLY=1 -DKFR_DFT_NPo2 -DQT_DISABLE_DEPRECATED_BEFORE=0x050800 -DQT_NO_KEYWORDS -I/build/3rdparty/libossia/src/kfr_build -I/__w/score/score/3rdparty/libossia/3rdparty/kfr -I/__w/score/score/3rdparty/libossia/3rdparty/kfr/include -std=c++20 -pthread -O3 -ffast-math -msimd128 -msse -msse2 -msse3 -mssse3 -msse4 -msse4.1 -msse4.2 -O3 -DNDEBUG -fPIC -fopenmp-simd -ffp-contract=fast -mstackrealign -Wno-c++1z-extensions -Wno-psabi -mno-sse -msse4.2 -mavx -std=gnu++17 -MD -MT 3rdparty/libossia/src/kfr_build/CMakeFiles/kfr_dft.dir/Unity/unity_0_cxx.cxx.o -MF 3rdparty/libossia/src/kfr_build/CMakeFiles/kfr_dft.dir/Unity/unity_0_cxx.cxx.o.d -o 3rdparty/libossia/src/kfr_build/CMakeFiles/kfr_dft.dir/Unity/unity_0_cxx.cxx.o -c /build/3rdparty/libossia/src/kfr_build/CMakeFiles/kfr_dft.dir/Unity/unity_0_cxx.cxx
clang-15: warning: argument unused during compilation: '-mno-sse' [-Wunused-command-line-argument]
In file included from /build/3rdparty/libossia/src/kfr_build/CMakeFiles/kfr_dft.dir/Unity/unity_0_cxx.cxx:3:
In file included from /__w/score/score/3rdparty/libossia/3rdparty/kfr/include/kfr/dft/impl/convolution-impl.cpp:26:
In file included from /__w/score/score/3rdparty/libossia/3rdparty/kfr/include/kfr/dft/impl/../convolution.hpp:35:
In file included from /__w/score/score/3rdparty/libossia/3rdparty/kfr/include/kfr/dft/impl/../cache.hpp:28:
In file included from /__w/score/score/3rdparty/libossia/3rdparty/kfr/include/kfr/dft/impl/../fft.hpp:32:
In file included from /__w/score/score/3rdparty/libossia/3rdparty/kfr/include/kfr/dft/impl/../../math/sin_cos.hpp:28:
In file included from /__w/score/score/3rdparty/libossia/3rdparty/kfr/include/kfr/dft/impl/../../math/impl/sin_cos.hpp:25:
In file included from /__w/score/score/3rdparty/libossia/3rdparty/kfr/include/kfr/dft/impl/../../math/impl/../../math/abs.hpp:28:
In file included from /__w/score/score/3rdparty/libossia/3rdparty/kfr/include/kfr/dft/impl/../../math/impl/abs.hpp:25:
In file included from /__w/score/score/3rdparty/libossia/3rdparty/kfr/include/kfr/dft/impl/../../math/impl/../../math/select.hpp:28:
/__w/score/score/3rdparty/libossia/3rdparty/kfr/include/kfr/dft/impl/../../math/impl/select.hpp:82:12: error: use of undeclared identifier '_mm256_blendv_pd'; did you mean '_mm_blendv_pd'?
return _mm256_blendv_pd(y.v, x.v, m.v);
^~~~~~~~~~~~~~~~
_mm_blendv_pd
Here is my build line: as you can see I pass all the -msse options, but not -mavx. Yet the code still stries to call _mm256_blendv_pd which is AVX (and fails as Emscripten only supports 128-bit instructions & this looks like a 256 one given the name