Comparing sensitive data, confidential files or internal emails?

Most legal and privacy policies prohibit uploading sensitive data online. Diffchecker Desktop ensures your confidential information never leaves your computer. Work offline and compare documents securely.

diff

Created Diff never expires
391 removals
353 lines
359 additions
325 lines
; Program+BenchmarkClass.TestLongMultiply()
; Program+BenchmarkClass.TestLongMultiply()
7FFCE12DA070 push r14
7FFC9B991660 push r14
7FFCE12DA072 push rdi
7FFC9B991662 push rdi
7FFCE12DA073 push rsi
7FFC9B991663 push rsi
7FFCE12DA074 push rbp
7FFC9B991664 push rbp
7FFCE12DA075 push rbx
7FFC9B991665 push rbx
7FFCE12DA076 sub rsp,70
7FFC9B991666 sub rsp,80
7FFCE12DA07A vzeroupper
7FFC9B99166D vzeroupper
7FFCE12DA07D vmovaps [rsp+60],xmm6
7FFC9B991670 vmovaps [rsp+70],xmm6
7FFCE12DA084 vmovaps [rsp+50],xmm7
7FFC9B991676 vmovaps [rsp+60],xmm7
7FFCE12DA08B vmovaps [rsp+40],xmm8
7FFC9B99167C vmovaps [rsp+50],xmm8
7FFCE12DA092 vmovaps [rsp+30],xmm9
7FFC9B991682 vmovaps [rsp+40],xmm9
7FFCE12DA099 vmovaps [rsp+20],xmm10
7FFC9B991688 vmovaps [rsp+30],xmm10
7FFCE12DA0A0 mov rsi,[rcx+8]
7FFC9B99168E vmovaps [rsp+20],xmm11
7FFCE12DA0A4 mov rcx,2132FB09F38
7FFC9B991694 mov rsi,[rcx+8]
7FFCE12DA0AE mov rcx,[rcx]
7FFC9B991698 mov rcx,7FFC9B91FAB0
7FFCE12DA0B1 mov rcx,[rcx+8]
7FFC9B9916A2 mov edx,2
7FFCE12DA0B5 call Fixed.op_Explicit(Fixed)
7FFC9B9916A7 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
7FFCE12DA0BA vsqrtsd xmm0,xmm0,xmm0
7FFC9B9916AC mov rcx,1E098008B70
7FFCE12DA0BF call System.Math.Floor(Double)
7FFC9B9916B6 mov rcx,[rcx]
7FFCE12DA0C4 vmovaps xmm6,xmm0
7FFC9B9916B9 mov rcx,[rcx+8]
7FFCE12DA0C9 vcvttsd2si rax,xmm6
7FFC9B9916BD call Fixed.op_Explicit(Fixed)
7FFCE12DA0CE cmp rax,989680
7FFC9B9916C2 vsqrtsd xmm0,xmm0,xmm0
7FFCE12DA0D4 jge short M00_L00
7FFC9B9916C6 vroundsd xmm6,xmm0,xmm0,9
7FFCE12DA0D6 jmp short M00_L01
7FFC9B9916CC vcvttsd2si rdi,xmm6
7FFC9B9916D1 cmp rdi,989680
7FFC9B9916D8 jge short M00_L00
7FFC9B9916DA jmp short M00_L01
M00_L00:
M00_L00:
7FFCE12DA0D8 mov eax,989680
7FFC9B9916DC mov edi,989680
M00_L01:
M00_L01:
7FFCE12DA0DD mov rdi,rax
7FFC9B9916E1 mov ebx,1
7FFCE12DA0E0 mov ebx,1
7FFC9B9916E6 xor ebp,ebp
7FFCE12DA0E5 xor ebp,ebp
7FFC9B9916E8 mov r14d,[rsi+8]
7FFCE12DA0E7 mov r14d,[rsi+8]
7FFC9B9916EC test r14d,r14d
7FFCE12DA0EB test r14d,r14d
7FFC9B9916EF jle near ptr M00_L03
7FFCE12DA0EE jle near ptr M00_L03
7FFC9B9916F5 vmovsd xmm7,qword ptr [7FFC9B991990]
7FFC9B9916FD vmovsd xmm8,qword ptr [7FFC9B991998]
7FFC9B991705 vmovsd xmm9,qword ptr [7FFC9B9919A0]
M00_L02:
M00_L02:
7FFCE12DA0F4 movsxd rax,ebp
7FFC9B99170D movsxd rax,ebp
7FFCE12DA0F7 vmovsd xmm0,qword ptr [rsi+rax*8+10]
7FFC9B991710 vmulsd xmm0,xmm7,qword ptr [rsi+rax*8+10]
7FFCE12DA0FE vmulsd xmm0,xmm0,qword ptr [7FFCE12DA3E8]
7FFC9B991716 vsubsd xmm0,xmm0,qword ptr [7FFC9B9919A8]
7FFCE12DA107 vsubsd xmm0,xmm0,qword ptr [7FFCE12DA3F0]
7FFC9B99171E vmulsd xmm0,xmm0,xmm6
7FFCE12DA110 vmulsd xmm0,xmm0,xmm6
7FFC9B991722 vmovaps xmm1,xmm0
7FFCE12DA115 vmovaps xmm1,xmm0
7FFC9B991726 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA11A call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B99172B and eax,ebx
7FFCE12DA11F movzx eax,al
7FFC9B99172D movzx ebx,al
7FFCE12DA122 and eax,ebx
7FFC9B991730 inc ebp
7FFCE12DA124 movzx ebx,al
7FFC9B991732 vxorps xmm10,xmm10,xmm10
7FFCE12DA127 inc ebp
7FFC9B991737 vcvtsi2sd xmm10,xmm10,ebp
7FFCE12DA129 vxorps xmm7,xmm7,xmm7
7FFC9B99173B vdivsd xmm11,xmm8,xmm10
7FFCE12DA12E vcvtsi2sd xmm7,xmm7,ebp
7FFC9B991740 vmovaps xmm0,xmm11
7FFCE12DA133 vmovsd xmm0,qword ptr [7FFCE12DA3F8]
7FFC9B991745 vmovaps xmm1,xmm11
7FFCE12DA13C vmovaps xmm8,xmm0
7FFC9B99174A call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA141 vdivsd xmm8,xmm8,xmm7
7FFC9B99174F and eax,ebx
7FFCE12DA146 vmovaps xmm0,xmm8
7FFC9B991751 movzx ebx,al
7FFCE12DA14B vmovaps xmm1,xmm8
7FFC9B991754 vmovaps xmm0,xmm11
7FFCE12DA150 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B991759 vdivsd xmm10,xmm9,xmm10
7FFCE12DA155 movzx eax,al
7FFC9B99175E vmovaps xmm1,xmm10
7FFCE12DA158 and eax,ebx
7FFC9B991763 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA15A movzx ebx,al
7FFC9B991768 and eax,ebx
7FFCE12DA15D vmovaps xmm0,xmm8
7FFC9B99176A movzx ebx,al
7FFCE12DA162 vmovsd xmm1,qword ptr [7FFCE12DA400]
7FFC9B99176D vmovaps xmm0,xmm10
7FFCE12DA16B vmovaps xmm9,xmm1
7FFC9B991772 vmovaps xmm1,xmm11
7FFCE12DA170 vdivsd xmm9,xmm9,xmm7
7FFC9B991777 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA175 vmovaps xmm1,xmm9
7FFC9B99177C and eax,ebx
7FFCE12DA17A call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B99177E movzx ebx,al
7FFCE12DA17F movzx eax,al
7FFC9B991781 vmovaps xmm0,xmm10
7FFCE12DA182 and eax,ebx
7FFC9B991786 vmovaps xmm1,xmm10
7FFCE12DA184 movzx ebx,al
7FFC9B99178B call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA187 vmovaps xmm0,xmm9
7FFC9B991790 and eax,ebx
7FFCE12DA18C vmovaps xmm1,xmm8
7FFC9B991792 movzx ebx,al
7FFCE12DA191 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B991795 cmp r14d,ebp
7FFCE12DA196 movzx eax,al
7FFC9B991798 jg near ptr M00_L02
7FFCE12DA199 and eax,ebx
7FFCE12DA19B movzx ebx,al
7FFCE12DA19E vmovaps xmm0,xmm9
7FFCE12DA1A3 vmovaps xmm1,xmm9
7FFCE12DA1A8 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA1AD movzx eax,al
7FFCE12DA1B0 and eax,ebx
7FFCE12DA1B2 movzx ebx,al
7FFCE12DA1B5 cmp r14d,ebp
7FFCE12DA1B8 jg near ptr M00_L02
M00_L03:
M00_L03:
7FFCE12DA1BE xor esi,esi
7FFC9B99179E xor ebp,ebp
7FFCE12DA1C0 test rdi,rdi
7FFC9B9917A0 test rdi,rdi
7FFCE12DA1C3 jle near ptr M00_L05
7FFC9B9917A3 jle short M00_L05
M00_L04:
M00_L04:
7FFCE12DA1C9 vxorps xmm7,xmm7,xmm7
7FFC9B9917A5 vxorps xmm7,xmm7,xmm7
7FFCE12DA1CE vcvtsi2sd xmm7,xmm7,esi
7FFC9B9917A9 vcvtsi2sd xmm7,xmm7,ebp
7FFCE12DA1D3 vmovaps xmm0,xmm7
7FFC9B9917AD vmovaps xmm0,xmm7
7FFCE12DA1D8 vmovaps xmm1,xmm7
7FFC9B9917B1 vmovaps xmm1,xmm7
7FFCE12DA1DD call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B9917B5 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA1E2 movzx eax,al
7FFC9B9917BA and eax,ebx
7FFCE12DA1E5 and eax,ebx
7FFC9B9917BC movzx ebx,al
7FFCE12DA1E7 movzx ebx,al
7FFC9B9917BF mov eax,ebp
7FFCE12DA1EA mov eax,esi
7FFC9B9917C1 neg eax
7FFCE12DA1EC neg eax
7FFC9B9917C3 vxorps xmm8,xmm8,xmm8
7FFCE12DA1EE vxorps xmm8,xmm8,xmm8
7FFC9B9917C8 vcvtsi2sd xmm8,xmm8,eax
7FFCE12DA1F3 vcvtsi2sd xmm8,xmm8,eax
7FFC9B9917CC vmovaps xmm1,xmm8
7FFCE12DA1F8 vmovaps xmm1,xmm8
7FFC9B9917D1 vmovaps xmm0,xmm7
7FFCE12DA1FD vmovaps xmm0,xmm7
7FFC9B9917D5 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA202 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B9917DA and eax,ebx
7FFCE12DA207 movzx eax,al
7FFC9B9917DC movzx ebx,al
7FFCE12DA20A and eax,ebx
7FFC9B9917DF vmovaps xmm0,xmm8
7FFCE12DA20C movzx ebx,al
7FFC9B9917E4 vmovaps xmm1,xmm7
7FFCE12DA20F vmovaps xmm0,xmm8
7FFC9B9917E8 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA214 vmovaps xmm1,xmm7
7FFC9B9917ED and eax,ebx
7FFCE12DA219 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B9917EF movzx ebx,al
7FFCE12DA21E movzx eax,al
7FFC9B9917F2 vmovaps xmm0,xmm8
7FFCE12DA221 and eax,ebx
7FFC9B9917F7 vmovaps xmm1,xmm8
7FFCE12DA223 movzx ebx,al
7FFC9B9917FC call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA226 vmovaps xmm0,xmm8
7FFC9B991801 and eax,ebx
7FFCE12DA22B vmovaps xmm1,xmm8
7FFC9B991803 movzx ebx,al
7FFCE12DA230 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B991806 inc ebp
7FFCE12DA235 movzx eax,al
7FFC9B991808 movsxd rax,ebp
7FFCE12DA238 and eax,ebx
7FFC9B99180B cmp rax,rdi
7FFCE12DA23A movzx ebx,al
7FFC9B99180E jl short M00_L04
7FFCE12DA23D inc esi
7FFCE12DA23F movsxd rax,esi
7FFCE12DA242 cmp rax,rdi
7FFCE12DA245 jl short M00_L04
M00_L05:
M00_L05:
7FFCE12DA247 xor esi,esi
7FFC9B991810 xor esi,esi
7FFCE12DA249 test rdi,rdi
7FFC9B991812 test rdi,rdi
7FFCE12DA24C jle near ptr M00_L07
7FFC9B991815 jle near ptr M00_L07
M00_L06:
M00_L06:
7FFCE12DA252 vxorps xmm0,xmm0,xmm0
7FFC9B99181B vxorps xmm0,xmm0,xmm0
7FFCE12DA257 vcvtsi2sd xmm0,xmm0,esi
7FFC9B99181F vcvtsi2sd xmm0,xmm0,esi
7FFCE12DA25C vmovaps xmm7,xmm0
7FFC9B991823 vmovaps xmm7,xmm0
7FFCE12DA261 vmovaps xmm8,xmm6
7FFC9B991827 vsubsd xmm8,xmm6,xmm0
7FFCE12DA266 vsubsd xmm8,xmm8,xmm0
7FFC9B99182B vmovaps xmm0,xmm7
7FFCE12DA26B vmovaps xmm0,xmm7
7FFC9B99182F vmovaps xmm1,xmm7
7FFCE12DA270 vmovaps xmm1,xmm7
7FFC9B991833 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA275 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B991838 and eax,ebx
7FFCE12DA27A movzx eax,al
7FFC9B99183A movzx ebx,al
7FFCE12DA27D and eax,ebx
7FFC9B99183D vxorps xmm9,xmm7,[7FFC9B9919B0]
7FFCE12DA27F movzx ebx,al
7FFC9B991845 vmovaps xmm1,xmm9
7FFCE12DA282 vmovaps xmm9,xmm7
7FFC9B99184A vmovaps xmm0,xmm7
7FFCE12DA287 vmovsd xmm1,qword ptr [7FFCE12DA408]
7FFC9B99184E call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA290 vxorps xmm9,xmm9,xmm1
7FFC9B991853 and eax,ebx
7FFCE12DA295 vmovaps xmm1,xmm9
7FFC9B991855 movzx ebx,al
7FFCE12DA29A vmovaps xmm0,xmm7
7FFC9B991858 vmovaps xmm0,xmm9
7FFCE12DA29F call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B99185D vmovaps xmm1,xmm7
7FFCE12DA2A4 movzx eax,al
7FFC9B991861 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA2A7 and eax,ebx
7FFC9B991866 and eax,ebx
7FFCE12DA2A9 movzx ebx,al
7FFC9B991868 movzx ebx,al
7FFCE12DA2AC vmovaps xmm0,xmm9
7FFC9B99186B vmovaps xmm0,xmm9
7FFCE12DA2B1 vmovaps xmm1,xmm7
7FFC9B991870 vmovaps xmm1,xmm9
7FFCE12DA2B6 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B991875 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA2BB movzx eax,al
7FFC9B99187A and eax,ebx
7FFCE12DA2BE and eax,ebx
7FFC9B99187C movzx ebx,al
7FFCE12DA2C0 movzx ebx,al
7FFC9B99187F vmovaps xmm0,xmm8
7FFCE12DA2C3 vmovaps xmm0,xmm9
7FFC9B991884 vmovaps xmm1,xmm8
7FFCE12DA2C8 vmovaps xmm1,xmm9
7FFC9B991889 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA2CD call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B99188E and eax,ebx
7FFCE12DA2D2 movzx eax,al
7FFC9B991890 movzx ebx,al
7FFCE12DA2D5 and eax,ebx
7FFC9B991893 vxorps xmm10,xmm8,[7FFC9B9919B0]
7FFCE12DA2D7 movzx ebx,al
7FFC9B99189B vmovaps xmm1,xmm10
7FFCE12DA2DA vmovaps xmm0,xmm8
7FFC9B9918A0 vmovaps xmm0,xmm8
7FFCE12DA2DF vmovaps xmm1,xmm8
7FFC9B9918A5 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA2E4 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B9918AA and eax,ebx
7FFCE12DA2E9 movzx eax,al
7FFC9B9918AC movzx ebx,al
7FFCE12DA2EC and eax,ebx
7FFC9B9918AF vmovaps xmm0,xmm10
7FFCE12DA2EE movzx ebx,al
7FFC9B9918B4 vmovaps xmm1,xmm8
7FFCE12DA2F1 vmovaps xmm10,xmm8
7FFC9B9918B9 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA2F6 vmovsd xmm1,qword ptr [7FFCE12DA408]
7FFC9B9918BE and eax,ebx
7FFCE12DA2FF vxorps xmm10,xmm10,xmm1
7FFC9B9918C0 movzx ebx,al
7FFCE12DA304 vmovaps xmm1,xmm10
7FFC9B9918C3 vmovaps xmm0,xmm10
7FFCE12DA309 vmovaps xmm0,xmm8
7FFC9B9918C8 vmovaps xmm1,xmm10
7FFCE12DA30E call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B9918CD call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA313 movzx eax,al
7FFC9B9918D2 and eax,ebx
7FFCE12DA316 and eax,ebx
7FFC9B9918D4 movzx ebx,al
7FFCE12DA318 movzx ebx,al
7FFC9B9918D7 vmovaps xmm0,xmm7
7FFCE12DA31B vmovaps xmm0,xmm10
7FFC9B9918DB vmovaps xmm1,xmm8
7FFCE12DA320 vmovaps xmm1,xmm8
7FFC9B9918E0 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA325 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B9918E5 and eax,ebx
7FFCE12DA32A movzx eax,al
7FFC9B9918E7 movzx ebx,al
7FFCE12DA32D and eax,ebx
7FFC9B9918EA vmovaps xmm0,xmm9
7FFCE12DA32F movzx ebx,al
7FFC9B9918EF vmovaps xmm1,xmm8
7FFCE12DA332 vmovaps xmm0,xmm10
7FFC9B9918F4 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA337 vmovaps xmm1,xmm10
7FFC9B9918F9 and eax,ebx
7FFCE12DA33C call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B9918FB movzx ebx,al
7FFCE12DA341 movzx eax,al
7FFC9B9918FE vmovaps xmm1,xmm10
7FFCE12DA344 and eax,ebx
7FFC9B991903 vmovaps xmm0,xmm7
7FFCE12DA346 movzx ebx,al
7FFC9B991907 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA349 vmovaps xmm0,xmm7
7FFC9B99190C and eax,ebx
7FFCE12DA34E vmovaps xmm1,xmm8
7FFC9B99190E movzx ebx,al
7FFCE12DA353 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B991911 vmovaps xmm0,xmm9
7FFCE12DA358 movzx eax,al
7FFC9B991916 vmovaps xmm1,xmm10
7FFCE12DA35B and eax,ebx
7FFC9B99191B call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA35D movzx ebx,al
7FFC9B991920 and eax,ebx
7FFCE12DA360 vmovaps xmm0,xmm9
7FFC9B991922 movzx ebx,al
7FFCE12DA365 vmovaps xmm1,xmm8
7FFC9B991925 inc esi
7FFCE12DA36A call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B991927 movsxd rax,esi
7FFCE12DA36F movzx eax,al
7FFC9B99192A cmp rax,rdi
7FFCE12DA372 and eax,ebx
7FFC9B99192D jl near ptr M00_L06
7FFCE12DA374 movzx ebx,al
7FFCE12DA377 vmovaps xmm1,xmm10
7FFCE12DA37C vmovaps xmm0,xmm7
7FFCE12DA381 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA386 movzx eax,al
7FFCE12DA389 and eax,ebx
7FFCE12DA38B movzx ebx,al
7FFCE12DA38E vmovaps xmm0,xmm9
7FFCE12DA393 vmovaps xmm1,xmm10
7FFCE12DA398 call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA39D movzx eax,al
7FFCE12DA3A0 and eax,ebx
7FFCE12DA3A2 movzx ebx,al
7FFCE12DA3A5 inc esi
7FFCE12DA3A7 movsxd rax,esi
7FFCE12DA3AA cmp rax,rdi
7FFCE12DA3AD jl near ptr M00_L06
M00_L07:
M00_L07:
7FFCE12DA3B3 mov eax,ebx
7FFC9B991933 mov eax,ebx
7FFCE12DA3B5 vmovaps xmm6,[rsp+60]
7FFC9B991935 vmovaps xmm6,[rsp+70]
7FFCE12DA3BC vmovaps xmm7,[rsp+50]
7FFC9B99193B vmovaps xmm7,[rsp+60]
7FFCE12DA3C3 vmovaps xmm8,[rsp+40]
7FFC9B991941 vmovaps xmm8,[rsp+50]
7FFCE12DA3CA vmovaps xmm9,[rsp+30]
7FFC9B991947 vmovaps xmm9,[rsp+40]
7FFCE12DA3D1 vmovaps xmm10,[rsp+20]
7FFC9B99194D vmovaps xmm10,[rsp+30]
7FFCE12DA3D8 add rsp,70
7FFC9B991953 vmovaps xmm11,[rsp+20]
7FFCE12DA3DC pop rbx
7FFC9B991959 add rsp,80
7FFCE12DA3DD pop rbp
7FFC9B991960 pop rbx
7FFCE12DA3DE pop rsi
7FFC9B991961 pop rbp
7FFCE12DA3DF pop rdi
7FFC9B991962 pop rsi
7FFCE12DA3E0 pop r14
7FFC9B991963 pop rdi
7FFCE12DA3E2 ret
7FFC9B991964 pop r14
; Total bytes of code 883
7FFC9B991966 ret
; Total bytes of code 775


; Fixed.op_Explicit(Fixed)
; Fixed.op_Explicit(Fixed)
7FFCE12DA440 vzeroupper
7FFC9B991BD0 vzeroupper
7FFCE12DA443 mov rax,rcx
7FFC9B991BD3 mov rax,rcx
7FFCE12DA446 sar rax,10
7FFC9B991BD6 sar rax,10
7FFCE12DA44A vxorps xmm0,xmm0,xmm0
7FFC9B991BDA vxorps xmm0,xmm0,xmm0
7FFCE12DA44F vcvtsi2sd xmm0,xmm0,rax
7FFC9B991BDE vcvtsi2sd xmm0,xmm0,rax
7FFCE12DA454 and rcx,0FFFF
7FFC9B991BE3 and rcx,0FFFF
7FFCE12DA45B vxorps xmm1,xmm1,xmm1
7FFC9B991BEA vxorps xmm1,xmm1,xmm1
7FFCE12DA460 vcvtsi2sd xmm1,xmm1,rcx
7FFC9B991BEE vcvtsi2sd xmm1,xmm1,rcx
7FFCE12DA465 vdivsd xmm1,xmm1,[7FFCE12DA478]
7FFC9B991BF3 vmulsd xmm1,xmm1,qword ptr [7FFC9B991C08]
7FFCE12DA46E vaddsd xmm0,xmm0,xmm1
7FFC9B991BFB vaddsd xmm0,xmm0,xmm1
7FFCE12DA473 ret
7FFC9B991BFF ret
; Total bytes of code 52
; Total bytes of code 48


; Program+BenchmarkClass.TestLongMultiply(Double, Double)
; Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA490 push rdi
7FFC9B991C20 push rdi
7FFCE12DA491 push rsi
7FFC9B991C21 push rsi
7FFCE12DA492 push rbx
7FFC9B991C22 push rbx
7FFCE12DA493 sub rsp,30
7FFC9B991C23 sub rsp,30
7FFCE12DA497 vzeroupper
7FFC9B991C27 vzeroupper
7FFCE12DA49A vmovaps [rsp+20],xmm6
7FFC9B991C2A vmovaps [rsp+20],xmm6
7FFCE12DA4A1 vmovsd qword ptr [rsp+58],xmm1
7FFC9B991C30 vmovsd qword ptr [rsp+58],xmm1
7FFCE12DA4A8 call Fixed.op_Implicit(Double)
7FFC9B991C36 call Fixed.op_Implicit(Double)
7FFCE12DA4AD mov rsi,rax
7FFC9B991C3B mov rsi,rax
7FFCE12DA4B0 vmovsd xmm0,qword ptr [rsp+58]
7FFC9B991C3E vmovsd xmm0,qword ptr [rsp+58]
7FFCE12DA4B7 call Fixed.op_Implicit(Double)
7FFC9B991C44 call Fixed.op_Implicit(Double)
7FFCE12DA4BC mov rdi,rax
7FFC9B991C49 mov rdi,rax
7FFCE12DA4BF mov rcx,rsi
7FFC9B991C4C mov rcx,rsi
7FFCE12DA4C2 mov rdx,rdi
7FFC9B991C4F mov rdx,rdi
7FFCE12DA4C5 call Fixed.LongMultiply(Fixed, Fixed)
7FFC9B991C52 call Fixed.LongMultiply(Fixed, Fixed)
7FFCE12DA4CA mov rbx,rax
7FFC9B991C57 mov rbx,rax
7FFCE12DA4CD mov rcx,rsi
7FFC9B991C5A mov rcx,rsi
7FFCE12DA4D0 call Fixed.op_Explicit(Fixed)
7FFC9B991C5D call Fixed.op_Explicit(Fixed)
7FFCE12DA4D5 vmovsd xmm6,xmm0,xmm0
7FFC9B991C62 vmovaps xmm6,xmm0
7FFCE12DA4DA mov rcx,rdi
7FFC9B991C66 mov rcx,rdi
7FFCE12DA4DD call Fixed.op_Explicit(Fixed)
7FFC9B991C69 call Fixed.op_Explicit(Fixed)
7FFCE12DA4E2 vmulsd xmm6,xmm6,xmm0
7FFC9B991C6E vmulsd xmm6,xmm6,xmm0
7FFCE12DA4E7 mov rcx,rbx
7FFC9B991C72 mov rcx,rbx
7FFCE12DA4EA call Fixed.op_Explicit(Fixed)
7FFC9B991C75 call Fixed.op_Explicit(Fixed)
7FFCE12DA4EF vsubsd xmm0,xmm0,xmm6
7FFC9B991C7A vsubsd xmm6,xmm0,xmm6
7FFCE12DA4F4 vmovaps xmm6,xmm0
7FFC9B991C7E vandps xmm6,xmm6,[7FFC9B991CD0]
7FFCE12DA4F9 vmovsd xmm1,qword ptr [7FFCE12DA540]
7FFC9B991C86 mov ecx,4000000
7FFCE12DA502 vandps xmm6,xmm6,xmm1
7FFC9B991C8B call Fixed.op_Explicit(Fixed)
7FFCE12DA507 mov ecx,4000000
7FFC9B991C90 vucomisd xmm6,xmm0
7FFCE12DA50C call Fixed.op_Explicit(Fixed)
7FFC9B991C94 jbe short M02_L00
7FFCE12DA511 vucomisd xmm6,xmm0
7FFC9B991C96 xor eax,eax
7FFCE12DA516 jbe short M02_L00
7FFC9B991C98 vmovaps xmm6,[rsp+20]
7FFCE12DA518 xor eax,eax
7FFC9B991C9E add rsp,30
7FFCE12DA51A vmovaps xmm6,[rsp+20]
7FFC9B991CA2 pop rbx
7FFCE12DA521 add rsp,30
7FFC9B991CA3 pop rsi
7FFCE12DA525 pop rbx
7FFC9B991CA4 pop rdi
7FFCE12DA526 pop rsi
7FFC9B991CA5 ret
7FFCE12DA527 pop rdi
7FFCE12DA528 ret
M02_L00:
M02_L00:
7FFCE12DA529 mov eax,1
7FFC9B991CA6 mov eax,1
7FFCE12DA52E vmovaps xmm6,[rsp+20]
7FFC9B991CAB vmovaps xmm6,[rsp+20]
7FFCE12DA535 add rsp,30
7FFC9B991CB1 add rsp,30
7FFCE12DA539 pop rbx
7FFC9B991CB5 pop rbx
7FFCE12DA53A pop rsi
7FFC9B991CB6 pop rsi
7FFCE12DA53B pop rdi
7FFC9B991CB7 pop rdi
7FFCE12DA53C ret
7FFC9B991CB8 ret
; Total bytes of code 173
; Total bytes of code 153


; Fixed.op_Implicit(Double)
; Fixed.op_Implicit(Double)
7FFCE12D9FE0 vmovsd qword ptr [rsp+8],xmm0
7FFC9B991B40 vmovsd qword ptr [rsp+8],xmm0
7FFCE12D9FE7 mov rax,[rsp+8]
7FFC9B991B46 mov rax,[rsp+8]
7FFCE12D9FEC mov rcx,0FFFFFFFFFFFF
7FFC9B991B4B mov rdx,0FFFFFFFFFFFF
7FFCE12D9FF6 and rcx,rax
7FFC9B991B55 and rdx,rax
7FFCE12D9FF9 mov rdx,0
7FFC9B991B58 mov r8,0
7FFCE12DA003 or rdx,rcx
7FFC9B991B62 or rdx,r8
7FFCE12DA006 mov rcx,rax
7FFC9B991B65 mov rcx,rax
7FFCE12DA009 shr rcx,34
7FFC9B991B68 shr rcx,34
7FFCE12DA00D and ecx,7FF
7FFC9B991B6C and ecx,7FF
7FFCE12DA013 add ecx,0FFFFFC01
7FFC9B991B72 add ecx,0FFFFFC01
7FFCE12DA019 mov r8,0
7FFC9B991B78 mov r8,0
7FFCE12DA023 test r8,rax
7FFC9B991B82 test r8,rax
7FFCE12DA026 je short M03_L00
7FFC9B991B85 je short M03_L00
7FFCE12DA028 neg rdx
7FFC9B991B87 neg rdx
M03_L00:
M03_L00:
7FFCE12DA02B mov eax,ecx
7FFC9B991B8A neg ecx
7FFCE12DA02D neg eax
7FFC9B991B8C add ecx,24
7FFCE12DA02F lea ecx,[rax+24]
7FFC9B991B8F test ecx,ecx
7FFCE12DA032 test ecx,ecx
7FFC9B991B91 jle short M03_L02
7FFCE12DA034 jle short M03_L02
7FFC9B991B93 cmp ecx,40
7FFCE12DA036 cmp ecx,40
7FFC9B991B96 jl short M03_L01
7FFCE12DA039 jl short M03_L01
7FFC9B991B98 xor eax,eax
7FFCE12DA03B xor eax,eax
7FFC9B991B9A ret
7FFCE12DA03D ret
M03_L01:
M03_L01:
7FFCE12DA03E mov rax,rdx
7FFC9B991B9B mov rax,rdx
7FFCE12DA041 sar rax,cl
7FFC9B991B9E sar rax,cl
7FFCE12DA044 ret
7FFC9B991BA1 ret
M03_L02:
M03_L02:
7FFCE12DA045 cmp ecx,0FFFFFFC0
7FFC9B991BA2 cmp ecx,0FFFFFFC0
7FFCE12DA048 jg short M03_L03
7FFC9B991BA5 jg short M03_L03
7FFCE12DA04A xor eax,eax
7FFC9B991BA7 xor eax,eax
7FFCE12DA04C ret
7FFC9B991BA9 ret
M03_L03:
M03_L03:
7FFCE12DA04D neg ecx
7FFC9B991BAA neg ecx
7FFCE12DA04F mov rax,rdx
7FFC9B991BAC mov rax,rdx
7FFCE12DA052 shl rax,cl
7FFC9B991BAF shl rax,cl
7FFCE12DA055 ret
7FFC9B991BB2 ret
; Total bytes of code 118
; Total bytes of code 115


