hoisted_md

Erstellt Diff läuft nie ab
123 Entfernungen
187 Zeilen
129 Hinzufügungen
195 Zeilen
; Assembly listing for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,System.Int32[,,],System.Int32[,,]):bool
; Assembly listing for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,System.Int32[,,],System.Int32[,,]):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,T23] ( 6, 15 ) int -> [rbp-2CH]
; V00 arg0 [V00,T22] ( 6, 15 ) int -> [rbp-2CH]
; V01 arg1 [V01,T00] ( 17,1838 ) ref -> rbx class-hnd single-def
; V01 arg1 [V01,T00] ( 17,1820 ) ref -> rbx class-hnd single-def
; V02 arg2 [V02,T07] ( 10,1411 ) ref -> r14 class-hnd single-def
; V02 arg2 [V02,T07] ( 10,1411 ) ref -> r14 class-hnd single-def
;* V03 loc0 [V03 ] ( 0, 0 ) bool -> zero-ref
;* V03 loc0 [V03 ] ( 0, 0 ) bool -> zero-ref
; V04 loc1 [V04,T14] ( 7, 376 ) int -> rsi
; V04 loc1 [V04,T14] ( 7, 376 ) int -> rcx
; V05 loc2 [V05,T13] ( 7, 736 ) int -> r8
; V05 loc2 [V05,T13] ( 7, 736 ) int -> r10
; V06 loc3 [V06,T08] ( 7,1408 ) int -> r11
; V06 loc3 [V06,T08] ( 7,1408 ) int -> r13
;# V07 OutArgs [V07 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;# V07 OutArgs [V07 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
; V08 tmp1 [V08,T01] ( 3,1536 ) int -> rax "MD array shared temp"
; V08 tmp1 [V08,T01] ( 3,1536 ) int -> r15 "MD array shared temp"
; V09 tmp2 [V09,T02] ( 3,1536 ) int -> rdi "MD array shared temp"
; V09 tmp2 [V09,T02] ( 3,1536 ) int -> rdi "MD array shared temp"
; V10 tmp3 [V10,T03] ( 3,1536 ) int -> r15 "MD array shared temp"
; V10 tmp3 [V10,T03] ( 3,1536 ) int -> r15 "MD array shared temp"
; V11 tmp4 [V11,T04] ( 3,1536 ) int -> rdi "MD array shared temp"
; V11 tmp4 [V11,T04] ( 3,1536 ) int -> rdx "MD array shared temp"
; V12 tmp5 [V12,T05] ( 3,1536 ) int -> rdx "MD array shared temp"
; V12 tmp5 [V12,T05] ( 3,1536 ) int -> r8 "MD array shared temp"
; V13 tmp6 [V13,T06] ( 3,1536 ) int -> r15 "MD array shared temp"
; V13 tmp6 [V13,T06] ( 3,1536 ) int -> r15 "MD array shared temp"
; V14 cse0 [V14,T15] ( 3, 336 ) int -> r10 "CSE - moderate"
; V14 cse0 [V14,T15] ( 3, 336 ) int -> r12 "CSE - moderate"
; V15 cse1 [V15,T19] ( 3, 84 ) int -> rcx "CSE - moderate"
; V15 cse1 [V15,T19] ( 3, 84 ) int -> r9 "CSE - moderate"
; V16 cse2 [V16,T22] ( 3, 21 ) int -> [rbp-30H] spill-single-def "CSE - moderate"
; V16 cse2 [V16,T21] ( 3, 21 ) int -> [rbp-30H] spill-single-def "CSE - moderate"
; V17 cse3 [V17,T16] ( 2, 320 ) int -> r12 "CSE - moderate"
; V17 cse3 [V17,T16] ( 2, 320 ) int -> rsi "CSE - moderate"
; V18 cse4 [V18,T18] ( 3, 96 ) int -> r9 "CSE - moderate"
; V18 cse4 [V18,T23] ( 2, 17 ) int -> [rbp-34H] spill-single-def "CSE - moderate"
; V19 cse5 [V19,T20] ( 2, 32 ) int -> r10 "CSE - moderate"
; V19 cse5 [V19,T18] ( 3, 96 ) int -> r11 "CSE - moderate"
; V20 cse6 [V20,T21] ( 3, 24 ) int -> [rbp-34H] spill-single-def "CSE - moderate"
; V20 cse6 [V20,T25] ( 2, 5 ) int -> [rbp-38H] spill-single-def "CSE - moderate"
; V21 cse7 [V21,T24] ( 2, 8 ) int -> rcx "CSE - moderate"
; V21 cse7 [V21,T20] ( 3, 24 ) int -> [rbp-3CH] spill-single-def "CSE - moderate"
; V22 cse8 [V22,T25] ( 3, 6 ) int -> [rbp-38H] spill-single-def "CSE - moderate"
; V22 cse8 [V22,T24] ( 3, 6 ) int -> [rbp-40H] spill-single-def "CSE - moderate"
; V23 cse9 [V23,T26] ( 2, 2 ) int -> rdi "CSE - moderate"
; V23 cse9 [V23,T26] ( 2, 2 ) int -> rdi "CSE - moderate"
; V24 cse10 [V24,T17] ( 2, 320 ) int -> r13 "CSE - moderate"
; V24 cse10 [V24,T17] ( 2, 320 ) int -> rax "CSE - moderate"
; V25 cse11 [V25,T09] ( 3, 768 ) int -> r15 "CSE - moderate"
; V25 cse11 [V25,T09] ( 3, 768 ) int -> rdx "CSE - moderate"
; V26 cse12 [V26,T10] ( 3, 768 ) int -> rdi "CSE - moderate"
; V26 cse12 [V26,T10] ( 3, 768 ) int -> rdx "CSE - moderate"
; V27 cse13 [V27,T11] ( 3, 768 ) int -> r15 "CSE - moderate"
; V27 cse13 [V27,T11] ( 3, 768 ) int -> r15 "CSE - moderate"
; V28 cse14 [V28,T12] ( 3, 768 ) int -> rdx "CSE - moderate"
; V28 cse14 [V28,T12] ( 3, 768 ) int -> r8 "CSE - moderate"
;
;
; Lcl frame size = 24
; Lcl frame size = 24


G_M61825_IG01:
G_M61825_IG01:
push rbp
push rbp
push r15
push r15
push r14
push r14
push r13
push r13
push r12
push r12
push rbx
push rbx
sub rsp, 24
sub rsp, 24
lea rbp, [rsp+40H]
lea rbp, [rsp+40H]
mov r15d, edi
mov r15d, edi
mov rbx, rsi
mov rbx, rsi
mov r14, rdx
mov r14, rdx
;; size=28 bbWeight=1 PerfScore 7.50
;; size=28 bbWeight=1 PerfScore 7.50
G_M61825_IG02:
G_M61825_IG02:
mov rdi, rbx
mov rdi, rbx
call [Benchstone.MDBenchI.MDGeneralArray:Initialize(System.Int32[,,])]
call [Benchstone.MDBenchI.MDGeneralArray:Initialize(System.Int32[,,])]
test r15d, r15d
test r15d, r15d
je G_M61825_IG11
je G_M61825_IG13
mov eax, dword ptr [rbx+28]
mov eax, dword ptr [rbx+28]
mov dword ptr [rbp-38H], eax
mov dword ptr [rbp-40H], eax
mov edi, dword ptr [rbx+16]
mov edi, dword ptr [rbx+16]
lea edi, [rax+rdi-1]
lea edi, [rax+rdi-1]
mov dword ptr [rbp-30H], edi
mov dword ptr [rbp-30H], edi
;; size=34 bbWeight=1 PerfScore 11.50
mov esi, dword ptr [rbx+20]
G_M61825_IG03:
mov dword ptr [rbp-38H], esi
mov esi, eax
mov edx, dword ptr [rbx+24]
cmp edi, esi
jl G_M61825_IG10
mov edx, dword ptr [rbx+32]
mov dword ptr [rbp-34H], edx
mov dword ptr [rbp-34H], edx
mov ecx, dword ptr [rbx+20]
;; size=46 bbWeight=1 PerfScore 17.50
lea ecx, [rdx+rcx-1]
G_M61825_IG03:
;; size=23 bbWeight=4 PerfScore 30.00
mov ecx, eax
cmp edi, ecx
jl G_M61825_IG12
mov r8d, dword ptr [rbx+32]
mov dword ptr [rbp-3CH], r8d
lea r9d, [r8+rsi-1]
;; size=23 bbWeight=4 PerfScore 22.00
G_M61825_IG04:
G_M61825_IG04:
mov r8d, edx
mov r10d, r8d
cmp ecx, r8d
cmp r9d, r10d
jl G_M61825_IG09
jl G_M61825_IG10
mov r9d, dword ptr [rbx+36]
mov r11d, dword ptr [rbx+36]
mov r10d, dword ptr [rbx+24]
lea r12d, [r11+rdx-1]
lea r10d, [r9+r10-1]
;; size=21 bbWeight=16 PerfScore 72.00
;; size=25 bbWeight=16 PerfScore 104.00
G_M61825_IG05:
G_M61825_IG05:
mov r11d, r9d
mov r13d, r11d
cmp r10d, r11d
cmp r12d, r13d
jl G_M61825_IG08
jl G_M61825_IG08
mov r12d, esi
mov esi, ecx
sub r12d, dword ptr [r14+28]
sub esi, dword ptr [r14+28]
mov r13d, dword ptr [r14+16]
mov eax, dword ptr [r14+16]
mov dword ptr [rbp-2CH], r15d
mov dword ptr [rbp-2CH], r15d
align [0 bytes for IG06]
align [0 bytes for IG06]
;; size=27 bbWeight=64 PerfScore 496.00
;; size=26 bbWeight=64 PerfScore 496.00
G_M61825_IG06:
G_M61825_IG06:
mov eax, r12d
mov r15d, esi
cmp eax, r13d
cmp r15d, eax
jae G_M61825_IG13
jae G_M61825_IG15
mov r15d, dword ptr [r14+20]
mov edx, dword ptr [r14+20]
imul eax, r15d
imul r15d, edx
mov edi, r8d
mov edi, r10d
sub edi, dword ptr [r14+32]
sub edi, dword ptr [r14+32]
cmp edi, r15d
cmp edi, edx
jae G_M61825_IG13
jae G_M61825_IG15
add eax, edi
add edi, r15d
mov edi, dword ptr [r14+24]
mov edx, dword ptr [r14+24]
imul eax, edi
imul edi, edx
mov r15d, r11d
mov r15d, r13d
sub r15d, dword ptr [r14+36]
sub r15d, dword ptr [r14+36]
cmp r15d, edi
cmp r15d, edx
jae G_M61825_IG13
jae G_M61825_IG15
add eax, r15d
add edi, r15d
mov edi, esi
mov edx, ecx
sub edi, dword ptr [rbx+28]
sub edx, dword ptr [rbx+28]
cmp edi, dword ptr [rbx+16]
cmp edx, dword ptr [rbx+16]
jae G_M61825_IG13
jae G_M61825_IG15
mov r15d, dword ptr [rbx+20]
mov r15d, dword ptr [rbx+20]
imul edi, r15d
imul edx, r15d
mov edx, r8d
mov r8d, r10d
sub edx, dword ptr [rbx+32]
sub r8d, dword ptr [rbx+32]
cmp edx, r15d
cmp r8d, r15d
jae G_M61825_IG13
jae G_M61825_IG15
add edi, edx
add edx, r8d
mov edx, dword ptr [rbx+24]
mov r8d, dword ptr [rbx+24]
imul edi, edx
imul edx, r8d
mov r15d, r11d
mov r15d, r13d
sub r15d, dword ptr [rbx+36]
sub r15d, dword ptr [rbx+36]
cmp r15d, edx
cmp r15d, r8d
jae SHORT G_M61825_IG13
jae SHORT G_M61825_IG15
add edi, r15d
add edx, r15d
mov edi, dword ptr [rbx+4*rdi+40]
mov edx, dword ptr [rbx+4*rdx+40]
mov dword ptr [r14+4*rax+40], edi
mov dword ptr [r14+4*rdi+40], edx
inc r11d
inc r13d
cmp r10d, r11d
cmp r12d, r13d
jge G_M61825_IG06
jge G_M61825_IG06
;; size=145 bbWeight=256 PerfScore 12352.00
;; size=149 bbWeight=256 PerfScore 12352.00
G_M61825_IG07:
G_M61825_IG07:
mov edi, dword ptr [rbp-30H]
mov edi, dword ptr [rbp-30H]
mov r15d, dword ptr [rbp-2CH]
mov r15d, dword ptr [rbp-2CH]
;; size=7 bbWeight=128 PerfScore 256.00
;; size=7 bbWeight=128 PerfScore 256.00
G_M61825_IG08:
G_M61825_IG08:
inc r8d
inc r10d
cmp ecx, r8d
cmp r9d, r10d
jge G_M61825_IG05
jge G_M61825_IG05
;; size=12 bbWeight=64 PerfScore 96.00
;; size=12 bbWeight=64 PerfScore 96.00
G_M61825_IG09:
G_M61825_IG09:
inc esi
cmp edi, esi
mov edx, dword ptr [rbp-34H]
mov edx, dword ptr [rbp-34H]
;; size=3 bbWeight=32 PerfScore 32.00
G_M61825_IG10:
inc ecx
cmp edi, ecx
mov edi, dword ptr [rbp-30H]
mov edi, dword ptr [rbp-30H]
mov r8d, dword ptr [rbp-3CH]
jge G_M61825_IG04
jge G_M61825_IG04
;; size=16 bbWeight=16 PerfScore 56.00
;; size=17 bbWeight=16 PerfScore 56.00
G_M61825_IG10:
G_M61825_IG11:
mov esi, dword ptr [rbp-38H]
;; size=3 bbWeight=8 PerfScore 8.00
G_M61825_IG12:
dec r15d
dec r15d
mov dword ptr [rbp-2CH], r15d
mov dword ptr [rbp-2CH], r15d
test r15d, r15d
test r15d, r15d
mov eax, dword ptr [rbp-38H]
mov eax, dword ptr [rbp-40H]
mov r15d, dword ptr [rbp-2CH]
mov r15d, dword ptr [rbp-2CH]
jne G_M61825_IG03
jne G_M61825_IG03
;; size=23 bbWeight=4 PerfScore 18.00
;; size=23 bbWeight=4 PerfScore 18.00
G_M61825_IG11:
G_M61825_IG13:
mov rdi, rbx
mov rdi, rbx
mov rsi, r14
mov rsi, r14
call [Benchstone.MDBenchI.MDGeneralArray:VerifyCopy(System.Int32[,,],System.Int32[,,]):bool]
call [Benchstone.MDBenchI.MDGeneralArray:VerifyCopy(System.Int32[,,],System.Int32[,,]):bool]
nop
nop
;; size=13 bbWeight=1 PerfScore 3.75
;; size=13 bbWeight=1 PerfScore 3.75
G_M61825_IG12:
G_M61825_IG14:
add rsp, 24
add rsp, 24
pop rbx
pop rbx
pop r12
pop r12
pop r13
pop r13
pop r14
pop r14
pop r15
pop r15
pop rbp
pop rbp
ret
ret
;; size=15 bbWeight=1 PerfScore 4.25
;; size=15 bbWeight=1 PerfScore 4.25
G_M61825_IG13:
G_M61825_IG15:
call CORINFO_HELP_RNGCHKFAIL
call CORINFO_HELP_RNGCHKFAIL
int3
int3
;; size=6 bbWeight=0 PerfScore 0.00
;; size=6 bbWeight=0 PerfScore 0.00


