Assembly Diffs

linux arm64

Diffs are based on 2,528,551 contexts (1,004,581 MinOpts, 1,523,970 FullOpts).

No diffs found.

Details

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.linux.arm64.checked.mch 35,076 3,186 31,890 0 (0.00%) 0 (0.00%)
benchmarks.run_pgo.linux.arm64.checked.mch 149,856 59,275 90,581 0 (0.00%) 0 (0.00%)
benchmarks.run_tiered.linux.arm64.checked.mch 55,568 41,186 14,382 0 (0.00%) 0 (0.00%)
coreclr_tests.run.linux.arm64.checked.mch 636,681 390,902 245,779 0 (0.00%) 0 (0.00%)
libraries.crossgen2.linux.arm64.checked.mch 265,499 15 265,484 0 (0.00%) 0 (0.00%)
libraries.pmi.linux.arm64.checked.mch 297,254 6 297,248 0 (0.00%) 0 (0.00%)
libraries_tests.run.linux.arm64.Release.mch 731,091 488,237 242,854 0 (0.00%) 0 (0.00%)
librariestestsnotieredcompilation.run.linux.arm64.Release.mch 305,140 21,620 283,520 0 (0.00%) 0 (0.00%)
realworld.run.linux.arm64.checked.mch 33,345 147 33,198 0 (0.00%) 0 (0.00%)
smoke_tests.nativeaot.linux.arm64.checked.mch 19,041 7 19,034 0 (0.00%) 0 (0.00%)
2,528,551 1,004,581 1,523,970 0 (0.00%) 0 (0.00%)


linux x64

Diffs are based on 2,531,978 contexts (984,938 MinOpts, 1,547,040 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+8 bytes)

Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.x64.checked.mch 406,618,438 +8

FullOpts (+8 bytes)

Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.x64.checked.mch 127,431,919 +8

Example diffs

coreclr_tests.run.linux.x64.checked.mch

+4 (+0.90%) : 119787.dasm - JIT.HardwareIntrinsics.X86.Avx512F.SimpleBinaryOpTestScaleScalarSingle:RunBasicScenarioLoadAligned():this (FullOpts)

@@ -164,8 +164,9 @@ G_M6370_IG08: ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, lea rax, [rax+rdi-0x01] dec rdi andn rdi, rdi, rax
- vmovaps xmm0, xmmword ptr [rbp-0x40] - vscalefss xmm0, xmm0, xmmword ptr [rdi]
+ vmovaps xmm0, xmmword ptr [rdi] + vmovaps xmm1, xmmword ptr [rbp-0x40] + vscalefss xmm0, xmm1, xmm0
vmovaps xmmword ptr [rbp-0x30], xmm0 mov r14, r15 lea rdi, bword ptr [r14+0x30] @@ -201,7 +202,7 @@ G_M6370_IG08: ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, ; byrRegs -[r13] lea rdi, bword ptr [r15+0x30] ; byrRegs +[rdi]
- ;; size=236 bbWeight=1 PerfScore 79.50
+ ;; size=240 bbWeight=1 PerfScore 80.50
G_M6370_IG09: ; bbWeight=1, extend call [<unknown method>] ; byrRegs -[rdi] @@ -230,7 +231,7 @@ G_M6370_IG10: ; bbWeight=1, epilog, nogc, extend ret ;; size=13 bbWeight=1 PerfScore 3.75
-; Total bytes of code 444, prolog size 17, PerfScore 127.93, instruction count 105, allocated bytes for code 444 (MethodHash=724be71d) for method JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarSingle:RunBasicScenario_LoadAligned():this (FullOpts)
+; Total bytes of code 448, prolog size 17, PerfScore 128.93, instruction count 106, allocated bytes for code 448 (MethodHash=724be71d) for method JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarSingle:RunBasicScenario_LoadAligned():this (FullOpts)
; ============================================================ Unwind Info:

+4 (+0.90%) : 119772.dasm - JIT.HardwareIntrinsics.X86.Avx512F.SimpleBinaryOpTestScaleScalarDouble:RunBasicScenarioLoadAligned():this (FullOpts)

