Untitled diff
17 removals
53 lines
14 additions
52 lines
; Assembly listing for method Bench:TernLog():this (Tier1)
; Assembly listing for method Bench:TernLog():this (Tier1)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier1 code
; Tier1 code
; optimized code
; optimized code
; optimized using Dynamic PGO
; optimized using Dynamic PGO
; rbp based frame
; rbp based frame
; fully interruptible
; fully interruptible
; with Dynamic PGO: edge weights are valid, and fgCalledCount is 653952
; with Dynamic PGO: fgCalledCount is 496448
G_M000_IG01: ;; offset=0x0000
G_M000_IG01: ;; offset=0x0000
push rbp
push rbp
vzeroupper
mov rbp, rsp
mov rbp, rsp
G_M000_IG02: ;; offset=0x0007
G_M000_IG02: ;; offset=0x0004
mov rax, gword ptr [rdi+0x08]
mov rax, gword ptr [rdi+0x08]
cmp dword ptr [rax+0x08], 0
cmp dword ptr [rax+0x08], 0
jbe SHORT G_M000_IG05
jbe SHORT G_M000_IG05
add rax, 16
add rax, 16
mov rcx, gword ptr [rdi+0x10]
mov rcx, gword ptr [rdi+0x10]
cmp dword ptr [rcx+0x08], 0
cmp dword ptr [rcx+0x08], 0
jbe SHORT G_M000_IG05
jbe SHORT G_M000_IG05
add rcx, 16
add rcx, 16
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (add: 3) 32B boundary ...............................
; ............................... 32B boundary ...............................
mov rdx, gword ptr [rdi+0x18]
mov rdx, gword ptr [rdi+0x18]
cmp dword ptr [rdx+0x08], 0
cmp dword ptr [rdx+0x08], 0
jbe SHORT G_M000_IG05
jbe SHORT G_M000_IG05
add rdx, 16
add rdx, 16
xor edi, edi
xor edi, edi
align [0 bytes for IG03]
align [0 bytes for IG03]
G_M000_IG03: ;; offset=0x0033
G_M000_IG03: ;; offset=0x0030
vmovups zmm0, zmmword ptr [rax+rdi]
vmovups zmm0, zmmword ptr [rax+rdi]
vpandd zmm0, zmm0, zmmword ptr [rcx+rdi]
vmovups zmm1, zmmword ptr [rcx+rdi]
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (vpandd: 1) 32B boundary ...............................
vpternlogd zmm0, zmm1, zmmword ptr [rdx+rdi], 106
vpxord zmm0, zmm0, zmmword ptr [rdx+rdi]
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (vpternlogd: 6) 32B boundary ...............................
vmovups zmmword ptr [rax+rdi], zmm0
vmovups zmmword ptr [rax+rdi], zmm0
add rdi, 64
add rdi, 64
cmp rdi, 0x400
cmp rdi, 0x400
jb SHORT G_M000_IG03
jb SHORT G_M000_IG03
G_M000_IG04: ;; offset=0x005C
G_M000_IG04: ;; offset=0x005A
vzeroupper
vzeroupper
pop rbp
pop rbp
; ............................... 32B boundary ...............................
ret
ret
G_M000_IG05: ;; offset=0x0061
G_M000_IG05: ;; offset=0x005F
call CORINFO_HELP_RNGCHKFAIL
call CORINFO_HELP_RNGCHKFAIL
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (call: 4 ; jcc erratum) 32B boundary ...............................
int3
int3
; Total bytes of code 103
; Total bytes of code 101