Untitled Diff

Créé Le diff n'expire jamais
8 suppressions
99 lignes
7 ajouts
98 lignes
; Assembly listing for method Program:M0()
; Assembly listing for method Program:M0()
; 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
; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
;# V00 OutArgs [V00 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;# V00 OutArgs [V00 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;* V01 tmp1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp"
;* V01 tmp1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp"
; V02 tmp2 [V02,T00] ( 2, 4 ) long -> rcx "impSpillStackEnsure"
; V02 tmp2 [V02,T00] ( 2, 4 ) long -> rcx "impSpillStackEnsure"
; TEMP_01 int -> [rsp+0x04]
; TEMP_01 int -> [rsp+0x04]
;
;
; Lcl frame size = 8
; Lcl frame size = 8


G_M200_IG01:
G_M200_IG01:
push rax
push rax
;; size=1 bbWeight=1 PerfScore 1.00
;; size=1 bbWeight=1 PerfScore 1.00
G_M200_IG02:
G_M200_IG02:
mov eax, 127
mov eax, 127
mov dword ptr [rsp+04H], eax
mov dword ptr [rsp+04H], eax
mov eax, -0x5D09
mov eax, -0x5D09
movzx rdx, word ptr [(reloc)] ; static handle
movzx rdx, word ptr [(reloc)] ; static handle
not edx
not edx
or edx, 1
or edx, 1
movzx rcx, dx
movzx rcx, dx
cdq
cdq
idiv edx:eax, ecx
idiv edx:eax, ecx
or edx, 1
or edx, 1
movsx rcx, dl
movsx rcx, dl
mov eax, dword ptr [rsp+04H]
mov eax, dword ptr [rsp+04H]
xor edx, edx
xor edx, edx
idiv edx:eax, ecx
idiv edx:eax, ecx
cdqe
cdqe
mov rcx, rax
mov rcx, rax
neg rcx
neg rcx
or rcx, 1
or rcx, 1
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
xor edx, edx
xor edx, edx
idiv rdx:rax, rcx
idiv rdx:rax, rcx
movzx rax, al
movzx rax, al
movsx rax, al
movsx rax, al
xor eax, 0xD1FFAB1E
xor eax, 0xD1FFAB1E
neg eax
neg eax
not eax
not eax
neg eax
neg eax
and eax, 0x7FFE
and eax, 0x7FFE
neg eax
neg eax
neg eax
neg eax
add eax, 0xD1FFAB1E
add eax, 0xD1FFAB1E
neg eax
neg eax
not eax
not eax
or eax, 1
or eax, 1
movsx rcx, ax
movsx rcx, ax
mov eax, -2
mov eax, -2
cdq
cdq
idiv edx:eax, ecx
idiv edx:eax, ecx
mov eax, edx
mov eax, edx
not eax
not eax
neg eax
neg eax
neg eax
neg eax
neg eax
neg eax
or eax, 1
or eax, 1
movzx rax, al
movzx rax, al
mov ecx, eax
mov ecx, eax
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
xor edx, edx
xor edx, edx
div rdx:rax, rcx
div rdx:rax, rcx
shl rdx, 7
shl rdx, 7
movzx rdx, dx
movzx rdx, dx
mov eax, edx
mov eax, edx
neg eax
neg eax
neg eax
neg eax
movzx rax, ax
movzx rax, ax
mov ecx, eax
mov ecx, eax
mov r8, 0xD1FFAB1E
mov r8, 0xD1FFAB1E
imul rcx, r8
imul rcx, r8
xor rcx, 0xD1FFAB1E
xor rcx, 0xD1FFAB1E
or rcx, 1
or rcx, 1
movzx rcx, cl
movzx rcx, cl
mov eax, 0xD1FFAB1E
mov eax, 0xD1FFAB1E
xor edx, edx
xor edx, edx
div edx:eax, ecx
div edx:eax, ecx
mov ecx, edx
mov ecx, edx
imul rcx, rcx, -0x3BFC
imul rcx, rcx, -0x3BFC
mov ecx, ecx
not rcx
not rcx
;; size=227 bbWeight=1 PerfScore 252.00
;; size=225 bbWeight=1 PerfScore 251.75
G_M200_IG03:
G_M200_IG03:
add rsp, 8
add rsp, 8
tail.jmp [System.Console:WriteLine(ulong)]
tail.jmp [System.Console:WriteLine(ulong)]
;; size=10 bbWeight=1 PerfScore 2.25
;; size=10 bbWeight=1 PerfScore 2.25


; Total bytes of code 238, prolog size 1, PerfScore 279.05, instruction count 71, allocated bytes for code 238 (MethodHash=af50ff37) for method Program:M0()
; Total bytes of code 236, prolog size 1, PerfScore 278.60, instruction count 70, allocated bytes for code 236 (MethodHash=af50ff37) for method Program:M0()
; ============================================================
; ============================================================


18446744069414922151
337831