@@ -164,8 +164,9 @@ G_M47085_IG08: ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, lea rax, [rax+rdi-0x01] dec rdi andn rdi, rdi, rax
- vmovaps xmm0, xmmword ptr [rbp-0x40] - vscalefsd xmm0, xmm0, xmmword ptr [rdi]
+ vmovapd xmm0, xmmword ptr [rdi] + vmovaps xmm1, xmmword ptr [rbp-0x40] + vscalefsd xmm0, xmm1, xmm0
vmovaps xmmword ptr [rbp-0x30], xmm0 mov r14, r15 lea rdi, bword ptr [r14+0x30] @@ -201,7 +202,7 @@ G_M47085_IG08: ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, ; byrRegs -[r13] lea rdi, bword ptr [r15+0x30] ; byrRegs +[rdi]
- ;; size=236 bbWeight=1 PerfScore 79.50
+ ;; size=240 bbWeight=1 PerfScore 80.50
G_M47085_IG09: ; bbWeight=1, extend call [<unknown method>] ; byrRegs -[rdi] @@ -230,7 +231,7 @@ G_M47085_IG10: ; bbWeight=1, epilog, nogc, extend ret ;; size=13 bbWeight=1 PerfScore 3.75
-; Total bytes of code 444, prolog size 17, PerfScore 127.93, instruction count 105, allocated bytes for code 444 (MethodHash=c80b4812) for method JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarDouble:RunBasicScenario_LoadAligned():this (FullOpts)
+; Total bytes of code 448, prolog size 17, PerfScore 128.93, instruction count 106, allocated bytes for code 448 (MethodHash=c80b4812) for method JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarDouble:RunBasicScenario_LoadAligned():this (FullOpts)
; ============================================================ Unwind Info:

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.linux.x64.checked.mch 0 0 0 0 -0 +0
benchmarks.run_pgo.linux.x64.checked.mch 0 0 0 0 -0 +0
benchmarks.run_tiered.linux.x64.checked.mch 0 0 0 0 -0 +0
coreclr_tests.run.linux.x64.checked.mch 2 0 2 0 -0 +8
libraries.crossgen2.linux.x64.checked.mch 0 0 0 0 -0 +0
libraries.pmi.linux.x64.checked.mch 0 0 0 0 -0 +0
libraries_tests.run.linux.x64.Release.mch 0 0 0 0 -0 +0
librariestestsnotieredcompilation.run.linux.x64.Release.mch 0 0 0 0 -0 +0
realworld.run.linux.x64.checked.mch 0 0 0 0 -0 +0
smoke_tests.nativeaot.linux.x64.checked.mch 0 0 0 0 -0 +0
2 0 2 0 -0 +8

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.linux.x64.checked.mch 36,348 3,562 32,786 0 (0.00%) 0 (0.00%)
benchmarks.run_pgo.linux.x64.checked.mch 158,911 63,100 95,811 0 (0.00%) 0 (0.00%)
benchmarks.run_tiered.linux.x64.checked.mch 60,464 45,377 15,087 0 (0.00%) 0 (0.00%)
coreclr_tests.run.linux.x64.checked.mch 598,649 355,935 242,714 1 (0.00%) 1 (0.00%)
libraries.crossgen2.linux.x64.checked.mch 265,329 15 265,314 0 (0.00%) 0 (0.00%)
libraries.pmi.linux.x64.checked.mch 298,301 6 298,295 0 (0.00%) 0 (0.00%)
libraries_tests.run.linux.x64.Release.mch 747,348 494,883 252,465 0 (0.00%) 0 (0.00%)
librariestestsnotieredcompilation.run.linux.x64.Release.mch 305,737 21,933 283,804 0 (0.00%) 0 (0.00%)
realworld.run.linux.x64.checked.mch 33,450 117 33,333 0 (0.00%) 0 (0.00%)
smoke_tests.nativeaot.linux.x64.checked.mch 27,441 10 27,431 0 (0.00%) 0 (0.00%)
2,531,978 984,938 1,547,040 1 (0.00%) 1 (0.00%)

jit-analyze output

coreclr_tests.run.linux.x64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 406618438 (overridden on cmd)
Total bytes of diff: 406618446 (overridden on cmd)
Total bytes of delta: 8 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
           4 : 119772.dasm (0.90 % of base)
           4 : 119787.dasm (0.90 % of base)

