Diff
checker
Texto
Texto
Imagens
Documentos
Excel
Pastas
Legal
Enterprise
Aplicativo para desktop
Preços
Fazer login
Baixar o Diffchecker Desktop
Comparar texto
Encontre a diferença entre dois arquivos de texto
Ferramentas
Histórico
Editor live
Ocultar espaços em branco
Recolher inalteradas
Sem quebra de linha
Layout
Dividido
Unificado
Nível de detalhe
Inteligente
Palavra
Caractere
Estilos de texto
Alterar aparência
Realce de sintaxe
Escolher sintaxe
Ignorar
Transformar texto
Ir à primeira mudança
Editar entrada
Diffchecker Desktop
A maneira mais segura de usar o Diffchecker. Obtenha o aplicativo Diffchecker Desktop: seus diffs nunca saem do seu computador!
Obter Desktop
Untitled Diff
Criado
há 5 anos
O diff nunca expira
Limpar
Exportar
Compartilhar
Explicar
82 remoções
Linhas
Total
Removido
Caracteres
Total
Removido
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
152 linhas
Copiar tudo
117 adições
Linhas
Total
Adicionado
Caracteres
Total
Adicionado
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
192 linhas
Copiar tudo
; Assembly listing for method testout1:Func_0_4_3():double
; Assembly listing for method testout1:Func_0_4_3():double
; 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
; partially interruptible
; partially interruptible
; No matching PGO data
; No matching PGO data
; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
Copiar
Copiado
Copiar
Copiado
;
*
V00 loc0 [V00,T00] (
0, 0
) struct (56)
zero-ref
do-not-enreg[SF]
ld-addr-op
;
V00 loc0 [V00,T00] (
23, 23
) struct (56)
[rbp-38H]
do-not-enreg[SF]
must-init
ld-addr-op
;* V01 loc1 [V01 ] ( 0, 0 ) double -> zero-ref single-def
;* V01 loc1 [V01 ] ( 0, 0 ) double -> zero-ref single-def
;# V02 OutArgs [V02 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;# V02 OutArgs [V02 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
Copiar
Copiado
Copiar
Copiado
; V03 tmp1 [V03,T0
7
] ( 2, 4 ) double -> mm0 "Inlining Arg"
; V03 tmp1 [V03,T0
4
] ( 2, 4 ) double -> mm0 "Inlining Arg"
; V04 cse0 [V04,T0
8
] ( 3, 3 ) double -> mm2 "CSE - aggressive"
; V04 cse0 [V04,T0
5
] ( 3, 3 ) double -> mm2 "CSE - aggressive"
; V05 cse1 [V05,T03] ( 4, 4 ) float -> mm
4
"CSE - aggressive"
; V05 cse1 [V05,T03] ( 4, 4 ) float -> mm
1
"CSE - aggressive"
;* V06 cse2 [V06,T02] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
;* V06 cse2 [V06,T02] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
; V07 cse3 [V07,T01] ( 8, 8 ) ref -> rax "CSE - aggressive"
; V07 cse3 [V07,T01] ( 8, 8 ) ref -> rax "CSE - aggressive"
Copiar
Copiado
Copiar
Copiado
; V08 cse4 [V08,T04] ( 3, 3 ) double -> [rbp-08H] "CSE - aggressive"
; V09 cse5 [V09,T05] ( 3, 3 ) float -> [rbp-0CH] "CSE - aggressive"
; V10 cse6 [V10,T06] ( 3, 3 ) float -> [rbp-10H] "CSE - aggressive"
;
;
Copiar
Copiado
Copiar
Copiado
; Lcl frame size =
16
; Lcl frame size =
64
G_M51537_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
G_M51537_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push rbp
push rbp
Copiar
Copiado
Copiar
Copiado
sub rsp,
16
sub rsp,
64
vzeroupper
vzeroupper
Copiar
Copiado
Copiar
Copiado
lea rbp, [rsp+
10H]
lea rbp, [rsp+
40H]
;; bbWeight=1 PerfScore
2.75
xor eax, eax
mov qword ptr [rbp-38H], rax
vxorps xmm8, xmm8
vmovdqa xmmword ptr [rbp-30H], xmm8
vmovdqa xmmword ptr [rbp-20H], xmm8
vmovdqa xmmword ptr [rbp-
10H]
, xmm8
;; bbWeight=1 PerfScore
7.33
G_M51537_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M51537_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
vmovsd xmm0, qword ptr [reloc @RWD00]
vmovsd xmm0, qword ptr [reloc @RWD00]
Copiar
Copiado
Copiar
Copiado
vmovsd qword ptr [rbp-
0
8H], xmm0
vmovsd qword ptr [rbp-
3
8H], xmm0
vmovss xmm1
, dword ptr [reloc @RWD08]
vmovsd qword ptr [rbp-30H], xmm0
vmovss dword ptr [rbp-
0CH], xmm1
vmovss xmm0, dword ptr [reloc @RWD08]
vmovss xmm
2
, dword ptr [reloc @RWD
1
2]
vmovss dword ptr [rbp-28H], xmm0
vmovss dword ptr
[rbp-10H], xmm2
vmovss dword ptr [rbp-24H], xmm0
vmovss dword ptr [rbp-20H], xmm0
vmovss dword ptr [rbp-1CH], xmm0
vmovsd xmm0, qword ptr [reloc @RWD00]
vmovsd qword ptr [rbp-18H], xmm0
vmovsd qword ptr [rbp-10H], xmm0
vmovss xmm0
, dword ptr [reloc @RWD08]
vmovss dword ptr [rbp-
08H], xmm0
vmovss dword ptr [rbp-04H], xmm0
vmovsd xmm0, qword ptr [reloc @RWD16]
vmovsd qword ptr [rbp-38H], xmm0
vmovsd xmm0, qword ptr [reloc @RWD24]
vmovsd qword ptr [rbp-30H], xmm0
vmovss xmm
0
, dword ptr [reloc @RWD
3
2]
vmovss dword ptr
[rbp-28H], xmm0
vmovss xmm0, dword ptr [reloc @RWD36]
vmovss dword ptr [rbp-24H], xmm0
vmovss xmm0, dword ptr [reloc @RWD40]
vmovss dword ptr [rbp-20H], xmm0
vmovss xmm0, dword ptr [reloc @RWD44]
vmovss dword ptr [rbp-1CH], xmm0
vmovsd xmm0, qword ptr [reloc @RWD48]
vmovsd qword ptr [rbp-18H], xmm0
vmovsd xmm0, qword ptr [reloc @RWD56]
vmovsd qword ptr [rbp-10H], xmm0
vmovss xmm0, dword ptr [reloc @RWD64]
vmovss dword ptr [rbp-08H], xmm0
vmovss xmm0, dword ptr [reloc @RWD68]
vmovss dword ptr [rbp-04H], xmm0
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
mov esi, 1
mov esi, 1
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
mov rax, gword ptr [rax]
mov rax, gword ptr [rax]
; gcrRegs +[rax]
; gcrRegs +[rax]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
mov qword ptr [rax+8], rdi
mov qword ptr [rax+8], rdi
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, gword ptr [rax]
mov rax, gword ptr [rax]
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
v
mov
sd
xmm0, qword ptr [rbp-08H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+16],
xmm0
mov
qword ptr [rax+16],
rdi
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, gword ptr [rax]
mov rax, gword ptr [rax]
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+24], 0xD1FFAB1E
mov dword ptr [rax+24], 0xD1FFAB1E
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, gword ptr [rax]
mov rax, gword ptr [rax]
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
v
mov
ss xmm1, dword ptr [rbp-0CH]
mov
dword ptr [rax+28],
0xD1FFAB1E
vmovss
dword ptr [rax+28],
xmm1
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, gword ptr [rax]
mov rax, gword ptr [rax]
; gcrRegs +[rax]
; gcrRegs +[rax]
mov edi, 0xD1FFAB1E
mov edi, 0xD1FFAB1E
mov dword ptr [rax+32], edi
mov dword ptr [rax+32], edi
Copiar
Copiado
Copiar
Copiado
;; bbWeight=1 PerfScore 56.50
G_M51537_IG03: ; , extend
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, gword ptr [rax]
mov rax, gword ptr [rax]
; gcrRegs +[rax]
; gcrRegs +[rax]
mov edi, 0xD1FFAB1E
mov edi, 0xD1FFAB1E
mov dword ptr [rax+36], edi
mov dword ptr [rax+36], edi
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, gword ptr [rax]
mov rax, gword ptr [rax]
; gcrRegs +[rax]
; gcrRegs +[rax]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
mov qword ptr [rax+40], rdi
mov qword ptr [rax+40], rdi
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, gword ptr [rax]
mov rax, gword ptr [rax]
; gcrRegs +[rax]
; gcrRegs +[rax]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
mov qword ptr [rax+48], rdi
mov qword ptr [rax+48], rdi
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, gword ptr [rax]
mov rax, gword ptr [rax]
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+56], 0xD1FFAB1E
mov dword ptr [rax+56], 0xD1FFAB1E
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, gword ptr [rax]
mov rax, gword ptr [rax]
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
v
mov
ss xmm2, dword ptr [rbp-10H]
mov
dword ptr [rax+60],
0xD1FFAB1E
vmovss
dword ptr [rax+60],
xmm2
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, gword ptr [rax]
mov rax, gword ptr [rax]
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
vmovss xmm
3
, dword ptr [rax+56]
vmovss xmm
0
, dword ptr [rax+56]
vaddss xmm
3
, xmm
3
, dword ptr [reloc @
RWD16
]
vaddss xmm
0
, xmm
0
, dword ptr [reloc @
RWD72
]
vmulss xmm
3
, xmm
3
, dword ptr [reloc @
RWD20
]
vmulss xmm
0
, xmm
0
, dword ptr [reloc @
RWD76
]
vmovss xmm
4
, dword ptr [rax+24]
vmovss xmm
1
, dword ptr [rax+24]
;; bbWeight=1 PerfScore 63.50
vmulss xmm
0
, xmm
0
, xmm
1
G_M51537_IG03: ; , extend
vsubss xmm
2
, xmm1
, dword ptr [rbp-24H]
vmulss xmm
3
, xmm
3
, xmm
4
vdivss xmm1, xmm
1
, xmm
2
vsubss xmm
1, xmm4
, xmm1
vmulss xmm
0
, xmm
0
, xmm1
vdivss xmm1, xmm
4
, xmm
1
vmovss xmm
1
, dword ptr [rax+36]
vmulss xmm
1
, xmm
3
, xmm1
vm
ov
ss xmm2,
dword ptr [rax+32]
vmovss xmm
3
, dword ptr [rax+36]
vmulss
xmm2, xmm
2, dword ptr [rbp-04H]
vm
ul
ss xmm2,
xmm2,
dword ptr [rax+32]
vaddss
xmm2, xmm
3, xmm2
vaddss xmm1, xmm1, xmm2
vaddss xmm1, xmm1, xmm2
Copiar
Copiado
Copiar
Copiado
vcvtss2sd xmm
1
, xmm
1
vaddss xmm0, xmm0, xmm1
vmovsd xmm
2
, qword ptr [rax+48]
vcvtss2sd xmm
0
, xmm
0
vdivsd xmm
0
, xmm
2, xmm0
vmovsd xmm
1
, qword ptr [rax+48]
vdivsd xmm
1
, xmm
1, qword ptr [rbp-30H]
vmovsd xmm2, qword ptr [rax+8]
vmovsd xmm2, qword ptr [rax+8]
Copiar
Copiado
Copiar
Copiado
vaddsd xmm3, xmm2, qword ptr [reloc @
RWD00
]
vaddsd xmm3, xmm2, qword ptr [reloc @
RWD24
]
vmulsd xmm2, xmm2, qword ptr [rax+40]
vmulsd xmm2, xmm2, qword ptr [rax+40]
vsubsd xmm2, xmm3, xmm2
vsubsd xmm2, xmm3, xmm2
Copiar
Copiado
Copiar
Copiado
vdivsd xmm
0
, xmm
0
, xmm2
vdivsd xmm
1
, xmm
1
, xmm2
vmulsd xmm0, xmm
1
, xmm
0
vmulsd xmm0, xmm
0
, xmm
1
;; bbWeight=1 PerfScore
82.00
;; bbWeight=1 PerfScore
120.25
G_M51537_IG04: ; , epilog, nogc, extend
G_M51537_IG04: ; , epilog, nogc, extend
Copiar
Copiado
Copiar
Copiado
add rsp,
16
add rsp,
64
pop rbp
pop rbp
ret
ret
;; bbWeight=1 PerfScore 1.75
;; bbWeight=1 PerfScore 1.75
Copiar
Copiado
Copiar
Copiado
RWD00 dq
40B0000000000000h ; 4096
RWD00 dq
3FF0000000000000h ; 1
RWD08
dd 35F80000h ; 1.84774e-06
RWD08 dd 3F800000h ; 1
RWD12
dd 3D400000h ; 0.046875
RWD12 dd 00000000h
RWD16
dd 41000000h ; 8
RWD16 dq C0AFFFFFFC000000h ; -4095.99997
RWD20
dd 45000000h ; 2048
RWD24 dq
40B0000000000000h ; 4096
RWD32 dd 36000000h ; 1.90735e-06
RWD36
dd 35F80000h ; 1.84774e-06
RWD40 dd C3800000h ; -256
RWD44 dd C0800000h ; -4
RWD48 dq 3E30000002000000h ; 3.72529033e-09
RWD56 dq 40C0000000000000h ; 8192
RWD64 dd 43780000h ; 248
RWD68
dd 3D400000h ; 0.046875
RWD72
dd 41000000h ; 8
RWD76
dd 45000000h ; 2048
Copiar
Copiado
Copiar
Copiado
; Total bytes of code
426
, prolog size
13
, PerfScore
195.90
, instruction count
77
, allocated bytes for code
459
(MethodHash=32a736ae) for method testout1:Func_0_4_3():double
; Total bytes of code
630
, prolog size
39
, PerfScore
254.73
, instruction count
110
, allocated bytes for code
689
(MethodHash=32a736ae) for method testout1:Func_0_4_3():double
; ============================================================
; ============================================================
Unwind Info:
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Version : 1
Flags : 0x00
Flags : 0x00
SizeOfProlog : 0x05
SizeOfProlog : 0x05
CountOfUnwindCodes: 2
CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
UnwindCodes :
Copiar
Copiado
Copiar
Copiado
CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo:
1
* 8 + 8 =
16
= 0x
1
0
CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo:
7
* 8 + 8 =
64
= 0x
4
0
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
Diferenças salvas
Texto original
Abrir arquivo
; Assembly listing for method testout1:Func_0_4_3():double ; Emitting BLENDED_CODE for X64 CPU with AVX - Unix ; optimized code ; rbp based frame ; partially interruptible ; No matching PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 loc0 [V00,T00] ( 0, 0 ) struct (56) zero-ref do-not-enreg[SF] ld-addr-op ;* V01 loc1 [V01 ] ( 0, 0 ) double -> zero-ref single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace" ; V03 tmp1 [V03,T07] ( 2, 4 ) double -> mm0 "Inlining Arg" ; V04 cse0 [V04,T08] ( 3, 3 ) double -> mm2 "CSE - aggressive" ; V05 cse1 [V05,T03] ( 4, 4 ) float -> mm4 "CSE - aggressive" ;* V06 cse2 [V06,T02] ( 0, 0 ) long -> zero-ref "CSE - aggressive" ; V07 cse3 [V07,T01] ( 8, 8 ) ref -> rax "CSE - aggressive" ; V08 cse4 [V08,T04] ( 3, 3 ) double -> [rbp-08H] "CSE - aggressive" ; V09 cse5 [V09,T05] ( 3, 3 ) float -> [rbp-0CH] "CSE - aggressive" ; V10 cse6 [V10,T06] ( 3, 3 ) float -> [rbp-10H] "CSE - aggressive" ; ; Lcl frame size = 16 G_M51537_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push rbp sub rsp, 16 vzeroupper lea rbp, [rsp+10H] ;; bbWeight=1 PerfScore 2.75 G_M51537_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref vmovsd xmm0, qword ptr [reloc @RWD00] vmovsd qword ptr [rbp-08H], xmm0 vmovss xmm1, dword ptr [reloc @RWD08] vmovss dword ptr [rbp-0CH], xmm1 vmovss xmm2, dword ptr [reloc @RWD12] vmovss dword ptr [rbp-10H], xmm2 mov rdi, 0xD1FFAB1E mov esi, 1 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov rax, 0xD1FFAB1E mov rax, gword ptr [rax] ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-08H] vmovsd qword ptr [rax+16], xmm0 mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov dword ptr [rax+24], 0xD1FFAB1E mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] vmovss xmm1, dword ptr [rbp-0CH] vmovss dword ptr [rax+28], xmm1 mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov edi, 0xD1FFAB1E mov dword ptr [rax+32], edi mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov edi, 0xD1FFAB1E mov dword ptr [rax+36], edi mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+40], rdi mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+48], rdi mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov dword ptr [rax+56], 0xD1FFAB1E mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] vmovss xmm2, dword ptr [rbp-10H] vmovss dword ptr [rax+60], xmm2 mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] vmovss xmm3, dword ptr [rax+56] vaddss xmm3, xmm3, dword ptr [reloc @RWD16] vmulss xmm3, xmm3, dword ptr [reloc @RWD20] vmovss xmm4, dword ptr [rax+24] ;; bbWeight=1 PerfScore 63.50 G_M51537_IG03: ; , extend vmulss xmm3, xmm3, xmm4 vsubss xmm1, xmm4, xmm1 vdivss xmm1, xmm4, xmm1 vmulss xmm1, xmm3, xmm1 vmovss xmm3, dword ptr [rax+36] vmulss xmm2, xmm2, dword ptr [rax+32] vaddss xmm2, xmm3, xmm2 vaddss xmm1, xmm1, xmm2 vcvtss2sd xmm1, xmm1 vmovsd xmm2, qword ptr [rax+48] vdivsd xmm0, xmm2, xmm0 vmovsd xmm2, qword ptr [rax+8] vaddsd xmm3, xmm2, qword ptr [reloc @RWD00] vmulsd xmm2, xmm2, qword ptr [rax+40] vsubsd xmm2, xmm3, xmm2 vdivsd xmm0, xmm0, xmm2 vmulsd xmm0, xmm1, xmm0 ;; bbWeight=1 PerfScore 82.00 G_M51537_IG04: ; , epilog, nogc, extend add rsp, 16 pop rbp ret ;; bbWeight=1 PerfScore 1.75 RWD00 dq 40B0000000000000h ; 4096 RWD08 dd 35F80000h ; 1.84774e-06 RWD12 dd 3D400000h ; 0.046875 RWD16 dd 41000000h ; 8 RWD20 dd 45000000h ; 2048 ; Total bytes of code 426, prolog size 13, PerfScore 195.90, instruction count 77, allocated bytes for code 459 (MethodHash=32a736ae) for method testout1:Func_0_4_3():double ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Version : 1 Flags : 0x00 SizeOfProlog : 0x05 CountOfUnwindCodes: 2 FrameRegister : none (0) FrameOffset : N/A (no FrameRegister) (Value=0) UnwindCodes : CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 1 * 8 + 8 = 16 = 0x10 CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
Texto alterado
Abrir arquivo
; Assembly listing for method testout1:Func_0_4_3():double ; Emitting BLENDED_CODE for X64 CPU with AVX - Unix ; optimized code ; rbp based frame ; partially interruptible ; No matching PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ; V00 loc0 [V00,T00] ( 23, 23 ) struct (56) [rbp-38H] do-not-enreg[SF] must-init ld-addr-op ;* V01 loc1 [V01 ] ( 0, 0 ) double -> zero-ref single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace" ; V03 tmp1 [V03,T04] ( 2, 4 ) double -> mm0 "Inlining Arg" ; V04 cse0 [V04,T05] ( 3, 3 ) double -> mm2 "CSE - aggressive" ; V05 cse1 [V05,T03] ( 4, 4 ) float -> mm1 "CSE - aggressive" ;* V06 cse2 [V06,T02] ( 0, 0 ) long -> zero-ref "CSE - aggressive" ; V07 cse3 [V07,T01] ( 8, 8 ) ref -> rax "CSE - aggressive" ; ; Lcl frame size = 64 G_M51537_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push rbp sub rsp, 64 vzeroupper lea rbp, [rsp+40H] xor eax, eax mov qword ptr [rbp-38H], rax vxorps xmm8, xmm8 vmovdqa xmmword ptr [rbp-30H], xmm8 vmovdqa xmmword ptr [rbp-20H], xmm8 vmovdqa xmmword ptr [rbp-10H], xmm8 ;; bbWeight=1 PerfScore 7.33 G_M51537_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref vmovsd xmm0, qword ptr [reloc @RWD00] vmovsd qword ptr [rbp-38H], xmm0 vmovsd qword ptr [rbp-30H], xmm0 vmovss xmm0, dword ptr [reloc @RWD08] vmovss dword ptr [rbp-28H], xmm0 vmovss dword ptr [rbp-24H], xmm0 vmovss dword ptr [rbp-20H], xmm0 vmovss dword ptr [rbp-1CH], xmm0 vmovsd xmm0, qword ptr [reloc @RWD00] vmovsd qword ptr [rbp-18H], xmm0 vmovsd qword ptr [rbp-10H], xmm0 vmovss xmm0, dword ptr [reloc @RWD08] vmovss dword ptr [rbp-08H], xmm0 vmovss dword ptr [rbp-04H], xmm0 vmovsd xmm0, qword ptr [reloc @RWD16] vmovsd qword ptr [rbp-38H], xmm0 vmovsd xmm0, qword ptr [reloc @RWD24] vmovsd qword ptr [rbp-30H], xmm0 vmovss xmm0, dword ptr [reloc @RWD32] vmovss dword ptr [rbp-28H], xmm0 vmovss xmm0, dword ptr [reloc @RWD36] vmovss dword ptr [rbp-24H], xmm0 vmovss xmm0, dword ptr [reloc @RWD40] vmovss dword ptr [rbp-20H], xmm0 vmovss xmm0, dword ptr [reloc @RWD44] vmovss dword ptr [rbp-1CH], xmm0 vmovsd xmm0, qword ptr [reloc @RWD48] vmovsd qword ptr [rbp-18H], xmm0 vmovsd xmm0, qword ptr [reloc @RWD56] vmovsd qword ptr [rbp-10H], xmm0 vmovss xmm0, dword ptr [reloc @RWD64] vmovss dword ptr [rbp-08H], xmm0 vmovss xmm0, dword ptr [reloc @RWD68] vmovss dword ptr [rbp-04H], xmm0 mov rdi, 0xD1FFAB1E mov esi, 1 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov rax, 0xD1FFAB1E mov rax, gword ptr [rax] ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+16], rdi mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov dword ptr [rax+24], 0xD1FFAB1E mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov dword ptr [rax+28], 0xD1FFAB1E mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov edi, 0xD1FFAB1E mov dword ptr [rax+32], edi ;; bbWeight=1 PerfScore 56.50 G_M51537_IG03: ; , extend mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov edi, 0xD1FFAB1E mov dword ptr [rax+36], edi mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+40], rdi mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+48], rdi mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov dword ptr [rax+56], 0xD1FFAB1E mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] mov dword ptr [rax+60], 0xD1FFAB1E mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov rax, gword ptr [rax] ; gcrRegs +[rax] vmovss xmm0, dword ptr [rax+56] vaddss xmm0, xmm0, dword ptr [reloc @RWD72] vmulss xmm0, xmm0, dword ptr [reloc @RWD76] vmovss xmm1, dword ptr [rax+24] vmulss xmm0, xmm0, xmm1 vsubss xmm2, xmm1, dword ptr [rbp-24H] vdivss xmm1, xmm1, xmm2 vmulss xmm0, xmm0, xmm1 vmovss xmm1, dword ptr [rax+36] vmovss xmm2, dword ptr [rax+32] vmulss xmm2, xmm2, dword ptr [rbp-04H] vaddss xmm1, xmm1, xmm2 vaddss xmm0, xmm0, xmm1 vcvtss2sd xmm0, xmm0 vmovsd xmm1, qword ptr [rax+48] vdivsd xmm1, xmm1, qword ptr [rbp-30H] vmovsd xmm2, qword ptr [rax+8] vaddsd xmm3, xmm2, qword ptr [reloc @RWD24] vmulsd xmm2, xmm2, qword ptr [rax+40] vsubsd xmm2, xmm3, xmm2 vdivsd xmm1, xmm1, xmm2 vmulsd xmm0, xmm0, xmm1 ;; bbWeight=1 PerfScore 120.25 G_M51537_IG04: ; , epilog, nogc, extend add rsp, 64 pop rbp ret ;; bbWeight=1 PerfScore 1.75 RWD00 dq 3FF0000000000000h ; 1 RWD08 dd 3F800000h ; 1 RWD12 dd 00000000h RWD16 dq C0AFFFFFFC000000h ; -4095.99997 RWD24 dq 40B0000000000000h ; 4096 RWD32 dd 36000000h ; 1.90735e-06 RWD36 dd 35F80000h ; 1.84774e-06 RWD40 dd C3800000h ; -256 RWD44 dd C0800000h ; -4 RWD48 dq 3E30000002000000h ; 3.72529033e-09 RWD56 dq 40C0000000000000h ; 8192 RWD64 dd 43780000h ; 248 RWD68 dd 3D400000h ; 0.046875 RWD72 dd 41000000h ; 8 RWD76 dd 45000000h ; 2048 ; Total bytes of code 630, prolog size 39, PerfScore 254.73, instruction count 110, allocated bytes for code 689 (MethodHash=32a736ae) for method testout1:Func_0_4_3():double ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Version : 1 Flags : 0x00 SizeOfProlog : 0x05 CountOfUnwindCodes: 2 FrameRegister : none (0) FrameOffset : N/A (no FrameRegister) (Value=0) UnwindCodes : CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 7 * 8 + 8 = 64 = 0x40 CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
Encontrar Diferença