Untitled Diff

Created Diff never expires
70 removals
552 lines
67 additions
556 lines
; Assembly listing for method ConvR8test:Main():int
; Assembly listing for method ConvR8test:Main():int
; 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; 6 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 loc0 [V00,T00] ( 30, 16 ) bool -> rbx
; V00 loc0 [V00,T00] ( 30, 16 ) bool -> rbx
; V01 loc1 [V01,T01] ( 13, 13 ) ref -> r14 class-hnd exact single-def
; V01 loc1 [V01,T02] ( 13, 13 ) ref -> r14 class-hnd exact single-def
; V02 loc2 [V02,T03] ( 3, 3 ) struct (40) [rbp-40H] do-not-enreg[SF] must-init ld-addr-op
; V02 loc2 [V02,T01] ( 14, 14 ) struct (40) [rbp-40H] do-not-enreg[SF] must-init ld-addr-op
; V03 loc3 [V03,T02] ( 13, 13 ) ref -> r15 class-hnd exact single-def
; V03 loc3 [V03,T03] ( 13, 13 ) ref -> r15 class-hnd exact single-def
;# V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;# V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
; V05 tmp1 [V05,T04] ( 6, 12 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp"
; V05 tmp1 [V05,T04] ( 6, 12 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp"
; V06 tmp2 [V06,T09] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V06 tmp2 [V06,T07] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V07 tmp3 [V07,T10] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V07 tmp3 [V07,T08] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V08 tmp4 [V08,T11] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V08 tmp4 [V08,T09] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V09 tmp5 [V09,T12] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V09 tmp5 [V09,T10] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V10 tmp6 [V10,T13] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V10 tmp6 [V10,T11] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V11 tmp7 [V11,T14] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V11 tmp7 [V11,T12] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V12 tmp8 [V12,T15] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V12 tmp8 [V12,T13] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V13 tmp9 [V13,T16] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V13 tmp9 [V13,T14] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V14 tmp10 [V14,T17] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V14 tmp10 [V14,T15] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V15 tmp11 [V15,T18] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V15 tmp11 [V15,T16] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V16 tmp12 [V16,T19] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V16 tmp12 [V16,T17] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V17 tmp13 [V17,T20] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V17 tmp13 [V17,T18] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V18 cse0 [V18,T21] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V18 cse0 [V18,T19] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V19 cse1 [V19,T22] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V19 cse1 [V19,T20] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V20 cse2 [V20,T23] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V20 cse2 [V20,T21] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V21 cse3 [V21,T24] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V21 cse3 [V21,T22] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V22 cse4 [V22,T25] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V22 cse4 [V22,T23] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V23 cse5 [V23,T26] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V23 cse5 [V23,T24] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V24 cse6 [V24,T27] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V24 cse6 [V24,T25] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V25 cse7 [V25,T28] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V25 cse7 [V25,T26] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V26 cse8 [V26,T29] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V26 cse8 [V26,T27] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V27 cse9 [V27,T30] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V27 cse9 [V27,T28] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V28 cse10 [V28,T31] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V28 cse10 [V28,T29] ( 3, 3 ) double -> mm0 "CSE - aggressive"
;* V29 cse11 [V29,T05] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
;* V29 cse11 [V29,T05] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
; V30 cse12 [V30,T32] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V30 cse12 [V30,T30] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V31 cse13 [V31,T33] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V31 cse13 [V31,T31] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V32 cse14 [V32,T34] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V32 cse14 [V32,T32] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V33 cse15 [V33,T35] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V33 cse15 [V33,T33] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V34 cse16 [V34,T36] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V34 cse16 [V34,T34] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V35 cse17 [V35,T37] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V35 cse17 [V35,T35] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V36 cse18 [V36,T38] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V36 cse18 [V36,T36] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V37 cse19 [V37,T39] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V37 cse19 [V37,T37] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V38 cse20 [V38,T40] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V38 cse20 [V38,T38] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V39 cse21 [V39,T41] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V39 cse21 [V39,T39] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V40 cse22 [V40,T42] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V40 cse22 [V40,T40] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V41 cse23 [V41,T06] ( 4, 4 ) double -> [rbp-48H] spill-single-def "CSE - aggressive"
; V41 cse23 [V41,T06] ( 4, 4 ) double -> [rbp-48H] spill-single-def "CSE - aggressive"
; V42 cse24 [V42,T07] ( 3, 3 ) double -> [rbp-50H] spill-single-def "CSE - aggressive"
; V43 cse25 [V43,T08] ( 3, 3 ) double -> [rbp-58H] spill-single-def "CSE - aggressive"
;
;
; Lcl frame size = 72
; Lcl frame size = 56


G_M41739_IG01: ; gcVars= {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref, nogc <-- Prolog IG
G_M41739_IG01: ; gcVars= {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref, nogc <-- Prolog IG
push rbp
push rbp
push r15
push r15
push r14
push r14
push rbx
push rbx
sub rsp, 72
sub rsp, 56
vzeroupper
vzeroupper
lea rbp, [rsp+60H]
lea rbp, [rsp+50H]
vxorps xmm8, xmm8
vxorps xmm8, xmm8
vmovdqa xmmword ptr [rbp-40H], xmm8
vmovdqa xmmword ptr [rbp-40H], xmm8
vmovdqa xmmword ptr [rbp-30H], xmm8
vmovdqa xmmword ptr [rbp-30H], xmm8
xor eax, eax
xor eax, eax
mov qword ptr [rbp-20H], rax
mov qword ptr [rbp-20H], rax
;; bbWeight=1 PerfScore 9.33
;; bbWeight=1 PerfScore 9.33
G_M41739_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
mov ebx, 1
mov ebx, 1
mov rdi, 0xD1FFAB1E ; System.Double[]
mov rdi, 0xD1FFAB1E ; System.Double[]
mov esi, 3
mov esi, 3
call CORINFO_HELP_NEWARR_1_VC
call CORINFO_HELP_NEWARR_1_VC
; gcrRegs +[rax]
; gcrRegs +[rax]
mov r14, rax
mov r14, rax
; gcrRegs +[r14]
; gcrRegs +[r14]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
mov r15, rax
mov r15, rax
; gcrRegs +[r15]
; gcrRegs +[r15]
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
mov qword ptr [r15+8], rax
mov qword ptr [r15+8], rax
vmovsd xmm0, qword ptr [reloc @RWD00]
mov rax, 0xD1FFAB1E
vmovsd qword ptr [rbp-50H], xmm0
mov qword ptr [r15+16], rax
vmovsd qword ptr [r15+16], xmm0
mov dword ptr [r15+40], 3
mov dword ptr [r15+40], 3
vmovsd xmm1, qword ptr [reloc @RWD08]
mov rax, 0xD1FFAB1E
vmovsd qword ptr [rbp-58H], xmm1
mov qword ptr [r15+24], rax
vmovsd qword ptr [r15+24], xmm1
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
mov esi, 3
mov esi, 3
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm0, qword ptr [rdi]
vmovsd xmm0, qword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vaddsd xmm1, xmm0, qword ptr [rdi]
vaddsd xmm1, xmm0, qword ptr [rdi]
vucomisd xmm1, xmm0
vucomisd xmm1, xmm0
jp SHORT G_M41739_IG03
jp SHORT G_M41739_IG03
je SHORT G_M41739_IG04
je SHORT G_M41739_IG04
;; bbWeight=1 PerfScore 29.00
;; bbWeight=1 PerfScore 25.50
G_M41739_IG03: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG03: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG04: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG04: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm0, qword ptr [rdi]
vmovsd xmm0, qword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vaddsd xmm1, xmm0, qword ptr [rdi]
vaddsd xmm1, xmm0, qword ptr [rdi]
vucomisd xmm1, xmm0
vucomisd xmm1, xmm0
jp SHORT G_M41739_IG05
jp SHORT G_M41739_IG05
je SHORT G_M41739_IG06
je SHORT G_M41739_IG06
;; bbWeight=1 PerfScore 11.50
;; bbWeight=1 PerfScore 11.50
G_M41739_IG05: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG05: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG06: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG06: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
call ConvR8test:doubleadd():double
call ConvR8test:doubleadd():double
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG07
jp SHORT G_M41739_IG07
je SHORT G_M41739_IG08
je SHORT G_M41739_IG08
;; bbWeight=1 PerfScore 5.25
;; bbWeight=1 PerfScore 5.25
G_M41739_IG07: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG07: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG08: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG08: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm0, qword ptr [rdi]
vmovsd xmm0, qword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vaddsd xmm1, xmm0, qword ptr [rdi]
vaddsd xmm1, xmm0, qword ptr [rdi]
vucomisd xmm1, xmm0
vucomisd xmm1, xmm0
jp SHORT G_M41739_IG09
jp SHORT G_M41739_IG09
je SHORT G_M41739_IG10
je SHORT G_M41739_IG10
;; bbWeight=1 PerfScore 11.50
;; bbWeight=1 PerfScore 11.50
G_M41739_IG09: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG09: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG10: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG10: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm0, qword ptr [rdi]
vmovsd xmm0, qword ptr [rdi]
vmovaps xmm1, xmm0
vmovaps xmm1, xmm0
vmovsd qword ptr [r14+16], xmm1
vmovsd qword ptr [r14+16], xmm1
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm1, qword ptr [rdi]
vmovsd xmm1, qword ptr [rdi]
vmovaps xmm2, xmm1
vmovaps xmm2, xmm1
vmovsd qword ptr [r14+24], xmm2
vmovsd qword ptr [r14+24], xmm2
vaddsd xmm0, xmm0, xmm1
vaddsd xmm0, xmm0, xmm1
vmovaps xmm1, xmm0
vmovaps xmm1, xmm0
vmovsd qword ptr [r14+32], xmm1
vmovsd qword ptr [r14+32], xmm1
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG11
jp SHORT G_M41739_IG11
je SHORT G_M41739_IG12
je SHORT G_M41739_IG12
;; bbWeight=1 PerfScore 14.00
;; bbWeight=1 PerfScore 14.00
G_M41739_IG11: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG11: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG12: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG12: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
vmovsd xmm0, qword ptr [reloc @RWD16]
vmovsd xmm0, qword ptr [reloc @RWD00]
vmovsd qword ptr [rbp-40H], xmm0
vmovsd qword ptr [rbp-40H], xmm0
vmovsd xmm0, qword ptr [rbp-50H]
vmovsd xmm0, qword ptr [reloc @RWD08]
vmovsd qword ptr [rbp-38H], xmm0
vmovsd qword ptr [rbp-38H], xmm0
vmovsd xmm0, qword ptr [rbp-40H]
vmovsd xmm0, qword ptr [rbp-40H]
vmovsd qword ptr [rbp-48H], xmm0
vmovsd qword ptr [rbp-48H], xmm0
vmovsd xmm1, qword ptr [reloc @RWD00]
vmovsd qword ptr [rbp-20H], xmm1
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG13
jp SHORT G_M41739_IG13
je SHORT G_M41739_IG14
je SHORT G_M41739_IG14
;; bbWeight=1 PerfScore 11.75
;; bbWeight=1 PerfScore 14.25
G_M41739_IG13: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG13: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG14: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG14: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
vmovsd xmm1, qword ptr [r15+8]
vmovsd xmm1, qword ptr [r15+8]
vaddsd xmm1, xmm1, qword ptr [r15+16]
vaddsd xmm1, xmm1, qword ptr [r15+16]
vmovsd qword ptr [r15+32], xmm1
vmovsd qword ptr [r15+32], xmm1
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm1, qword ptr [rdi]
vucomisd xmm1, qword ptr [rdi]
jp SHORT G_M41739_IG15
jp SHORT G_M41739_IG15
je SHORT G_M41739_IG16
je SHORT G_M41739_IG16
;; bbWeight=1 PerfScore 12.75
;; bbWeight=1 PerfScore 12.75
G_M41739_IG15: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG15: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG16: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG16: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm0, qword ptr [rdi]
vmovsd xmm0, qword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vsubsd xmm1, xmm0, qword ptr [rdi]
vsubsd xmm1, xmm0, qword ptr [rdi]
vucomisd xmm1, xmm0
vucomisd xmm1, xmm0
jp SHORT G_M41739_IG17
jp SHORT G_M41739_IG17
je SHORT G_M41739_IG18
je SHORT G_M41739_IG18
;; bbWeight=1 PerfScore 15.75
;; bbWeight=1 PerfScore 15.75
G_M41739_IG17: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG17: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG18: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG18: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm0, qword ptr [rdi]
vmovsd xmm0, qword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vsubsd xmm1, xmm0, qword ptr [rdi]
vsubsd xmm1, xmm0, qword ptr [rdi]
vucomisd xmm1, xmm0
vucomisd xmm1, xmm0
jp SHORT G_M41739_IG19
jp SHORT G_M41739_IG19
je SHORT G_M41739_IG20
je SHORT G_M41739_IG20
;; bbWeight=1 PerfScore 11.50
;; bbWeight=1 PerfScore 11.50
G_M41739_IG19: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG19: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG20: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG20: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
call ConvR8test:doublesub():double
call ConvR8test:doublesub():double
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG21
jp SHORT G_M41739_IG21
je SHORT G_M41739_IG22
je SHORT G_M41739_IG22
;; bbWeight=1 PerfScore 5.25
;; bbWeight=1 PerfScore 5.25
G_M41739_IG21: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG21: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG22: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG22: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm0, qword ptr [rdi]
vmovsd xmm0, qword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vsubsd xmm1, xmm0, qword ptr [rdi]
vsubsd xmm1, xmm0, qword ptr [rdi]
vucomisd xmm1, xmm0
vucomisd xmm1, xmm0
jp SHORT G_M41739_IG23
jp SHORT G_M41739_IG23
je SHORT G_M41739_IG24
je SHORT G_M41739_IG24
;; bbWeight=1 PerfScore 11.50
;; bbWeight=1 PerfScore 11.50
G_M41739_IG23: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG23: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG24: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG24: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm0, qword ptr [rdi]
vmovsd xmm0, qword ptr [rdi]
vmovaps xmm1, xmm0
vmovaps xmm1, xmm0
vmovsd qword ptr [r14+16], xmm1
vmovsd qword ptr [r14+16], xmm1
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm1, qword ptr [rdi]
vmovsd xmm1, qword ptr [rdi]
vmovaps xmm2, xmm1
vmovaps xmm2, xmm1
vmovsd qword ptr [r14+24], xmm2
vmovsd qword ptr [r14+24], xmm2
vsubsd xmm0, xmm0, xmm1
vsubsd xmm0, xmm0, xmm1
vmovaps xmm1, xmm0
vmovaps xmm1, xmm0
vmovsd qword ptr [r14+32], xmm1
vmovsd qword ptr [r14+32], xmm1
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG25
jp SHORT G_M41739_IG25
je SHORT G_M41739_IG26
je SHORT G_M41739_IG26
;; bbWeight=1 PerfScore 14.00
;; bbWeight=1 PerfScore 14.00
G_M41739_IG25: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG25: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG26: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG26: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
vmovsd xmm0, qword ptr [reloc @RWD00]
vmovsd qword ptr [rbp-40H], xmm0
vmovsd xmm0, qword ptr [reloc @RWD08]
vmovsd qword ptr [rbp-38H], xmm0
vmovsd xmm0, qword ptr [reloc @RWD00]
vmovsd qword ptr [rbp-20H], xmm0
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm0, qword ptr [rbp-48H]
vmovsd xmm0, qword ptr [rbp-48H]
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG27
jp SHORT G_M41739_IG27
je SHORT G_M41739_IG28
je SHORT G_M41739_IG28
;; bbWeight=1 PerfScore 6.25
;; bbWeight=1 PerfScore 13.75
G_M41739_IG27: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG27: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG28: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG28: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
vmovsd xmm1, qword ptr [r15+8]
vmovsd xmm1, qword ptr [r15+8]
vsubsd xmm1, xmm1, qword ptr [r15+16]
vsubsd xmm1, xmm1, qword ptr [r15+16]
vmovsd qword ptr [r15+32], xmm1
vmovsd qword ptr [r15+32], xmm1
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm1, qword ptr [rdi]
vucomisd xmm1, qword ptr [rdi]
jp SHORT G_M41739_IG29
jp SHORT G_M41739_IG29
je SHORT G_M41739_IG30
je SHORT G_M41739_IG30
;; bbWeight=1 PerfScore 12.75
;; bbWeight=1 PerfScore 12.75
G_M41739_IG29: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG29: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG30: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG30: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vxorps xmm0, xmm0
vxorps xmm0, xmm0
vcvtsi2sd xmm0, dword ptr [rdi]
vcvtsi2sd xmm0, dword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmulsd xmm0, xmm0, qword ptr [rdi]
vmulsd xmm0, xmm0, qword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG31
jp SHORT G_M41739_IG31
je SHORT G_M41739_IG32
je SHORT G_M41739_IG32
;; bbWeight=1 PerfScore 23.33
;; bbWeight=1 PerfScore 23.33
G_M41739_IG31: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG31: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG32: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG32: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vxorps xmm0, xmm0
vxorps xmm0, xmm0
vcvtsi2sd xmm0, dword ptr [rdi]
vcvtsi2sd xmm0, dword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmulsd xmm0, xmm0, qword ptr [rdi]
vmulsd xmm0, xmm0, qword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG33
jp SHORT G_M41739_IG33
je SHORT G_M41739_IG34
je SHORT G_M41739_IG34
;; bbWeight=1 PerfScore 19.08
;; bbWeight=1 PerfScore 19.08
G_M41739_IG33: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG33: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG34: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG34: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
call ConvR8test:doublemul():double
call ConvR8test:doublemul():double
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG35
jp SHORT G_M41739_IG35
je SHORT G_M41739_IG36
je SHORT G_M41739_IG36
;; bbWeight=1 PerfScore 5.25
;; bbWeight=1 PerfScore 5.25
G_M41739_IG35: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG35: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG36: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG36: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vxorps xmm0, xmm0
vxorps xmm0, xmm0
vcvtsi2sd xmm0, dword ptr [rdi]
vcvtsi2sd xmm0, dword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmulsd xmm0, xmm0, qword ptr [rdi]
vmulsd xmm0, xmm0, qword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG37
jp SHORT G_M41739_IG37
je SHORT G_M41739_IG38
je SHORT G_M41739_IG38
;; bbWeight=1 PerfScore 19.08
;; bbWeight=1 PerfScore 19.08
G_M41739_IG37: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG37: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG38: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG38: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vxorps xmm0, xmm0
vxorps xmm0, xmm0
vcvtsi2sd xmm0, dword ptr [rdi]
vcvtsi2sd xmm0, dword ptr [rdi]
vmovaps xmm1, xmm0
vmovaps xmm1, xmm0
vmovsd qword ptr [r14+16], xmm1
vmovsd qword ptr [r14+16], xmm1
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm1, qword ptr [rdi]
vmovsd xmm1, qword ptr [rdi]
vmovaps xmm2, xmm1
vmovaps xmm2, xmm1
vmovsd qword ptr [r14+24], xmm2
vmovsd qword ptr [r14+24], xmm2
vmulsd xmm0, xmm0, xmm1
vmulsd xmm0, xmm0, xmm1
vmovaps xmm1, xmm0
vmovaps xmm1, xmm0
vmovsd qword ptr [r14+32], xmm1
vmovsd qword ptr [r14+32], xmm1
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG39
jp SHORT G_M41739_IG39
je SHORT G_M41739_IG40
je SHORT G_M41739_IG40
;; bbWeight=1 PerfScore 20.33
;; bbWeight=1 PerfScore 20.33
G_M41739_IG39: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG39: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG40: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG40: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
mov dword ptr [rbp-30H], 3
vmovsd xmm0, qword ptr [reloc @RWD16]
vmovsd qword ptr [rbp-28H], xmm0
vmovsd xmm0, qword ptr [reloc @RWD00]
vmovsd qword ptr [rbp-20H], xmm0
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm0, qword ptr [rbp-48H]
vmovsd xmm0, qword ptr [rbp-48H]
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG41
jp SHORT G_M41739_IG41
je SHORT G_M41739_IG42
je SHORT G_M41739_IG42
;; bbWeight=1 PerfScore 6.25
;; bbWeight=1 PerfScore 12.25
G_M41739_IG41: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG41: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG42: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG42: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
vxorps xmm0, xmm0
vxorps xmm0, xmm0
vcvtsi2sd xmm0, dword ptr [r15+40]
vcvtsi2sd xmm0, dword ptr [r15+40]
vmulsd xmm0, xmm0, qword ptr [r15+24]
vmulsd xmm0, xmm0, qword ptr [r15+24]
vmovsd qword ptr [r15+32], xmm0
vmovsd qword ptr [r15+32], xmm0
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG43
jp SHORT G_M41739_IG43
je SHORT G_M41739_IG44
je SHORT G_M41739_IG44
;; bbWeight=1 PerfScore 19.08
;; bbWeight=1 PerfScore 19.08
G_M41739_IG43: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG43: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG44: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG44: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm0, qword ptr [rdi]
vmovsd xmm0, qword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vxorps xmm1, xmm1
vxorps xmm1, xmm1
vcvtsi2sd xmm1, dword ptr [rdi]
vcvtsi2sd xmm1, dword ptr [rdi]
vdivsd xmm0, xmm0, xmm1
vdivsd xmm0, xmm0, xmm1
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG45
jp SHORT G_M41739_IG45
je SHORT G_M41739_IG46
je SHORT G_M41739_IG46
;; bbWeight=1 PerfScore 31.33
;; bbWeight=1 PerfScore 31.33
G_M41739_IG45: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG45: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG46: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG46: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vmovsd xmm0, qword ptr [rdi]
vmovsd xmm0, qword ptr [rdi]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vxorps xmm1, xmm1
vxorps xmm1, xmm1
vcvtsi2sd xmm1, dword ptr [rdi]
vcvtsi2sd xmm1, dword ptr [rdi]
vdivsd xmm0, xmm0, xmm1
vdivsd xmm0, xmm0, xmm1
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG47
jp SHORT G_M41739_IG47
je SHORT G_M41739_IG48
je SHORT G_M41739_IG48
;; bbWeight=1 PerfScore 27.08
;; bbWeight=1 PerfScore 27.08
G_M41739_IG47: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
G_M41739_IG47: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
; gcrRegs +[rdi]
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rdi]
; gcrRegs -[rdi]
xor ebx, ebx
xor ebx, ebx
;; bbWeight=0.50 PerfScore 1.75
;; bbWeight=0.50 PerfScore 1.75
G_M41739_IG48: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
G_M41739_IG48: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz
call ConvR8test:doublediv():double
call ConvR8test:doublediv():double
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
vucomisd xmm0, qword ptr [rdi]
vucomisd xmm0, qword ptr [rdi]
jp SHORT G_M41739_IG49
jp SHORT G_M41739_IG49
je SHORT G_M41739_IG50
je SHORT G_M41739_IG50
;; bbWeight=1 PerfScore 5.25
;
G_M41739_IG49: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref
mov rdi, 0xD1FFAB1E ; string handle
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
call hackishModul