Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
diff
Créé
il y a 5 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
385 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
353 lignes
Copier tout
363 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
325 lignes
Copier tout
; Program+BenchmarkClass.TestLongMultiply()
; Program+BenchmarkClass.TestLongMultiply()
Copier
Copié
Copier
Copié
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],xmm
8
7FFC9B99167C vmovaps [rsp+50],xmm8
7FFCE12DA092
vmovaps [rsp+30],xmm
9
7FFC9B991682
vmovaps [rsp+40],xmm
9
7FFCE12DA099
vmovaps [rsp+20],xmm1
0
7FFC9B991688
vmovaps [rsp+30],xmm
10
7FFCE12DA0A0
mov rsi,[rcx+8]
7FFC9B99168E
vmovaps [rsp+20],xmm1
1
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:
Copier
Copié
Copier
Copié
7FFCE12DA0D8
mov
eax
,989680
7FFC9B9916DC
mov
edi
,989680
M00_L01:
M00_L01:
Copier
Copié
Copier
Copié
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:
Copier
Copié
Copier
Copié
7FFCE12DA0F4
movsxd rax,ebp
7FFC9B99170D
movsxd rax,ebp
7FFCE12DA0F7
vm
ov
sd xmm0,
qword ptr [rsi+rax*8+10]
7FFC9B991710
vm
ul
sd 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 xmm
10
,xmm
10
,xmm
10
7FFCE12DA127
inc ebp
7FFC9B991737
vcvtsi2sd xmm
10
,xmm
10
,ebp
7FFCE12DA129
vxorps xmm
7
,xmm
7
,xmm
7
7FFC9B99173B
vdivsd xmm
11
,xmm8,xmm
10
7FFCE12DA12E
vcvtsi2sd xmm
7
,xmm
7
,ebp
7FFC9B991740
vmovaps xmm0,xmm
11
7FFCE12DA133 vmovsd xmm0,qword ptr [7FFCE12DA3F8]
7FFC9B991745
vmovaps xmm1,xmm
11
7FFCE12DA13C vmovaps xmm8,xmm0
7FFC9B99174A
call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA141
vdivsd xmm
8
,xmm8,xmm
7
7FFC9B99174F
and eax,ebx
7FFCE12DA146
vmovaps xmm0,xmm
8
7FFC9B991751
movzx ebx,al
7FFCE12DA14B
vmovaps xmm1,xmm
8
7FFC9B991754
vmovaps xmm0,
xmm11
7FFCE12DA150
call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B991759
vdivsd xmm
10
,xmm9,xmm
10
7FFCE12DA155 movzx eax,al
7FFC9B99175E
vmovaps xmm1,xmm
10
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,xmm
10
7FFCE12DA16B vmovaps xmm9,xmm1
7FFC9B991772
vmovaps xmm1,xmm
11
7FFCE12DA170
vdivsd xmm
9
,xmm9,xmm
7
7FFC9B991777
call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA175
vmovaps xmm1,xmm
9
7FFC9B99177C
and eax,ebx
7FFCE12DA17A
call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFC9B99177E
movzx ebx,al
7FFCE12DA17F movzx eax,al
7FFC9B991781
vmovaps xmm0,xmm
10
7FFCE12DA182
and eax,ebx
7FFC9B991786
vmovaps xmm1,xmm
10
7FFCE12DA184
movzx ebx,al
7FFC9B99178B
call Program+BenchmarkClass.TestLongMultiply(Double, Double)
7FFCE12DA187
vmovaps xmm0,xmm
9
7FFC9B991790
and eax,ebx
7FFCE12DA18C
vmovaps xmm1,xmm
8
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,xmm
9
7FFCE12DA1A3
vmovaps xmm1,xmm
9
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:
Copier
Copié
Copier
Copié
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:
Copier
Copié
Copier
Copié
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:
Copier
Copié
Copier
Copié
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:
Copier
Copié
Copier
Copié
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,xmm
6
,xmm0
7FFCE12DA266
vsubsd xmm8,xmm
8
,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:
Copier
Copié
Copier
Copié
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)
Copier
Copié
Copier
Copié
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)
Copier
Copié
Copier
Copié
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
vmov
sd
xmm6,
xmm0,
xmm0
7FFC9B991C62
vmov
aps
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 xmm
0
,xmm0,xmm6
7FFC9B991C7A
vsubsd xmm
6
,xmm0,xmm6
7FFCE12DA4F4 vmovaps
xmm6,xmm
0
7FFC9B991C7E vandps
xmm6,xmm
6,[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:
Copier
Copié
Copier
Copié
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 1
7
3
; Total bytes of code 1
5
3
; Fixed.op_Implicit(Double)
; Fixed.op_Implicit(Double)
Copier
Copié
Copier
Copié
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 r
c
x,0FFFFFFFFFFFF
7FFC9B991B4B
mov r
d
x,0FFFFFFFFFFFF
7FFCE12D9FF6
and r
c
x,rax
7FFC9B991B55
and r
d
x,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:
Copier
Copié
Copier
Copié
7FFCE12DA02B mov eax,ecx
7FFC9B991B8A
neg e
c
x
7FFCE12DA02D
neg e
a
x
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:
Copier
Copié
Copier
Copié
7FFCE12DA03E
mov rax,rdx
7FFC9B991B9B
mov rax,rdx
7FFCE12DA041
sar rax,cl
7FFC9B991B9E
sar rax,cl
7FFCE12DA044
ret
7FFC9B991BA1
ret
M03_L02:
M03_L02:
Copier
Copié
Copier
Copié
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:
Copier
Copié
Copier
Copié
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 11
8
; Total bytes of code 11
5
; Fixed.LongMultiply(Fixed, Fixed)
; Fixed.LongMultiply(Fixed, Fixed)
Copier
Copié
Copier
Copié
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
Différences enregistrées
Texte d'origine
Ouvrir un fichier
; Program+BenchmarkClass.TestLongMultiply() 7FFCE12DA070 push r14 7FFCE12DA072 push rdi 7FFCE12DA073 push rsi 7FFCE12DA074 push rbp 7FFCE12DA075 push rbx 7FFCE12DA076 sub rsp,70 7FFCE12DA07A vzeroupper 7FFCE12DA07D vmovaps [rsp+60],xmm6 7FFCE12DA084 vmovaps [rsp+50],xmm7 7FFCE12DA08B vmovaps [rsp+40],xmm8 7FFCE12DA092 vmovaps [rsp+30],xmm9 7FFCE12DA099 vmovaps [rsp+20],xmm10 7FFCE12DA0A0 mov rsi,[rcx+8] 7FFCE12DA0A4 mov rcx,2132FB09F38 7FFCE12DA0AE mov rcx,[rcx] 7FFCE12DA0B1 mov rcx,[rcx+8] 7FFCE12DA0B5 call Fixed.op_Explicit(Fixed) 7FFCE12DA0BA vsqrtsd xmm0,xmm0,xmm0 7FFCE12DA0BF call System.Math.Floor(Double) 7FFCE12DA0C4 vmovaps xmm6,xmm0 7FFCE12DA0C9 vcvttsd2si rax,xmm6 7FFCE12DA0CE cmp rax,989680 7FFCE12DA0D4 jge short M00_L00 7FFCE12DA0D6 jmp short M00_L01 M00_L00: 7FFCE12DA0D8 mov eax,989680 M00_L01: 7FFCE12DA0DD mov rdi,rax 7FFCE12DA0E0 mov ebx,1 7FFCE12DA0E5 xor ebp,ebp 7FFCE12DA0E7 mov r14d,[rsi+8] 7FFCE12DA0EB test r14d,r14d 7FFCE12DA0EE jle near ptr M00_L03 M00_L02: 7FFCE12DA0F4 movsxd rax,ebp 7FFCE12DA0F7 vmovsd xmm0,qword ptr [rsi+rax*8+10] 7FFCE12DA0FE vmulsd xmm0,xmm0,qword ptr [7FFCE12DA3E8] 7FFCE12DA107 vsubsd xmm0,xmm0,qword ptr [7FFCE12DA3F0] 7FFCE12DA110 vmulsd xmm0,xmm0,xmm6 7FFCE12DA115 vmovaps xmm1,xmm0 7FFCE12DA11A call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA11F movzx eax,al 7FFCE12DA122 and eax,ebx 7FFCE12DA124 movzx ebx,al 7FFCE12DA127 inc ebp 7FFCE12DA129 vxorps xmm7,xmm7,xmm7 7FFCE12DA12E vcvtsi2sd xmm7,xmm7,ebp 7FFCE12DA133 vmovsd xmm0,qword ptr [7FFCE12DA3F8] 7FFCE12DA13C vmovaps xmm8,xmm0 7FFCE12DA141 vdivsd xmm8,xmm8,xmm7 7FFCE12DA146 vmovaps xmm0,xmm8 7FFCE12DA14B vmovaps xmm1,xmm8 7FFCE12DA150 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA155 movzx eax,al 7FFCE12DA158 and eax,ebx 7FFCE12DA15A movzx ebx,al 7FFCE12DA15D vmovaps xmm0,xmm8 7FFCE12DA162 vmovsd xmm1,qword ptr [7FFCE12DA400] 7FFCE12DA16B vmovaps xmm9,xmm1 7FFCE12DA170 vdivsd xmm9,xmm9,xmm7 7FFCE12DA175 vmovaps xmm1,xmm9 7FFCE12DA17A call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA17F movzx eax,al 7FFCE12DA182 and eax,ebx 7FFCE12DA184 movzx ebx,al 7FFCE12DA187 vmovaps xmm0,xmm9 7FFCE12DA18C vmovaps xmm1,xmm8 7FFCE12DA191 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA196 movzx eax,al 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: 7FFCE12DA1BE xor esi,esi 7FFCE12DA1C0 test rdi,rdi 7FFCE12DA1C3 jle near ptr M00_L05 M00_L04: 7FFCE12DA1C9 vxorps xmm7,xmm7,xmm7 7FFCE12DA1CE vcvtsi2sd xmm7,xmm7,esi 7FFCE12DA1D3 vmovaps xmm0,xmm7 7FFCE12DA1D8 vmovaps xmm1,xmm7 7FFCE12DA1DD call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA1E2 movzx eax,al 7FFCE12DA1E5 and eax,ebx 7FFCE12DA1E7 movzx ebx,al 7FFCE12DA1EA mov eax,esi 7FFCE12DA1EC neg eax 7FFCE12DA1EE vxorps xmm8,xmm8,xmm8 7FFCE12DA1F3 vcvtsi2sd xmm8,xmm8,eax 7FFCE12DA1F8 vmovaps xmm1,xmm8 7FFCE12DA1FD vmovaps xmm0,xmm7 7FFCE12DA202 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA207 movzx eax,al 7FFCE12DA20A and eax,ebx 7FFCE12DA20C movzx ebx,al 7FFCE12DA20F vmovaps xmm0,xmm8 7FFCE12DA214 vmovaps xmm1,xmm7 7FFCE12DA219 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA21E movzx eax,al 7FFCE12DA221 and eax,ebx 7FFCE12DA223 movzx ebx,al 7FFCE12DA226 vmovaps xmm0,xmm8 7FFCE12DA22B vmovaps xmm1,xmm8 7FFCE12DA230 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA235 movzx eax,al 7FFCE12DA238 and eax,ebx 7FFCE12DA23A movzx ebx,al 7FFCE12DA23D inc esi 7FFCE12DA23F movsxd rax,esi 7FFCE12DA242 cmp rax,rdi 7FFCE12DA245 jl short M00_L04 M00_L05: 7FFCE12DA247 xor esi,esi 7FFCE12DA249 test rdi,rdi 7FFCE12DA24C jle near ptr M00_L07 M00_L06: 7FFCE12DA252 vxorps xmm0,xmm0,xmm0 7FFCE12DA257 vcvtsi2sd xmm0,xmm0,esi 7FFCE12DA25C vmovaps xmm7,xmm0 7FFCE12DA261 vmovaps xmm8,xmm6 7FFCE12DA266 vsubsd xmm8,xmm8,xmm0 7FFCE12DA26B vmovaps xmm0,xmm7 7FFCE12DA270 vmovaps xmm1,xmm7 7FFCE12DA275 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA27A movzx eax,al 7FFCE12DA27D and eax,ebx 7FFCE12DA27F movzx ebx,al 7FFCE12DA282 vmovaps xmm9,xmm7 7FFCE12DA287 vmovsd xmm1,qword ptr [7FFCE12DA408] 7FFCE12DA290 vxorps xmm9,xmm9,xmm1 7FFCE12DA295 vmovaps xmm1,xmm9 7FFCE12DA29A vmovaps xmm0,xmm7 7FFCE12DA29F call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA2A4 movzx eax,al 7FFCE12DA2A7 and eax,ebx 7FFCE12DA2A9 movzx ebx,al 7FFCE12DA2AC vmovaps xmm0,xmm9 7FFCE12DA2B1 vmovaps xmm1,xmm7 7FFCE12DA2B6 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA2BB movzx eax,al 7FFCE12DA2BE and eax,ebx 7FFCE12DA2C0 movzx ebx,al 7FFCE12DA2C3 vmovaps xmm0,xmm9 7FFCE12DA2C8 vmovaps xmm1,xmm9 7FFCE12DA2CD call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA2D2 movzx eax,al 7FFCE12DA2D5 and eax,ebx 7FFCE12DA2D7 movzx ebx,al 7FFCE12DA2DA vmovaps xmm0,xmm8 7FFCE12DA2DF vmovaps xmm1,xmm8 7FFCE12DA2E4 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA2E9 movzx eax,al 7FFCE12DA2EC and eax,ebx 7FFCE12DA2EE movzx ebx,al 7FFCE12DA2F1 vmovaps xmm10,xmm8 7FFCE12DA2F6 vmovsd xmm1,qword ptr [7FFCE12DA408] 7FFCE12DA2FF vxorps xmm10,xmm10,xmm1 7FFCE12DA304 vmovaps xmm1,xmm10 7FFCE12DA309 vmovaps xmm0,xmm8 7FFCE12DA30E call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA313 movzx eax,al 7FFCE12DA316 and eax,ebx 7FFCE12DA318 movzx ebx,al 7FFCE12DA31B vmovaps xmm0,xmm10 7FFCE12DA320 vmovaps xmm1,xmm8 7FFCE12DA325 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA32A movzx eax,al 7FFCE12DA32D and eax,ebx 7FFCE12DA32F movzx ebx,al 7FFCE12DA332 vmovaps xmm0,xmm10 7FFCE12DA337 vmovaps xmm1,xmm10 7FFCE12DA33C call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA341 movzx eax,al 7FFCE12DA344 and eax,ebx 7FFCE12DA346 movzx ebx,al 7FFCE12DA349 vmovaps xmm0,xmm7 7FFCE12DA34E vmovaps xmm1,xmm8 7FFCE12DA353 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA358 movzx eax,al 7FFCE12DA35B and eax,ebx 7FFCE12DA35D movzx ebx,al 7FFCE12DA360 vmovaps xmm0,xmm9 7FFCE12DA365 vmovaps xmm1,xmm8 7FFCE12DA36A call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA36F movzx eax,al 7FFCE12DA372 and eax,ebx 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: 7FFCE12DA3B3 mov eax,ebx 7FFCE12DA3B5 vmovaps xmm6,[rsp+60] 7FFCE12DA3BC vmovaps xmm7,[rsp+50] 7FFCE12DA3C3 vmovaps xmm8,[rsp+40] 7FFCE12DA3CA vmovaps xmm9,[rsp+30] 7FFCE12DA3D1 vmovaps xmm10,[rsp+20] 7FFCE12DA3D8 add rsp,70 7FFCE12DA3DC pop rbx 7FFCE12DA3DD pop rbp 7FFCE12DA3DE pop rsi 7FFCE12DA3DF pop rdi 7FFCE12DA3E0 pop r14 7FFCE12DA3E2 ret ; Total bytes of code 883 ; Fixed.op_Explicit(Fixed) 7FFCE12DA440 vzeroupper 7FFCE12DA443 mov rax,rcx 7FFCE12DA446 sar rax,10 7FFCE12DA44A vxorps xmm0,xmm0,xmm0 7FFCE12DA44F vcvtsi2sd xmm0,xmm0,rax 7FFCE12DA454 and rcx,0FFFF 7FFCE12DA45B vxorps xmm1,xmm1,xmm1 7FFCE12DA460 vcvtsi2sd xmm1,xmm1,rcx 7FFCE12DA465 vdivsd xmm1,xmm1,[7FFCE12DA478] 7FFCE12DA46E vaddsd xmm0,xmm0,xmm1 7FFCE12DA473 ret ; Total bytes of code 52 ; Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFCE12DA490 push rdi 7FFCE12DA491 push rsi 7FFCE12DA492 push rbx 7FFCE12DA493 sub rsp,30 7FFCE12DA497 vzeroupper 7FFCE12DA49A vmovaps [rsp+20],xmm6 7FFCE12DA4A1 vmovsd qword ptr [rsp+58],xmm1 7FFCE12DA4A8 call Fixed.op_Implicit(Double) 7FFCE12DA4AD mov rsi,rax 7FFCE12DA4B0 vmovsd xmm0,qword ptr [rsp+58] 7FFCE12DA4B7 call Fixed.op_Implicit(Double) 7FFCE12DA4BC mov rdi,rax 7FFCE12DA4BF mov rcx,rsi 7FFCE12DA4C2 mov rdx,rdi 7FFCE12DA4C5 call Fixed.LongMultiply(Fixed, Fixed) 7FFCE12DA4CA mov rbx,rax 7FFCE12DA4CD mov rcx,rsi 7FFCE12DA4D0 call Fixed.op_Explicit(Fixed) 7FFCE12DA4D5 vmovsd xmm6,xmm0,xmm0 7FFCE12DA4DA mov rcx,rdi 7FFCE12DA4DD call Fixed.op_Explicit(Fixed) 7FFCE12DA4E2 vmulsd xmm6,xmm6,xmm0 7FFCE12DA4E7 mov rcx,rbx 7FFCE12DA4EA call Fixed.op_Explicit(Fixed) 7FFCE12DA4EF vsubsd xmm0,xmm0,xmm6 7FFCE12DA4F4 vmovaps xmm6,xmm0 7FFCE12DA4F9 vmovsd xmm1,qword ptr [7FFCE12DA540] 7FFCE12DA502 vandps xmm6,xmm6,xmm1 7FFCE12DA507 mov ecx,4000000 7FFCE12DA50C call Fixed.op_Explicit(Fixed) 7FFCE12DA511 vucomisd xmm6,xmm0 7FFCE12DA516 jbe short M02_L00 7FFCE12DA518 xor eax,eax 7FFCE12DA51A vmovaps xmm6,[rsp+20] 7FFCE12DA521 add rsp,30 7FFCE12DA525 pop rbx 7FFCE12DA526 pop rsi 7FFCE12DA527 pop rdi 7FFCE12DA528 ret M02_L00: 7FFCE12DA529 mov eax,1 7FFCE12DA52E vmovaps xmm6,[rsp+20] 7FFCE12DA535 add rsp,30 7FFCE12DA539 pop rbx 7FFCE12DA53A pop rsi 7FFCE12DA53B pop rdi 7FFCE12DA53C ret ; Total bytes of code 173 ; Fixed.op_Implicit(Double) 7FFCE12D9FE0 vmovsd qword ptr [rsp+8],xmm0 7FFCE12D9FE7 mov rax,[rsp+8] 7FFCE12D9FEC mov rcx,0FFFFFFFFFFFF 7FFCE12D9FF6 and rcx,rax 7FFCE12D9FF9 mov rdx,0 7FFCE12DA003 or rdx,rcx 7FFCE12DA006 mov rcx,rax 7FFCE12DA009 shr rcx,34 7FFCE12DA00D and ecx,7FF 7FFCE12DA013 add ecx,0FFFFFC01 7FFCE12DA019 mov r8,0 7FFCE12DA023 test r8,rax 7FFCE12DA026 je short M03_L00 7FFCE12DA028 neg rdx M03_L00: 7FFCE12DA02B mov eax,ecx 7FFCE12DA02D neg eax 7FFCE12DA02F lea ecx,[rax+24] 7FFCE12DA032 test ecx,ecx 7FFCE12DA034 jle short M03_L02 7FFCE12DA036 cmp ecx,40 7FFCE12DA039 jl short M03_L01 7FFCE12DA03B xor eax,eax 7FFCE12DA03D ret M03_L01: 7FFCE12DA03E mov rax,rdx 7FFCE12DA041 sar rax,cl 7FFCE12DA044 ret M03_L02: 7FFCE12DA045 cmp ecx,0FFFFFFC0 7FFCE12DA048 jg short M03_L03 7FFCE12DA04A xor eax,eax 7FFCE12DA04C ret M03_L03: 7FFCE12DA04D neg ecx 7FFCE12DA04F mov rax,rdx 7FFCE12DA052 shl rax,cl 7FFCE12DA055 ret ; Total bytes of code 118 ; Fixed.LongMultiply(Fixed, Fixed) 7FFCE12DA570 mov eax,0FFFFFFFF 7FFCE12DA575 and rax,rcx 7FFCE12DA578 mov r8,rdx 7FFCE12DA57B sar r8,20 7FFCE12DA57F mov r9d,0FFFFFFFF 7FFCE12DA585 and rdx,r9 7FFCE12DA588 sar rcx,20 7FFCE12DA58C mov r9,rcx 7FFCE12DA58F imul r9,r8 7FFCE12DA593 shl r9,30 7FFCE12DA597 imul rcx,rdx 7FFCE12DA59B imul r8,rax 7FFCE12DA59F add rcx,r8 7FFCE12DA5A2 shl rcx,10 7FFCE12DA5A6 imul rax,rdx 7FFCE12DA5AA shr rax,10 7FFCE12DA5AE add r9,rcx 7FFCE12DA5B1 add rax,r9 7FFCE12DA5B4 ret ; Total bytes of code 69
Texte modifié
Ouvrir un fichier
; Program+BenchmarkClass.TestLongMultiply() 7FFC9B991660 push r14 7FFC9B991662 push rdi 7FFC9B991663 push rsi 7FFC9B991664 push rbp 7FFC9B991665 push rbx 7FFC9B991666 sub rsp,80 7FFC9B99166D vzeroupper 7FFC9B991670 vmovaps [rsp+70],xmm6 7FFC9B991676 vmovaps [rsp+60],xmm7 7FFC9B99167C vmovaps [rsp+50],xmm8 7FFC9B991682 vmovaps [rsp+40],xmm9 7FFC9B991688 vmovaps [rsp+30],xmm10 7FFC9B99168E vmovaps [rsp+20],xmm11 7FFC9B991694 mov rsi,[rcx+8] 7FFC9B991698 mov rcx,7FFC9B91FAB0 7FFC9B9916A2 mov edx,2 7FFC9B9916A7 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE 7FFC9B9916AC mov rcx,1E098008B70 7FFC9B9916B6 mov rcx,[rcx] 7FFC9B9916B9 mov rcx,[rcx+8] 7FFC9B9916BD call Fixed.op_Explicit(Fixed) 7FFC9B9916C2 vsqrtsd xmm0,xmm0,xmm0 7FFC9B9916C6 vroundsd xmm6,xmm0,xmm0,9 7FFC9B9916CC vcvttsd2si rdi,xmm6 7FFC9B9916D1 cmp rdi,989680 7FFC9B9916D8 jge short M00_L00 7FFC9B9916DA jmp short M00_L01 M00_L00: 7FFC9B9916DC mov edi,989680 M00_L01: 7FFC9B9916E1 mov ebx,1 7FFC9B9916E6 xor ebp,ebp 7FFC9B9916E8 mov r14d,[rsi+8] 7FFC9B9916EC test r14d,r14d 7FFC9B9916EF 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: 7FFC9B99170D movsxd rax,ebp 7FFC9B991710 vmulsd xmm0,xmm7,qword ptr [rsi+rax*8+10] 7FFC9B991716 vsubsd xmm0,xmm0,qword ptr [7FFC9B9919A8] 7FFC9B99171E vmulsd xmm0,xmm0,xmm6 7FFC9B991722 vmovaps xmm1,xmm0 7FFC9B991726 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B99172B and eax,ebx 7FFC9B99172D movzx ebx,al 7FFC9B991730 inc ebp 7FFC9B991732 vxorps xmm10,xmm10,xmm10 7FFC9B991737 vcvtsi2sd xmm10,xmm10,ebp 7FFC9B99173B vdivsd xmm11,xmm8,xmm10 7FFC9B991740 vmovaps xmm0,xmm11 7FFC9B991745 vmovaps xmm1,xmm11 7FFC9B99174A call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B99174F and eax,ebx 7FFC9B991751 movzx ebx,al 7FFC9B991754 vmovaps xmm0,xmm11 7FFC9B991759 vdivsd xmm10,xmm9,xmm10 7FFC9B99175E vmovaps xmm1,xmm10 7FFC9B991763 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B991768 and eax,ebx 7FFC9B99176A movzx ebx,al 7FFC9B99176D vmovaps xmm0,xmm10 7FFC9B991772 vmovaps xmm1,xmm11 7FFC9B991777 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B99177C and eax,ebx 7FFC9B99177E movzx ebx,al 7FFC9B991781 vmovaps xmm0,xmm10 7FFC9B991786 vmovaps xmm1,xmm10 7FFC9B99178B call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B991790 and eax,ebx 7FFC9B991792 movzx ebx,al 7FFC9B991795 cmp r14d,ebp 7FFC9B991798 jg near ptr M00_L02 M00_L03: 7FFC9B99179E xor ebp,ebp 7FFC9B9917A0 test rdi,rdi 7FFC9B9917A3 jle short M00_L05 M00_L04: 7FFC9B9917A5 vxorps xmm7,xmm7,xmm7 7FFC9B9917A9 vcvtsi2sd xmm7,xmm7,ebp 7FFC9B9917AD vmovaps xmm0,xmm7 7FFC9B9917B1 vmovaps xmm1,xmm7 7FFC9B9917B5 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B9917BA and eax,ebx 7FFC9B9917BC movzx ebx,al 7FFC9B9917BF mov eax,ebp 7FFC9B9917C1 neg eax 7FFC9B9917C3 vxorps xmm8,xmm8,xmm8 7FFC9B9917C8 vcvtsi2sd xmm8,xmm8,eax 7FFC9B9917CC vmovaps xmm1,xmm8 7FFC9B9917D1 vmovaps xmm0,xmm7 7FFC9B9917D5 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B9917DA and eax,ebx 7FFC9B9917DC movzx ebx,al 7FFC9B9917DF vmovaps xmm0,xmm8 7FFC9B9917E4 vmovaps xmm1,xmm7 7FFC9B9917E8 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B9917ED and eax,ebx 7FFC9B9917EF movzx ebx,al 7FFC9B9917F2 vmovaps xmm0,xmm8 7FFC9B9917F7 vmovaps xmm1,xmm8 7FFC9B9917FC call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B991801 and eax,ebx 7FFC9B991803 movzx ebx,al 7FFC9B991806 inc ebp 7FFC9B991808 movsxd rax,ebp 7FFC9B99180B cmp rax,rdi 7FFC9B99180E jl short M00_L04 M00_L05: 7FFC9B991810 xor esi,esi 7FFC9B991812 test rdi,rdi 7FFC9B991815 jle near ptr M00_L07 M00_L06: 7FFC9B99181B vxorps xmm0,xmm0,xmm0 7FFC9B99181F vcvtsi2sd xmm0,xmm0,esi 7FFC9B991823 vmovaps xmm7,xmm0 7FFC9B991827 vsubsd xmm8,xmm6,xmm0 7FFC9B99182B vmovaps xmm0,xmm7 7FFC9B99182F vmovaps xmm1,xmm7 7FFC9B991833 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B991838 and eax,ebx 7FFC9B99183A movzx ebx,al 7FFC9B99183D vxorps xmm9,xmm7,[7FFC9B9919B0] 7FFC9B991845 vmovaps xmm1,xmm9 7FFC9B99184A vmovaps xmm0,xmm7 7FFC9B99184E call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B991853 and eax,ebx 7FFC9B991855 movzx ebx,al 7FFC9B991858 vmovaps xmm0,xmm9 7FFC9B99185D vmovaps xmm1,xmm7 7FFC9B991861 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B991866 and eax,ebx 7FFC9B991868 movzx ebx,al 7FFC9B99186B vmovaps xmm0,xmm9 7FFC9B991870 vmovaps xmm1,xmm9 7FFC9B991875 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B99187A and eax,ebx 7FFC9B99187C movzx ebx,al 7FFC9B99187F vmovaps xmm0,xmm8 7FFC9B991884 vmovaps xmm1,xmm8 7FFC9B991889 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B99188E and eax,ebx 7FFC9B991890 movzx ebx,al 7FFC9B991893 vxorps xmm10,xmm8,[7FFC9B9919B0] 7FFC9B99189B vmovaps xmm1,xmm10 7FFC9B9918A0 vmovaps xmm0,xmm8 7FFC9B9918A5 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B9918AA and eax,ebx 7FFC9B9918AC movzx ebx,al 7FFC9B9918AF vmovaps xmm0,xmm10 7FFC9B9918B4 vmovaps xmm1,xmm8 7FFC9B9918B9 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B9918BE and eax,ebx 7FFC9B9918C0 movzx ebx,al 7FFC9B9918C3 vmovaps xmm0,xmm10 7FFC9B9918C8 vmovaps xmm1,xmm10 7FFC9B9918CD call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B9918D2 and eax,ebx 7FFC9B9918D4 movzx ebx,al 7FFC9B9918D7 vmovaps xmm0,xmm7 7FFC9B9918DB vmovaps xmm1,xmm8 7FFC9B9918E0 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B9918E5 and eax,ebx 7FFC9B9918E7 movzx ebx,al 7FFC9B9918EA vmovaps xmm0,xmm9 7FFC9B9918EF vmovaps xmm1,xmm8 7FFC9B9918F4 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B9918F9 and eax,ebx 7FFC9B9918FB movzx ebx,al 7FFC9B9918FE vmovaps xmm1,xmm10 7FFC9B991903 vmovaps xmm0,xmm7 7FFC9B991907 call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B99190C and eax,ebx 7FFC9B99190E movzx ebx,al 7FFC9B991911 vmovaps xmm0,xmm9 7FFC9B991916 vmovaps xmm1,xmm10 7FFC9B99191B call Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B991920 and eax,ebx 7FFC9B991922 movzx ebx,al 7FFC9B991925 inc esi 7FFC9B991927 movsxd rax,esi 7FFC9B99192A cmp rax,rdi 7FFC9B99192D jl near ptr M00_L06 M00_L07: 7FFC9B991933 mov eax,ebx 7FFC9B991935 vmovaps xmm6,[rsp+70] 7FFC9B99193B vmovaps xmm7,[rsp+60] 7FFC9B991941 vmovaps xmm8,[rsp+50] 7FFC9B991947 vmovaps xmm9,[rsp+40] 7FFC9B99194D vmovaps xmm10,[rsp+30] 7FFC9B991953 vmovaps xmm11,[rsp+20] 7FFC9B991959 add rsp,80 7FFC9B991960 pop rbx 7FFC9B991961 pop rbp 7FFC9B991962 pop rsi 7FFC9B991963 pop rdi 7FFC9B991964 pop r14 7FFC9B991966 ret ; Total bytes of code 775 ; Fixed.op_Explicit(Fixed) 7FFC9B991BD0 vzeroupper 7FFC9B991BD3 mov rax,rcx 7FFC9B991BD6 sar rax,10 7FFC9B991BDA vxorps xmm0,xmm0,xmm0 7FFC9B991BDE vcvtsi2sd xmm0,xmm0,rax 7FFC9B991BE3 and rcx,0FFFF 7FFC9B991BEA vxorps xmm1,xmm1,xmm1 7FFC9B991BEE vcvtsi2sd xmm1,xmm1,rcx 7FFC9B991BF3 vmulsd xmm1,xmm1,qword ptr [7FFC9B991C08] 7FFC9B991BFB vaddsd xmm0,xmm0,xmm1 7FFC9B991BFF ret ; Total bytes of code 48 ; Program+BenchmarkClass.TestLongMultiply(Double, Double) 7FFC9B991C20 push rdi 7FFC9B991C21 push rsi 7FFC9B991C22 push rbx 7FFC9B991C23 sub rsp,30 7FFC9B991C27 vzeroupper 7FFC9B991C2A vmovaps [rsp+20],xmm6 7FFC9B991C30 vmovsd qword ptr [rsp+58],xmm1 7FFC9B991C36 call Fixed.op_Implicit(Double) 7FFC9B991C3B mov rsi,rax 7FFC9B991C3E vmovsd xmm0,qword ptr [rsp+58] 7FFC9B991C44 call Fixed.op_Implicit(Double) 7FFC9B991C49 mov rdi,rax 7FFC9B991C4C mov rcx,rsi 7FFC9B991C4F mov rdx,rdi 7FFC9B991C52 call Fixed.LongMultiply(Fixed, Fixed) 7FFC9B991C57 mov rbx,rax 7FFC9B991C5A mov rcx,rsi 7FFC9B991C5D call Fixed.op_Explicit(Fixed) 7FFC9B991C62 vmovaps xmm6,xmm0 7FFC9B991C66 mov rcx,rdi 7FFC9B991C69 call Fixed.op_Explicit(Fixed) 7FFC9B991C6E vmulsd xmm6,xmm6,xmm0 7FFC9B991C72 mov rcx,rbx 7FFC9B991C75 call Fixed.op_Explicit(Fixed) 7FFC9B991C7A vsubsd xmm6,xmm0,xmm6 7FFC9B991C7E vandps xmm6,xmm6,[7FFC9B991CD0] 7FFC9B991C86 mov ecx,4000000 7FFC9B991C8B call Fixed.op_Explicit(Fixed) 7FFC9B991C90 vucomisd xmm6,xmm0 7FFC9B991C94 jbe short M02_L00 7FFC9B991C96 xor eax,eax 7FFC9B991C98 vmovaps xmm6,[rsp+20] 7FFC9B991C9E add rsp,30 7FFC9B991CA2 pop rbx 7FFC9B991CA3 pop rsi 7FFC9B991CA4 pop rdi 7FFC9B991CA5 ret M02_L00: 7FFC9B991CA6 mov eax,1 7FFC9B991CAB vmovaps xmm6,[rsp+20] 7FFC9B991CB1 add rsp,30 7FFC9B991CB5 pop rbx 7FFC9B991CB6 pop rsi 7FFC9B991CB7 pop rdi 7FFC9B991CB8 ret ; Total bytes of code 153 ; Fixed.op_Implicit(Double) 7FFC9B991B40 vmovsd qword ptr [rsp+8],xmm0 7FFC9B991B46 mov rax,[rsp+8] 7FFC9B991B4B mov rdx,0FFFFFFFFFFFF 7FFC9B991B55 and rdx,rax 7FFC9B991B58 mov r8,0 7FFC9B991B62 or rdx,r8 7FFC9B991B65 mov rcx,rax 7FFC9B991B68 shr rcx,34 7FFC9B991B6C and ecx,7FF 7FFC9B991B72 add ecx,0FFFFFC01 7FFC9B991B78 mov r8,0 7FFC9B991B82 test r8,rax 7FFC9B991B85 je short M03_L00 7FFC9B991B87 neg rdx M03_L00: 7FFC9B991B8A neg ecx 7FFC9B991B8C add ecx,24 7FFC9B991B8F test ecx,ecx 7FFC9B991B91 jle short M03_L02 7FFC9B991B93 cmp ecx,40 7FFC9B991B96 jl short M03_L01 7FFC9B991B98 xor eax,eax 7FFC9B991B9A ret M03_L01: 7FFC9B991B9B mov rax,rdx 7FFC9B991B9E sar rax,cl 7FFC9B991BA1 ret M03_L02: 7FFC9B991BA2 cmp ecx,0FFFFFFC0 7FFC9B991BA5 jg short M03_L03 7FFC9B991BA7 xor eax,eax 7FFC9B991BA9 ret M03_L03: 7FFC9B991BAA neg ecx 7FFC9B991BAC mov rax,rdx 7FFC9B991BAF shl rax,cl 7FFC9B991BB2 ret ; Total bytes of code 115 ; Fixed.LongMultiply(Fixed, Fixed) 7FFC9B991D00 mov eax,0FFFFFFFF 7FFC9B991D05 and rax,rcx 7FFC9B991D08 mov r8,rdx 7FFC9B991D0B sar r8,20 7FFC9B991D0F mov r9d,0FFFFFFFF 7FFC9B991D15 and rdx,r9 7FFC9B991D18 sar rcx,20 7FFC9B991D1C mov r9,rcx 7FFC9B991D1F imul r9,r8 7FFC9B991D23 shl r9,30 7FFC9B991D27 imul rcx,rdx 7FFC9B991D2B imul r8,rax 7FFC9B991D2F add rcx,r8 7FFC9B991D32 shl rcx,10 7FFC9B991D36 imul rax,rdx 7FFC9B991D3A shr rax,10 7FFC9B991D3E add rcx,r9 7FFC9B991D41 add rax,rcx 7FFC9B991D44 ret ; Total bytes of code 69
Trouver la différence