-
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
Map correct fmt for mov instruction #79174
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsWith #78879, we most likely exposed a problem in emitter, where I surveyed all the places that calls Fixes: #79132
|
/azp run runtime-coreclr jitstress |
Azure Pipelines successfully started running 1 pipeline(s). |
@dotnet/jit-contrib @BruceForstall |
Any idea why my jitstress runs in #78879 didn't hit this? |
Yeah, I don't know either. The testing I did was slightly different than normal jitstress: I disabled all heuristics in if-conversion and allowed if-conversion to convert all eligible if's into |
Right, I didn't, that's why I was saying I should have run another pass of testing after that. |
With #78879, we most likely exposed a problem in emitter, where
mov
would never go throughemitIns_R_A
.I surveyed all the places that calls
emitHandleMemOp()
and henceemitMapFmtForIns()
and the only place wheremov
can now end up to pass throughemitIns_R_A()
with wrong fmt. The format that would pass isIF_RRW_ARD
(read/write) but it should beIF_RWR_ARD
(sincemov
just writes to the register). The fix is to add a check inemitMapFmtForIns()
to convert to right format.Fixes: #79132