2 total files with Code Size differences (0 improved, 2 regressed), 0 unchanged.

Top method regressions (bytes):
           4 (0.90 % of base) : 119772.dasm - JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarDouble:RunBasicScenario_LoadAligned():this (FullOpts)
           4 (0.90 % of base) : 119787.dasm - JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarSingle:RunBasicScenario_LoadAligned():this (FullOpts)

Top method regressions (percentages):
           4 (0.90 % of base) : 119772.dasm - JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarDouble:RunBasicScenario_LoadAligned():this (FullOpts)
           4 (0.90 % of base) : 119787.dasm - JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarSingle:RunBasicScenario_LoadAligned():this (FullOpts)

2 total methods with Code Size differences (0 improved, 2 regressed).



osx arm64

Diffs are based on 2,298,753 contexts (931,667 MinOpts, 1,367,086 FullOpts).

No diffs found.

Details

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.osx.arm64.checked.mch 24,930 4 24,926 0 (0.00%) 0 (0.00%)
benchmarks.run_pgo.osx.arm64.checked.mch 83,913 48,370 35,543 0 (0.00%) 0 (0.00%)
benchmarks.run_tiered.osx.arm64.checked.mch 48,330 37,457 10,873 0 (0.00%) 0 (0.00%)
coreclr_tests.run.osx.arm64.checked.mch 595,802 363,976 231,826 0 (0.00%) 0 (0.00%)
libraries.crossgen2.osx.arm64.checked.mch 265,077 15 265,062 0 (0.00%) 0 (0.00%)
libraries.pmi.osx.arm64.checked.mch 317,901 18 317,883 0 (0.00%) 0 (0.00%)
libraries_tests.run.osx.arm64.Release.mch 630,826 460,215 170,611 0 (0.00%) 0 (0.00%)
librariestestsnotieredcompilation.run.osx.arm64.Release.mch 300,377 21,609 278,768 0 (0.00%) 0 (0.00%)
realworld.run.osx.arm64.checked.mch 31,597 3 31,594 0 (0.00%) 0 (0.00%)
2,298,753 931,667 1,367,086 0 (0.00%) 0 (0.00%)


windows arm64

Diffs are based on 2,380,852 contexts (948,167 MinOpts, 1,432,685 FullOpts).

No diffs found.

Details

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.windows.arm64.checked.mch 24,522 4 24,518 0 (0.00%) 0 (0.00%)
benchmarks.run_pgo.windows.arm64.checked.mch 95,441 48,737 46,704 0 (0.00%) 0 (0.00%)
benchmarks.run_tiered.windows.arm64.checked.mch 48,837 36,804 12,033 0 (0.00%) 0 (0.00%)
coreclr_tests.run.windows.arm64.checked.mch 605,285 369,873 235,412 0 (0.00%) 0 (0.00%)
libraries.crossgen2.windows.arm64.checked.mch 275,146 15 275,131 0 (0.00%) 0 (0.00%)
libraries.pmi.windows.arm64.checked.mch 307,057 6 307,051 0 (0.00%) 0 (0.00%)
libraries_tests.run.windows.arm64.Release.mch 649,779 471,098 178,681 0 (0.00%) 0 (0.00%)
librariestestsnotieredcompilation.run.windows.arm64.Release.mch 317,270 21,619 295,651 0 (0.00%) 0 (0.00%)
realworld.run.windows.arm64.checked.mch 33,303 3 33,300 0 (0.00%) 0 (0.00%)
smoke_tests.nativeaot.windows.arm64.checked.mch 24,212 8 24,204 0 (0.00%) 0 (0.00%)
2,380,852 948,167 1,432,685 0 (0.00%) 0 (0.00%)


windows x64

Diffs are based on 2,804,171 contexts (1,155,877 MinOpts, 1,648,294 FullOpts).

MISSED contexts: 3,198 (0.11%)

Overall (+8 bytes)

Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x64.checked.mch 439,649,126 +8

FullOpts (+8 bytes)

Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x64.checked.mch 135,055,052 +8

Example diffs

coreclr_tests.run.windows.x64.checked.mch

+4 (+0.94%) : 457720.dasm - JIT.HardwareIntrinsics.X86.Avx512F.SimpleBinaryOpTestScaleScalarDouble:RunBasicScenarioLoadAligned():this (FullOpts)

@@ -169,7 +169,8 @@ G_M47085_IG08: ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, lea rax, [rax+rcx-0x01] dec rcx andn rcx, rcx, rax
- vscalefsd xmm6, xmm6, xmmword ptr [rcx]
+ vmovapd xmm0, xmmword ptr [rcx] + vscalefsd xmm6, xmm6, xmm0
mov rdi, rsi lea rcx, bword ptr [rdi+0x30] ; byrRegs +[rcx] @@ -210,10 +211,10 @@ G_M47085_IG08: ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, ; byrRegs -[rcx] ; gcr arg pop 0 mov r9, qword ptr [rsi+0x18]
+ ;; size=230 bbWeight=1 PerfScore 77.50 +G_M47085_IG09: ; bbWeight=1, extend
mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- ;; size=236 bbWeight=1 PerfScore 76.75 -G_M47085_IG09: ; bbWeight=1, extend
mov gword ptr [rsp+0x20], rcx ; gcr arg write lea rcx, [rax+r9-0x01] @@ -229,7 +230,7 @@ G_M47085_IG09: ; bbWeight=1, extend ; byrRegs -[rsi] ; gcr arg pop 0 nop
- ;; size=34 bbWeight=1 PerfScore 6.75
+ ;; size=44 bbWeight=1 PerfScore 7.00
G_M47085_IG10: ; bbWeight=1, epilog, nogc, extend vmovaps xmm6, xmmword ptr [rsp+0x30] add rsp, 72 @@ -240,7 +241,7 @@ G_M47085_IG10: ; bbWeight=1, epilog, nogc, extend ret ;; size=15 bbWeight=1 PerfScore 7.25
-; Total bytes of code 426, prolog size 14, PerfScore 124.91, instruction count 101, allocated bytes for code 426 (MethodHash=c80b4812) for method JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarDouble:RunBasicScenario_LoadAligned():this (FullOpts)
+; Total bytes of code 430, prolog size 14, PerfScore 125.91, instruction count 102, allocated bytes for code 430 (MethodHash=c80b4812) for method JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarDouble:RunBasicScenario_LoadAligned():this (FullOpts)
; ============================================================ Unwind Info:

+4 (+0.94%) : 457736.dasm - JIT.HardwareIntrinsics.X86.Avx512F.SimpleBinaryOpTestScaleScalarSingle:RunBasicScenarioLoadAligned():this (FullOpts)

@@ -169,7 +169,8 @@ G_M6370_IG08: ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, lea rax, [rax+rcx-0x01] dec rcx andn rcx, rcx, rax
- vscalefss xmm6, xmm6, xmmword ptr [rcx]
+ vmovaps xmm0, xmmword ptr [rcx] + vscalefss xmm6, xmm6, xmm0
mov rdi, rsi lea rcx, bword ptr [rdi+0x30] ; byrRegs +[rcx] @@ -210,10 +211,10 @@ G_M6370_IG08: ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, ; byrRegs -[rcx] ; gcr arg pop 0 mov r9, qword ptr [rsi+0x18]
+ ;; size=230 bbWeight=1 PerfScore 77.50 +G_M6370_IG09: ; bbWeight=1, extend
mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- ;; size=236 bbWeight=1 PerfScore 76.75 -G_M6370_IG09: ; bbWeight=1, extend
mov gword ptr [rsp+0x20], rcx ; gcr arg write lea rcx, [rax+r9-0x01] @@ -229,7 +230,7 @@ G_M6370_IG09: ; bbWeight=1, extend ; byrRegs -[rsi] ; gcr arg pop 0 nop
- ;; size=34 bbWeight=1 PerfScore 6.75
+ ;; size=44 bbWeight=1 PerfScore 7.00
G_M6370_IG10: ; bbWeight=1, epilog, nogc, extend vmovaps xmm6, xmmword ptr [rsp+0x30] add rsp, 72 @@ -240,7 +241,7 @@ G_M6370_IG10: ; bbWeight=1, epilog, nogc, extend ret ;; size=15 bbWeight=1 PerfScore 7.25
-; Total bytes of code 426, prolog size 14, PerfScore 124.91, instruction count 101, allocated bytes for code 426 (MethodHash=724be71d) for method JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarSingle:RunBasicScenario_LoadAligned():this (FullOpts)
+; Total bytes of code 430, prolog size 14, PerfScore 125.91, instruction count 102, allocated bytes for code 430 (MethodHash=724be71d) for method JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarSingle:RunBasicScenario_LoadAligned():this (FullOpts)
; ============================================================ Unwind Info:

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
aspnet.run.windows.x64.checked.mch 0 0 0 0 -0 +0
benchmarks.run.windows.x64.checked.mch 0 0 0 0 -0 +0
benchmarks.run_pgo.windows.x64.checked.mch 0 0 0 0 -0 +0
benchmarks.run_tiered.windows.x64.checked.mch 0 0 0 0 -0 +0
coreclr_tests.run.windows.x64.checked.mch 2 0 2 0 -0 +8
libraries.crossgen2.windows.x64.checked.mch 0 0 0 0 -0 +0
libraries.pmi.windows.x64.checked.mch 0 0 0 0 -0 +0
libraries_tests.run.windows.x64.Release.mch 0 0 0 0 -0 +0
librariestestsnotieredcompilation.run.windows.x64.Release.mch 0 0 0 0 -0 +0
realworld.run.windows.x64.checked.mch 0 0 0 0 -0 +0
smoke_tests.nativeaot.windows.x64.checked.mch 0 0 0 0 -0 +0
2 0 2 0 -0 +8

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
aspnet.run.windows.x64.checked.mch 126,092 61,702 64,390 3,198 (2.47%) 3,198 (2.47%)
benchmarks.run.windows.x64.checked.mch 40,686 7 40,679 0 (0.00%) 0 (0.00%)
benchmarks.run_pgo.windows.x64.checked.mch 132,953 76,184 56,769 0 (0.00%) 0 (0.00%)
benchmarks.run_tiered.windows.x64.checked.mch 53,971 37,023 16,948 0 (0.00%) 0 (0.00%)
coreclr_tests.run.windows.x64.checked.mch 645,310 387,764 257,546 0 (0.00%) 0 (0.00%)
libraries.crossgen2.windows.x64.checked.mch 274,713 15 274,698 0 (0.00%) 0 (0.00%)
libraries.pmi.windows.x64.checked.mch 310,570 6 310,564 0 (0.00%) 0 (0.00%)
libraries_tests.run.windows.x64.Release.mch 790,822 570,724 220,098 0 (0.00%) 0 (0.00%)
librariestestsnotieredcompilation.run.windows.x64.Release.mch 359,541 22,438 337,103 0 (0.00%) 0 (0.00%)
realworld.run.windows.x64.checked.mch 36,907 3 36,904 0 (0.00%) 0 (0.00%)
smoke_tests.nativeaot.windows.x64.checked.mch 32,606 11 32,595 0 (0.00%) 0 (0.00%)
2,804,171 1,155,877 1,648,294 3,198 (0.11%) 3,198 (0.11%)

jit-analyze output

coreclr_tests.run.windows.x64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 439649126 (overridden on cmd)
Total bytes of diff: 439649134 (overridden on cmd)
Total bytes of delta: 8 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
           4 : 457736.dasm (0.94 % of base)
           4 : 457720.dasm (0.94 % of base)

2 total files with Code Size differences (0 improved, 2 regressed), 0 unchanged.

Top method regressions (bytes):
           4 (0.94 % of base) : 457720.dasm - JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarDouble:RunBasicScenario_LoadAligned():this (FullOpts)
           4 (0.94 % of base) : 457736.dasm - JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarSingle:RunBasicScenario_LoadAligned():this (FullOpts)

Top method regressions (percentages):
           4 (0.94 % of base) : 457720.dasm - JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarDouble:RunBasicScenario_LoadAligned():this (FullOpts)
           4 (0.94 % of base) : 457736.dasm - JIT.HardwareIntrinsics.X86._Avx512F.SimpleBinaryOpTest__ScaleScalarSingle:RunBasicScenario_LoadAligned():this (FullOpts)

2 total methods with Code Size differences (0 improved, 2 regressed).