-
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
Port SIMDIntrinsicGetItem and SIMDIntrinsicSetItem to be implemented via HWIntrinsics #52288
Port SIMDIntrinsicGetItem and SIMDIntrinsicSetItem to be implemented via HWIntrinsics #52288
Conversation
Framework diff is:
The regression in I'm working on getting the PMI diffs for tests as well, but they take a while to run. |
CC. @echesakovMSFT |
5e62003
to
7c9380d
Compare
Diff for benchmarks:
|
f8788e5
to
57576b9
Compare
…using SimdAsHWIntrinsic
57576b9
to
cc9c3dd
Compare
CC. @echesakovMSFT, @dotnet/jit-contrib |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have some questions that I would like to get answered before approving?
Co-authored-by: Egor Chesakov <Egor.Chesakov@microsoft.com>
…ontainment checks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thanks for the contribution @tannergooding !
Co-authored-by: Egor Chesakov <Egor.Chesakov@microsoft.com>
Hello @tannergooding! Because this pull request has the p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
PR dotnet#52288 throws ArgumentOutOfRangeException instead of IndexOutOfRangeException. The test is not updated. It still use IndexOutOfRangeException.
This is a continuation of past PRs (#35421 and #37882) which ported the legacy
System.Numerics
code to be implemented in terms of the newerSystem.Runtime.Intrinsics
code.In particular, this updates
SIMDIntrinsicGetItem
andSIMDIntrinsicSetItem
to be implemented via the corresponding HWIntrinsics functionality bringing along benefits to both codepaths. Namely, theSystem.Numerics
codepath becomes VEX aware and has better instruction selection, while theSystem.Runtime.Intrinsics
codepath picked up an optimization for non-constant operands.Some example diffs are:
and: