arrays2_test_hoist

Créé Le diff n'expire jamais
214 suppressions
257 lignes
216 ajouts
256 lignes
; Assembly listing for method Benchstone.BenchI.Array2:Bench(int):bool
; Assembly listing for method Benchstone.BenchI.Array2:Bench(int):bool
; Emitting BLENDED_CODE for X64 CPU with AVX - Unix
; Emitting BLENDED_CODE for X64 CPU with AVX - Unix
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; fully interruptible
; fully interruptible
; No matching PGO data
; No matching PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T17] ( 6, 15 ) int -> rbx
; V00 arg0 [V00,T17] ( 6, 15 ) int -> rbx
; V01 loc0 [V01,T13] ( 9, 34.49) ref -> r14 class-hnd single-def
; V01 loc0 [V01,T13] ( 9, 34.49) ref -> r14 class-hnd single-def
; V02 loc1 [V02,T14] ( 8, 33.49) ref -> r15 class-hnd single-def
; V02 loc1 [V02,T14] ( 8, 33.49) ref -> r15 class-hnd single-def
;* V03 loc2 [V03 ] ( 0, 0 ) bool -> zero-ref
;* V03 loc2 [V03 ] ( 0, 0 ) bool -> zero-ref
; V04 loc3 [V04,T11] ( 15, 112.29) int -> r12
; V04 loc3 [V04,T11] ( 15, 112.29) int -> r12
; V05 loc4 [V05,T10] ( 20, 291.10) int -> rdi
; V05 loc4 [V05,T10] ( 20, 291.10) int -> rdi
; V06 loc5 [V06,T00] ( 23,1605.09) int -> r8
; V06 loc5 [V06,T00] ( 23,1605.09) int -> registers
;# V07 OutArgs [V07 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;# V07 OutArgs [V07 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
; V08 tmp1 [V08,T01] ( 9,1536.00) ref -> registers class-hnd "Strict ordering of exceptions for Array store"
; V08 tmp1 [V08,T01] ( 9,1536.00) ref -> registers class-hnd "Strict ordering of exceptions for Array store"
; V09 tmp2 [V09,T05] ( 6,1024.00) int -> registers "Strict ordering of exceptions for Array store"
; V09 tmp2 [V09,T05] ( 6,1024.00) int -> registers "Strict ordering of exceptions for Array store"
; V10 tmp3 [V10,T03] ( 8,1034.19) ref -> registers "arr expr"
; V10 tmp3 [V10,T03] ( 8,1034.19) ref -> registers "arr expr"
; V11 tmp4 [V11,T02] ( 9,1536.00) ref -> registers "arr expr"
; V11 tmp4 [V11,T02] ( 9,1536.00) ref -> registers "arr expr"
; V12 tmp5 [V12,T04] ( 8,1034.19) ref -> registers "arr expr"
; V12 tmp5 [V12,T04] ( 8,1034.19) ref -> registers "arr expr"
; V13 cse0 [V13,T08] ( 4, 298.43) ref -> rdx "CSE - moderate"
; V13 cse0 [V13,T08] ( 4, 298.43) ref -> rdx "CSE - moderate"
; V14 cse1 [V14,T09] ( 4, 298.43) ref -> rcx "CSE - moderate"
; V14 cse1 [V14,T09] ( 4, 298.43) ref -> rcx "CSE - moderate"
; V15 cse2 [V15,T15] ( 5, 28.96) int -> r13 "CSE - moderate"
; V15 cse2 [V15,T15] ( 5, 28.96) int -> r13 "CSE - moderate"
; V16 cse3 [V16,T16] ( 5, 28.96) int -> rax "CSE - moderate"
; V16 cse3 [V16,T16] ( 5, 28.96) int -> rax "CSE - moderate"
; V17 cse4 [V17,T12] ( 6, 55.12) long -> rsi "CSE - moderate"
; V17 cse4 [V17,T12] ( 6, 55.12) long -> rsi "CSE - moderate"
; V18 cse5 [V18,T07] ( 3, 564.54) long -> rsi "CSE - moderate"
; V18 cse5 [V18,T07] ( 3, 564.54) long -> r8 "CSE - moderate"
; V19 cse6 [V19,T06] ( 3, 752.72) long -> r11 "CSE - aggressive"
; V19 cse6 [V19,T06] ( 3, 752.72) long -> r11 "CSE - aggressive"
;
;
; Lcl frame size = 8
; Lcl frame size = 8


