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
movwould never go throughemitIns_R_A.I surveyed all the places that calls
emitHandleMemOp()and henceemitMapFmtForIns()and the only place wheremovcan 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(sincemovjust writes to the register). The fix is to add a check inemitMapFmtForIns()to convert to right format.Fixes: #79132