Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Perf] Linux/x64: 87 Regressions on 6/15/2024 2:08:36 PM #36484

Open
performanceautofiler bot opened this issue Jun 18, 2024 · 12 comments
Open

[Perf] Linux/x64: 87 Regressions on 6/15/2024 2:08:36 PM #36484

performanceautofiler bot opened this issue Jun 18, 2024 · 12 comments

Comments

@performanceautofiler
Copy link

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36
Compare 4834a507be8698d901ff36d10284ca8703743b93
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tests.Perf_Vector3

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
10.62 ns 30.62 ns 2.88 0.62 False
11.20 ns 29.83 ns 2.66 0.53 False
20.78 ns 38.28 ns 1.84 0.40 False
30.89 ns 64.10 ns 2.07 0.35 False
20.27 ns 38.59 ns 1.90 0.31 False
25.61 ns 81.21 ns 3.17 0.37 True
20.19 ns 38.25 ns 1.89 0.38 False
13.83 ns 34.55 ns 2.50 0.68 False
29.92 ns 100.55 ns 3.36 0.20 False
30.93 ns 106.89 ns 3.46 0.27 True
21.23 ns 35.33 ns 1.66 0.43 False
13.97 ns 46.21 ns 3.31 0.59 True
13.14 ns 42.93 ns 3.27 0.55 True
25.52 ns 72.05 ns 2.82 0.42 True
29.81 ns 64.19 ns 2.15 0.37 False
10.91 ns 34.49 ns 3.16 0.69 False
49.16 ns 133.04 ns 2.71 0.27 True
16.45 ns 40.43 ns 2.46 0.48 False
11.87 ns 30.53 ns 2.57 0.48 False
29.92 ns 96.49 ns 3.23 0.26 False
17.18 ns 36.45 ns 2.12 0.48 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Vector3*'

System.Numerics.Tests.Perf_Vector3.DotBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.InequalityOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.MultiplyByScalarOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.MaxBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.DivideByScalarBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.LerpBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.DivideByScalarOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.LengthSquaredBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.TransformByMatrix4x4Benchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.ReflectBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.MultiplyByScalarBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.DistanceBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.DistanceSquaredBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.NormalizeBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.MinBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.LengthBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.ClampBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.SquareRootBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.EqualityOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.TransformNormalByMatrix4x4Benchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector3.AbsBenchmark

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36
Compare 4834a507be8698d901ff36d10284ca8703743b93
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tests.Perf_Vector4

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
29.68 ns 98.61 ns 3.32 0.24 False
12.86 ns 31.66 ns 2.46 0.39 False
17.30 ns 57.45 ns 3.32 0.37 False
28.85 ns 47.31 ns 1.64 0.38 False
12.86 ns 32.31 ns 2.51 0.37 False
13.11 ns 33.21 ns 2.53 0.40 False
13.64 ns 33.89 ns 2.48 0.42 False
30.06 ns 74.49 ns 2.48 0.30 False
29.51 ns 99.54 ns 3.37 0.24 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Vector4*'

System.Numerics.Tests.Perf_Vector4.TransformVector3ByMatrix4x4Benchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector4.MultiplyByScalarOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector4.LerpBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector4.NormalizeBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector4.MultiplyByScalarBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector4.DivideByScalarBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector4.DivideByScalarOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector4.TransformVector2ByMatrix4x4Benchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector4.TransformByMatrix4x4Benchmark

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Copy link
Author

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36
Compare 4834a507be8698d901ff36d10284ca8703743b93
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tests.Perf_Matrix3x2

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
57.74 ns 190.34 ns 3.30 0.13 True
27.63 ns 33.66 ns 1.22 0.32 False
26.47 ns 40.58 ns 1.53 0.37 False
51.84 ns 58.04 ns 1.12 0.10 False
52.13 ns 56.73 ns 1.09 0.15 False
52.96 ns 58.44 ns 1.10 0.14 False
40.12 ns 107.12 ns 2.67 0.20 True
65.18 ns 390.89 ns 6.00 0.17 True
26.97 ns 33.80 ns 1.25 0.36 False
58.65 ns 118.44 ns 2.02 0.19 False
51.98 ns 60.42 ns 1.16 0.16 False
57.55 ns 190.54 ns 3.31 0.17 True
53.42 ns 184.84 ns 3.46 0.16 True
40.04 ns 107.15 ns 2.68 0.18 True

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Matrix3x2*'

System.Numerics.Tests.Perf_Matrix3x2.EqualityOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarWithCenterBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromVectorWithCenterBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.SubtractOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.AddOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.AddBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.LerpBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarXYWithCenterBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.EqualsBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.SubtractBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.InequalityOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.IsIdentityBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarBenchmark

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Copy link
Author

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline b4a1fa2293f31aa694e5a433aca676c29b50de81
Compare 4834a507be8698d901ff36d10284ca8703743b93
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tests.Perf_Vector2

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
31.29 ns 86.93 ns 2.78 0.36 True
7.36 ns 42.24 ns 5.74 0.69 True
11.62 ns 38.69 ns 3.33 0.57 True
12.45 ns 36.69 ns 2.95 0.52 True
9.35 ns 35.98 ns 3.85 0.52 False
11.77 ns 53.41 ns 4.54 0.61 True
16.48 ns 34.87 ns 2.12 0.44 False
28.79 ns 67.78 ns 2.35 0.34 False
12.60 ns 51.04 ns 4.05 0.57 True
9.92 ns 45.08 ns 4.54 0.68 True
19.62 ns 35.99 ns 1.83 0.47 False
35.17 ns 119.91 ns 3.41 0.36 True
23.65 ns 75.86 ns 3.21 0.39 True
34.78 ns 93.62 ns 2.69 0.23 True
13.02 ns 32.40 ns 2.49 0.51 True
14.39 ns 34.85 ns 2.42 0.63 False
17.51 ns 34.77 ns 1.99 0.47 False
9.70 ns 43.50 ns 4.49 0.67 True
28.89 ns 75.04 ns 2.60 0.30 False
24.59 ns 66.40 ns 2.70 0.43 True
23.12 ns 118.02 ns 5.10 0.41 True
22.86 ns 60.31 ns 2.64 0.38 True
20.05 ns 78.15 ns 3.90 0.51 True

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Vector2*'

