hoist_details

Creado El diff nunca expira
144 eliminaciones
181 líneas
154 adiciones
188 líneas
; Assembly listing for method Benchstone.BenchI.Array2:Initialize(System.Int32[][][])
; Assembly listing for method Benchstone.BenchI.Array2:Initialize(System.Int32[][][])
; 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,T08] ( 8, 9.87) ref -> rdi class-hnd single-def
; V00 arg0 [V00,T09] ( 8, 9.87) ref -> rdi class-hnd single-def
; V01 loc0 [V01,T07] ( 15, 39.79) int -> rax
; V01 loc0 [V01,T07] ( 15, 28.07) int -> rax
; V02 loc1 [V02,T03] ( 19, 87.18) int -> rdx
; V02 loc1 [V02,T03] ( 19, 87.18) int -> rdx
; V03 loc2 [V03,T00] ( 21,400 ) int -> r9
; V03 loc2 [V03,T00] ( 21,400 ) int -> r9
;# V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;# V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
; V05 tmp1 [V05,T01] ( 9,384.00) ref -> registers "arr expr"
; V05 tmp1 [V05,T01] ( 9,384.00) ref -> registers "arr expr"
; V06 tmp2 [V06,T02] ( 8,258.55) ref -> registers "arr expr"
; V06 tmp2 [V06,T02] ( 8,258.55) ref -> registers "arr expr"
; V07 cse0 [V07,T04] ( 2, 78.41) int -> r10 "CSE - aggressive"
; V07 cse0 [V07,T04] ( 2, 78.41) int -> rbx "CSE - aggressive"
; V08 cse1 [V08,T06] ( 4, 74.61) ref -> r8 "CSE - aggressive"
; V08 cse1 [V08,T06] ( 4, 74.61) ref -> r8 "CSE - aggressive"
; V09 cse2 [V09,T10] ( 5, 7.24) int -> rsi "CSE - aggressive"
; V09 cse2 [V09,T08] ( 4, 20.91) int -> r10 "CSE - aggressive"
; V10 cse3 [V10,T09] ( 4, 9.19) long -> rcx "CSE - aggressive"
; V10 cse3 [V10,T11] ( 5, 7.24) int -> rsi "CSE - aggressive"
; V11 cse4 [V11,T05] ( 2, 78.41) long -> rcx "CSE - aggressive"
; V11 cse4 [V11,T10] ( 4, 9.19) long -> rcx "CSE - aggressive"
; V12 cse5 [V12,T05] ( 2, 78.41) long -> rcx "CSE - aggressive"
;
;
; Lcl frame size = 0
; Lcl frame size = 8


