-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
ARM64-SVE: Emit AddSequentialAcross
correctly
#106292
Conversation
emitDispReg(id->idReg1(), size, true); // ddddd | ||
emitDispLowPredicateReg(id->idReg2(), insGetPredicateType(fmt), id->idInsOpt(), true); // ggg | ||
emitDispReg(id->idReg1(), size, true); // ddddd | ||
emitDispSveReg(id->idReg3(), id->idInsOpt(), false); // mmmmm | ||
break; | ||
|
||
// <V><dn>, <Pg>, <V><dn>, <Zm>.<T> | ||
case IF_SVE_HJ_3A: // ........xx...... ...gggmmmmmddddd -- SVE floating-point serial reduction (predicated) |
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.
I'm surprised this was never caught in the codegen testing. Although it's possible something else changed around it.
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.
Yeah, I imagine this was refactored at some point after it was first implemented
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.
This LGTM
@TIHan can you PTAL? Thanks! |
@TIHan, @dotnet/arm64-contrib, please review this PR before RC1 snap. |
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, straightforward change.
Fixes #106180.
AddSequentialAcross
now looks like this in JIT disasms:We no longer emit
movprfx
, and the destination SIMD register is printed correctly (I think this is everything we needed to fix for this intrinsic). I also found a couple of other nearby instruction formats that needed to be fixed inemitDispInsSveHelp
.AddSequentialAcross
stress tests are passing. @dotnet/arm64-contrib PTAL, thanks!