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 |
echesakov
left a comment
There was a problem hiding this comment.
Have some questions that I would like to get answered before approving?
Co-authored-by: Egor Chesakov <Egor.Chesakov@microsoft.com>
…ontainment checks
echesakov
left a comment
There was a problem hiding this comment.
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.Numericscode to be implemented in terms of the newerSystem.Runtime.Intrinsicscode.In particular, this updates
SIMDIntrinsicGetItemandSIMDIntrinsicSetItemto be implemented via the corresponding HWIntrinsics functionality bringing along benefits to both codepaths. Namely, theSystem.Numericscodepath becomes VEX aware and has better instruction selection, while theSystem.Runtime.Intrinsicscodepath picked up an optimization for non-constant operands.Some example diffs are:
and: