I've been unable to identify the cause so far, but dotnet/perf-autofiling-issues#29881 shows regressions in the range of 1.1x to 1.3x across various vector microbenchmarks, along with a few algorithms that are likely being hit due to vectorization. For two examples, see https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt16).LessThanOrEqualAnyBenchmark.html (definitely this) and https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/System.Buffers.Tests.SearchValuesCharTests.IndexOfAnyExcept(Values%3a%20%22abcdefABCDEF0123456789%22).html (possibly this).
I looked into the LessThanOrAny scenario to examine the IR and generated code. Jiterp seems to be doing a good job and most of the interp optimizations are working, but there's a lot of room for improvement to the code, see this gist:
https://gist.github.com/kg/0514083d03ad8dce4bfdd93ecacd63a1
It contains sample code to repro it + annotated interp IR + pseudocode for the C# that is running post-optimization.
Will try to diff the interp IR against the old pre-SSA version to see if I can spot anything, and update this issue if I do.
I've been unable to identify the cause so far, but dotnet/perf-autofiling-issues#29881 shows regressions in the range of 1.1x to 1.3x across various vector microbenchmarks, along with a few algorithms that are likely being hit due to vectorization. For two examples, see https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt16).LessThanOrEqualAnyBenchmark.html (definitely this) and https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/System.Buffers.Tests.SearchValuesCharTests.IndexOfAnyExcept(Values%3a%20%22abcdefABCDEF0123456789%22).html (possibly this).
I looked into the LessThanOrAny scenario to examine the IR and generated code. Jiterp seems to be doing a good job and most of the interp optimizations are working, but there's a lot of room for improvement to the code, see this gist:
https://gist.github.com/kg/0514083d03ad8dce4bfdd93ecacd63a1
It contains sample code to repro it + annotated interp IR + pseudocode for the C# that is running post-optimization.
Will try to diff the interp IR against the old pre-SSA version to see if I can spot anything, and update this issue if I do.