-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[Mono] Intrinsify API's of System.Numerics.Vector and new API's of System.Runtime.Intrinsics.Vector{64, 128} on Arm64 #64072
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
Motivation of this work: There is a recent change to When comparing the generated code for the above microbenchmark test, I noticed the big generated code change for
The affected Mono flavors: JIT and AOT The solution to this regression is to intrinsify the methods of |
Implementation wise, look at |
This should likely also extend to the APIs of the same names on |
That work has been tracked here #42350. Most of the intrinsics for |
@fanyang-mono, these are new APIs introduced in .NET 7, so they wouldn't be covered by #42350 |
Good point. I've updated the description. |
This PR contributes to #64072 Added intrinsics for following operators - Operator * - Operator / - Operator | - Operator & - Operator ^ - Unary operator - - Unary operator ~ Co-authored-by: Fan Yang <[email protected]>
I am closing this issue, as all the work planed for this issue has been finished. |
System.Runtime.Intrinsics.Vector{64, 128}
andSystem.Numerics.Vector
:System.Runtime.Intrinsics.Vector{64, 128}<T>
andSystem.Numerics.Vector<T>
:+
(one operand) - @simonrozsival-
(one operand)~
+
@mkhamoyan-
@mkhamoyan*
@mkhamoyan/
@mkhamoyan==
- @simonrozsival!=
- @simonrozsival&
|
^
The text was updated successfully, but these errors were encountered: