Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide whitespace changes
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Text styles
Change appearance
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Untitled Diff
Created
5 years ago
Diff never expires
Clear
Export
Share
Explain
70 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
552 lines
Copy
67 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
556 lines
Copy
; 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
Copy
Copied
Copy
Copied
; V01 loc1 [V01,T0
1
] ( 13, 13 ) ref -> r14 class-hnd exact single-def
; V01 loc1 [V01,T0
2
] ( 13, 13 ) ref -> r14 class-hnd exact single-def
; V02 loc2 [V02,T0
3
] (
3, 3
) struct (40) [rbp-40H] do-not-enreg[SF] must-init ld-addr-op
; V02 loc2 [V02,T0
1
] (
14, 14
) struct (40) [rbp-40H] do-not-enreg[SF] must-init ld-addr-op
; V03 loc3 [V03,T0
2
] ( 13, 13 ) ref -> r15 class-hnd exact single-def
; V03 loc3 [V03,T0
3
] ( 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"
Copy
Copied
Copy
Copied
; V06 tmp2 [V06,T0
9
] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V06 tmp2 [V06,T0
7
] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V07 tmp3 [V07,T
10
] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V07 tmp3 [V07,T
08
] ( 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,T1
2
] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V09 tmp5 [V09,T1
0
] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V10 tmp6 [V10,T1
3
] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V10 tmp6 [V10,T1
1
] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V11 tmp7 [V11,T1
4
] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V11 tmp7 [V11,T1
2
] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V12 tmp8 [V12,T1
5
] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V12 tmp8 [V12,T1
3
] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V13 tmp9 [V13,T1
6
] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V13 tmp9 [V13,T1
4
] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V14 tmp10 [V14,T1
7
] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V14 tmp10 [V14,T1
5
] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V15 tmp11 [V15,T1
8
] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V15 tmp11 [V15,T1
6
] ( 2, 4 ) double -> mm1 "Strict ordering of exceptions for Array store"
; V16 tmp12 [V16,T1
9
] ( 2, 4 ) double -> mm2 "Strict ordering of exceptions for Array store"
; V16 tmp12 [V16,T1
7
] ( 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,T
21
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V18 cse0 [V18,T
19
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V19 cse1 [V19,T2
2
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V19 cse1 [V19,T2
0
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V20 cse2 [V20,T2
3
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V20 cse2 [V20,T2
1
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V21 cse3 [V21,T2
4
] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V21 cse3 [V21,T2
2
] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V22 cse4 [V22,T2
5
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V22 cse4 [V22,T2
3
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V23 cse5 [V23,T2
6
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V23 cse5 [V23,T2
4
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V24 cse6 [V24,T2
7
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V24 cse6 [V24,T2
5
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V25 cse7 [V25,T2
8
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V25 cse7 [V25,T2
6
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V26 cse8 [V26,T2
9
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V26 cse8 [V26,T2
7
] ( 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"
Copy
Copied
Copy
Copied
; V30 cse12 [V30,T3
2
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V30 cse12 [V30,T3
0
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V31 cse13 [V31,T3
3
] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V31 cse13 [V31,T3
1
] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V32 cse14 [V32,T3
4
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V32 cse14 [V32,T3
2
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V33 cse15 [V33,T3
5
] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V33 cse15 [V33,T3
3
] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V34 cse16 [V34,T3
6
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V34 cse16 [V34,T3
4
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V35 cse17 [V35,T3
7
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V35 cse17 [V35,T3
5
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V36 cse18 [V36,T3
8
] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V36 cse18 [V36,T3
6
] ( 3, 3 ) double -> mm1 "CSE - aggressive"
; V37 cse19 [V37,T3
9
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V37 cse19 [V37,T3
7
] ( 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,T4
2
] ( 3, 3 ) double -> mm0 "CSE - aggressive"
; V40 cse22 [V40,T4
0
] ( 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"
Copy
Copied
Copy
Copied
; 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"
;
;
Copy
Copied
Copy
Copied
; 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
Copy
Copied
Copy
Copied
sub rsp,
72
sub rsp,
56
vzeroupper
vzeroupper
Copy
Copied
Copy
Copied
lea rbp, [rsp+
6
0H]
lea rbp, [rsp+
5
0H]
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
Copy
Copied
Copy
Copied
v
mov
sd
xmm0, qword ptr [reloc @RWD00]
mov
rax, 0xD1FFAB1E
v
mov
sd
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
Copy
Copied
Copy
Copied
v
mov
sd xmm1, qword ptr [reloc @RWD08]
mov
rax, 0xD1FFAB1E
vmovsd qword ptr [rbp-58H], xmm1
mov
qword ptr [r15+24],
rax
v
mov
sd
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
Copy
Copied
Copy
Copied
;; 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
Copy
Copied
Copy
Copied
vmovsd xmm0, qword ptr [reloc @
RWD16
]
vmovsd xmm0, qword ptr [reloc @
RWD00
]
vmovsd qword ptr [rbp-40H], xmm0
vmovsd qword ptr [rbp-40H], xmm0
Copy
Copied
Copy
Copied
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
Copy
Copied
Copy
Copied
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
Copy
Copied
Copy
Copied
;; 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
Copy
Copied
Copy
Copied
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
Copy
Copied
Copy
Copied
;; 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
Copy
Copied
Copy
Copied
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
Copy
Copied
Copy
Copied
;; 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
Copy
Copied
Copy
Copied
;; 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
Saved diffs
Original text
Open file
; Assembly listing for method ConvR8test:Main():int ; 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; 6 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ; V00 loc0 [V00,T00] ( 30, 16 ) bool -> rbx ; V01 loc1 [V01,T01] ( 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 ; V03 loc3 [V03,T02] ( 13, 13 ) ref -> r15 class-hnd exact single-def ;# 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" ; V06 tmp2 [V06,T09] ( 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" ; V08 tmp4 [V08,T11] ( 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" ; V10 tmp6 [V10,T13] ( 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" ; V12 tmp8 [V12,T15] ( 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" ; V14 tmp10 [V14,T17] ( 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" ; V16 tmp12 [V16,T19] ( 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" ; V18 cse0 [V18,T21] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V19 cse1 [V19,T22] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V20 cse2 [V20,T23] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V21 cse3 [V21,T24] ( 3, 3 ) double -> mm1 "CSE - aggressive" ; V22 cse4 [V22,T25] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V23 cse5 [V23,T26] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V24 cse6 [V24,T27] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V25 cse7 [V25,T28] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V26 cse8 [V26,T29] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V27 cse9 [V27,T30] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V28 cse10 [V28,T31] ( 3, 3 ) double -> mm0 "CSE - aggressive" ;* V29 cse11 [V29,T05] ( 0, 0 ) long -> zero-ref "CSE - aggressive" ; V30 cse12 [V30,T32] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V31 cse13 [V31,T33] ( 3, 3 ) double -> mm1 "CSE - aggressive" ; V32 cse14 [V32,T34] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V33 cse15 [V33,T35] ( 3, 3 ) double -> mm1 "CSE - aggressive" ; V34 cse16 [V34,T36] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V35 cse17 [V35,T37] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V36 cse18 [V36,T38] ( 3, 3 ) double -> mm1 "CSE - aggressive" ; V37 cse19 [V37,T39] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V38 cse20 [V38,T40] ( 3, 3 ) double -> mm1 "CSE - aggressive" ; V39 cse21 [V39,T41] ( 3, 3 ) double -> mm1 "CSE - aggressive" ; V40 cse22 [V40,T42] ( 3, 3 ) double -> mm0 "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 G_M41739_IG01: ; gcVars= {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref, nogc <-- Prolog IG push rbp push r15 push r14 push rbx sub rsp, 72 vzeroupper lea rbp, [rsp+60H] vxorps xmm8, xmm8 vmovdqa xmmword ptr [rbp-40H], xmm8 vmovdqa xmmword ptr [rbp-30H], xmm8 xor eax, eax mov qword ptr [rbp-20H], rax ;; bbWeight=1 PerfScore 9.33 G_M41739_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz mov ebx, 1 mov rdi, 0xD1FFAB1E ; System.Double[] mov esi, 3 call CORINFO_HELP_NEWARR_1_VC ; gcrRegs +[rax] mov r14, rax ; gcrRegs +[r14] mov rdi, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov r15, rax ; gcrRegs +[r15] mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov qword ptr [r15+8], rax vmovsd xmm0, qword ptr [reloc @RWD00] vmovsd qword ptr [rbp-50H], xmm0 vmovsd qword ptr [r15+16], xmm0 mov dword ptr [r15+40], 3 vmovsd xmm1, qword ptr [reloc @RWD08] vmovsd qword ptr [rbp-58H], xmm1 vmovsd qword ptr [r15+24], xmm1 call hackishModuleName:hackishMethodName() mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] mov rdi, 0xD1FFAB1E mov esi, 3 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vaddsd xmm1, xmm0, qword ptr [rdi] vucomisd xmm1, xmm0 jp SHORT G_M41739_IG03 je SHORT G_M41739_IG04 ;; bbWeight=1 PerfScore 29.00 G_M41739_IG03: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG04: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vaddsd xmm1, xmm0, qword ptr [rdi] vucomisd xmm1, xmm0 jp SHORT G_M41739_IG05 je SHORT G_M41739_IG06 ;; bbWeight=1 PerfScore 11.50 G_M41739_IG05: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG06: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call ConvR8test:doubleadd():double mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG07 je SHORT G_M41739_IG08 ;; bbWeight=1 PerfScore 5.25 G_M41739_IG07: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG08: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vaddsd xmm1, xmm0, qword ptr [rdi] vucomisd xmm1, xmm0 jp SHORT G_M41739_IG09 je SHORT G_M41739_IG10 ;; bbWeight=1 PerfScore 11.50 G_M41739_IG09: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG10: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] vmovaps xmm1, xmm0 vmovsd qword ptr [r14+16], xmm1 mov rdi, 0xD1FFAB1E vmovsd xmm1, qword ptr [rdi] vmovaps xmm2, xmm1 vmovsd qword ptr [r14+24], xmm2 vaddsd xmm0, xmm0, xmm1 vmovaps xmm1, xmm0 vmovsd qword ptr [r14+32], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG11 je SHORT G_M41739_IG12 ;; bbWeight=1 PerfScore 14.00 G_M41739_IG11: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG12: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz vmovsd xmm0, qword ptr [reloc @RWD16] vmovsd qword ptr [rbp-40H], xmm0 vmovsd xmm0, qword ptr [rbp-50H] vmovsd qword ptr [rbp-38H], xmm0 vmovsd xmm0, qword ptr [rbp-40H] vmovsd qword ptr [rbp-48H], xmm0 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG13 je SHORT G_M41739_IG14 ;; bbWeight=1 PerfScore 11.75 G_M41739_IG13: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG14: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz vmovsd xmm1, qword ptr [r15+8] vaddsd xmm1, xmm1, qword ptr [r15+16] vmovsd qword ptr [r15+32], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm1, qword ptr [rdi] jp SHORT G_M41739_IG15 je SHORT G_M41739_IG16 ;; bbWeight=1 PerfScore 12.75 G_M41739_IG15: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG16: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call hackishModuleName:hackishMethodName() mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vsubsd xmm1, xmm0, qword ptr [rdi] vucomisd xmm1, xmm0 jp SHORT G_M41739_IG17 je SHORT G_M41739_IG18 ;; bbWeight=1 PerfScore 15.75 G_M41739_IG17: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG18: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vsubsd xmm1, xmm0, qword ptr [rdi] vucomisd xmm1, xmm0 jp SHORT G_M41739_IG19 je SHORT G_M41739_IG20 ;; bbWeight=1 PerfScore 11.50 G_M41739_IG19: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG20: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call ConvR8test:doublesub():double mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG21 je SHORT G_M41739_IG22 ;; bbWeight=1 PerfScore 5.25 G_M41739_IG21: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG22: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vsubsd xmm1, xmm0, qword ptr [rdi] vucomisd xmm1, xmm0 jp SHORT G_M41739_IG23 je SHORT G_M41739_IG24 ;; bbWeight=1 PerfScore 11.50 G_M41739_IG23: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG24: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] vmovaps xmm1, xmm0 vmovsd qword ptr [r14+16], xmm1 mov rdi, 0xD1FFAB1E vmovsd xmm1, qword ptr [rdi] vmovaps xmm2, xmm1 vmovsd qword ptr [r14+24], xmm2 vsubsd xmm0, xmm0, xmm1 vmovaps xmm1, xmm0 vmovsd qword ptr [r14+32], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG25 je SHORT G_M41739_IG26 ;; bbWeight=1 PerfScore 14.00 G_M41739_IG25: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG26: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rbp-48H] vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG27 je SHORT G_M41739_IG28 ;; bbWeight=1 PerfScore 6.25 G_M41739_IG27: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG28: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz vmovsd xmm1, qword ptr [r15+8] vsubsd xmm1, xmm1, qword ptr [r15+16] vmovsd qword ptr [r15+32], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm1, qword ptr [rdi] jp SHORT G_M41739_IG29 je SHORT G_M41739_IG30 ;; bbWeight=1 PerfScore 12.75 G_M41739_IG29: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG30: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call hackishModuleName:hackishMethodName() mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] mov rdi, 0xD1FFAB1E vxorps xmm0, xmm0 vcvtsi2sd xmm0, dword ptr [rdi] mov rdi, 0xD1FFAB1E vmulsd xmm0, xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG31 je SHORT G_M41739_IG32 ;; bbWeight=1 PerfScore 23.33 G_M41739_IG31: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG32: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vxorps xmm0, xmm0 vcvtsi2sd xmm0, dword ptr [rdi] mov rdi, 0xD1FFAB1E vmulsd xmm0, xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG33 je SHORT G_M41739_IG34 ;; bbWeight=1 PerfScore 19.08 G_M41739_IG33: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG34: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call ConvR8test:doublemul():double mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG35 je SHORT G_M41739_IG36 ;; bbWeight=1 PerfScore 5.25 G_M41739_IG35: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG36: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vxorps xmm0, xmm0 vcvtsi2sd xmm0, dword ptr [rdi] mov rdi, 0xD1FFAB1E vmulsd xmm0, xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG37 je SHORT G_M41739_IG38 ;; bbWeight=1 PerfScore 19.08 G_M41739_IG37: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG38: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vxorps xmm0, xmm0 vcvtsi2sd xmm0, dword ptr [rdi] vmovaps xmm1, xmm0 vmovsd qword ptr [r14+16], xmm1 mov rdi, 0xD1FFAB1E vmovsd xmm1, qword ptr [rdi] vmovaps xmm2, xmm1 vmovsd qword ptr [r14+24], xmm2 vmulsd xmm0, xmm0, xmm1 vmovaps xmm1, xmm0 vmovsd qword ptr [r14+32], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG39 je SHORT G_M41739_IG40 ;; bbWeight=1 PerfScore 20.33 G_M41739_IG39: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG40: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rbp-48H] vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG41 je SHORT G_M41739_IG42 ;; bbWeight=1 PerfScore 6.25 G_M41739_IG41: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG42: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz vxorps xmm0, xmm0 vcvtsi2sd xmm0, dword ptr [r15+40] vmulsd xmm0, xmm0, qword ptr [r15+24] vmovsd qword ptr [r15+32], xmm0 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG43 je SHORT G_M41739_IG44 ;; bbWeight=1 PerfScore 19.08 G_M41739_IG43: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG44: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call hackishModuleName:hackishMethodName() mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vxorps xmm1, xmm1 vcvtsi2sd xmm1, dword ptr [rdi] vdivsd xmm0, xmm0, xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG45 je SHORT G_M41739_IG46 ;; bbWeight=1 PerfScore 31.33 G_M41739_IG45: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG46: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vxorps xmm1, xmm1 vcvtsi2sd xmm1, dword ptr [rdi] vdivsd xmm0, xmm0, xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG47 je SHORT G_M41739_IG48 ;; bbWeight=1 PerfScore 27.08 G_M41739_IG47: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG48: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call ConvR8test:doublediv():double mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG49 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 hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG50: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vxorps xmm1, xmm1 vcvtsi2sd xmm1, dword ptr [rdi] vdivsd xmm0, xmm0, xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG51 je SHORT G_M41739_IG52 ;; bbWeight=1 PerfScore 27.08 G_M41739_IG51: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG52: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] vmovaps xmm1, xmm0 vmovsd qword ptr [r14+16], xmm1 mov rdi, 0xD1FFAB1E vxorps xmm1, xmm1 vcvtsi2sd xmm1, dword ptr [rdi] vmovaps xmm2, xmm1 vmovsd qword ptr [r14+24], xmm2 vdivsd xmm0, xmm0, xmm1 vmovaps xmm1, xmm0 vmovsd qword ptr [r14+32], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG53 je SHORT G_M41739_IG54 ;; bbWeight=1 PerfScore 29.33 G_M41739_IG53: ; gcrefRegs=00008000 {r15}, byrefRegs=00000000 {}, byref ; gcrRegs -[r14] mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG54: ; gcrefRegs=00008000 {r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm1, qword ptr [rbp-58H] vucomisd xmm1, qword ptr [rdi] jp SHORT G_M41739_IG55 je SHORT G_M41739_IG56 ;; bbWeight=1 PerfScore 6.25 G_M41739_IG55: ; gcrefRegs=00008000 {r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG56: ; gcrefRegs=00008000 {r15}, byrefRegs=00000000 {}, byref, isz vmovsd xmm0, qword ptr [r15+8] vxorps xmm1, xmm1 vcvtsi2sd xmm1, dword ptr [r15+40] vdivsd xmm0, xmm0, xmm1 vmovsd qword ptr [r15+32], xmm0 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG57 je SHORT G_M41739_IG58 ;; bbWeight=1 PerfScore 27.08 G_M41739_IG57: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref ; gcrRegs -[r15] mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG58: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz call hackishModuleName:hackishMethodName() test ebx, ebx je SHORT G_M41739_IG61 ;; bbWeight=1 PerfScore 2.25 G_M41739_IG59: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] mov eax, 100 ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG60: ; , epilog, nogc, extend add rsp, 72 pop rbx pop r14 pop r15 pop rbp ret ;; bbWeight=0.50 PerfScore 1.62 G_M41739_IG61: ; gcVars= {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] mov eax, 1 ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG62: ; , epilog, nogc, extend add rsp, 72 pop rbx pop r14 pop r15 pop rbp ret ;; bbWeight=0.50 PerfScore 1.62 RWD00 dq 3C32725DD1D243ACh ; 1e-18 RWD08 dq 3FD5555555555555h ; 0.333333333 RWD16 dq 3FF0000000000000h ; 1 ; Total bytes of code 2118, prolog size 39, PerfScore 728.22, instruction count 420, allocated bytes for code 2223 (MethodHash=ee0d5cf4) for method ConvR8test:Main():int ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Version : 1 Flags : 0x00 SizeOfProlog : 0x0A CountOfUnwindCodes: 5 FrameRegister : none (0) FrameOffset : N/A (no FrameRegister) (Value=0) UnwindCodes : CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 8 * 8 + 8 = 72 = 0x48 CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3) CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r14 (14) CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r15 (15) CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
Changed text
Open file
; Assembly listing for method ConvR8test:Main():int ; 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; 6 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ; V00 loc0 [V00,T00] ( 30, 16 ) bool -> rbx ; V01 loc1 [V01,T02] ( 13, 13 ) ref -> r14 class-hnd exact single-def ; V02 loc2 [V02,T01] ( 14, 14 ) struct (40) [rbp-40H] do-not-enreg[SF] must-init ld-addr-op ; V03 loc3 [V03,T03] ( 13, 13 ) ref -> r15 class-hnd exact single-def ;# 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" ; V06 tmp2 [V06,T07] ( 2, 4 ) double -> mm1 "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,T09] ( 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,T11] ( 2, 4 ) double -> mm2 "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,T13] ( 2, 4 ) double -> mm1 "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,T15] ( 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,T17] ( 2, 4 ) double -> mm2 "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,T19] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V19 cse1 [V19,T20] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V20 cse2 [V20,T21] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V21 cse3 [V21,T22] ( 3, 3 ) double -> mm1 "CSE - aggressive" ; V22 cse4 [V22,T23] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V23 cse5 [V23,T24] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V24 cse6 [V24,T25] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V25 cse7 [V25,T26] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V26 cse8 [V26,T27] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V27 cse9 [V27,T28] ( 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" ; V30 cse12 [V30,T30] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V31 cse13 [V31,T31] ( 3, 3 ) double -> mm1 "CSE - aggressive" ; V32 cse14 [V32,T32] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V33 cse15 [V33,T33] ( 3, 3 ) double -> mm1 "CSE - aggressive" ; V34 cse16 [V34,T34] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V35 cse17 [V35,T35] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V36 cse18 [V36,T36] ( 3, 3 ) double -> mm1 "CSE - aggressive" ; V37 cse19 [V37,T37] ( 3, 3 ) double -> mm0 "CSE - aggressive" ; V38 cse20 [V38,T38] ( 3, 3 ) double -> mm1 "CSE - aggressive" ; V39 cse21 [V39,T39] ( 3, 3 ) double -> mm1 "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" ; ; Lcl frame size = 56 G_M41739_IG01: ; gcVars= {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref, nogc <-- Prolog IG push rbp push r15 push r14 push rbx sub rsp, 56 vzeroupper lea rbp, [rsp+50H] vxorps xmm8, xmm8 vmovdqa xmmword ptr [rbp-40H], xmm8 vmovdqa xmmword ptr [rbp-30H], xmm8 xor eax, eax mov qword ptr [rbp-20H], rax ;; bbWeight=1 PerfScore 9.33 G_M41739_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz mov ebx, 1 mov rdi, 0xD1FFAB1E ; System.Double[] mov esi, 3 call CORINFO_HELP_NEWARR_1_VC ; gcrRegs +[rax] mov r14, rax ; gcrRegs +[r14] mov rdi, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov r15, rax ; gcrRegs +[r15] mov rax, 0xD1FFAB1E ; gcrRegs -[rax] mov qword ptr [r15+8], rax mov rax, 0xD1FFAB1E mov qword ptr [r15+16], rax mov dword ptr [r15+40], 3 mov rax, 0xD1FFAB1E mov qword ptr [r15+24], rax call hackishModuleName:hackishMethodName() mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] mov rdi, 0xD1FFAB1E mov esi, 3 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vaddsd xmm1, xmm0, qword ptr [rdi] vucomisd xmm1, xmm0 jp SHORT G_M41739_IG03 je SHORT G_M41739_IG04 ;; bbWeight=1 PerfScore 25.50 G_M41739_IG03: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG04: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vaddsd xmm1, xmm0, qword ptr [rdi] vucomisd xmm1, xmm0 jp SHORT G_M41739_IG05 je SHORT G_M41739_IG06 ;; bbWeight=1 PerfScore 11.50 G_M41739_IG05: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG06: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call ConvR8test:doubleadd():double mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG07 je SHORT G_M41739_IG08 ;; bbWeight=1 PerfScore 5.25 G_M41739_IG07: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG08: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vaddsd xmm1, xmm0, qword ptr [rdi] vucomisd xmm1, xmm0 jp SHORT G_M41739_IG09 je SHORT G_M41739_IG10 ;; bbWeight=1 PerfScore 11.50 G_M41739_IG09: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG10: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] vmovaps xmm1, xmm0 vmovsd qword ptr [r14+16], xmm1 mov rdi, 0xD1FFAB1E vmovsd xmm1, qword ptr [rdi] vmovaps xmm2, xmm1 vmovsd qword ptr [r14+24], xmm2 vaddsd xmm0, xmm0, xmm1 vmovaps xmm1, xmm0 vmovsd qword ptr [r14+32], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG11 je SHORT G_M41739_IG12 ;; bbWeight=1 PerfScore 14.00 G_M41739_IG11: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG12: ; 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 [rbp-40H] vmovsd qword ptr [rbp-48H], xmm0 vmovsd xmm1, qword ptr [reloc @RWD00] vmovsd qword ptr [rbp-20H], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG13 je SHORT G_M41739_IG14 ;; bbWeight=1 PerfScore 14.25 G_M41739_IG13: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG14: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz vmovsd xmm1, qword ptr [r15+8] vaddsd xmm1, xmm1, qword ptr [r15+16] vmovsd qword ptr [r15+32], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm1, qword ptr [rdi] jp SHORT G_M41739_IG15 je SHORT G_M41739_IG16 ;; bbWeight=1 PerfScore 12.75 G_M41739_IG15: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG16: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call hackishModuleName:hackishMethodName() mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vsubsd xmm1, xmm0, qword ptr [rdi] vucomisd xmm1, xmm0 jp SHORT G_M41739_IG17 je SHORT G_M41739_IG18 ;; bbWeight=1 PerfScore 15.75 G_M41739_IG17: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG18: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vsubsd xmm1, xmm0, qword ptr [rdi] vucomisd xmm1, xmm0 jp SHORT G_M41739_IG19 je SHORT G_M41739_IG20 ;; bbWeight=1 PerfScore 11.50 G_M41739_IG19: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG20: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call ConvR8test:doublesub():double mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG21 je SHORT G_M41739_IG22 ;; bbWeight=1 PerfScore 5.25 G_M41739_IG21: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG22: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vsubsd xmm1, xmm0, qword ptr [rdi] vucomisd xmm1, xmm0 jp SHORT G_M41739_IG23 je SHORT G_M41739_IG24 ;; bbWeight=1 PerfScore 11.50 G_M41739_IG23: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG24: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] vmovaps xmm1, xmm0 vmovsd qword ptr [r14+16], xmm1 mov rdi, 0xD1FFAB1E vmovsd xmm1, qword ptr [rdi] vmovaps xmm2, xmm1 vmovsd qword ptr [r14+24], xmm2 vsubsd xmm0, xmm0, xmm1 vmovaps xmm1, xmm0 vmovsd qword ptr [r14+32], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG25 je SHORT G_M41739_IG26 ;; bbWeight=1 PerfScore 14.00 G_M41739_IG25: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 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 vmovsd xmm0, qword ptr [rbp-48H] vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG27 je SHORT G_M41739_IG28 ;; bbWeight=1 PerfScore 13.75 G_M41739_IG27: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG28: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz vmovsd xmm1, qword ptr [r15+8] vsubsd xmm1, xmm1, qword ptr [r15+16] vmovsd qword ptr [r15+32], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm1, qword ptr [rdi] jp SHORT G_M41739_IG29 je SHORT G_M41739_IG30 ;; bbWeight=1 PerfScore 12.75 G_M41739_IG29: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG30: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call hackishModuleName:hackishMethodName() mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] mov rdi, 0xD1FFAB1E vxorps xmm0, xmm0 vcvtsi2sd xmm0, dword ptr [rdi] mov rdi, 0xD1FFAB1E vmulsd xmm0, xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG31 je SHORT G_M41739_IG32 ;; bbWeight=1 PerfScore 23.33 G_M41739_IG31: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG32: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vxorps xmm0, xmm0 vcvtsi2sd xmm0, dword ptr [rdi] mov rdi, 0xD1FFAB1E vmulsd xmm0, xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG33 je SHORT G_M41739_IG34 ;; bbWeight=1 PerfScore 19.08 G_M41739_IG33: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG34: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call ConvR8test:doublemul():double mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG35 je SHORT G_M41739_IG36 ;; bbWeight=1 PerfScore 5.25 G_M41739_IG35: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG36: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vxorps xmm0, xmm0 vcvtsi2sd xmm0, dword ptr [rdi] mov rdi, 0xD1FFAB1E vmulsd xmm0, xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG37 je SHORT G_M41739_IG38 ;; bbWeight=1 PerfScore 19.08 G_M41739_IG37: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG38: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vxorps xmm0, xmm0 vcvtsi2sd xmm0, dword ptr [rdi] vmovaps xmm1, xmm0 vmovsd qword ptr [r14+16], xmm1 mov rdi, 0xD1FFAB1E vmovsd xmm1, qword ptr [rdi] vmovaps xmm2, xmm1 vmovsd qword ptr [r14+24], xmm2 vmulsd xmm0, xmm0, xmm1 vmovaps xmm1, xmm0 vmovsd qword ptr [r14+32], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG39 je SHORT G_M41739_IG40 ;; bbWeight=1 PerfScore 20.33 G_M41739_IG39: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 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 vmovsd xmm0, qword ptr [rbp-48H] vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG41 je SHORT G_M41739_IG42 ;; bbWeight=1 PerfScore 12.25 G_M41739_IG41: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG42: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz vxorps xmm0, xmm0 vcvtsi2sd xmm0, dword ptr [r15+40] vmulsd xmm0, xmm0, qword ptr [r15+24] vmovsd qword ptr [r15+32], xmm0 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG43 je SHORT G_M41739_IG44 ;; bbWeight=1 PerfScore 19.08 G_M41739_IG43: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG44: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call hackishModuleName:hackishMethodName() mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vxorps xmm1, xmm1 vcvtsi2sd xmm1, dword ptr [rdi] vdivsd xmm0, xmm0, xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG45 je SHORT G_M41739_IG46 ;; bbWeight=1 PerfScore 31.33 G_M41739_IG45: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG46: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vxorps xmm1, xmm1 vcvtsi2sd xmm1, dword ptr [rdi] vdivsd xmm0, xmm0, xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG47 je SHORT G_M41739_IG48 ;; bbWeight=1 PerfScore 27.08 G_M41739_IG47: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG48: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz call ConvR8test:doublediv():double mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG49 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 hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG50: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] mov rdi, 0xD1FFAB1E vxorps xmm1, xmm1 vcvtsi2sd xmm1, dword ptr [rdi] vdivsd xmm0, xmm0, xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG51 je SHORT G_M41739_IG52 ;; bbWeight=1 PerfScore 27.08 G_M41739_IG51: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG52: ; gcrefRegs=0000C000 {r14 r15}, byrefRegs=00000000 {}, byref, isz mov rdi, 0xD1FFAB1E vmovsd xmm0, qword ptr [rdi] vmovaps xmm1, xmm0 vmovsd qword ptr [r14+16], xmm1 mov rdi, 0xD1FFAB1E vxorps xmm1, xmm1 vcvtsi2sd xmm1, dword ptr [rdi] vmovaps xmm2, xmm1 vmovsd qword ptr [r14+24], xmm2 vdivsd xmm0, xmm0, xmm1 vmovaps xmm1, xmm0 vmovsd qword ptr [r14+32], xmm1 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG53 je SHORT G_M41739_IG54 ;; bbWeight=1 PerfScore 29.33 G_M41739_IG53: ; gcrefRegs=00008000 {r15}, byrefRegs=00000000 {}, byref ; gcrRegs -[r14] mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG54: ; gcrefRegs=00008000 {r15}, byrefRegs=00000000 {}, byref, isz vmovsd xmm0, qword ptr [reloc @RWD00] vmovsd qword ptr [rbp-40H], xmm0 mov dword ptr [rbp-30H], 3 vmovsd xmm0, qword ptr [reloc @RWD16] vmovsd qword ptr [rbp-20H], xmm0 vmovsd xmm0, qword ptr [rbp-20H] mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG55 je SHORT G_M41739_IG56 ;; bbWeight=1 PerfScore 12.25 G_M41739_IG55: ; gcrefRegs=00008000 {r15}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG56: ; gcrefRegs=00008000 {r15}, byrefRegs=00000000 {}, byref, isz vmovsd xmm0, qword ptr [r15+8] vxorps xmm1, xmm1 vcvtsi2sd xmm1, dword ptr [r15+40] vdivsd xmm0, xmm0, xmm1 vmovsd qword ptr [r15+32], xmm0 mov rdi, 0xD1FFAB1E vucomisd xmm0, qword ptr [rdi] jp SHORT G_M41739_IG57 je SHORT G_M41739_IG58 ;; bbWeight=1 PerfScore 27.08 G_M41739_IG57: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref ; gcrRegs -[r15] mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] xor ebx, ebx ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG58: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz call hackishModuleName:hackishMethodName() test ebx, ebx je SHORT G_M41739_IG61 ;; bbWeight=1 PerfScore 2.25 G_M41739_IG59: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] mov eax, 100 ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG60: ; , epilog, nogc, extend add rsp, 56 pop rbx pop r14 pop r15 pop rbp ret ;; bbWeight=0.50 PerfScore 1.62 G_M41739_IG61: ; gcVars= {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref mov rdi, 0xD1FFAB1E ; string handle mov rdi, gword ptr [rdi] ; gcrRegs +[rdi] call hackishModuleName:hackishMethodName() ; gcrRegs -[rdi] mov eax, 1 ;; bbWeight=0.50 PerfScore 1.75 G_M41739_IG62: ; , epilog, nogc, extend add rsp, 56 pop rbx pop r14 pop r15 pop rbp ret ;; bbWeight=0.50 PerfScore 1.62 RWD00 dq 3FF0000000000000h ; 1 RWD08 dq 3C32725DD1D243ACh ; 1e-18 RWD16 dq 3FD5555555555555h ; 0.333333333 ; Total bytes of code 2229, prolog size 39, PerfScore 759.02, instruction count 436, allocated bytes for code 2346 (MethodHash=ee0d5cf4) for method ConvR8test:Main():int ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Version : 1 Flags : 0x00 SizeOfProlog : 0x0A CountOfUnwindCodes: 5 FrameRegister : none (0) FrameOffset : N/A (no FrameRegister) (Value=0) UnwindCodes : CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 6 * 8 + 8 = 56 = 0x38 CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3) CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r14 (14) CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r15 (15) CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
Find difference