G_M30565_IG01:
G_M30565_IG01:
000002a9`1f93b300 push rbp
0000022a`d794b2a0 push rbp
000002a9`1f93b301 push r15
0000022a`d794b2a1 push r15
000002a9`1f93b303 push r14
0000022a`d794b2a3 push r14
000002a9`1f93b305 push r13
0000022a`d794b2a5 push r13
000002a9`1f93b307 push r12
0000022a`d794b2a7 push r12
000002a9`1f93b309 push rbx
0000022a`d794b2a9 push rbx
000002a9`1f93b30a push rax
0000022a`d794b2aa push rax
000002a9`1f93b30b lea rbp, [rsp+30H]
0000022a`d794b2ab lea rbp, [rsp+30H]
000002a9`1f93b310 mov ebx, edi
0000022a`d794b2b0 mov ebx, edi
;; size=18 bbWeight=1 PerfScore 7.75
;; size=18 bbWeight=1 PerfScore 7.75
G_M30565_IG02:
G_M30565_IG02:
000002a9`1f93b312 mov edi, 10
0000022a`d794b2b2 mov edi, 10
000002a9`1f93b317 mov esi, 10
0000022a`d794b2b7 mov esi, 10
000002a9`1f93b31c mov edx, 10
0000022a`d794b2bc mov edx, 10
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 1) 32B boundary ...............................
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 1) 32B boundary ...............................
000002a9`1f93b321 call [Benchstone.BenchI.Array2:AllocArray(int,int,int):System.Int32[][][]]
0000022a`d794b2c1 call [Benchstone.BenchI.Array2:AllocArray(int,int,int):System.Int32[][][]]
000002a9`1f93b327 mov r14, rax
0000022a`d794b2c7 mov r14, rax
000002a9`1f93b32a mov edi, 10
0000022a`d794b2ca mov edi, 10
000002a9`1f93b32f mov esi, 10
0000022a`d794b2cf mov esi, 10
000002a9`1f93b334 mov edx, 10
0000022a`d794b2d4 mov edx, 10
000002a9`1f93b339 call [Benchstone.BenchI.Array2:AllocArray(int,int,int):System.Int32[][][]]
0000022a`d794b2d9 call [Benchstone.BenchI.Array2:AllocArray(int,int,int):System.Int32[][][]]
000002a9`1f93b33f mov r15, rax
0000022a`d794b2df mov r15, rax
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 2) 32B boundary ...............................
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 2) 32B boundary ...............................
000002a9`1f93b342 mov rdi, r14
0000022a`d794b2e2 mov rdi, r14
000002a9`1f93b345 call [Benchstone.BenchI.Array2:Initialize(System.Int32[][][])]
0000022a`d794b2e5 call [Benchstone.BenchI.Array2:Initialize(System.Int32[][][])]
000002a9`1f93b34b test ebx, ebx
0000022a`d794b2eb test ebx, ebx
000002a9`1f93b34d je G_M30565_IG20
0000022a`d794b2ed je G_M30565_IG20
;; size=65 bbWeight=1 PerfScore 12.50
;; size=65 bbWeight=1 PerfScore 12.50
G_M30565_IG03:
G_M30565_IG03:
000002a9`1f93b353 xor r12d, r12d
0000022a`d794b2f3 xor r12d, r12d
000002a9`1f93b356 test r15, r15
0000022a`d794b2f6 test r15, r15
000002a9`1f93b359 je G_M30565_IG14
0000022a`d794b2f9 je G_M30565_IG14
000002a9`1f93b35f test r14, r14
0000022a`d794b2ff test r14, r14
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (test: 2 ; jcc erratum) 32B boundary ...............................
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (test: 2 ; jcc erratum) 32B boundary ...............................
000002a9`1f93b362 je G_M30565_IG14
0000022a`d794b302 je G_M30565_IG14
000002a9`1f93b368 mov r13d, dword ptr [r15+8]
0000022a`d794b308 mov r13d, dword ptr [r15+8]
000002a9`1f93b36c cmp r13d, 10
0000022a`d794b30c cmp r13d, 10
000002a9`1f93b370 jl G_M30565_IG14
0000022a`d794b310 jl G_M30565_IG14
000002a9`1f93b376 mov eax, dword ptr [r14+8]
0000022a`d794b316 mov eax, dword ptr [r14+8]
000002a9`1f93b37a cmp eax, 10
0000022a`d794b31a cmp eax, 10
000002a9`1f93b37d jl G_M30565_IG14
0000022a`d794b31d jl G_M30565_IG14
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jl: 3 ; jcc erratum) 32B boundary ...............................
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jl: 3 ; jcc erratum) 32B boundary ...............................
;; size=48 bbWeight=4 PerfScore 37.00
;; size=48 bbWeight=4 PerfScore 37.00
G_M30565_IG04:
G_M30565_IG04:
000002a9`1f93b383 xor edi, edi
0000022a`d794b323 xor edi, edi
000002a9`1f93b385 cmp r13d, r12d
0000022a`d794b325 cmp r13d, r12d
000002a9`1f93b388 jle SHORT G_M30565_IG09
0000022a`d794b328 jle SHORT G_M30565_IG09
000002a9`1f93b38a ;; NOP compensation instructions of 4 bytes.
0000022a`d794b32a ;; NOP compensation instructions of 4 bytes.
000002a9`1f93b38e cmp eax, r12d
0000022a`d794b32e cmp eax, r12d
000002a9`1f93b391 jle SHORT G_M30565_IG09
0000022a`d794b331 jle SHORT G_M30565_IG09
000002a9`1f93b393 mov esi, r12d
0000022a`d794b333 mov esi, r12d
000002a9`1f93b396 mov rdx, gword ptr [r15+8*rsi+16]
0000022a`d794b336 mov rdx, gword ptr [r15+8*rsi+16]
000002a9`1f93b39b test rdx, rdx
0000022a`d794b33b test rdx, rdx
000002a9`1f93b39e je SHORT G_M30565_IG09
0000022a`d794b33e je SHORT G_M30565_IG09
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (je: 0 ; jcc erratum) 32B boundary ...............................
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (je: 0 ; jcc erratum) 32B boundary ...............................
000002a9`1f93b3a0 mov rcx, gword ptr [r14+8*rsi+16]
0000022a`d794b340 mov rcx, gword ptr [r14+8*rsi+16]
000002a9`1f93b3a5 test rcx, rcx
0000022a`d794b345 test rcx, rcx
000002a9`1f93b3a8 je SHORT G_M30565_IG09
0000022a`d794b348 je SHORT G_M30565_IG09
000002a9`1f93b3aa cmp dword ptr [rdx+8], 10
0000022a`d794b34a cmp dword ptr [rdx+8], 10
000002a9`1f93b3ae jl SHORT G_M30565_IG09
0000022a`d794b34e jl SHORT G_M30565_IG09
000002a9`1f93b3b0 cmp dword ptr [rcx+8], 10
0000022a`d794b350 cmp dword ptr [rcx+8], 10
000002a9`1f93b3b4 jl SHORT G_M30565_IG09
0000022a`d794b354 jl SHORT G_M30565_IG09
;; size=51 bbWeight=15.84 PerfScore 277.20
;; size=51 bbWeight=15.84 PerfScore 277.20
G_M30565_IG05:
G_M30565_IG05:
000002a9`1f93b3b6 xor r8d, r8d
0000022a`d794b356 xor esi, esi
000002a9`1f93b3b9 mov esi, edi
0000022a`d794b358 mov r8d, edi
000002a9`1f93b3bb align [5 bytes for IG06]
0000022a`d794b35b align [5 bytes for IG06]
; ............................... 32B boundary ...............................
; ............................... 32B boundary ...............................
;; size=10 bbWeight=62.73 PerfScore 47.04
;; size=10 bbWeight=62.73 PerfScore 47.04
G_M30565_IG06:
G_M30565_IG06:
000002a9`1f93b3c0 mov r9, rdx
0000022a`d794b360 mov r9, rdx
000002a9`1f93b3c3 mov r9, gword ptr [r9+8*rsi+16]
0000022a`d794b363 mov r9, gword ptr [r9+8*r8+16]
000002a9`1f93b3c8 mov r10, rcx
0000022a`d794b368 mov r10, rcx
000002a9`1f93b3cb mov r10, gword ptr [r10+8*rsi+16]
0000022a`d794b36b mov r10, gword ptr [r10+8*r8+16]
000002a9`1f93b3d0 cmp r8d, dword ptr [r10+8]
0000022a`d794b370 cmp esi, dword ptr [r10+8]
000002a9`1f93b3d4 jae G_M30565_IG22
0000022a`d794b374 jae G_M30565_IG22
000002a9`1f93b3da mov r11d, r8d
0000022a`d794b37a mov r11d, esi
000002a9`1f93b3dd mov r10d, dword ptr [r10+4*r11+16]
0000022a`d794b37d mov r10d, dword ptr [r10+4*r11+16]
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 2) 32B boundary ...............................
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 2) 32B boundary ...............................
000002a9`1f93b3e2 cmp r8d, dword ptr [r9+8]
0000022a`d794b382 cmp esi, dword ptr [r9+8]
000002a9`1f93b3e6 jae G_M30565_IG22
0000022a`d794b386 jae G_M30565_IG22
000002a9`1f93b3ec mov dword ptr [r9+4*r11+16], r10d
0000022a`d794b38c mov dword ptr [r9+4*r11+16], r10d
000002a9`1f93b3f1 inc r8d
0000022a`d794b391 inc esi
000002a9`1f93b3f4 cmp r8d, 10
0000022a`d794b393 cmp esi, 10
000002a9`1f93b3f8 jl SHORT G_M30565_IG06
0000022a`d794b396 jl SHORT G_M30565_IG06
;; size=58 bbWeight=250.91 PerfScore 4328.12
;; size=56 bbWeight=250.91 PerfScore 4328.12
G_M30565_IG07:
G_M30565_IG07:
000002a9`1f93b3fa inc edi
0000022a`d794b398 inc edi
000002a9`1f93b3fc cmp edi, 10
0000022a`d794b39a cmp edi, 10
000002a9`1f93b3ff jl SHORT G_M30565_IG05
0000022a`d794b39d jl SHORT G_M30565_IG05
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jl: 1 ; jcc erratum) 32B boundary ...............................
;; size=7 bbWeight=62.73 PerfScore 94.09
;; size=7 bbWeight=62.73 PerfScore 94.09
G_M30565_IG08:
G_M30565_IG08:
000002a9`1f93b401 jmp SHORT G_M30565_IG12
0000022a`d794b39f jmp SHORT G_M30565_IG12
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jmp: 1 ; jcc erratum) 32B boundary ...............................
;; size=2 bbWeight=15.84 PerfScore 31.68
;; size=2 bbWeight=15.84 PerfScore 31.68
G_M30565_IG09:
G_M30565_IG09:
000002a9`1f93b403 xor r8d, r8d
0000022a`d794b3a1 xor edx, edx
;; size=3 bbWeight=0.63 PerfScore 0.16
;; size=2 bbWeight=0.63 PerfScore 0.16
G_M30565_IG10:
G_M30565_IG10:
000002a9`1f93b406 mov esi, r12d
0000022a`d794b3a3 mov esi, r12d
000002a9`1f93b409 mov rcx, gword ptr [r15+8*rsi+16]
0000022a`d794b3a6 mov rcx, gword ptr [r15+8*rsi+16]
000002a9`1f93b40e cmp edi, dword ptr [rcx+8]
0000022a`d794b3ab cmp edi, dword ptr [rcx+8]
000002a9`1f93b411 jae G_M30565_IG22
0000022a`d794b3ae jae G_M30565_IG22
000002a9`1f93b417 mov edx, edi
0000022a`d794b3b4 mov r8d, edi
000002a9`1f93b419 mov rdx, gword ptr [rcx+8*rdx+16]
0000022a`d794b3b7 mov r8, gword ptr [rcx+8*r8+16]
000002a9`1f93b41e mov r9, gword ptr [r14+8*rsi+16]
0000022a`d794b3bc mov r9, gword ptr [r14+8*rsi+16]
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 3) 32B boundary ...............................
000002a9`1f93b423 cmp edi, dword ptr [r9+8]
000002a9`1f93b427 jae G_M30565_IG22
000002a9`1f93b42d mov ecx, edi
000002a9`1f93b42f mov rcx, gword ptr [r9+8*rcx+16]
000002a9`1f93b434 cmp r8d, dword ptr [rcx+8]
000002a9`1f93b438 jae G_M30565_IG22
000002a9`1f93b43e mov r9d, r8d
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 1) 32B boundary ...............................
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 1) 32B boundary ...............................
000002a9`1f93b441 mov r9d, dword ptr [rcx+4*r9+16]
0000022a`d794b3c1 cmp edi, dword ptr [r9+8]
000002a9`1f93b446 cmp r8d, dword ptr [rdx+8]
0000022a`d794b3c5 jae G_M30565_IG22
000002a9`1f93b44a jae G_M30565_IG22
0000022a`d794b3cb mov ecx, edi
000002a9`1f93b450 mov ecx, r8d
0000022a`d794b3cd mov rcx, gword ptr [r9+8*rcx+16]
000002a9`1f93b453 mov dword ptr [rdx+4*rcx+16], r9d
0000022a`d794b3d2 cmp edx, dword ptr [rcx+8]
000002a9`1f93b458 inc r8d
0000022a`d794b3d5 jae G_M30565_IG22
000002a9`1f93b45b cmp r8d, 10
0000022a`d794b3db mov r9d, edx
000002a9`1f93b45f jl SHORT G_M30565_IG10
0000022a`d794b3de mov r9d, dword ptr [rcx+4*r9+16]
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jl: 1 ; jcc erratum) 32B boundary ...............................
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 3) 32B boundary ...............................
;; size=91 bbWeight=2.53 PerfScore 75.40
0000022a`d794b3e3 cmp edx, dword ptr [r8+8]
0000022a`d794b3e7 jae G_M30565_IG22
0000022a`d794b3ed mov ecx, edx
0000022a`d794b3ef mov dword ptr [r8+4*rcx+16], r9d
0000022a`d794b3f4 inc edx
0000022a`d794b3f6 cmp edx, 10
0000022a`d794b3f9 jl SHORT G_M30565_IG10
;; size=88 bbWeight=2.53 PerfScore 75.40
G_M30565_IG11:
G_M30565_IG11:
000002a9`1f93b461 inc edi
0000022a`d794b3fb inc edi
000002a9`1f93b463 cmp edi, 10
0000022a`d794b3fd cmp edi, 10
000002a9`1f93b466 jl SHORT G_M30565_IG09
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (cmp: 0 ; jcc erratum) 32B boundary ...............................
0000022a`d794b400 jl SHORT G_M30565_IG09
;; size=7 bbWeight=0.63 PerfScore 0.95
;; size=7 bbWeight=0.63 PerfScore 0.95
G_M30565_IG12:
G_M30565_IG12:
000002a9`1f93b468 inc r12d
0000022a`d794b402 inc r12d
000002a9`1f93b46b cmp r12d, 10
0000022a`d794b405 cmp r12d, 10
000002a9`1f93b46f jl G_M30565_IG04
0000022a`d794b409 jl G_M30565_IG04
;; size=13 bbWeight=15.84 PerfScore 23.76
;; size=13 bbWeight=15.84 PerfScore 23.76
G_M30565_IG13:
G_M30565_IG13:
000002a9`1f93b475 jmp G_M30565_IG19
0000022a`d794b40f jmp SHORT G_M30565_IG19
;; size=5 bbWeight=4 PerfScore 8.00
;; size=2 bbWeight=4 PerfScore 8.00
G_M30565_IG14:
G_M30565_IG14:
000002a9`1f93b47a xor edi, edi
0000022a`d794b411 xor edi, edi
;; size=2 bbWeight=0.16 PerfScore 0.04
;; size=2 bbWeight=0.16 PerfScore 0.04
G_M30565_IG15:
G_M30565_IG15:
000002a9`1f93b47c xor r8d, r8d
0000022a`d794b413 xor edx, edx
;; size=3 bbWeight=0.64 PerfScore 0.16
;; size=2 bbWeight=0.64 PerfScore 0.16
G_M30565_IG16:
G_M30565_IG16:
000002a9`1f93b47f mov r13d, dword ptr [r15+8]
0000022a`d794b415 mov r13d, dword ptr [r15+8]
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 3) 32B boundary ...............................
0000022a`d794b419 cmp r12d, r13d
000002a9`1f93b483 cmp r12d, r13d
0000022a`d794b41c jae G_M30565_IG22
000002a9`1f93b486 jae G_M30565_IG22
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jae: 2 ; jcc erratum) 32B boundary ...............................
000002a9`1f93b48c mov edx, r12d
0000022a`d794b422 mov r8d, r12d
000002a9`1f93b48f mov rcx, gword ptr [r15+8*rdx+16]
0000022a`d794b425 mov rcx, gword ptr [r15+8*r8+16]
000002a9`1f93b494 cmp edi, dword ptr [rcx+8]
0000022a`d794b42a cmp edi, dword ptr [rcx+8]
000002a9`1f93b497 jae G_M30565_IG22
0000022a`d794b42d jae SHORT G_M30565_IG22
000002a9`1f93b49d mov eax, edi
0000022a`d794b42f mov eax, edi
000002a9`1f93b49f mov rdx, gword ptr [rcx+8*rax+16]
0000022a`d794b431 mov r8, gword ptr [rcx+8*rax+16]
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 4) 32B boundary ...............................
0000022a`d794b436 mov eax, dword ptr [r14+8]
000002a9`1f93b4a4 mov eax, dword ptr [r14+8]
0000022a`d794b43a cmp r12d, eax
000002a9`1f93b4a8 cmp r12d, eax
0000022a`d794b43d jae SHORT G_M30565_IG22
000002a9`1f93b4ab jae SHORT G_M30565_IG22
0000022a`d794b43f mov r9d, r12d
000002a9`1f93b4ad mov r9d, r12d
000002a9`1f93b4b0 mov r9, gword ptr [r14+8*r9+16]
000002a9`1f93b4b5 cmp edi, dword ptr [r9+8]
000002a9`1f93b4b9 jae SHORT G_M30565_IG22
000002a9`1f93b4bb mov esi, edi
000002a9`1f93b4bd mov rcx, gword ptr [r9+8*rsi+16]
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 2) 32B boundary ...............................
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 2) 32B boundary ...............................
000002a9`1f93b4c2 cmp r8d, dword ptr [rcx+8]
0000022a`d794b442 mov r9, gword ptr [r14+8*r9+16]
000002a9`1f93b4c6 jae SHORT G_M30565_IG22
0000022a`d794b447 cmp edi, dword ptr [r9+8]
000002a9`1f93b4c8 mov esi, r8d
0000022a`d794b44b jae SHORT G_M30565_IG22
000002a9`1f93b4cb mov r9d, dword ptr [rcx+4*rsi+16]
0000022a`d794b44d mov esi, edi
000002a9`1f93b4d0 cmp r8d, dword ptr [rdx+8]
0000022a`d794b44f mov rcx, gword ptr [r9+8*rsi+16]
000002a9`1f93b4d4 jae SHORT G_M30565_IG22
0000022a`d794b454 cmp edx, dword ptr [rcx+8]
000002a9`1f93b4d6 mov esi, r8d
0000022a`d794b457 jae SHORT G_M30565_IG22
000002a9`1f93b4d9 mov dword ptr [rdx+4*rsi+16], r9d
0000022a`d794b459 mov esi, edx
000002a9`1f93b4de inc r8d
0000022a`d794b45b mov r9d, dword ptr [rcx+4*rsi+16]
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (inc: 1) 32B boundary ...............................
; ............................... 32B boundary ...............................
000002a9`1f93b4e1 cmp r8d, 10
0000022a`d794b460 cmp edx, dword ptr [r8+8]
000002a9`1f93b4e5 jl SHORT G_M30565_IG16
0000022a`d794b464 jae SHORT G_M30565_IG22
;; size=104 bbWeight=2.56 PerfScore 93.44
0000022a`d794b466 mov esi, edx
0000022a`d794b468 mov dword ptr [r8+4*rsi+16], r9d
0000022a`d794b46d inc edx
0000022a`d794b46f cmp edx, 10
0000022a`d794b472 jl SHORT G_M30565_IG16
;; size=95 bbWeight=2.56 PerfScore 93.44
G_M30565_IG17:
G_M30565_IG17:
000002a9`1f93b4e7 inc edi
0000022a`d794b474 inc edi
000002a9`1f93b4e9 cmp edi, 10
0000022a`d794b476 cmp edi, 10
000002a9`1f93b4ec jl SHORT G_M30565_IG15
0000022a`d794b479 jl SHORT G_M30565_IG15
;; size=7 bbWeight=0.64 PerfScore 0.96
;; size=7 bbWeight=0.64 PerfScore 0.96
G_M30565_IG18:
G_M30565_IG18:
000002a9`1f93b4ee inc r12d
0000022a`d794b47b inc r12d
000002a9`1f93b4f1 cmp r12d, 10
0000022a`d794b47e cmp r12d, 10
000002a9`1f93b4f5 jl SHORT G_M30565_IG14
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (cmp: 2 ; jcc erratum) 32B boundary ...............................
0000022a`d794b482 jl SHORT G_M30565_IG14
;; size=9 bbWeight=0.16 PerfScore 0.24
;; size=9 bbWeight=0.16 PerfScore 0.24
G_M30565_IG19:
G_M30565_IG19:
000002a9`1f93b4f7 dec ebx
0000022a`d794b484 dec ebx
000002a9`1f93b4f9 jne G_M30565_IG03
0000022a`d794b486 jne G_M30565_IG03
;; size=8 bbWeight=4 PerfScore 5.00
;; size=8 bbWeight=4 PerfScore 5.00
G_M30565_IG20:
G_M30565_IG20:
000002a9`1f93b4ff mov rdi, r14
0000022a`d794b48c mov rdi, r14
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 2) 32B boundary ...............................
0000022a`d794b48f mov rsi, r15
000002a9`1f93b502 mov rsi, r15
0000022a`d794b492 call [Benchstone.BenchI.Array2:VerifyCopy(System.Int32[][][],System.Int32[][][]):bool]
000002a9`1f93b505 call [Benchstone.BenchI.Array2:VerifyCopy(System.Int32[][][],System.Int32[][][]):bool]
0000022a`d794b498 nop
000002a9`1f93b50b nop
;; size=13 bbWeight=1 PerfScore 3.75
;; size=13 bbWeight=1 PerfScore 3.75
G_M30565_IG21:
G_M30565_IG21:
000002a9`1f93b50c add rsp, 8
0000022a`d794b499 add rsp, 8
000002a9`1f93b510 pop rbx
0000022a`d794b49d pop rbx
000002a9`1f93b511 pop r12
0000022a`d794b49e pop r12
000002a9`1f93b513 pop r13
; ............................... 32B boundary ...............................
000002a9`1f93b515 pop r14
0000022a`d794b4a0 pop r13
000002a9`1f93b517 pop r15
0000022a`d794b4a2 pop r14
000002a9`1f93b519 pop rbp
0000022a`d794b4a4 pop r15
000002a9`1f93b51a ret
0000022a`d794b4a6 pop rbp
0000022a`d794b4a7 ret
;; size=15 bbWeight=1 PerfScore 4.25
;; size=15 bbWeight=1 PerfScore 4.25
G_M30565_IG22:
G_M30565_IG22:
000002a9`1f93b51b call CORINFO_HELP_RNGCHKFAIL
0000022a`d794b4a8 call CORINFO_HELP_RNGCHKFAIL
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (call: 0 ; jcc erratum) 32B boundary ...............................
0000022a`d794b4ad int3
000002a9`1f93b520 int3
;; size=6 bbWeight=0 PerfScore 0.00
;; size=6 bbWeight=0 PerfScore 0.00