; Total bytes of code 374, prolog size 28, PerfScore 13472.40, instruction count 111, allocated bytes for code 374 (MethodHash=8d2f0e7e) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,System.Int32[,,],System.Int32[,,]):bool
; Total bytes of code 392, prolog size 28, PerfScore 13480.20, instruction count 115, allocated bytes for code 392 (MethodHash=8d2f0e7e) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,System.Int32[,,],System.Int32[,,]):bool
; ============================================================
; ============================================================


Using jit(E:\perfinvestigation\71059\main_flag\clrjit_unix_x64_x64.dll) with input (E:\spmi\mch\4efa8fe2-8489-4b61-aac9-b4df74af15b7.Linux.x64\benchmarks.run.Linux.x64.checked.mch)
Using jit(E:\perfinvestigation\71059\main_flag\clrjit_unix_x64_x64.dll) with input (E:\spmi\mch\4efa8fe2-8489-4b61-aac9-b4df74af15b7.Linux.x64\benchmarks.run.Linux.x64.checked.mch)
indexCount=1 (26401)
indexCount=1 (26401)
Jit startup took 6.597800ms
Jit startup took 6.516200ms
Loaded 1 Jitted 1 FailedCompile 0 Excluded 0 Missing 0
Loaded 1 Jitted 1 FailedCompile 0 Excluded 0 Missing 0
Total time: 15.438900ms
Total time: 16.015800ms