77841-initialize-diffs

Created Diff never expires
4 removals
130 lines
4 additions
130 lines
; Assembly listing for method PimpMyNet.Random:initialize(int):this
; Assembly listing for method PimpMyNet.Random:initialize(int):this
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
; 2 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
; 2 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data


G_M000_IG01: ;; offset=0000H
G_M000_IG01: ;; offset=0000H
57 push rdi
57 push rdi
56 push rsi
56 push rsi
53 push rbx
53 push rbx
4883EC20 sub rsp, 32
4883EC20 sub rsp, 32
C5F877 vzeroupper
C5F877 vzeroupper
488BF1 mov rsi, rcx
488BF1 mov rsi, rcx
8BFA mov edi, edx
8BFA mov edi, edx


G_M000_IG02: ;; offset=000FH
G_M000_IG02: ;; offset=000FH
C7463CFFFFFF7F mov dword ptr [rsi+3CH], 0x7FFFFFFF
C7463CFFFFFF7F mov dword ptr [rsi+3CH], 0x7FFFFFFF
C7464000000100 mov dword ptr [rsi+40H], 0x10000
C7464000000100 mov dword ptr [rsi+40H], 0x10000
8B5E3C mov ebx, dword ptr [rsi+3CH]
8B5E3C mov ebx, dword ptr [rsi+3CH]
C5F857C0 vxorps xmm0, xmm0
C5F857C0 vxorps xmm0, xmm0
C5FB2AC3 vcvtsi2sd xmm0, ebx
C5FB2AC3 vcvtsi2sd xmm0, ebx
C5FB100DF8000000 vmovsd xmm1, qword ptr [reloc @RWD00]
C5FB100DF8000000 vmovsd xmm1, qword ptr [reloc @RWD00]
C5F35EC0 vdivsd xmm0, xmm1, xmm0
C5F35EC0 vdivsd xmm0, xmm1, xmm0
C5FB114610 vmovsd qword ptr [rsi+10H], xmm0
C5FB114610 vmovsd qword ptr [rsi+10H], xmm0
897E30 mov dword ptr [rsi+30H], edi
897E30 mov dword ptr [rsi+30H], edi
48B978B5CB51F97F0000 mov rcx, 0x7FF951CBB578
48B978B5C951F97F0000 mov rcx, 0x7FF951C9B578
BA11000000 mov edx, 17
BA11000000 mov edx, 17
E8D082D05F call CORINFO_HELP_NEWARR_1_VC
E8D082D25F call CORINFO_HELP_NEWARR_1_VC
488D4E08 lea rcx, bword ptr [rsi+08H]
488D4E08 lea rcx, bword ptr [rsi+08H]
488BD0 mov rdx, rax
488BD0 mov rdx, rax
E854F3E2FF call CORINFO_HELP_ASSIGN_REF
E854F3E2FF call CORINFO_HELP_ASSIGN_REF
85FF test edi, edi
85FF test edi, edi
0F8CA9000000 jl G_M000_IG12
0F8CA9000000 jl G_M000_IG12


G_M000_IG03: ;; offset=0064H
G_M000_IG03: ;; offset=0064H
3BFB cmp edi, ebx
3BFB cmp edi, ebx
0F8F9C000000 jg G_M000_IG11
0F8F9C000000 jg G_M000_IG11


G_M000_IG04: ;; offset=006CH
G_M000_IG04: ;; offset=006CH
8BDF mov ebx, edi
8BDF mov ebx, edi


G_M000_IG05: ;; offset=006EH
G_M000_IG05: ;; offset=006EH
F6C301 test bl, 1
F6C301 test bl, 1
7502 jne SHORT G_M000_IG07
7502 jne SHORT G_M000_IG07


G_M000_IG06: ;; offset=0073H
G_M000_IG06: ;; offset=0073H
FFCB dec ebx
FFCB dec ebx


G_M000_IG07: ;; offset=0075H
G_M000_IG07: ;; offset=0075H
B86D230000 mov eax, 0x236D
B86D230000 mov eax, 0x236D
8B4E40 mov ecx, dword ptr [rsi+40H]
8B4E40 mov ecx, dword ptr [rsi+40H]
33D2 xor edx, edx
33D2 xor edx, edx
F7F9 idiv edx:eax, ecx
F7F9 idiv edx:eax, ecx
448BC2 mov r8d, edx
448BC2 mov r8d, edx
B86D230000 mov eax, 0x236D
B86D230000 mov eax, 0x236D
33D2 xor edx, edx
33D2 xor edx, edx
F7F9 idiv edx:eax, ecx
F7F9 idiv edx:eax, ecx
8BC3 mov eax, ebx
8BC3 mov eax, ebx
99 cdq
99 cdq
F7F9 idiv edx:eax, ecx
F7F9 idiv edx:eax, ecx
448BCA mov r9d, edx
448BCA mov r9d, edx
8BC3 mov eax, ebx
8BC3 mov eax, ebx
99 cdq
99 cdq
F7F9 idiv edx:eax, ecx
F7F9 idiv edx:eax, ecx
448BD0 mov r10d, eax
448BD0 mov r10d, eax
4533DB xor r11d, r11d
4533DB xor r11d, r11d
align [0 bytes for IG08]
align [0 bytes for IG08]


