coreclr_tests.pmi.windows.x64.checked.mchTotal bytes of delta: -10515791 total files with Code Size differences (693 improved, 98 regressed), 2666 unchanged.libraries.crossgen2.windows.x64.checked.mchTotal bytes of delta: -12882945 total files with Code Size differences (872 improved, 73 regressed), 804 unchanged.libraries.pmi.windows.x64.checked.mchTotal bytes of delta: -6776945 total files with Code Size differences (800 improved, 145 regressed), 645 unchanged.libraries_tests.pmi.windows.x64.checked.mchTotal bytes of delta: -208642300 total files with Code Size differences (2117 improved, 183 regressed), 986 unchanged.aspnet.run.windows.x64.checked.mchTotal bytes of delta: -748125 total files with Code Size differences (92 improved, 33 regressed), 206 unchanged.benchmarks.run.windows.x64.checked.mchTotal bytes of delta: -39034 total files with Code Size differences (26 improved, 8 regressed), 65 unchanged.coreclr_tests.pmi.Linux.arm64.checked.mchTotal bytes of delta: -20528413 total files with Code Size differences (325 improved, 88 regressed), 5906 unchanged.libraries.crossgen2.Linux.arm64.checked.mchTotal bytes of delta: -620445947 total files with Code Size differences (5861 improved, 86 regressed), 3080 unchanged.libraries.pmi.Linux.arm64.checked.mchTotal bytes of delta: -201841083 total files with Code Size differences (1024 improved, 59 regressed), 7333 unchanged.libraries_tests.pmi.Linux.arm64.checked.mchTotal bytes of delta: -186522409 total files with Code Size differences (2281 improved, 128 regressed), 3993 unchanged.benchmarks.run.Linux.x64.checked.mchTotal bytes of delta: -5826 total files with Code Size differences (18 improved, 8 regressed), 71 unchanged.coreclr_tests.pmi.Linux.x64.checked.mchTotal bytes of delta: -8914804 total files with Code Size differences (606 improved, 198 regressed), 2711 unchanged.libraries.crossgen2.Linux.x64.checked.mchTotal bytes of delta: -10620717 total files with Code Size differences (668 improved, 49 regressed), 2042 unchanged.libraries.pmi.Linux.x64.checked.mchTotal bytes of delta: -8268925 total files with Code Size differences (799 improved, 126 regressed), 622 unchanged.libraries_tests.pmi.Linux.x64.checked.mchTotal bytes of delta: -214411991 total files with Code Size differences (1898 improved, 93 regressed), 1088 unchanged.benchmarks.run.windows.arm64.checked.mchTotal bytes of delta: -11246 total files with Code Size differences (41 improved, 5 regressed), 207 unchanged.coreclr_tests.pmi.windows.arm64.checked.mchTotal bytes of delta: -19676430 total files with Code Size differences (342 improved, 88 regressed), 5914 unchanged.libraries.crossgen2.windows.arm64.checked.mchTotal bytes of delta: -635126167 total files with Code Size differences (6076 improved, 91 regressed), 3307 unchanged.libraries.pmi.windows.arm64.checked.mchTotal bytes of delta: -204601132 total files with Code Size differences (1069 improved, 63 regressed), 7564 unchanged.libraries_tests.pmi.windows.arm64.checked.mchTotal bytes of delta: -201802530 total files with Code Size differences (2386 improved, 144 regressed), 4099 unchanged.benchmarks.run.windows.x86.checked.mchTotal bytes of delta: -18928 total files with Code Size differences (17 improved, 11 regressed), 37 unchanged.coreclr_tests.pmi.windows.x86.checked.mchTotal bytes of delta: -5880716 total files with Code Size differences (497 improved, 219 regressed), 115 unchanged.libraries.crossgen2.windows.x86.checked.mchTotal bytes of delta: -2369301 total files with Code Size differences (257 improved, 44 regressed), 573 unchanged.libraries.pmi.windows.x86.checked.mchTotal bytes of delta: -770273 total files with Code Size differences (144 improved, 129 regressed), 153 unchanged.libraries_tests.pmi.windows.x86.checked.mchTotal bytes of delta: -55371236 total files with Code Size differences (1092 improved, 144 regressed), 296 unchanged.coreclr_tests.pmi.Linux.arm.checked.mchTotal bytes of delta: -162069 total files with Code Size differences (66 improved, 3 regressed), 109 unchanged.libraries.crossgen2.Linux.arm.checked.mchTotal bytes of delta: -950251 total files with Code Size differences (246 improved, 5 regressed), 47 unchanged.libraries.pmi.Linux.arm.checked.mchTotal bytes of delta: -7228 total files with Code Size differences (26 improved, 2 regressed), 18 unchanged.libraries_tests.pmi.Linux.arm.checked.mchTotal bytes of delta: -3812 total files with Code Size differences (12 improved, 0 regressed), 239 unchanged.
Uh oh!
There was an error while loading.Please reload this page.
With#55558 in the main we can now start using structs in regs potential, this is a change to convert more
STORE_BLK(dst, LCL_VAR)asSTORE_IND(dst, LCL_VAR).The second representation is better because
STORE_INDallowsLCL_VARto be enregistered.There was also a bug that the optimization was enabled for MinOpts and disabled for MaxOpts, fixed as well. It was not providing much value without enregistration so that was staying hidden for quite a while (since 5.0).
Some SPMI highlights:
asp and benchmarks are showing improvements as well.
Full diffs
The regressions are small and expected, they are:
The ratio of improvements/regressions in benchmarks was concerning so I manually checked that all regressions are in one of the first 2 categories.
contributes to#43867