Assembly Diffs

linux arm64

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

MISSED contexts: 14 (0.00%)

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,680 390,902 245,778 1 (0.00%) 1 (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,078 488,237 242,841 13 (0.00%) 13 (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,537 1,004,581 1,523,956 14 (0.00%) 14 (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,611,323 +8

FullOpts (+8 bytes)

Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.x64.checked.mch 127,424,804 +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: 406611323 (overridden on cmd)
Total bytes of diff: 406611331 (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,749 contexts (931,667 MinOpts, 1,367,082 FullOpts).

MISSED contexts: 4 (0.00%)

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,822 460,215 170,607 4 (0.00%) 4 (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,749 931,667 1,367,082 4 (0.00%) 4 (0.00%)


windows arm64

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

MISSED contexts: 9 (0.00%)

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,770 471,098 178,672 9 (0.00%) 9 (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,843 948,167 1,432,676 9 (0.00%) 9 (0.00%)


windows x64

Diffs are based on 2,821,026 contexts (1,163,479 MinOpts, 1,657,547 FullOpts).

Overall (+8 bytes)

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

FullOpts (+8 bytes)

Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x64.checked.mch 135,051,948 +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 142,947 69,304 73,643 0 (0.00%) 0 (0.00%)
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,821,026 1,163,479 1,657,547 0 (0.00%) 0 (0.00%)

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: 439646022 (overridden on cmd)
Total bytes of diff: 439646030 (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).