Untitled Diff

Created Diff never expires
82 removals
152 lines
117 additions
192 lines
; 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
;
;
;* 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"
; V03 tmp1 [V03,T07] ( 2, 4 ) double -> mm0 "Inlining Arg"
; V03 tmp1 [V03,T04] ( 2, 4 ) double -> mm0 "Inlining Arg"
; V04 cse0 [V04,T08] ( 3, 3 ) double -> mm2 "CSE - aggressive"
; V04 cse0 [V04,T05] ( 3, 3 ) double -> mm2 "CSE - aggressive"
; V05 cse1 [V05,T03] ( 4, 4 ) float -> mm4 "CSE - aggressive"
; V05 cse1 [V05,T03] ( 4, 4 ) float -> mm1 "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"
; 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
; 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
sub rsp, 16
sub rsp, 64
vzeroupper
vzeroupper
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]
vmovsd qword ptr [rbp-08H], xmm0
vmovsd qword ptr [rbp-38H], 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 xmm2, dword ptr [reloc @RWD12]
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 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 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]
vmovsd xmm0, qword ptr [rbp-08H]
mov rdi, 0xD1FFAB1E
vmovsd 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]
vmovss 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
;; 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]
vmovss 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]
vmovss xmm3, dword ptr [rax+56]
vmovss xmm0, dword ptr [rax+56]
vaddss xmm3, xmm3, dword ptr [reloc @RWD16]
vaddss xmm0, xmm0, dword ptr [reloc @RWD72]
vmulss xmm3, xmm3, dword ptr [reloc @RWD20]
vmulss xmm0, xmm0, dword ptr [reloc @RWD76]
vmovss xmm4, dword ptr [rax+24]
vmovss xmm1, dword ptr [rax+24]
;; bbWeight=1 PerfScore 63.50
vmulss xmm0, xmm0, xmm1
G_M51537_IG03: ; , extend
vsubss xmm2, xmm1, dword ptr [rbp-24H]
vmulss xmm3, xmm3, xmm4
vdivss xmm1, xmm1, xmm2
vsubss xmm1, xmm4, xmm1
vmulss xmm0, xmm0, xmm1
vdivss xmm1, xmm4, xmm1
vmovss xmm1, dword ptr [rax+36]
vmulss xmm1, xmm3, xmm1
vmovss xmm2, dword ptr [rax+32]
vmovss xmm3, dword ptr [rax+36]
vmulss xmm2, xmm2, dword ptr [rbp-04H]
vmulss xmm2, xmm2, dword ptr [rax+32]
vaddss xmm2, xmm3, xmm2
vaddss xmm1, xmm1, xmm2
vaddss xmm1, xmm1, xmm2
vcvtss2sd xmm1, xmm1
vaddss xmm0, xmm0, xmm1
vmovsd xmm2, qword ptr [rax+48]
vcvtss2sd xmm0, xmm0
vdivsd xmm0, xmm2, xmm0
vmovsd xmm1, qword ptr [rax+48]
vdivsd xmm1, xmm1, qword ptr [rbp-30H]
vmovsd xmm2, qword ptr [rax+8]
vmovsd xmm2, qword ptr [rax+8]
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
vdivsd xmm0, xmm0, xmm2
vdivsd xmm1, xmm1, xmm2
vmulsd xmm0, xmm1, xmm0
vmulsd xmm0, xmm0, xmm1
;; bbWeight=1 PerfScore 82.00
;; bbWeight=1 PerfScore 120.25
G_M51537_IG04: ; , epilog, nogc, extend
G_M51537_IG04: ; , epilog, nogc, extend
add rsp, 16
add rsp, 64
pop rbp
pop rbp
ret
ret
;; bbWeight=1 PerfScore 1.75
;; bbWeight=1 PerfScore 1.75
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




; 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 :
CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 1 * 8 + 8 = 16 = 0x10
CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 7 * 8 + 8 = 64 = 0x40
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)