Improve TeddyHelper.RightShift helpers for ARM#96928
Conversation
|
Tagging subscribers to this area: @dotnet/area-system-buffers Issue Details@tannergooding mentioned on Discord that
|
There was a problem hiding this comment.
It's worth noting that...
AlignRight is exposed as (left, right, mask) where left is the upper 128-bits and right is the lower 128-bits of the concatenated vector, therefore mask 1 picks right[1]-right[15] and left[0] as the last element.
AdvSimd.ExtractVector128 is exposed as (upper, lower, mask), but it should've been (lower, upper, mask), so its inverse from the AlignRight order. This can be potentially confusing when reviewing the code.
The PR here is doing it correctly, just wanted to call out that its a weird thing if you go look at stuff
|
@MihuBot -arm |
7cc415b to
51cd9fb
Compare
@tannergooding mentioned on Discord that
AdvSimd.ExtractVector128is the comparable ARM instruction toSsse3.AlignRight.This lets us delete the logic we were using to emulate the behavior via shuffles.