; Fixed.LongMultiply(Fixed, Fixed)
; Fixed.LongMultiply(Fixed, Fixed)
7FFCE12DA570 mov eax,0FFFFFFFF
7FFC9B991D00 mov eax,0FFFFFFFF
7FFCE12DA575 and rax,rcx
7FFC9B991D05 and rax,rcx
7FFCE12DA578 mov r8,rdx
7FFC9B991D08 mov r8,rdx
7FFCE12DA57B sar r8,20
7FFC9B991D0B sar r8,20
7FFCE12DA57F mov r9d,0FFFFFFFF
7FFC9B991D0F mov r9d,0FFFFFFFF
7FFCE12DA585 and rdx,r9
7FFC9B991D15 and rdx,r9
7FFCE12DA588 sar rcx,20
7FFC9B991D18 sar rcx,20
7FFCE12DA58C mov r9,rcx
7FFC9B991D1C mov r9,rcx
7FFCE12DA58F imul r9,r8
7FFC9B991D1F imul r9,r8
7FFCE12DA593 shl r9,30
7FFC9B991D23 shl r9,30
7FFCE12DA597 imul rcx,rdx
7FFC9B991D27 imul rcx,rdx
7FFCE12DA59B imul r8,rax
7FFC9B991D2B imul r8,rax
7FFCE12DA59F add rcx,r8
7FFC9B991D2F add rcx,r8
7FFCE12DA5A2 shl rcx,10
7FFC9B991D32 shl rcx,10
7FFCE12DA5A6 imul rax,rdx
7FFC9B991D36 imul rax,rdx
7FFCE12DA5AA shr rax,10
7FFC9B991D3A shr rax,10
7FFCE12DA5AE add r9,rcx
7FFC9B991D3E add rcx,r9
7FFCE12DA5B1 add rax,r9
7FFC9B991D41 add rax,rcx
7FFCE12DA5B4 ret
7FFC9B991D44 ret
; Total bytes of code 69
; Total bytes of code 69