Uh oh!
There was an error while loading. Please reload this page.
Accelerate additional cross platform hardware intrinsics - #61649
Conversation
ghost
commented
Nov 16, 2021
Tagging subscribers to this area: @JulieLeeMSFT Issue Detailsnull
|
There was a problem hiding this comment.
It's worth calling out these weren't accelerated at all on ARM64 before; and now they are and via a single instruction.
There was a problem hiding this comment.
We're getting near the point that the rest of this "legacy" SIMD intrinsic support can be removed entirely as nearly everything has moved onto SIMDAsHWIntrinsic now.
There was a problem hiding this comment.
The three bits of code here are new algorithms and are significantly faster than the previous.
They are also correct where-as various inputs on the old algorithm would actually return a different result as compared to the scalar versions.
tannergooding
commented
Nov 17, 2021
Only diffs for
|
tannergooding
commented
Nov 17, 2021
Test failures are because the current RyuJIT algorithm for This can be repro'd using
|
ecbf81c to
073a445Compare073a445 to
e0b3289Compare…nstant and return true where supported
…ed versions on x86/x64
e0b3289 to
8202352Comparetannergooding
commented
Jan 3, 2022
Rebased onto dotnet/main; this is still pending review and would be very beneficial to get merged so the PRs adding new SIMD logic can trivially support ARM from the start. |
echesakov
left a comment
There was a problem hiding this comment.
Have some questions, but, other than that, looks good.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
EgorBo
commented
Jan 20, 2022
Improvement on win-arm64: dotnet/perf-autofiling-issues#2974 |
This continues the work on #49397 which started with #53450 and #60094
In particular, this moves
to be implemented using the general SIMDAsHWIntrinsic logic and adding then having the new APIs in Vector64/128/256 use the same shared entry points.
There will likely be one or two more PRs after this one covering:
Sumor approved but NYI such asShiftLeft/ShiftRightOnce this is in, the library side work to switch over to using the xplat APIs can also happen.