G_M000_IG08: ;; offset=00A0H
G_M000_IG08: ;; offset=00A0H
418BD9 mov ebx, r9d
418BD9 mov ebx, r9d
410FAFD8 imul ebx, r8d
410FAFD8 imul ebx, r8d
8BC3 mov eax, ebx
8BC3 mov eax, ebx
99 cdq
99 cdq
F7F9 idiv edx:eax, ecx
F7F9 idiv edx:eax, ecx
450FAFD0 imul r10d, r8d
450FAFD0 imul r10d, r8d
4103C2 add eax, r10d
4103C2 add eax, r10d
448BC9 mov r9d, ecx
448BC9 mov r9d, ecx
41C1E91F shr r9d, 31
41C1E91F shr r9d, 31
4403C9 add r9d, ecx
4403C9 add r9d, ecx
41D1F9 sar r9d, 1
41D1F9 sar r9d, 1
99 cdq
99 cdq
41F7F9 idiv edx:eax, r9d
41F7F9 idiv edx:eax, r9d
448BD2 mov r10d, edx
448BD2 mov r10d, edx
8BC3 mov eax, ebx
8BC3 mov eax, ebx
99 cdq
99 cdq
F7F9 idiv edx:eax, ecx
F7F9 idiv edx:eax, ecx
448BCA mov r9d, edx
448BCA mov r9d, edx
488B4608 mov rax, gword ptr [rsi+08H]
488B4608 mov rax, gword ptr [rsi+08H]
8BD1 mov edx, ecx
8BD1 mov edx, ecx
410FAFD2 imul edx, r10d
410FAFD2 imul edx, r10d
4103D1 add edx, r9d
4103D1 add edx, r9d
443B5808 cmp r11d, dword ptr [rax+08H]
443B5808 cmp r11d, dword ptr [rax+08H]
733A jae SHORT G_M000_IG14
733A jae SHORT G_M000_IG14
418BFB mov edi, r11d
418BFB mov edi, r11d
8954B810 mov dword ptr [rax+4*rdi+10H], edx
8954B810 mov dword ptr [rax+4*rdi+10H], edx
41FFC3 inc r11d
41FFC3 inc r11d
4183FB11 cmp r11d, 17
4183FB11 cmp r11d, 17
7CAE jl SHORT G_M000_IG08
7CAE jl SHORT G_M000_IG08


G_M000_IG09: ;; offset=00F2H
G_M000_IG09: ;; offset=00F2H
C7463404000000 mov dword ptr [rsi+34H], 4
C7463404000000 mov dword ptr [rsi+34H], 4
C7463810000000 mov dword ptr [rsi+38H], 16
C7463810000000 mov dword ptr [rsi+38H], 16


G_M000_IG10: ;; offset=0100H
G_M000_IG10: ;; offset=0100H
4883C420 add rsp, 32
4883C420 add rsp, 32
5B pop rbx
5B pop rbx
5E pop rsi
5E pop rsi
5F pop rdi
5F pop rdi
C3 ret
C3 ret


G_M000_IG11: ;; offset=0108H
G_M000_IG11: ;; offset=0108H
E961FFFFFF jmp G_M000_IG05
E961FFFFFF jmp G_M000_IG05


G_M000_IG12: ;; offset=010DH
G_M000_IG12: ;; offset=010DH
F7DF neg edi
F7DF neg edi
0F894FFFFFFF jns G_M000_IG03
0F894FFFFFFF jns G_M000_IG03


G_M000_IG13: ;; offset=0115H
G_M000_IG13: ;; offset=0115H
FF15E50B1100 call [System.Math:ThrowNegateTwosCompOverflow()]
FF15E50B1100 call [System.Math:ThrowNegateTwosCompOverflow()]
CC int3
CC int3


G_M000_IG14: ;; offset=011CH
G_M000_IG14: ;; offset=011CH
E86F26AA5F call CORINFO_HELP_RNGCHKFAIL
E86F26AC5F call CORINFO_HELP_RNGCHKFAIL
CC int3
CC int3


RWD00 dq 3FF0000000000000h ; 1
RWD00 dq 3FF0000000000000h ; 1


; Total bytes of code 290
; Total bytes of code 290