From: Katelyn Gadd Date: Wed, 10 May 2023 16:28:21 +0000 (-0700) Subject: Disable autovectorization on wasm (#86038) X-Git-Tag: accepted/tizen/unified/riscv/20231226.055536~2326 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=888bac304442e1a6883cfb922d21a74df910112d;p=platform%2Fupstream%2Fdotnet%2Fruntime.git Disable autovectorization on wasm (#86038) 7c75cbf added the -msimd128 flag to cmakelists so that the interpreter could use wasm vector intrinsics. That option appears to imply enabling all sorts of auto-vectorization, which may be responsible for the regressions in dotnet/perf-autofiling-issues#17570 --- diff --git a/src/mono/CMakeLists.txt b/src/mono/CMakeLists.txt index 5ff644b..dde6655 100644 --- a/src/mono/CMakeLists.txt +++ b/src/mono/CMakeLists.txt @@ -270,7 +270,14 @@ elseif(CLR_CMAKE_HOST_OS STREQUAL "emscripten") add_compile_options(-Wno-strict-prototypes) add_compile_options(-Wno-unused-but-set-variable) add_compile_options(-Wno-single-bit-bitfield-constant-conversion) + # Allow using WASM simd intrinsics in the interpreter add_compile_options(-msimd128) + # Disable autovectorization (it is automatically turned on by msimd128) + add_compile_options(-disable-loop-vectorization) + add_compile_options(-disable-vectorization) + add_compile_options(-fno-vectorize) + add_compile_options(-fno-tree-vectorize) + add_compile_options(-fno-slp-vectorize) set(DISABLE_EXECUTABLES 1) # FIXME: Is there a cmake option for this ? set(DISABLE_SHARED_LIBS 1)