G_M17719_IG01:
G_M17719_IG01:
000001ce`8637ac60 push rbp
00000164`d840a300 push rbp
000001ce`8637ac61 push r14
00000164`d840a301 push r15
000001ce`8637ac63 push rbx
00000164`d840a303 push r14
000001ce`8637ac64 lea rbp, [rsp+10H]
00000164`d840a305 push rbx
;; size=9 bbWeight=1 PerfScore 3.50
00000164`d840a306 push rax
00000164`d840a307 lea rbp, [rsp+20H]
;; size=12 bbWeight=1 PerfScore 5.50
G_M17719_IG02:
G_M17719_IG02:
000001ce`8637ac69 xor eax, eax
00000164`d840a30c xor eax, eax
000001ce`8637ac6b test rdi, rdi
00000164`d840a30e test rdi, rdi
000001ce`8637ac6e je G_M17719_IG13
00000164`d840a311 je G_M17719_IG13
000001ce`8637ac74 mov esi, dword ptr [rdi+8]
00000164`d840a317 mov esi, dword ptr [rdi+8]
000001ce`8637ac77 cmp esi, 10
00000164`d840a31a cmp esi, 10
000001ce`8637ac7a jl G_M17719_IG13
00000164`d840a31d jl G_M17719_IG13
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jl: 0 ; jcc erratum) 32B boundary ...............................
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jl: 3 ; jcc erratum) 32B boundary ...............................
;; size=23 bbWeight=1 PerfScore 4.75
;; size=23 bbWeight=1 PerfScore 4.75
G_M17719_IG03:
G_M17719_IG03:
000001ce`8637ac80 xor edx, edx
00000164`d840a323 xor edx, edx
000001ce`8637ac82 cmp esi, eax
00000164`d840a325 cmp esi, eax
000001ce`8637ac84 jle SHORT G_M17719_IG08
00000164`d840a327 jle SHORT G_M17719_IG08
000001ce`8637ac86 mov ecx, eax
00000164`d840a329 mov ecx, eax
000001ce`8637ac88 mov r8, gword ptr [rdi+8*rcx+16]
00000164`d840a32b mov r8, gword ptr [rdi+8*rcx+16]
000001ce`8637ac8d test r8, r8
00000164`d840a330 test r8, r8
000001ce`8637ac90 je SHORT G_M17719_IG08
00000164`d840a333 je SHORT G_M17719_IG08
000001ce`8637ac92 cmp dword ptr [r8+8], 10
00000164`d840a335 cmp dword ptr [r8+8], 10
000001ce`8637ac97 jl SHORT G_M17719_IG08
00000164`d840a33a jl SHORT G_M17719_IG08
;; size=25 bbWeight=3.96 PerfScore 35.64
00000164`d840a33c lea r10d, [rax+rax]
; ............................... 32B boundary ...............................
;; size=29 bbWeight=3.96 PerfScore 37.62
G_M17719_IG04:
G_M17719_IG04:
000001ce`8637ac99 xor r9d, r9d
00000164`d840a340 xor r9d, r9d
000001ce`8637ac9c mov ecx, edx
00000164`d840a343 mov ecx, edx
000001ce`8637ac9e lea r10d, [rax+rax]
00000164`d840a345 lea r11d, [rdx+2*rdx]
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (lea: 2) 32B boundary ...............................
00000164`d840a349 mov ebx, r10d
000001ce`8637aca2 lea r11d, [rdx+2*rdx]
00000164`d840a34c sub ebx, r11d
000001ce`8637aca6 sub r10d, r11d
00000164`d840a34f align [0 bytes for IG05]
000001ce`8637aca9 align [0 bytes for IG05]
;; size=15 bbWeight=15.68 PerfScore 23.52
;; size=16 bbWeight=15.68 PerfScore 27.44
G_M17719_IG05:
G_M17719_IG05:
000001ce`8637aca9 mov r11, r8
00000164`d840a34f mov r11, r8
000001ce`8637acac mov r11, gword ptr [r11+8*rcx+16]
00000164`d840a352 mov r11, gword ptr [r11+8*rcx+16]
000001ce`8637acb1 cmp r9d, dword ptr [r11+8]
00000164`d840a357 cmp r9d, dword ptr [r11+8]
000001ce`8637acb5 jae G_M17719_IG19
00000164`d840a35b jae G_M17719_IG19
000001ce`8637acbb mov ebx, r9d
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jae: 1 ; jcc erratum) 32B boundary ...............................
000001ce`8637acbe lea r14d, [r9+4*r9]
00000164`d840a361 mov r14d, r9d
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (lea: 2) 32B boundary ...............................
00000164`d840a364 lea r15d, [r9+4*r9]
000001ce`8637acc2 add r14d, r10d
00000164`d840a368 add r15d, ebx
000001ce`8637acc5 mov dword ptr [r11+4*rbx+16], r14d
00000164`d840a36b mov dword ptr [r11+4*r14+16], r15d
000001ce`8637acca inc r9d
00000164`d840a370 inc r9d
000001ce`8637accd cmp r9d, 10
00000164`d840a373 cmp r9d, 10
000001ce`8637acd1 jl SHORT G_M17719_IG05
00000164`d840a377 jl SHORT G_M17719_IG05
;; size=42 bbWeight=62.73 PerfScore 611.58
;; size=42 bbWeight=62.73 PerfScore 611.58
G_M17719_IG06:
G_M17719_IG06:
000001ce`8637acd3 inc edx
00000164`d840a379 inc edx
000001ce`8637acd5 cmp edx, 10
00000164`d840a37b cmp edx, 10
000001ce`8637acd8 jl SHORT G_M17719_IG04
00000164`d840a37e jl SHORT G_M17719_IG04
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jl: 0 ; jcc erratum) 32B boundary ...............................
;; size=7 bbWeight=15.68 PerfScore 23.52
;; size=7 bbWeight=15.68 PerfScore 23.52
G_M17719_IG07:
G_M17719_IG07:
000001ce`8637acda jmp SHORT G_M17719_IG11
00000164`d840a380 jmp SHORT G_M17719_IG11
;; size=2 bbWeight=3.96 PerfScore 7.92
;; size=2 bbWeight=3.96 PerfScore 7.92
G_M17719_IG08:
G_M17719_IG08:
000001ce`8637acdc xor r9d, r9d
00000164`d840a382 xor r9d, r9d
;; size=3 bbWeight=0.16 PerfScore 0.04
;; size=3 bbWeight=0.16 PerfScore 0.04
G_M17719_IG09:
G_M17719_IG09:
000001ce`8637acdf mov ecx, eax
00000164`d840a385 mov ecx, eax
00000164`d840a387 mov rcx, gword ptr [rdi+8*rcx+16]
00000164`d840a38c cmp edx, dword ptr [rcx+8]
00000164`d840a38f jae G_M17719_IG19
00000164`d840a395 mov r8d, edx
00000164`d840a398 mov r8, gword ptr [rcx+8*r8+16]
00000164`d840a39d cmp r9d, dword ptr [r8+8]
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (cmp: 1 ; jcc erratum) 32B boundary ...............................
00000164`d840a3a1 jae G_M17719_IG19
00000164`d840a3a7 mov ecx, r9d
00000164`d840a3aa lea r10d, [rax+rax]
00000164`d840a3ae lea r11d, [rdx+2*rdx]
00000164`d840a3b2 sub r10d, r11d
00000164`d840a3b5 lea r11d, [r9+4*r9]
00000164`d840a3b9 add r10d, r11d
00000164`d840a3bc mov dword ptr [r8+4*rcx+16], r10d
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 1) 32B boundary ...............................
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 1) 32B boundary ...............................
000001ce`8637ace1 mov rcx, gword ptr [rdi+8*rcx+16]
00000164`d840a3c1 inc r9d
000001ce`8637ace6 cmp edx, dword ptr [rcx+8]
00000164`d840a3c4 cmp r9d, 10
000001ce`8637ace9 jae G_M17719_IG19
00000164`d840a3c8 jl SHORT G_M17719_IG09
000001ce`8637acef mov r8d, edx
000001ce`8637acf2 mov r8, gword ptr [rcx+8*r8+16]
000001ce`8637acf7 cmp r9d, dword ptr [r8+8]
000001ce`8637acfb jae G_M17719_IG19
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jae: 1 ; jcc erratum) 32B boundary ...............................
000001ce`8637ad01 mov ecx, r9d
000001ce`8637ad04 lea r10d, [rax+rax]
000001ce`8637ad08 lea r11d, [rdx+2*rdx]
000001ce`8637ad0c sub r10d, r11d
000001ce`8637ad0f lea r11d, [r9+4*r9]
000001ce`8637ad13 add r10d, r11d
000001ce`8637ad16 mov dword ptr [r8+4*rcx+16], r10d
000001ce`8637ad1b inc r9d
000001ce`8637ad1e cmp r9d, 10
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (cmp: 2 ; jcc erratum) 32B boundary ...............................
000001ce`8637ad22 jl SHORT G_M17719_IG09
;; size=69 bbWeight=0.63 PerfScore 10.93
;; size=69 bbWeight=0.63 PerfScore 10.93
G_M17719_IG10:
G_M17719_IG10:
000001ce`8637ad24 inc edx
00000164`d840a3ca inc edx
000001ce`8637ad26 cmp edx, 10
00000164`d840a3cc cmp edx, 10
000001ce`8637ad29 jl SHORT G_M17719_IG08
00000164`d840a3cf jl SHORT G_M17719_IG08
;; size=7 bbWeight=0.16 PerfScore 0.24
;; size=7 bbWeight=0.16 PerfScore 0.24
G_M17719_IG11:
G_M17719_IG11:
000001ce`8637ad2b inc eax
00000164`d840a3d1 inc eax
000001ce`8637ad2d cmp eax, 10
00000164`d840a3d3 cmp eax, 10
000001ce`8637ad30 jl G_M17719_IG03
00000164`d840a3d6 jl G_M17719_IG03
;; size=11 bbWeight=3.96 PerfScore 5.94
;; size=11 bbWeight=3.96 PerfScore 5.94
G_M17719_IG12:
G_M17719_IG12:
000001ce`8637ad36 jmp SHORT G_M17719_IG18
00000164`d840a3dc jmp SHORT G_M17719_IG18
;; size=2 bbWeight=1 PerfScore 2.00
;; size=2 bbWeight=1 PerfScore 2.00
G_M17719_IG13:
G_M17719_IG13:
000001ce`8637ad38 xor edx, edx
00000164`d840a3de xor edx, edx
; ............................... 32B boundary ...............................
;; size=2 bbWeight=0.04 PerfScore 0.01
;; size=2 bbWeight=0.04 PerfScore 0.01
G_M17719_IG14:
G_M17719_IG14:
000001ce`8637ad3a xor r9d, r9d
00000164`d840a3e0 xor r9d, r9d
;; size=3 bbWeight=0.16 PerfScore 0.04
;; size=3 bbWeight=0.16 PerfScore 0.04
G_M17719_IG15:
G_M17719_IG15:
000001ce`8637ad3d mov esi, dword ptr [rdi+8]
00000164`d840a3e3 mov esi, dword ptr [rdi+8]
00000164`d840a3e6 cmp eax, esi
00000164`d840a3e8 jae SHORT G_M17719_IG19
00000164`d840a3ea mov r8d, eax
00000164`d840a3ed mov rcx, gword ptr [rdi+8*r8+16]
00000164`d840a3f2 cmp edx, dword ptr [rcx+8]
00000164`d840a3f5 jae SHORT G_M17719_IG19
00000164`d840a3f7 mov esi, edx
00000164`d840a3f9 mov r8, gword ptr [rcx+8*rsi+16]
00000164`d840a3fe cmp r9d, dword ptr [r8+8]
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (cmp: 2 ; jcc erratum) 32B boundary ...............................
00000164`d840a402 jae SHORT G_M17719_IG19
00000164`d840a404 mov ecx, r9d
00000164`d840a407 lea esi, [rax+rax]
00000164`d840a40a lea r10d, [rdx+2*rdx]
00000164`d840a40e sub esi, r10d
00000164`d840a411 lea r10d, [r9+4*r9]
00000164`d840a415 add esi, r10d
00000164`d840a418 mov dword ptr [r8+4*rcx+16], esi
00000164`d840a41d inc r9d
; ............................... 32B boundary ...............................
; ............................... 32B boundary ...............................
000001ce`8637ad40 cmp eax, esi
00000164`d840a420 cmp r9d, 10
000001ce`8637ad42 jae SHORT G_M17719_IG19
00000164`d840a424 jl SHORT G_M17719_IG15
000001ce`8637ad44 mov r8d, eax
000001ce`8637ad47 mov rcx, gword ptr [rdi+8*r8+16]
000001ce`8637ad4c cmp edx, dword ptr [rcx+8]
000001ce`8637ad4f jae SHORT G_M17719_IG19
000001ce`8637ad51 mov esi, edx
000001ce`8637ad53 mov r8, gword ptr [rcx+8*rsi+16]
000001ce`8637ad58 cmp r9d, dword ptr [r8+8]
000001ce`8637ad5c jae SHORT G_M17719_IG19
000001ce`8637ad5e mov ecx, r9d
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (mov: 1) 32B boundary ...............................
000001ce`8637ad61 lea esi, [rax+rax]
000001ce`8637ad64 lea r10d, [rdx+2*rdx]
000001ce`8637ad68 sub esi, r10d
000001ce`8637ad6b lea r10d, [r9+4*r9]
000001ce`8637ad6f add esi, r10d
000001ce`8637ad72 mov dword ptr [r8+4*rcx+16], esi
000001ce`8637ad77 inc r9d
000001ce`8637ad7a cmp r9d, 10
000001ce`8637ad7e jl SHORT G_M17719_IG15
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jl: 0 ; jcc erratum) 32B boundary ...............................
;; size=67 bbWeight=0.64 PerfScore 13.12
;; size=67 bbWeight=0.64 PerfScore 13.12
G_M17719_IG16:
G_M17719_IG16:
000001ce`8637ad80 inc edx
00000164`d840a426 inc edx
000001ce`8637ad82 cmp edx, 10
00000164`d840a428 cmp edx, 10
000001ce`8637ad85 jl SHORT G_M17719_IG14
00000164`d840a42b jl SHORT G_M17719_IG14
;; size=7 bbWeight=0.16 PerfScore 0.24
;; size=7 bbWeight=0.16 PerfScore 0.24
G_M17719_IG17:
G_M17719_IG17:
000001ce`8637ad87 inc eax
00000164`d840a42d inc eax
000001ce`8637ad89 cmp eax, 10
00000164`d840a42f cmp eax, 10
000001ce`8637ad8c jl SHORT G_M17719_IG13
00000164`d840a432 jl SHORT G_M17719_IG13
;; size=7 bbWeight=0.04 PerfScore 0.06
;; size=7 bbWeight=0.04 PerfScore 0.06
G_M17719_IG18:
G_M17719_IG18:
000001ce`8637ad8e pop rbx
00000164`d840a434 add rsp, 8
000001ce`8637ad8f pop r14
00000164`d840a438 pop rbx
000001ce`8637ad91 pop rbp
00000164`d840a439 pop r14
000001ce`8637ad92 ret
00000164`d840a43b pop r15
;; size=5 bbWeight=1 PerfScore 2.50
00000164`d840a43d pop rbp
00000164`d840a43e ret
;; size=11 bbWeight=1 PerfScore 3.25
G_M17719_IG19:
G_M17719_IG19:
000001ce`8637ad93 call CORINFO_HELP_RNGCHKFAIL
00000164`d840a43f call CORINFO_HELP_RNGCHKFAIL
000001ce`8637ad98 int3
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (call: 4 ; jcc erratum) 32B boundary ...............................
00000164`d840a444 int3
;; size=6 bbWeight=0 PerfScore 0.00
;; size=6 bbWeight=0 PerfScore 0.00


; Total bytes of code 313, prolog size 9, PerfScore 780.77, instruction count 101, allocated bytes for code 313 (MethodHash=e37abac8) for method Benchstone.BenchI.Array2:Initialize(System.Int32[][][])
; Total bytes of code 325, prolog size 12, PerfScore 782.78, instruction count 106, allocated bytes for code 325 (MethodHash=e37abac8) for method Benchstone.BenchI.Array2:Initialize(System.Int32[][][])
; ============================================================
; ============================================================


Using jit(D:\git\runtime\artifacts\tests\coreclr\windows.x64.Checked\tests\Core_Root\clrjit_unix_x64_x64.dll) with input (E:\spmi\mch\4efa8fe2-8489-4b61-aac9-b4df74af15b7.windows.x64\benchmarks.run.windows.x64.checked.mch)
Using jit(D:\git\runtime\artifacts\tests\coreclr\windows.x64.Checked\tests\Core_Root\clrjit_unix_x64_x64.dll) with input (E:\spmi\mch\4efa8fe2-8489-4b61-aac9-b4df74af15b7.windows.x64\benchmarks.run.windows.x64.checked.mch)
indexCount=1 (24267)
indexCount=1 (24267)
Jit startup took 6.501100ms
Jit startup took 6.394800ms
Loaded 1 Jitted 1 FailedCompile 1 Excluded 0 Missing 0
Loaded 1 Jitted 1 FailedCompile 1 Excluded 0 Missing 0
Total time: 16.329200ms
Total time: 17.819200ms