-
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 - Investigate why a mov
is inserted
#83618
Comments
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch, @kunalspathak Issue DetailsThis PR had a few diffs that looked like this:
- cmp w0, #0
+ tbz w0, #31, G_M20047_IG08
+ ;; size=92 bbWeight=2 PerfScore 60.00
+G_M20047_IG06: ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
mov x0, x19
; gcrRegs +[x0]
- bge G_M20047_IG08
- ;; size=100 bbWeight=2 PerfScore 62.00
-G_M20047_IG06: ; bbWeight=0.50, gcrefRegs=300001 {x0 x20 x21}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x19] It is curious that Might be worthwhile to investigate why the
|
Did you check the jitdump? |
It looks like a resolution move, that should be the only way we can get a |
I didn't get a jitdump of this - I guess that's part of the investigation :)
It does look that way. |
Should this be closed or are you planning to investigate this more? |
I could investigate more but it's not a priority. |
This PR had a few diffs that looked like this:
R2RTest.CompileSerpCommand+<FilterAssembliesNoSimpleNameDuplicates>d__32:MoveNext():bool:this
It is curious that
mov x0, x19
was inserted between thecmp
andbge
before. But now that we transform those two instructions into a singletbz
, themov
is inserted after a branching operation instead of before - which may cause a perf regression.Might be worthwhile to investigate why the
mov
was inserted in the first place. There were not many of these cases as a result of the PR, so it's probably a non-issue in general.The text was updated successfully, but these errors were encountered: