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

Investigate and implement better codegen for Matrix4x4 #9420

Open
eerhardt opened this issue Dec 11, 2017 · 2 comments
Open

Investigate and implement better codegen for Matrix4x4 #9420

eerhardt opened this issue Dec 11, 2017 · 2 comments
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI enhancement Product code improvement that does NOT require public API changes/additions optimization tenet-performance Performance related issue
Milestone

Comments

@eerhardt
Copy link
Member

Using Matrix4x4 by value methods are significantly slower than using corresponding ref overloads. See dotnet/corefx#25388 (comment).

We've rejected adding these ref overloads to System.Numerics.Vectors to avoid API clutter and because the performance benefit of the ref overloads is not significant.

However, the benchmarks showed a benefit for Matrix4x4. We should investigate how much of the Matrix4x4ByRef benefit can be matched with better codegen for the ByValue case. And then implement any improvements.

cc @CarolEidt

category:cq
theme:vector-codegen
skill-level:expert
cost:medium

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@BruceForstall BruceForstall added the JitUntriaged CLR JIT issues needing additional triage label Oct 28, 2020
@BruceForstall
Copy link
Member

@tannergooding comments?

@BruceForstall BruceForstall removed the JitUntriaged CLR JIT issues needing additional triage label Oct 30, 2022
@tannergooding
Copy link
Member

I think this isn't really a codegen issue, rather a library issue.

We need to update the code paths to use intrinsics, where possible, and to be more explicit about inlining.

The JIT is already doing better inlining and better follows the underlying ABIs where possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI enhancement Product code improvement that does NOT require public API changes/additions optimization tenet-performance Performance related issue
Projects
None yet
Development

No branches or pull requests

4 participants