[JIT] ARM64 Fix - Use SetOper instead of ChangeOper to preserve flags#85076
[JIT] ARM64 Fix - Use SetOper instead of ChangeOper to preserve flags#85076TIHan merged 1 commit intodotnet:mainfrom
SetOper instead of ChangeOper to preserve flags#85076Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch, @kunalspathak Issue DetailsDescriptionResolves #84966 The changes from #84605 resulted in the failing test. I narrowed down the IL to this: This is an I added
|
|
/azp run runtime-coreclr jitstress |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run runtime-coreclr jitstress |
|
Azure Pipelines successfully started running 1 pipeline(s). |
8b9c63c to
166babb
Compare
SetOper instead of ChangeOper to preserve flags
|
/azp run runtime-coreclr jitstress |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@dotnet/jit-contrib This is ready. // cc @jakobbotsch |
Description
Resolves #84966
The changes from #84605 resulted in the failing test.
I narrowed down the IL to this:
This is an
unorderedcomparison against a float ZERO and float NAN. In the importer, when we see this, theGTF_RELOP_NAN_UNflag gets set on the relop. However, if we decide to later swap the relop, callingChangeOperwill clear this bit which is what resulted in the test failing.The fix is to use
SetOperas it will not clear this flag.