; Total bytes of code 545, prolog size 18, PerfScore 5105.99, instruction count 154, allocated bytes for code 545 (MethodHash=245f889a) for method Benchstone.BenchI.Array2:Bench(int):bool
; Total bytes of code 526, prolog size 18, PerfScore 5104.09, instruction count 154, allocated bytes for code 526 (MethodHash=245f889a) for method Benchstone.BenchI.Array2:Bench(int):bool
; ============================================================
; ============================================================


Using jit(E:\perfinvestigation\71059\before\clrjit_unix_x64_x64.dll) with input (E:\spmi\mch\af5b6632-6fbe-4a2e-82d6-24487a138e4a.Linux.x64\benchmarks.run.Linux.x64.checked.mch)
Using jit(E:\perfinvestigation\71059\loophoist\clrjit_unix_x64_x64.dll) with input (E:\spmi\mch\af5b6632-6fbe-4a2e-82d6-24487a138e4a.Linux.x64\benchmarks.run.Linux.x64.checked.mch)
indexCount=1 (35156)
indexCount=1 (35156)
Jit startup took 6.924800ms
Jit startup took 9.101300ms
Loaded 1 Jitted 1 FailedCompile 0 Excluded 0 Missing 0
Loaded 1 Jitted 1 FailedCompile 0 Excluded 0 Missing 0
Total time: 21.576300ms
Total time: 20.440900ms