System.Numerics.Tests.Perf_Vector2.TransformNormalByMatrix3x2Benchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.DotBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.InequalityOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.SquareRootBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.EqualityOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.DistanceBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.MultiplyByScalarOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.TransformNormalByMatrix4x4Benchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.DistanceSquaredBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.LengthSquaredBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.DivideByScalarOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.ClampBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.LerpBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.TransformByMatrix3x2Benchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.AbsBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.EqualsBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.DivideByScalarBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.LengthBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.TransformByMatrix4x4Benchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.MinBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.ReflectBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.MaxBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Vector2.NormalizeBenchmark

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Copy link
Author

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36
Compare 4834a507be8698d901ff36d10284ca8703743b93
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tests.Perf_Matrix4x4

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
141.71 ns 639.92 ns 4.52 0.07 True
188.88 ns 314.63 ns 1.67 0.11 False
346.07 ns 1.09 μs 3.15 0.12 True
40.68 ns 51.21 ns 1.26 0.41 False
149.51 ns 538.09 ns 3.60 0.14 False
333.43 ns 849.75 ns 2.55 0.08 True
118.25 ns 744.72 ns 6.30 0.06 True
45.46 ns 135.21 ns 2.97 0.27 True
128.00 ns 288.42 ns 2.25 0.13 False
36.09 ns 51.65 ns 1.43 0.40 False
137.80 ns 389.70 ns 2.83 0.04 True
60.69 ns 257.54 ns 4.24 0.09 False
38.20 ns 51.65 ns 1.35 0.39 False
45.46 ns 133.76 ns 2.94 0.27 True
49.58 ns 67.37 ns 1.36 0.25 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Matrix4x4*'

System.Numerics.Tests.Perf_Matrix4x4.CreateLookAtBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.CreateShadowBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.DecomposeBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarXYZWithCenterBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.MultiplyByMatrixOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.CreateConstrainedBillboardBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.CreateWorldBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.MultiplyByScalarBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.CreateReflectionBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarXYZBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.CreateBillboardBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.LerpBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarWithCenterBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.MultiplyByScalarOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromVectorWithCenterBenchmark

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36
Compare 87cd2c4257bd21e84d3d6990f55465be01f63399
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tests.Perf_Plane

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
11.90 ns 32.96 ns 2.77 0.65 False
27.34 ns 44.29 ns 1.62 0.30 False
58.11 ns 148.36 ns 2.55 0.15 True
13.64 ns 33.15 ns 2.43 0.61 False

graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Plane*'

System.Numerics.Tests.Perf_Plane.DotNormalBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Plane.NormalizeBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Plane.CreateFromVerticesBenchmark

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_Plane.DotCoordinateBenchmark

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36
Compare 4834a507be8698d901ff36d10284ca8703743b93
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in SIMD.RayTracerBench

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.32 secs 3.38 secs 1.45 0.11 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'SIMD.RayTracerBench*'

SIMD.RayTracerBench.Bench

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@lewing
Copy link
Member

lewing commented Jun 19, 2024

@steveisok
Copy link
Member

/cc @fanyang-mono

@tannergooding
Copy link
Member

That's a pretty big drop here.

I'd speculate that unlike the Vector4 case where we saw improvements (which uses AsVector128()), this is likely because WASM doesn't have support for AsVector128Unsafe and so we're seeing regressions instead.

@tannergooding
Copy link
Member

@fanyang-mono could you confirm if WASM is just using mono/mini/simd-intrinsics.c? I can go add in the support there, just want to confirm I'm not missing a location for the handling.

@fanyang-mono
Copy link
Member

I believe that mono/mini/simd-intrinsics.c is where majority of the wasm intrinsics logic lives. @radekdoulik Could you confirm?

@matouskozak
Copy link
Member

Adding related x64 Mono AOT-llvm regressions dotnet/runtime#103652

@tannergooding
Copy link
Member

I've got a PR up here that includes a fix alongside some other Mono changes that I had been working on for new APIs: dotnet/runtime#103837

Waiting for CI to finish before marking it ready-for-review, however.

@radekdoulik
Copy link
Member

I believe that mono/mini/simd-intrinsics.c is where majority of the wasm intrinsics logic lives. @radekdoulik Could you confirm?

yes, this is where AOT simd intrinsics live. this issue is based on inteprpreter measurements though. @kg and @BrzVlad knows interp simd best.

@kg
Copy link

kg commented Jun 26, 2024

Yeah, you'd be looking for interp-simd.c. For code size and complexity reasons, the interp doesn't have support for every single SIMD intrinsic, just the ones that were most critical for workloads at the time. Grepping the source, we don't support AsVector128Unsafe, but it's probably not hard to add. Adding it will require updating both the interp and the jiterpreter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants