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
Masquer les espaces
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Styles de texte
Modifier l’apparence
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
3DMoments
Créé
il y a 5 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
657 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
342 lignes
Copier tout
653 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
336 lignes
Copier tout
; Assembly listing for method SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1[Rgba32][SixLabors.ImageSharp.PixelFormats.Rgba32]:Get3DMoments(SixLabors.ImageSharp.Memory.MemoryAllocator):this
; Assembly listing for method SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1[Rgba32][SixLabors.ImageSharp.PixelFormats.Rgba32]:Get3DMoments(SixLabors.ImageSharp.Memory.MemoryAllocator):this
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
Copier
Copié
Copier
Copié
; 2 inlinees with PGO data; 66 single block inlinees;
8
inlinees without PGO data
; 2 inlinees with PGO data; 66 single block inlinees;
9
inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
Copier
Copié
Copier
Copié
; V00 this [V00,
T58
] ( 3, 3 ) byref -> rdi this single-def
; V00 this [V00,
T60
] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T5
0
] ( 6, 6 ) ref -> rsi class-hnd single-def
; V01 arg1 [V01,T5
3
] ( 6, 6 ) ref -> rsi class-hnd single-def
; V02 loc0 [V02,T7
1
] ( 5, 2 ) ref -> [rbp-27
0
H] must-init class-hnd EH-live single-def
; V02 loc0 [V02,T7
4
] ( 5, 2 ) ref -> [rbp-27
8
H] must-init class-hnd EH-live single-def
; V03 loc1 [V03,T7
2
] ( 5, 2 ) ref -> [rbp-2
78
H] class-hnd EH-live single-def
; V03 loc1 [V03,T7
5
] ( 5, 2 ) ref -> [rbp-2
80
H] class-hnd EH-live single-def
;* V04 loc2 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op
;* V04 loc2 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op
;* V05 loc3 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op
;* V05 loc3 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op
;* V06 loc4 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op
;* V06 loc4 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op
Copier
Copié
Copier
Copié
;* V07 loc5 [V07,
T109
] ( 0, 0 ) int -> zero-ref single-def
;* V07 loc5 [V07,
T114
] ( 0, 0 ) int -> zero-ref single-def
; V08 loc6 [V08,
T42
] ( 10,
6337
) int ->
r13
; V08 loc6 [V08,
T51
] ( 10,
529
) int ->
[rbp-3CH]
; V
09
loc
7
[
V09
,T4
5] ( 8, 4880
) int -> [rbp-
3
CH]
; V09 loc7
[V09,T52] ( 2, 272 ) int -> [rbp-40H]
; V1
0
loc
8
[V1
0
,T41] ( 7, 6400 ) int ->
r8
; V
10
loc
8
[
V10,T48] ( 8, 1808 ) int -> [rbp-44H]
; V1
1
loc
9
[V1
1
,T33] ( 4,13312 ) struct (48) [rbp-
7
0H] do-not-enreg[S] ld-addr-op
; V11 loc9 [V11
,T4
9] ( 2, 1280 ) int -> [rbp-48H] spill-single-def
; V1
2
loc1
0
[V1
2
,T04] ( 8,29696 ) int ->
r9
; V12 loc10 [V12,T50] ( 2, 1280
) int -> [rbp-
4
CH]
spill-single-def
; V1
3
loc1
1
[V1
3
,T31] ( 4,16384 ) int ->
rdx
; V1
3
loc
11
[V1
3
,T41] ( 7, 6400 ) int ->
r11
; V1
4
loc1
2
[V1
4
,T37] ( 3,12288 ) int -> r1
4
; V14 loc12 [V14,T42] ( 2, 5120 ) int -> rdx
; V1
5
loc1
3
[V1
5
,T38] ( 3,12288 ) int ->
rdx
; V1
5
loc
13
[V1
5
,T33] ( 4,13312 ) struct (48) [rbp-
8
0H] do-not-enreg[S] ld-addr-op
;
V16
OutArgs [
V16
] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V1
6
loc1
4
[V1
6
,T04] ( 8,29696 ) int ->
rcx
; V
17
tmp1 [V
17
,T6
4
] ( 2, 4 ) long -> rax "VirtualCall through function pointer"
; V1
7
loc1
5
[V1
7
,T31] ( 4,16384 ) int ->
r13
;
V18
tmp2 [
V18
,T6
5
] ( 2, 4 ) long -> rax "VirtualCall through function pointer"
; V1
8
loc1
6
[V1
8
,T37] ( 3,12288 ) int -> r1
0
;
V19
tmp3 [
V19
,T05] ( 3,24576 ) byref -> r1
5
"dup spill"
; V1
9
loc1
7
[V1
9
,T38] ( 3,12288 ) int ->
r13
; V2
0
tmp4 [V2
0
,T06] ( 3,24576 ) byref -> r1
2
"dup spill"
;
V20
OutArgs [
V20
] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V2
1
tmp5 [V2
1
,T32] ( 2,16384 ) byref ->
r10
"impAppendStmt"
; V
21
tmp1 [V
21
,T6
6
] ( 2, 4 ) long -> rax "VirtualCall through function pointer"
; V2
2
tmp6 [V2
2
,T6
3
] ( 2, 4 ) ref -> rcx class-hnd single-def "Inlining Arg"
;
V22
tmp2 [
V22
,T6
7
] ( 2, 4 ) long -> rax "VirtualCall through function pointer"
; V2
3
tmp7 [V2
3
] ( 4, 3 ) struct (16) [rbp-
8
0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;
V23
tmp3 [
V23
,T05] ( 3,24576 ) byref -> r1
0
"dup spill"
;* V2
4
tmp8 [V2
4
] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp"
; V2
4
tmp4 [V2
4
,T06] ( 3,24576 ) byref -> r1
5
"dup spill"
; V2
5
tmp9 [V2
5,T59
] ( 6, 4 ) byref -> rsi "Inline stloc first use temp"
; V2
5
tmp5 [V2
5
,T32] ( 2,16384 ) byref ->
r8
"impAppendStmt"
;
V26
tmp10 [
V26
,T5
5
] ( 7, 5 ) int -> rdi "Inline stloc first use temp"
; V2
6
tmp6 [V2
6
,T6
5
] ( 2, 4 ) ref -> rcx class-hnd single-def "Inlining Arg"
;
V27
tmp11 [
V27
,T5
2
] ( 9, 5.50) ref -> rbx class-hnd "Inline stloc first use temp"
; V2
7
tmp7 [V2
7
] ( 4, 3 ) struct (16) [rbp-
9
0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;* V
28
tmp12 [V
28
] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp"
;* V2
8
tmp8 [V2
8
] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp"
;
V29
tmp13 [
V29
] ( 3, 1.50) struct (16) [rbp-
9
0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
; V2
9
tmp9 [V2
9,T61
] ( 6, 4 ) byref -> rsi "Inline stloc first use temp"
; V3
0
tmp14 [V3
0,T96
] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp"
;
V30
tmp10 [
V30
,T5
7
] ( 7, 5 ) int -> rdi "Inline stloc first use temp"
; V3
1
tmp15 [V3
1,T97
] ( 3, 1.50) int -> rdx single-def "Inline stloc first use temp"
;
V31
tmp11 [
V31
,T5
4
] ( 9, 5.50) ref -> rbx class-hnd "Inline stloc first use temp"
; V3
2
tmp16 [V3
2
,T7
3
] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
;* V
32
tmp12 [V
32
] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp"
; V3
3
tmp17 [V3
3
,T8
5
] ( 2, 2 ) bool -> rcx "Inlining Arg"
;
V33
tmp13 [
V33
] ( 3, 1.50) struct (16) [rbp-
A
0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;* V3
4
tmp18 [V3
4
,T10
5
] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
; V3
4
tmp14 [V3
4,T100
] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp"
; V3
5
tmp19 [V3
5,T69
] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg"
; V3
5
tmp15 [V3
5,T101
] ( 3, 1.50) int -> rdx single-def "Inline stloc first use temp"
;
V36
tmp20 [
V36
,T8
6
] ( 2, 2 ) bool -> rcx "Inlining Arg"
; V3
6
tmp16 [V3
6
,T7
6
] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
;*
V37
tmp21 [
V37,T106
] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
; V3
7
tmp17 [V3
7
,T8
8
] ( 2, 2 ) bool -> rcx "Inlining Arg"
;
V38
tmp22 [
V38
,T7
0
] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg"
;* V3
8
tmp18 [V3
8
,T10
9
] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
;* V
39
tmp23 [V
39
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg"
; V3
9
tmp19 [V3
9,T71
] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg"
;* V4
0
tmp24 [V4
0
] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
;
V40
tmp20 [
V40
,T8
9
] ( 2, 2 ) bool -> rcx "Inlining Arg"
;* V4
1
tmp25 [V4
1
] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
;*
V41
tmp21 [
V41,T110
] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
; V4
2
tmp26 [V4
2
,T6
6
] ( 2, 4 ) bool -> rcx "Inlining Arg"
;
V42
tmp22 [
V42
,T7
2
] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg"
;* V4
3
tmp27 [V4
3
,T9
5
] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
;* V
43
tmp23 [V
43
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg"
; V4
4
tmp28 [V4
4
,T6
2
] ( 3, 4 ) ref -> rdx class-hnd single-def "Inlining Arg"
;* V4
4
tmp24 [V4
4
] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
; V4
5
tmp29 [V4
5
] ( 4, 3 ) struct (16) [rbp-
A
0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;* V4
5
tmp25 [V4
5
] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
;*
V46
tmp30 [
V46
] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp"
; V4
6
tmp26 [V4
6
,T6
8
] ( 2, 4 ) bool -> rcx "Inlining Arg"
;
V47
tmp31 [
V47
,T6
0
] ( 6, 4 ) byref -> rbx "Inline stloc first use temp"
;* V4
7
tmp27 [V4
7
,T9
9
] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
;
V48
tmp32 [
V48
,T5
6
] ( 7, 5 ) int -> r14 "Inline stloc first use temp"
; V4
8
tmp28 [V4
8
,T6
4
] ( 3, 4 ) ref -> rdx class-hnd single-def "Inlining Arg"
;
V49
tmp33 [
V49
,T5
3
] ( 9, 5.50) ref -> r15 class-hnd "Inline stloc first use temp"
; V4
9
tmp29 [V4
9
] ( 4, 3 ) struct (16) [rbp-
B
0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;* V5
0
tmp34 [V5
0
] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp"
;*
V50
tmp30 [
V50
] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp"
; V5
1
tmp35 [V5
1
] ( 3, 1.50) struct (16) [rbp-
B
0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;
V51
tmp31 [
V51
,T6
2
] ( 6, 4 ) byref -> rbx "Inline stloc first use temp"
; V5
2
tmp36 [V5
2,T98
] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp"
;
V52
tmp32 [
V52
,T5
8
] ( 7, 5 ) int -> r14 "Inline stloc first use temp"
; V5
3
tmp37 [V5
3,T99
] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
;
V53
tmp33 [
V53
,T5
5
] ( 9, 5.50) ref -> r15 class-hnd "Inline stloc first use temp"
; V5
4
tmp38 [V5
4
,T7
4
] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
;* V5
4
tmp34 [V5
4
] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp"
;
*
V5
5
tmp39 [V5
5
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg"
; V5
5
tmp35 [V5
5
] ( 3, 1.50) struct (16) [rbp-
C
0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;* V
56
tmp4
0
[V
56
] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
; V5
6
tmp36 [V5
6,T102
] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp"
;*
V57
tmp4
1
[
V57
] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
; V5
7
tmp37 [V5
7,T103
] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
; V
58
tmp4
2
[V
58
] ( 4, 3 ) struct (16) [rbp-
C
0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
; V5
8
tmp38 [V5
8
,T7
7
] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
;*
V59
tmp4
3
[
V59
] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp"
;
V5
9
tmp39 [V5
9,T90] ( 2, 2 ) bool -> rcx "Inlining Arg"
; V6
0
tmp4
4
[V6
0
,T6
1
] ( 6, 4 ) byref -> r15 "Inline stloc first use temp"
;* V60 tmp40 [V60,T111] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
; V6
1
tmp4
5
[V6
1
,T5
7
] ( 7, 5 ) int -> r12 "Inline stloc first use temp"
; V61 tmp41 [V61,T73] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg"
; V6
2
tmp4
6
[V6
2
,T5
4
] ( 9, 5.50) ref -> r13 class-hnd "Inline stloc first use temp"
;* V62 tmp42 [V62
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg"
;*
V63 tmp47
[
V63
] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp"
;* V
63
tmp4
3
[V
63
] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
;
V64 tmp48
[
V64
] ( 3, 1.50) struct (16) [rbp-
D
0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;*
V64
tmp4
4
[
V64
] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
;
V65 tmp49
[
V65
,T10
0
] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp"
; V
65
tmp4
5
[V
65
] ( 4, 3 ) struct (16) [rbp-
D
0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;
V66
tmp5
0
[
V66
,T10
1
] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
;*
V66
tmp4
6
[
V66
] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp"
; V
67
tmp5
1
[V
67
,T7
5
] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
; V6
7
tmp4
7
[V6
7
,T6
3
] ( 6, 4 ) byref -> r15 "Inline stloc first use temp"
;*
V68
tmp5
2
[
V68
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg"
; V6
8
tmp4
8
[V6
8
,T5
9
] ( 7, 5 ) int -> r12 "Inline stloc first use temp"
;* V
69
tmp5
3
[V
69
] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
; V6
9
tmp4
9
[V6
9
,T5
6
] ( 9, 5.50) ref -> r13 class-hnd "Inline stloc first use temp"
;* V7
0
tmp5
4
[V7
0
] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
;*
V70 tmp50
[
V70
] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp"
;* V7
1
tmp5
5
[V7
1,T107
] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;
V71 tmp51
[
V71
] ( 3, 1.50) struct (16) [rbp-
E
0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
; V7
2
tmp5
6
[V7
2,T87
] ( 2, 2 ) long -> rdx "impAppendStmt"
;
V72 tmp52
[
V72
,T10
4
] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp"
;*
V73 tmp57
[
V73
] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;
V73
tmp5
3
[
V73
,T10
5
] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
;*
V74 tmp58
[
V74
] ( 0, 0 ) long -> zero-ref "impAppendStmt"
; V
74
tmp5
4
[V
74
,T7
8
] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
;*
V75 tmp59
[
V75
] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;*
V75
tmp5
5
[
V75
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg"
;*
V76
tmp6
0
[
V76
] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V
76
tmp5
6
[V
76
] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
;
V77
tmp6
1
[
V77
,T6
7
] ( 5, 3.62) long -> [rbp-
D
8H] spill-single-def "Inlining Arg"
;* V7
7
tmp5
7
[V7
7
] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
;* V
78
tmp6
2
[V
78
] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V7
8
tmp5
8
[V7
8,T112
] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;*
V79
tmp6
3
[
V79,T108
] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
; V7
9
tmp5
9
[V7
9,T91
] ( 2, 2 ) long -> rdx "impAppendStmt"
; V8
0
tmp6
4
[V8
0,T88
] ( 2, 2 ) long -> rdx "impAppendStmt"
;*
V80 tmp60
[
V80
] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V8
1
tmp6
5
[V8
1
] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;*
V81 tmp61
[
V81
] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V8
2
tmp6
6
[V8
2
] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;*
V82 tmp62
[
V82
] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;*
V83
tmp
67
[
V83
] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;*
V83
tmp6
3
[
V83
] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;*
V84 tmp68
[
V84
] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;
V84
tmp6
4
[
V84
,T6
9
] ( 5, 3.62) long -> [rbp-
E
8H] spill-single-def "Inlining Arg"
;
V85 tmp69
[
V85,T68
] ( 5, 3.62) long -> [rbp-
E
0H] spill-single-def "Inlining Arg"
;* V
85
tmp6
5
[V
85
] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;*
V86
tmp7
0
[
V86
] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;*
V86
tmp6
6
[
V86,T113
] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;
V87
tmp7
1
[
V87
] ( 8,65536 ) struct (48) [rbp-1
1
0H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
; V8
7
tmp6
7
[V8
7,T92
] ( 2, 2 ) long -> rdx "impAppendStmt"
;
V88
tmp7
2
[
V88
,T07] ( 3,24576 ) byref ->
rbx
"dup spill"
;* V8
8
tmp6
8
[V8
8
] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
; V
89
tmp7
3
[V
89
,T00] ( 7,57344 ) struct (48) [rbp-1
4
0H] do-not-enreg[SF] "Inlining Arg"
;* V8
9
tmp6
9
[V8
9
] ( 0, 0 ) long -> zero-ref "impAppendStmt"
; V9
0
tmp7
4
[V9
0
,T08] ( 3,24576 ) byref ->
rbx
"dup spill"
;*
V90
tmp
70
[
V90
] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V9
1
tmp7
5
[V9
1
,T09] ( 3,24576 ) byref ->
rbx
"dup spill"
;*
V91 tmp71
[
V91
] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V9
2
tmp7
6
[V9
2
,T10] ( 3,24576 ) byref ->
rbx
"dup spill"
;
V92 tmp72
[
V92,T70
] ( 5, 3.62) long -> [rbp-
F
0H] spill-single-def "Inlining Arg"
;
V93 tmp77
[V93
,T11] ( 3,24576 ) byref ->
rbx
"dup spill"
;*
V93
tmp7
3
[
V93
] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;
V94
tmp
78
[
V94
,T12] ( 3,24576 ) byref ->
rbx
"dup spill"
;
V94
tmp7
4
[
V94
] ( 8,65536 ) struct (48) [rbp-1
2
0H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
;
V95 tmp79
[
V95
] ( 8,65536 ) struct (48) [rbp-1
7
0H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
;
V95
tmp7
5
[
V95
,T07] ( 3,24576 ) byref ->
r10
"dup spill"
;
V96
tmp8
0
[
V96
,T13] ( 3,24576 ) byref -> r1
2
"dup spill"
; V
96
tmp7
6
[V
96
,T00] ( 7,57344 ) struct (48) [rbp-1
5
0H] do-not-enreg[SF] "Inlining Arg"
;
V97
tmp8
1
[
V97
,T01] ( 7,57344 ) struct (48) [rbp-1
A
0H] do-not-enreg[SF] "Inlining Arg"
; V9
7
tmp7
7
[V9
7
,T08] ( 3,24576 ) byref ->
r9
"dup spill"
;
V98
tmp8
2
[
V98
,T14] ( 3,24576 ) byref ->
r14
"dup spill"
; V9
8
tmp7
8
[V9
8
,T09] ( 3,24576 ) byref ->
r9
"dup spill"
;
V99
tmp8
3
[V99
,T15] ( 3,24576 ) byref ->
r14
"dup spill"
; V9
9
tmp7
9
[V9
9
,T10] ( 3,24576 ) byref ->
r9
"dup spill"
; V10
0
tmp8
4
[V10
0
,T16] ( 3,24576 ) byref ->
r14
"dup spill"
;
V100 tmp80
[V100
,T11] ( 3,24576 ) byref ->
r9
"dup spill"
; V10
1
tmp8
5
[V10
1
,T17] ( 3,24576 ) byref ->
r14
"dup spill"
;
V101
tmp
81
[
V101
,T12] ( 3,24576 ) byref ->
r9
"dup spill"
; V10
2
tmp8
6
[V10
2
,T18] ( 3,24576 ) byref ->
r14
"dup spill"
;
V102 tmp82
[
V102
] ( 8,65536 ) struct (48) [rbp-1
8
0H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
; V
103 tmp87
[V
103
] ( 8,65536 ) struct (48) [rbp-1
D
0H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
;
V103
tmp8
3
[
V103
,T13] ( 3,24576 ) byref -> r1
5
"dup spill"
;
V104 tmp88
[
V104
,T19] ( 3,24576 ) byref ->
rbx
"dup spill"
;
V104
tmp8
4
[
V104
,T01] ( 7,57344 ) struct (48) [rbp-1
B
0H] do-not-enreg[SF] "Inlining Arg"
;
V105
tmp
89
[
V105
,T02] ( 7,57344 ) struct (48) [rbp-2
0
0H] do-not-enreg[SF] "Inlining Arg"
;
V105
tmp8
5
[
V105
,T14] ( 3,24576 ) byref ->
rbx
"dup spill"
;
V106
tmp9
0
[
V106
,T20] ( 3,24576 ) byref ->
rbx
"dup spill"
;
V106
tmp8
6
[V106
,T15] ( 3,24576 ) byref ->
rbx
"dup spill"
;
V107
tmp9
1
[
V107
,T21] ( 3,24576 ) byref ->
rbx
"dup spill"
; V10
7
tmp8
7
[V10
7
,T16] ( 3,24576 ) byref ->
rbx
"dup spill"
;
V108
tmp9
2
[
V108
,T22] ( 3,24576 ) byref ->
rbx
"dup spill"
; V10
8
tmp8
8
[V10
8
,T17] ( 3,24576 ) byref ->
rbx
"dup spill"
;
V109
tmp9
3
[
V109
,T23] ( 3,24576 ) byref ->
rbx
"dup spill"
; V10
9
tmp8
9
[V10
9
,T18] ( 3,24576 ) byref ->
rbx
"dup spill"
; V11
0
tmp9
4
[V11
0
,T24] ( 3,24576 ) byref ->
rbx
"dup spill"
; V
110 tmp90
[V
110
] ( 8,65536 ) struct (48) [rbp-1
E
0H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
; V11
1
tmp9
5
[V11
1
] ( 8,65536 ) struct (48) [rbp-2
3
0H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
;
V111 tmp91
[
V111
,T19] ( 3,24576 ) byref ->
r9
"dup spill"
; V11
2
tmp9
6
[V11
2
,T25] ( 3,24576 ) byref ->
rdx
"dup spill"
;
V112
tmp
92
[
V112
,T02] ( 7,57344 ) struct (48) [rbp-2
1
0H] do-not-enreg[SF] "Inlining Arg"
;
V113 tmp97
[
V113
,T03] ( 7,57344 ) struct (48) [rbp-2
6
0H] do-not-enreg[SF] "Inlining Arg"
;
V113
tmp9
3
[
V113
,T20] ( 3,24576 ) byref ->
r9
"dup spill"
; V1
14 tmp98
[V1
14
,T26] ( 3,24576 ) byref ->
rdx
"dup spill"
;
V114
tmp9
4
[
V114
,T21] ( 3,24576 ) byref ->
r9
"dup spill"
;
V115 tmp99
[
V115
,T27] ( 3,24576 ) byref ->
rdx
"dup spill"
;
V115
tmp9
5
[
V115
,T22] ( 3,24576 ) byref ->
r9
"dup spill"
;
V116
tmp10
0
[
V116
,T28] ( 3,24576 ) byref ->
rdx
"dup spill"
;
V116
tmp9
6
[
V116
,T23] ( 3,24576 ) byref ->
r9
"dup spill"
;
V117
tmp10
1
[
V117
,T29] ( 3,24576 ) byref ->
rdx
"dup spill"
; V11
7
tmp9
7
[V11
7
,T24] ( 3,24576 ) byref ->
r9
"dup spill"
;
V118
tmp10
2
[
V118
,T30] ( 3,24576 ) byref ->
rdx
"dup spill"
; V11
8
tmp9
8
[V11
8
] ( 8,65536 ) struct (48) [rbp-2
4
0H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
;
V119
tmp10
3
[
V119
,T39] ( 3, 8193 ) byref -> rsi single-def V04._pointer(offs=0x00) P-INDEP "field V04._pointer (fldOffset=0x0)"
; V11
9
tmp9
9
[V11
9
,T25] ( 3,24576 ) byref ->
r9
"dup spill"
; V12
0
tmp10
4
[V12
0
,T40] ( 3, 8193 ) int -> rdi single-def V04._length(offs=0x08) P-INDEP "field V04._length (fldOffset=0x8)"
;
V120 tmp100
[
V120
,T03] ( 7,57344 ) struct (48) [rbp-2
7
0H] do-not-enreg[SF] "Inlining Arg"
; V12
1
tmp10
5
[V12
1
,T4
6
] ( 4, 4097.40) byref -> [rbp-28
0
H] spill-single-def V05._pointer(offs=0x00) P-INDEP "field V05._pointer (fldOffset=0x0)"
; V1
21 tmp101
[V1
21
,T26] ( 3,24576 ) byref ->
r9
"dup spill"
; V12
2
tmp10
6
[V12
2
,T4
8
] ( 3, 4097.50) int ->
[rbp-264H]
spill-
single-def V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)"
;
V122 tmp102
[
V122
,T27] ( 3,24576 ) byref ->
r9
"dup spill"
; V1
23
tmp
107
[V1
23
,T4
7
] ( 4, 4097.40) byref -> [rbp-
288H
] spill-single-def V06._pointer(offs=0x00) P-INDEP "field V06._pointer (fldOffset=0x0)"
;
V123
tmp10
3
[
V123
,T28] ( 3,24576 ) byref ->
r9
"dup spill"
;
V124
tmp1
08
[
V124
,T4
9
] ( 3, 4097.50) int ->
[rbp-268H]
spill-
single-def V06._length(offs=0x08) P-INDEP "field V06._length (fldOffset=0x8)"
;
V124
tmp10
4
[
V124
,T29] ( 3,24576 ) byref ->
r9
"dup spill"
; V1
25
tmp1
09
[V1
25
] ( 2, 2 ) ref -> [rbp-
8
0H] do-not-enreg[X] addr-exposed V2
3
._object(offs=0x00) P-DEP "field V2
3
._object (fldOffset=0x0)"
;
V125
tmp10
5
[
V125
,T30] ( 3,24576 ) byref ->
r9
"dup spill"
;
V126
tmp11
0
[
V126
] ( 2, 1.50) int -> [rbp-
7
8H] do-not-enreg[X] addr-exposed V2
3
._index(offs=0x08) P-DEP "field V2
3
._index (fldOffset=0x8)"
;
V126
tmp10
6
[
V126
,T39] ( 3, 8193 ) byref -> rsi single-def V04._pointer(offs=0x00) P-INDEP "field V04._pointer (fldOffset=0x0)"
;
V127
tmp11
1
[
V127
] ( 2, 1.50) int -> [rbp-
7
4H] do-not-enreg[X] addr-exposed V2
3
._length(offs=0x0c) P-DEP "field V2
3
._length (fldOffset=0xc)"
; V12
7
tmp10
7
[V12
7
,T40] ( 3, 8193 ) int -> rdi single-def V04._length(offs=0x08) P-INDEP "field V04._length (fldOffset=0x8)"
;
V128
tmp11
2
[
V128
,T7
6
] ( 2, 2 ) byref -> rsi single-def V2
4
._pointer(offs=0x00) P-INDEP "field V2
4
._pointer (fldOffset=0x0)"
; V12
8
tmp10
8
[V12
8
,T4
4
] ( 4, 4097.40) byref -> [rbp-28
8
H] spill-single-def V05._pointer(offs=0x00) P-INDEP "field V05._pointer (fldOffset=0x0)"
;
V129
tmp11
3
[
V129,T89
] ( 2, 2 ) int -> rdi single-def V2
4
._length(offs=0x08) P-INDEP "field V2
4
._length (fldOffset=0x8)"
; V12
9
tmp10
9
[V12
9
,T4
6
] ( 3, 4097.50) int ->
r14
single-def V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)"
; V13
0
tmp11
4
[V13
0,T77
] ( 2, 2 ) byref -> rsi V
28
._pointer(offs=0x00) P-INDEP "field V
28
._pointer (fldOffset=0x0)"
; V1
30
tmp
110
[V1
30
,T4
5
] ( 4, 4097.40) byref -> [rbp-
290H
] spill-single-def V06._pointer(offs=0x00) P-INDEP "field V06._pointer (fldOffset=0x0)"
; V13
1
tmp11
5
[V13
1
,T9
0
] ( 2, 2 ) int -> rdi V
28
._length(offs=0x08) P-INDEP "field V
28
._length (fldOffset=0x8)"
;
V131
tmp1
11
[
V131
,T4
7
] ( 3, 4097.50) int ->
r12
single-def V06._length(offs=0x08) P-INDEP "field V06._length (fldOffset=0x8)"
; V13
2
tmp11
6
[V13
2
] ( 2, 1 ) byref -> [rbp-
9
0H] do-not-enreg[X] addr-exposed
V29
._pointer(offs=0x00) P-DEP "field
V29
._pointer (fldOffset=0x0)"
; V1
32
tmp1
12
[V1
32
] ( 2, 2 ) ref -> [rbp-
9
0H] do-not-enreg[X] addr-exposed V2
7
._object(offs=0x00) P-DEP "field V2
7
._object (fldOffset=0x0)"
;
V133
tmp1
17
[
V133
] ( 2, 1 ) int -> [rbp-
8
8H] do-not-enreg[X] addr-exposed
V29
._length(offs=0x08) P-DEP "field
V29
._length (fldOffset=0x8)"
;
V133
tmp11
3
[
V133
] ( 2, 1.50) int -> [rbp-
8
8H] do-not-enreg[X] addr-exposed V2
7
._index(offs=0x08) P-DEP "field V2
7
._index (fldOffset=0x8)"
; V1
34
tmp1
18
[V1
34
,T10
2
] ( 2, 1 ) byref -> rsi single-def V
39
._pointer(offs=0x00) P-INDEP "field V
39
._pointer (fldOffset=0x0)"
;
V134
tmp11
4
[
V134
] ( 2, 1.50) int -> [rbp-
8
4H] do-not-enreg[X] addr-exposed V2
7
._length(offs=0x0c) P-DEP "field V2
7
._length (fldOffset=0xc)"
;*
V135
tmp1
19
[
V135
] ( 0, 0 ) int -> zero-ref single-def V
39
._length(offs=0x08) P-INDEP "field V
39
._length (fldOffset=0x8)"
;
V135
tmp11
5
[
V135
,T7
9
] ( 2, 2 ) byref -> rsi single-def V2
8
._pointer(offs=0x00) P-INDEP "field V2
8
._pointer (fldOffset=0x0)"
; V1
36
tmp12
0
[V1
36,T78
] ( 2, 2 ) byref -> rsi single-def V4
1
._value(offs=0x00) P-INDEP "field V4
1
._value (fldOffset=0x0)"
;
V136
tmp11
6
[
V136,T93
] ( 2, 2 ) int -> rdi single-def V2
8
._length(offs=0x08) P-INDEP "field V2
8
._length (fldOffset=0x8)"
;
V137
tmp12
1
[
V137
] ( 2, 2 ) ref -> [rbp-
A
0H] do-not-enreg[X] addr-exposed V4
5
._object(offs=0x00) P-DEP "field V4
5
._object (fldOffset=0x0)"
; V13
7
tmp11
7
[V13
7,T80
] ( 2, 2 ) byref -> rsi V
32
._pointer(offs=0x00) P-INDEP "field V
32
._pointer (fldOffset=0x0)"
;
V138
tmp12
2
[
V138
] ( 2, 1.50) int -> [rbp-
9
8H] do-not-enreg[X] addr-exposed V4
5
._index(offs=0x08) P-DEP "field V4
5
._index (fldOffset=0x8)"
; V13
8
tmp11
8
[V13
8
,T9
4
] ( 2, 2 ) int -> rdi V
32
._length(offs=0x08) P-INDEP "field V
32
._length (fldOffset=0x8)"
;
V139
tmp12
3
[
V139
] ( 2, 1.50) int -> [rbp-
9
4H] do-not-enreg[X] addr-exposed V4
5
._length(offs=0x0c) P-DEP "field V4
5
._length (fldOffset=0xc)"
; V13
9
tmp11
9
[V13
9
] ( 2, 1 ) byref -> [rbp-
A
0H] do-not-enreg[X] addr-exposed
V33
._pointer(offs=0x00) P-DEP "field
V33
._pointer (fldOffset=0x0)"
; V14
0
tmp12
4
[V14
0,T79
] ( 2, 2 ) byref -> rbx single-def
V46
._pointer(offs=0x00) P-INDEP "field
V46
._pointer (fldOffset=0x0)"
;
V140
tmp1
20
[
V140
] ( 2, 1 ) int -> [rbp-
9
8H] do-not-enreg[X] addr-exposed
V33
._length(offs=0x08) P-DEP "field
V33
._length (fldOffset=0x8)"
; V14
1
tmp12
5
[V14
1
,T9
1
] ( 2, 2 ) int -> r14 single-def
V46
._length(offs=0x08) P-INDEP "field
V46
._length (fldOffset=0x8)"
; V1
41
tmp1
21
[V1
41
,T10
6
] ( 2, 1 ) byref -> rsi single-def V
43
._pointer(offs=0x00) P-INDEP "field V
43
._pointer (fldOffset=0x0)"
; V14
2
tmp12
6
[V14
2
,T8
0
] ( 2, 2 ) byref -> rbx V5
0
._pointer(offs=0x00) P-INDEP "field V5
0
._pointer (fldOffset=0x0)"
;*
V142
tmp1
22
[
V142
] ( 0, 0 ) int -> zero-ref single-def V
43
._length(offs=0x08) P-INDEP "field V
43
._length (fldOffset=0x8)"
;
V143
tmp1
27
[
V143
,T9
2
] ( 2, 2 ) int -> r14 V5
0
._length(offs=0x08) P-INDEP "field V5
0
._length (fldOffset=0x8)"
; V1
43
tmp12
3
[V1
43,T81
] ( 2, 2 ) byref -> rsi single-def V4
5
._value(offs=0x00) P-INDEP "field V4
5
._value (fldOffset=0x0)"
;
V144
tmp1
28
[
V144
] ( 2, 1 ) byref -> [rbp-
B
0H] do-not-enreg[X] addr-exposed V5
1
._pointer(offs=0x00) P-DEP "field V5
1
._pointer (fldOffset=0x0)"
;
V144
tmp12
4
[
V144
] ( 2, 2 ) ref -> [rbp-
B
0H] do-not-enreg[X] addr-exposed V4
9
._object(offs=0x00) P-DEP "field V4
9
._object (fldOffset=0x0)"
; V1
45
tmp1
29
[V1
45
] ( 2, 1 ) int -> [rbp-
A
8H] do-not-enreg[X] addr-exposed V5
1
._length(offs=0x08) P-DEP "field V5
1
._length (fldOffset=0x8)"
;
V145
tmp12
5
[
V145
] ( 2, 1.50) int -> [rbp-
A
8H] do-not-enreg[X] addr-exposed V4
9
._index(offs=0x08) P-DEP "field V4
9
._index (fldOffset=0x8)"
;
V146
tmp13
0
[
V146
,T10
3
] ( 2, 1 ) byref -> rbx single-def
V55
._pointer(offs=0x00) P-INDEP "field
V55
._pointer (fldOffset=0x0)"
;
V146
tmp12
6
[
V146
] ( 2, 1.50) int -> [rbp-
A
4H] do-not-enreg[X] addr-exposed V4
9
._length(offs=0x0c) P-DEP "field V4
9
._length (fldOffset=0xc)"
;* V1
47
tmp13
1
[V1
47
] ( 0, 0 ) int -> zero-ref single-def
V55
._length(offs=0x08) P-INDEP "field
V55
._length (fldOffset=0x8)"
; V14
7
tmp12
7
[V14
7,T82
] ( 2, 2 ) byref -> rbx single-def
V50
._pointer(offs=0x00) P-INDEP "field
V50
._pointer (fldOffset=0x0)"
;
V148
tmp13
2
[
V148
,T8
1
] ( 2, 2 ) byref -> rbx single-def
V57
._value(offs=0x00) P-INDEP "field
V57
._value (fldOffset=0x0)"
; V14
8
tmp12
8
[V14
8
,T9
5
] ( 2, 2 ) int -> r14 single-def
V50
._length(offs=0x08) P-INDEP "field
V50
._length (fldOffset=0x8)"
;
V149
tmp13
3
[
V149
] ( 2, 2 ) ref -> [rbp-
C
0H] do-not-enreg[X] addr-exposed V
58
._object(offs=0x00) P-DEP "field V
58
._object (fldOffset=0x0)"
; V14
9
tmp12
9
[V14
9
,T8
3
] ( 2, 2 ) byref -> rbx V5
4
._pointer(offs=0x00) P-INDEP "field V5
4
._pointer (fldOffset=0x0)"
; V15
0
tmp13
4
[V15
0
] ( 2, 1.50) int -> [rbp-
B
8H] do-not-enreg[X] addr-exposed V
58
._index(offs=0x08) P-DEP "field V
58
._index (fldOffset=0x8)"
;
V150
tmp1
30
[
V150
,T9
6
] ( 2, 2 ) int -> r14 V5
4
._length(offs=0x08) P-INDEP "field V5
4
._length (fldOffset=0x8)"
; V15
1
tmp13
5
[V15
1
] ( 2, 1.50) int -> [rbp-
B
4H] do-not-enreg[X] addr-exposed V
58
._length(offs=0x0c) P-DEP "field V
58
._length (fldOffset=0xc)"
;
V151
tmp1
31
[
V151
] ( 2, 1 ) byref -> [rbp-
C
0H] do-not-enreg[X] addr-exposed V5
5
._pointer(offs=0x00) P-DEP "field V5
5
._pointer (fldOffset=0x0)"
; V15
2
tmp13
6
[V15
2
,T8
2
] ( 2, 2 ) byref -> r15 single-def
V59
._pointer(offs=0x00) P-INDEP "field
V59
._pointer (fldOffset=0x0)"
; V1
52
tmp1
32
[V1
52
] ( 2, 1 ) int -> [rbp-
B
8H] do-not-enreg[X] addr-exposed V5
5
._length(offs=0x08) P-DEP "field V5
5
._length (fldOffset=0x8)"
;
V153
tmp1
37
[
V153
,T9
3
] ( 2, 2 ) int -> r12 single-def
V59
._length(offs=0x08) P-INDEP "field
V59
._length (fldOffset=0x8)"
;
V153
tmp13
3
[
V153
,T10
7
] ( 2, 1 ) byref -> rbx single-def
V62
._pointer(offs=0x00) P-INDEP "field
V62
._pointer (fldOffset=0x0)"
;
V154
tmp1
38
[
V154
,T8
3
] ( 2, 2 ) byref -> r15
V63
._pointer(offs=0x00) P-INDEP "field
V63
._pointer (fldOffset=0x0)"
;* V1
54
tmp13
4
[V1
54
] ( 0, 0 ) int -> zero-ref single-def
V62
._length(offs=0x08) P-INDEP "field
V62
._length (fldOffset=0x8)"
;
V155
tmp1
39
[
V155
,T9
4
] ( 2, 2 ) int -> r12
V63
._length(offs=0x08) P-INDEP "field
V63
._length (fldOffset=0x8)"
;
V155
tmp13
5
[
V155
,T8
4
] ( 2, 2 ) byref -> rbx single-def
V64
._value(offs=0x00) P-INDEP "field
V64
._value (fldOffset=0x0)"
; V1
56
tmp14
0
[V1
56
] ( 2, 1 ) byref -> [rbp-
D
0H] do-not-enreg[X] addr-exposed
V64
._pointer(offs=0x00) P-DEP "field
V64
._pointer (fldOffset=0x0)"
;
V156
tmp13
6
[
V156
] ( 2, 2 ) ref -> [rbp-
D
0H] do-not-enreg[X] addr-exposed V
65
._object(offs=0x00) P-DEP "field V
65
._object (fldOffset=0x0)"
;
V157
tmp14
1
[
V157
] ( 2, 1 ) int -> [rbp-
C
8H] do-not-enreg[X] addr-exposed
V64
._length(offs=0x08) P-DEP "field
V64
._length (fldOffset=0x8)"
; V15
7
tmp13
7
[V15
7
] ( 2, 1.50) int -> [rbp-
C
8H] do-not-enreg[X] addr-exposed V
65
._index(offs=0x08) P-DEP "field V
65
._index (fldOffset=0x8)"
; V1
58
tmp14
2
[V1
58
,T10
4
] ( 2, 1 ) byref -> r15 single-def
V68
._pointer(offs=0x00) P-INDEP "field
V68
._pointer (fldOffset=0x0)"
; V15
8
tmp13
8
[V15
8
] ( 2, 1.50) int -> [rbp-
C
4H] do-not-enreg[X] addr-exposed V
65
._length(offs=0x0c) P-DEP "field V
65
._length (fldOffset=0xc)"
;*
V159
tmp14
3
[
V159
] ( 0, 0 ) int -> zero-ref single-def
V68
._length(offs=0x08) P-INDEP "field
V68
._length (fldOffset=0x8)"
; V15
9
tmp13
9
[V15
9
,T8
5
] ( 2, 2 ) byref -> r15 single-def
V66
._pointer(offs=0x00) P-INDEP "field
V66
._pointer (fldOffset=0x0)"
; V16
0
tmp14
4
[V16
0
,T8
4
] ( 2, 2 ) byref -> r15 single-def V7
0
._value(offs=0x00) P-INDEP "field V7
0
._value (fldOffset=0x0)"
;
V160
tmp1
40
[
V160
,T9
7
] ( 2, 2 ) int -> r12 single-def
V66
._length(offs=0x08) P-INDEP "field
V66
._length (fldOffset=0x8)"
; V16
1
PSPSym [V16
1
,T11
0
] ( 1, 1 ) long -> [rbp-2
9
0H] do-not-enreg[V] "PSPSym"
;
V161
tmp1
41
[
V161
,T8
6
] ( 2, 2 ) byref -> r15
V70
._pointer(offs=0x00) P-INDEP "field
V70
._pointer (fldOffset=0x0)"
; V16
2
cse0 [V16
2,T43] ( 2, 5120 ) int -> rcx "CSE - conservative"
;
V162
tmp1
42
[
V162
,T9
8
] ( 2, 2 ) int -> r12
V70
._length(offs=0x08) P-INDEP "field
V70
._length (fldOffset=0x8)"
; V163 cse1 [V163
,T34] ( 3,12288 ) byref ->
rbx
"CSE - moderate"
; V1
63
tmp14
3
[V1
63
] ( 2, 1 ) byref -> [rbp-
E
0H] do-not-enreg[X] addr-exposed
V71
._pointer(offs=0x00) P-DEP "field
V71
._pointer (fldOffset=0x0)"
;
V164
cse
2
[
V164
,T35] ( 3,12288 ) byref ->
r10
"CSE - moderate"
;
V164
tmp14
4
[
V164
] ( 2, 1 ) int -> [rbp-
D
8H] do-not-enreg[X] addr-exposed
V71
._length(offs=0x08) P-DEP "field
V71
._length (fldOffset=0x8)"
;
V165
cse
3
[
V165
,T36] ( 3,12288 ) byref -> r1
4
"CSE - moderate"
; V1
65
tmp14
5
[V1
65
,T10
8
] ( 2, 1 ) byref -> r15 single-def
V75
._pointer(offs=0x00) P-INDEP "field
V75
._pointer (fldOffset=0x0)"
;
V166
cse
4
[
V166
,T4
4
] ( 2, 5120 ) int ->
r11 "CSE - conservative"
;*
V166
tmp14
6
[
V166
] ( 0, 0 ) int -> zero-ref single-def
V75
._length(offs=0x08) P-INDEP "field
V75
._length (fldOffset=0x8)"
; V167 cse5 [V167,T51] ( 6, 4 ) ref -> rdx
"CSE -
conservative
"
; V16
7
tmp14
7
[V16
7
,T8
7
] ( 2, 2 ) byref -> r15 single-def V7
7
._value(offs=0x00) P-INDEP "field V7
7
._value (fldOffset=0x0)"
; V16
8
PSPSym [V16
8
,T11
5
] ( 1, 1 ) long -> [rbp-2
A
0H] do-not-enreg[V] "PSPSym"
; V16
9
cse0 [V16
9
,T34] ( 3,12288 ) byref ->
r9
"CSE - moderate"
;
V170
cse
1
[
V170
,T35] ( 3,12288 ) byref ->
r8
"CSE - moderate"
;
V171
cse
2
[
V171
,T36] ( 3,12288 ) byref -> r1
0
"CSE - moderate"
;
V172
cse
3
[
V172
,T4
3
] ( 2, 5120 ) int ->
rax
"CSE -
moderate
"
;
;
Copier
Copié
Copier
Copié
; Lcl frame size =
632
; Lcl frame size =
648
G_M27751_IG01:
G_M27751_IG01:
push rbp
push rbp
push r15
push r15
push r14
push r14
push r13
push r13
push r12
push r12
push rdi
push rdi
push rsi
push rsi
push rbx
push rbx
Copier
Copié
Copier
Copié
sub rsp,
632
sub rsp,
648
vzeroupper
vzeroupper
Copier
Copié
Copier
Copié
lea rbp, [rsp+2
B
0H]
lea rbp, [rsp+2
C
0H]
xor eax, eax
mov qword ptr [rbp-278H], rax
vxorps xmm4, xmm4
vxorps xmm4, xmm4
vmovdqa xmmword ptr [rbp-270H], xmm4
vmovdqa xmmword ptr [rbp-270H], xmm4
Copier
Copié
Copier
Copié
vmovdqa xmmword ptr [rbp-260H], xmm4
mov rax, -480
mov rax, -480
Copier
Copié
Copier
Copié
vmovdqa xmmword ptr [rbp+rax-80H], xmm4
vmovdqa xmmword ptr [rbp+rax-70H], xmm4
vmovdqa xmmword ptr [rbp+rax-70H], xmm4
vmovdqa xmmword ptr [rbp+rax-60H], xmm4
vmovdqa xmmword ptr [rbp+rax-60H], xmm4
Copier
Copié
Copier
Copié
vmovdqa xmmword ptr [rbp+rax-50H], xmm4
add rax, 48
add rax, 48
jne SHORT -5 instr
jne SHORT -5 instr
Copier
Copié
Copier
Copié
mov qword ptr [rbp-2
9
0H], rsp
mov qword ptr [rbp-2
A
0H], rsp
mov rdi, rcx
mov rdi, rcx
mov rsi, rdx
mov rsi, rdx
Copier
Copié
Copier
Copié
;; bbWeight=1 PerfScore
23.08
;; bbWeight=1 PerfScore
22.33
G_M27751_IG02:
G_M27751_IG02:
mov rcx, rsi
mov rcx, rsi
mov rdx, 0xD1FFAB1E
mov rdx, 0xD1FFAB1E
mov r8, 0xD1FFAB1E
mov r8, 0xD1FFAB1E
call CORINFO_HELP_VIRTUAL_FUNC_PTR
call CORINFO_HELP_VIRTUAL_FUNC_PTR
mov rcx, rsi
mov rcx, rsi
mov edx, 0x441
mov edx, 0x441
xor r8d, r8d
xor r8d, r8d
call rax
call rax
Copier
Copié
Copier
Copié
mov gword ptr [rbp-27
0
H], rax
mov gword ptr [rbp-27
8
H], rax
;; bbWeight=1 PerfScore 6.50
;; bbWeight=1 PerfScore 6.50
G_M27751_IG03:
G_M27751_IG03:
mov rcx, rsi
mov rcx, rsi
mov rdx, 0xD1FFAB1E
mov rdx, 0xD1FFAB1E
mov r8, 0xD1FFAB1E
mov r8, 0xD1FFAB1E
call CORINFO_HELP_VIRTUAL_FUNC_PTR
call CORINFO_HELP_VIRTUAL_FUNC_PTR
mov rcx, rsi
mov rcx, rsi
mov edx, 33
mov edx, 33
xor r8d, r8d
xor r8d, r8d
call rax
call rax
Copier
Copié
Copier
Copié
mov gword ptr [rbp-2
78
H], rax
mov gword ptr [rbp-2
80
H], rax
;; bbWeight=1 PerfScore 6.50
;; bbWeight=1 PerfScore 6.50
G_M27751_IG04:
G_M27751_IG04:
mov rcx, gword ptr [rdi+8]
mov rcx, gword ptr [rdi+8]
Copier
Copié
Copier
Copié
lea rdx, bword ptr [rbp-
8
0H]
lea rdx, bword ptr [rbp-
9
0H]
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this]
call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this]
xor esi, esi
xor esi, esi
xor edi, edi
xor edi, edi
Copier
Copié
Copier
Copié
mov rbx, gword ptr [rbp-
8
0H]
mov rbx, gword ptr [rbp-
9
0H]
test rbx, rbx
test rbx, rbx
je G_M27751_IG10
je G_M27751_IG10
;; bbWeight=1 PerfScore 8.50
;; bbWeight=1 PerfScore 8.50
G_M27751_IG05:
G_M27751_IG05:
mov rdx, qword ptr [rbx]
mov rdx, qword ptr [rbx]
test dword ptr [rdx], 0xD1FFAB1E
test dword ptr [rdx], 0xD1FFAB1E
je SHORT G_M27751_IG07
je SHORT G_M27751_IG07
mov rdx, rbx
mov rdx, rbx
mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][]
mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][]
call CORINFO_HELP_ISINSTANCEOFARRAY
call CORINFO_HELP_ISINSTANCEOFARRAY
test rax, rax
test rax, rax
setne cl
setne cl
movzx rcx, cl
movzx rcx, cl
mov rdx, 0xD1FFAB1E ; ""
mov rdx, 0xD1FFAB1E ; ""
mov rdx, gword ptr [rdx]
mov rdx, gword ptr [rdx]
test ecx, ecx
test ecx, ecx
jne SHORT G_M27751_IG06
jne SHORT G_M27751_IG06
mov rcx, rdx
mov rcx, rdx
call System.Diagnostics.Debug:Fail(System.String,System.String)
call System.Diagnostics.Debug:Fail(System.String,System.String)
;; bbWeight=0.50 PerfScore 6.88
;; bbWeight=0.50 PerfScore 6.88
G_M27751_IG06:
G_M27751_IG06:
lea rsi, bword ptr [rbx+16]
lea rsi, bword ptr [rbx+16]
mov edi, dword ptr [rbx+8]
mov edi, dword ptr [rbx+8]
jmp SHORT G_M27751_IG09
jmp SHORT G_M27751_IG09
;; bbWeight=0.50 PerfScore 2.25
;; bbWeight=0.50 PerfScore 2.25
G_M27751_IG07:
G_M27751_IG07:
mov rdx, rbx
mov rdx, rbx
mov rcx, 0xD1FFAB1E ; System.Buffers.MemoryManager`1[Moment]
mov rcx, 0xD1FFAB1E ; System.Buffers.MemoryManager`1[Moment]
call CORINFO_HELP_ISINSTANCEOFCLASS
call CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
setne cl
setne cl
movzx rcx, cl
movzx rcx, cl
mov rdx, 0xD1FFAB1E ; ""
mov rdx, 0xD1FFAB1E ; ""
mov rdx, gword ptr [rdx]
mov rdx, gword ptr [rdx]
test ecx, ecx
test ecx, ecx
jne SHORT G_M27751_IG08
jne SHORT G_M27751_IG08
mov rcx, rdx
mov rcx, rdx
call System.Diagnostics.Debug:Fail(System.String,System.String)
call System.Diagnostics.Debug:Fail(System.String,System.String)
;; bbWeight=0.50 PerfScore 3.88
;; bbWeight=0.50 PerfScore 3.88
G_M27751_IG08:
G_M27751_IG08:
Copier
Copié
Copier
Copié
lea rdx, bword ptr [rbp-
9
0H]
lea rdx, bword ptr [rbp-
A
0H]
mov rcx, rbx
mov rcx, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+72]
mov rax, qword ptr [rax+72]
call qword ptr [rax+40]System.Buffers.MemoryManager`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:GetSpan():System.Span`1[Moment]:this
call qword ptr [rax+40]System.Buffers.MemoryManager`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:GetSpan():System.Span`1[Moment]:this
Copier
Copié
Copier
Copié
mov rsi, bword ptr [rbp-
9
0H]
mov rsi, bword ptr [rbp-
A
0H]
mov edi, dword ptr [rbp-
8
8H]
mov edi, dword ptr [rbp-
9
8H]
;; bbWeight=0.50 PerfScore 4.88
;; bbWeight=0.50 PerfScore 4.88
G_M27751_IG09:
G_M27751_IG09:
Copier
Copié
Copier
Copié
mov ecx, dword ptr [rbp-
7
8H]
mov ecx, dword ptr [rbp-
8
8H]
and ecx, 0xD1FFAB1E
and ecx, 0xD1FFAB1E
Copier
Copié
Copier
Copié
mov edx, dword ptr [rbp-
7
4H]
mov edx, dword ptr [rbp-
8
4H]
mov eax, edx
mov eax, edx
add rax, rcx
add rax, rcx
mov r8d, edi
mov r8d, edi
cmp rax, r8
cmp rax, r8
Copier
Copié
Copier
Copié
ja G_M27751_IG3
8
ja G_M27751_IG3
9
imul rcx, rcx, 48
imul rcx, rcx, 48
add rsi, rcx
add rsi, rcx
mov edi, edx
mov edi, edx
;; bbWeight=0.50 PerfScore 3.38
;; bbWeight=0.50 PerfScore 3.38
G_M27751_IG10:
G_M27751_IG10:
mov ecx, edi
mov ecx, edi
not ecx
not ecx
shr ecx, 31
shr ecx, 31
mov rdx, 0xD1FFAB1E ; ""
mov rdx, 0xD1FFAB1E ; ""
mov rdx, gword ptr [rdx]
mov rdx, gword ptr [rdx]
test ecx, ecx
test ecx, ecx
jne SHORT G_M27751_IG12
jne SHORT G_M27751_IG12
;; bbWeight=1 PerfScore 4.50
;; bbWeight=1 PerfScore 4.50
G_M27751_IG11:
G_M27751_IG11:
mov rcx, rdx
mov rcx, rdx
call System.Diagnostics.Debug:Fail(System.String,System.String)
call System.Diagnostics.Debug:Fail(System.String,System.String)
;; bbWeight=0.50 PerfScore 0.62
;; bbWeight=0.50 PerfScore 0.62
G_M27751_IG12:
G_M27751_IG12:
Copier
Copié
Copier
Copié
lea rdx, bword ptr [rbp-
A
0H]
lea rdx, bword ptr [rbp-
B
0H]
mov rcx, gword ptr [rbp-27
0
H]
mov rcx, gword ptr [rbp-27
8
H]
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this]
call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this]
xor ebx, ebx
xor ebx, ebx
xor r14d, r14d
xor r14d, r14d
Copier
Copié
Copier
Copié
mov r15, gword ptr [rbp-
A
0H]
mov r15, gword ptr [rbp-
B
0H]
test r15, r15
test r15, r15
Copier
Copié
Copier
Copié
je G_M27751_IG1
6
je G_M27751_IG1
7
;; bbWeight=1 PerfScore 7.50
;; bbWeight=1 PerfScore 7.50
G_M27751_IG13:
G_M27751_IG13:
mov rdx, qword ptr [r15]
mov rdx, qword ptr [r15]
test dword ptr [rdx], 0xD1FFAB1E
test dword ptr [rdx], 0xD1FFAB1E
Copier
Copié
Copier
Copié
je SHORT G_M27751_IG1
4
je SHORT G_M27751_IG1
5
mov rdx, r15
mov rdx, r15
mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][]
mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][]
call CORINFO_HELP_ISINSTANCEOFARRAY
call CORINFO_HELP_ISINSTANCEOFARRAY
test rax, rax
test rax, rax
setne cl
setne cl
Copier
Copié
Copier
Copié
movzx rcx, cl
call System.Diagnostics.Debug:Assert(bool)
lea rbx, bword ptr [r15+16]
mov r14d, dword ptr [r15+8]
jmp SHORT G_M27751_IG15
;; bbWeight=0.50 PerfScore 7.25
G_M27751_IG14:
mov rdx, r15
mov rcx, 0xD1FFAB1E ; System.Buffers.MemoryManager`1[Moment]
call CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
setne cl
Différences enregistrées
Texte d'origine
Ouvrir un fichier
; Assembly listing for method SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1[Rgba32][SixLabors.ImageSharp.PixelFormats.Rgba32]:Get3DMoments(SixLabors.ImageSharp.Memory.MemoryAllocator):this ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 2 inlinees with PGO data; 66 single block inlinees; 8 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T58] ( 3, 3 ) byref -> rdi this single-def ; V01 arg1 [V01,T50] ( 6, 6 ) ref -> rsi class-hnd single-def ; V02 loc0 [V02,T71] ( 5, 2 ) ref -> [rbp-270H] must-init class-hnd EH-live single-def ; V03 loc1 [V03,T72] ( 5, 2 ) ref -> [rbp-278H] class-hnd EH-live single-def ;* V04 loc2 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;* V05 loc3 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;* V06 loc4 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;* V07 loc5 [V07,T109] ( 0, 0 ) int -> zero-ref single-def ; V08 loc6 [V08,T42] ( 10, 6337 ) int -> r13 ; V09 loc7 [V09,T45] ( 8, 4880 ) int -> [rbp-3CH] ; V10 loc8 [V10,T41] ( 7, 6400 ) int -> r8 ; V11 loc9 [V11,T33] ( 4,13312 ) struct (48) [rbp-70H] do-not-enreg[S] ld-addr-op ; V12 loc10 [V12,T04] ( 8,29696 ) int -> r9 ; V13 loc11 [V13,T31] ( 4,16384 ) int -> rdx ; V14 loc12 [V14,T37] ( 3,12288 ) int -> r14 ; V15 loc13 [V15,T38] ( 3,12288 ) int -> rdx ; V16 OutArgs [V16 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V17 tmp1 [V17,T64] ( 2, 4 ) long -> rax "VirtualCall through function pointer" ; V18 tmp2 [V18,T65] ( 2, 4 ) long -> rax "VirtualCall through function pointer" ; V19 tmp3 [V19,T05] ( 3,24576 ) byref -> r15 "dup spill" ; V20 tmp4 [V20,T06] ( 3,24576 ) byref -> r12 "dup spill" ; V21 tmp5 [V21,T32] ( 2,16384 ) byref -> r10 "impAppendStmt" ; V22 tmp6 [V22,T63] ( 2, 4 ) ref -> rcx class-hnd single-def "Inlining Arg" ; V23 tmp7 [V23 ] ( 4, 3 ) struct (16) [rbp-80H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ;* V24 tmp8 [V24 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" ; V25 tmp9 [V25,T59] ( 6, 4 ) byref -> rsi "Inline stloc first use temp" ; V26 tmp10 [V26,T55] ( 7, 5 ) int -> rdi "Inline stloc first use temp" ; V27 tmp11 [V27,T52] ( 9, 5.50) ref -> rbx class-hnd "Inline stloc first use temp" ;* V28 tmp12 [V28 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp" ; V29 tmp13 [V29 ] ( 3, 1.50) struct (16) [rbp-90H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ; V30 tmp14 [V30,T96] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp" ; V31 tmp15 [V31,T97] ( 3, 1.50) int -> rdx single-def "Inline stloc first use temp" ; V32 tmp16 [V32,T73] ( 2, 2 ) byref -> rdx single-def "Inlining Arg" ; V33 tmp17 [V33,T85] ( 2, 2 ) bool -> rcx "Inlining Arg" ;* V34 tmp18 [V34,T105] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ; V35 tmp19 [V35,T69] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg" ; V36 tmp20 [V36,T86] ( 2, 2 ) bool -> rcx "Inlining Arg" ;* V37 tmp21 [V37,T106] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ; V38 tmp22 [V38,T70] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg" ;* V39 tmp23 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V40 tmp24 [V40 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp" ;* V41 tmp25 [V41 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp" ; V42 tmp26 [V42,T66] ( 2, 4 ) bool -> rcx "Inlining Arg" ;* V43 tmp27 [V43,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ; V44 tmp28 [V44,T62] ( 3, 4 ) ref -> rdx class-hnd single-def "Inlining Arg" ; V45 tmp29 [V45 ] ( 4, 3 ) struct (16) [rbp-A0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ;* V46 tmp30 [V46 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" ; V47 tmp31 [V47,T60] ( 6, 4 ) byref -> rbx "Inline stloc first use temp" ; V48 tmp32 [V48,T56] ( 7, 5 ) int -> r14 "Inline stloc first use temp" ; V49 tmp33 [V49,T53] ( 9, 5.50) ref -> r15 class-hnd "Inline stloc first use temp" ;* V50 tmp34 [V50 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp" ; V51 tmp35 [V51 ] ( 3, 1.50) struct (16) [rbp-B0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ; V52 tmp36 [V52,T98] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp" ; V53 tmp37 [V53,T99] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp" ; V54 tmp38 [V54,T74] ( 2, 2 ) byref -> rdx single-def "Inlining Arg" ;* V55 tmp39 [V55 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V56 tmp40 [V56 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp" ;* V57 tmp41 [V57 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp" ; V58 tmp42 [V58 ] ( 4, 3 ) struct (16) [rbp-C0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ;* V59 tmp43 [V59 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" ; V60 tmp44 [V60,T61] ( 6, 4 ) byref -> r15 "Inline stloc first use temp" ; V61 tmp45 [V61,T57] ( 7, 5 ) int -> r12 "Inline stloc first use temp" ; V62 tmp46 [V62,T54] ( 9, 5.50) ref -> r13 class-hnd "Inline stloc first use temp" ;* V63 tmp47 [V63 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp" ; V64 tmp48 [V64 ] ( 3, 1.50) struct (16) [rbp-D0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ; V65 tmp49 [V65,T100] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp" ; V66 tmp50 [V66,T101] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp" ; V67 tmp51 [V67,T75] ( 2, 2 ) byref -> rdx single-def "Inlining Arg" ;* V68 tmp52 [V68 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V69 tmp53 [V69 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp" ;* V70 tmp54 [V70 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp" ;* V71 tmp55 [V71,T107] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ; V72 tmp56 [V72,T87] ( 2, 2 ) long -> rdx "impAppendStmt" ;* V73 tmp57 [V73 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ;* V74 tmp58 [V74 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V75 tmp59 [V75 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V76 tmp60 [V76 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V77 tmp61 [V77,T67] ( 5, 3.62) long -> [rbp-D8H] spill-single-def "Inlining Arg" ;* V78 tmp62 [V78 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V79 tmp63 [V79,T108] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ; V80 tmp64 [V80,T88] ( 2, 2 ) long -> rdx "impAppendStmt" ;* V81 tmp65 [V81 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ;* V82 tmp66 [V82 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V83 tmp67 [V83 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V84 tmp68 [V84 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V85 tmp69 [V85,T68] ( 5, 3.62) long -> [rbp-E0H] spill-single-def "Inlining Arg" ;* V86 tmp70 [V86 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ; V87 tmp71 [V87 ] ( 8,65536 ) struct (48) [rbp-110H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" ; V88 tmp72 [V88,T07] ( 3,24576 ) byref -> rbx "dup spill" ; V89 tmp73 [V89,T00] ( 7,57344 ) struct (48) [rbp-140H] do-not-enreg[SF] "Inlining Arg" ; V90 tmp74 [V90,T08] ( 3,24576 ) byref -> rbx "dup spill" ; V91 tmp75 [V91,T09] ( 3,24576 ) byref -> rbx "dup spill" ; V92 tmp76 [V92,T10] ( 3,24576 ) byref -> rbx "dup spill" ; V93 tmp77 [V93,T11] ( 3,24576 ) byref -> rbx "dup spill" ; V94 tmp78 [V94,T12] ( 3,24576 ) byref -> rbx "dup spill" ; V95 tmp79 [V95 ] ( 8,65536 ) struct (48) [rbp-170H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" ; V96 tmp80 [V96,T13] ( 3,24576 ) byref -> r12 "dup spill" ; V97 tmp81 [V97,T01] ( 7,57344 ) struct (48) [rbp-1A0H] do-not-enreg[SF] "Inlining Arg" ; V98 tmp82 [V98,T14] ( 3,24576 ) byref -> r14 "dup spill" ; V99 tmp83 [V99,T15] ( 3,24576 ) byref -> r14 "dup spill" ; V100 tmp84 [V100,T16] ( 3,24576 ) byref -> r14 "dup spill" ; V101 tmp85 [V101,T17] ( 3,24576 ) byref -> r14 "dup spill" ; V102 tmp86 [V102,T18] ( 3,24576 ) byref -> r14 "dup spill" ; V103 tmp87 [V103 ] ( 8,65536 ) struct (48) [rbp-1D0H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" ; V104 tmp88 [V104,T19] ( 3,24576 ) byref -> rbx "dup spill" ; V105 tmp89 [V105,T02] ( 7,57344 ) struct (48) [rbp-200H] do-not-enreg[SF] "Inlining Arg" ; V106 tmp90 [V106,T20] ( 3,24576 ) byref -> rbx "dup spill" ; V107 tmp91 [V107,T21] ( 3,24576 ) byref -> rbx "dup spill" ; V108 tmp92 [V108,T22] ( 3,24576 ) byref -> rbx "dup spill" ; V109 tmp93 [V109,T23] ( 3,24576 ) byref -> rbx "dup spill" ; V110 tmp94 [V110,T24] ( 3,24576 ) byref -> rbx "dup spill" ; V111 tmp95 [V111 ] ( 8,65536 ) struct (48) [rbp-230H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" ; V112 tmp96 [V112,T25] ( 3,24576 ) byref -> rdx "dup spill" ; V113 tmp97 [V113,T03] ( 7,57344 ) struct (48) [rbp-260H] do-not-enreg[SF] "Inlining Arg" ; V114 tmp98 [V114,T26] ( 3,24576 ) byref -> rdx "dup spill" ; V115 tmp99 [V115,T27] ( 3,24576 ) byref -> rdx "dup spill" ; V116 tmp100 [V116,T28] ( 3,24576 ) byref -> rdx "dup spill" ; V117 tmp101 [V117,T29] ( 3,24576 ) byref -> rdx "dup spill" ; V118 tmp102 [V118,T30] ( 3,24576 ) byref -> rdx "dup spill" ; V119 tmp103 [V119,T39] ( 3, 8193 ) byref -> rsi single-def V04._pointer(offs=0x00) P-INDEP "field V04._pointer (fldOffset=0x0)" ; V120 tmp104 [V120,T40] ( 3, 8193 ) int -> rdi single-def V04._length(offs=0x08) P-INDEP "field V04._length (fldOffset=0x8)" ; V121 tmp105 [V121,T46] ( 4, 4097.40) byref -> [rbp-280H] spill-single-def V05._pointer(offs=0x00) P-INDEP "field V05._pointer (fldOffset=0x0)" ; V122 tmp106 [V122,T48] ( 3, 4097.50) int -> [rbp-264H] spill-single-def V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)" ; V123 tmp107 [V123,T47] ( 4, 4097.40) byref -> [rbp-288H] spill-single-def V06._pointer(offs=0x00) P-INDEP "field V06._pointer (fldOffset=0x0)" ; V124 tmp108 [V124,T49] ( 3, 4097.50) int -> [rbp-268H] spill-single-def V06._length(offs=0x08) P-INDEP "field V06._length (fldOffset=0x8)" ; V125 tmp109 [V125 ] ( 2, 2 ) ref -> [rbp-80H] do-not-enreg[X] addr-exposed V23._object(offs=0x00) P-DEP "field V23._object (fldOffset=0x0)" ; V126 tmp110 [V126 ] ( 2, 1.50) int -> [rbp-78H] do-not-enreg[X] addr-exposed V23._index(offs=0x08) P-DEP "field V23._index (fldOffset=0x8)" ; V127 tmp111 [V127 ] ( 2, 1.50) int -> [rbp-74H] do-not-enreg[X] addr-exposed V23._length(offs=0x0c) P-DEP "field V23._length (fldOffset=0xc)" ; V128 tmp112 [V128,T76] ( 2, 2 ) byref -> rsi single-def V24._pointer(offs=0x00) P-INDEP "field V24._pointer (fldOffset=0x0)" ; V129 tmp113 [V129,T89] ( 2, 2 ) int -> rdi single-def V24._length(offs=0x08) P-INDEP "field V24._length (fldOffset=0x8)" ; V130 tmp114 [V130,T77] ( 2, 2 ) byref -> rsi V28._pointer(offs=0x00) P-INDEP "field V28._pointer (fldOffset=0x0)" ; V131 tmp115 [V131,T90] ( 2, 2 ) int -> rdi V28._length(offs=0x08) P-INDEP "field V28._length (fldOffset=0x8)" ; V132 tmp116 [V132 ] ( 2, 1 ) byref -> [rbp-90H] do-not-enreg[X] addr-exposed V29._pointer(offs=0x00) P-DEP "field V29._pointer (fldOffset=0x0)" ; V133 tmp117 [V133 ] ( 2, 1 ) int -> [rbp-88H] do-not-enreg[X] addr-exposed V29._length(offs=0x08) P-DEP "field V29._length (fldOffset=0x8)" ; V134 tmp118 [V134,T102] ( 2, 1 ) byref -> rsi single-def V39._pointer(offs=0x00) P-INDEP "field V39._pointer (fldOffset=0x0)" ;* V135 tmp119 [V135 ] ( 0, 0 ) int -> zero-ref single-def V39._length(offs=0x08) P-INDEP "field V39._length (fldOffset=0x8)" ; V136 tmp120 [V136,T78] ( 2, 2 ) byref -> rsi single-def V41._value(offs=0x00) P-INDEP "field V41._value (fldOffset=0x0)" ; V137 tmp121 [V137 ] ( 2, 2 ) ref -> [rbp-A0H] do-not-enreg[X] addr-exposed V45._object(offs=0x00) P-DEP "field V45._object (fldOffset=0x0)" ; V138 tmp122 [V138 ] ( 2, 1.50) int -> [rbp-98H] do-not-enreg[X] addr-exposed V45._index(offs=0x08) P-DEP "field V45._index (fldOffset=0x8)" ; V139 tmp123 [V139 ] ( 2, 1.50) int -> [rbp-94H] do-not-enreg[X] addr-exposed V45._length(offs=0x0c) P-DEP "field V45._length (fldOffset=0xc)" ; V140 tmp124 [V140,T79] ( 2, 2 ) byref -> rbx single-def V46._pointer(offs=0x00) P-INDEP "field V46._pointer (fldOffset=0x0)" ; V141 tmp125 [V141,T91] ( 2, 2 ) int -> r14 single-def V46._length(offs=0x08) P-INDEP "field V46._length (fldOffset=0x8)" ; V142 tmp126 [V142,T80] ( 2, 2 ) byref -> rbx V50._pointer(offs=0x00) P-INDEP "field V50._pointer (fldOffset=0x0)" ; V143 tmp127 [V143,T92] ( 2, 2 ) int -> r14 V50._length(offs=0x08) P-INDEP "field V50._length (fldOffset=0x8)" ; V144 tmp128 [V144 ] ( 2, 1 ) byref -> [rbp-B0H] do-not-enreg[X] addr-exposed V51._pointer(offs=0x00) P-DEP "field V51._pointer (fldOffset=0x0)" ; V145 tmp129 [V145 ] ( 2, 1 ) int -> [rbp-A8H] do-not-enreg[X] addr-exposed V51._length(offs=0x08) P-DEP "field V51._length (fldOffset=0x8)" ; V146 tmp130 [V146,T103] ( 2, 1 ) byref -> rbx single-def V55._pointer(offs=0x00) P-INDEP "field V55._pointer (fldOffset=0x0)" ;* V147 tmp131 [V147 ] ( 0, 0 ) int -> zero-ref single-def V55._length(offs=0x08) P-INDEP "field V55._length (fldOffset=0x8)" ; V148 tmp132 [V148,T81] ( 2, 2 ) byref -> rbx single-def V57._value(offs=0x00) P-INDEP "field V57._value (fldOffset=0x0)" ; V149 tmp133 [V149 ] ( 2, 2 ) ref -> [rbp-C0H] do-not-enreg[X] addr-exposed V58._object(offs=0x00) P-DEP "field V58._object (fldOffset=0x0)" ; V150 tmp134 [V150 ] ( 2, 1.50) int -> [rbp-B8H] do-not-enreg[X] addr-exposed V58._index(offs=0x08) P-DEP "field V58._index (fldOffset=0x8)" ; V151 tmp135 [V151 ] ( 2, 1.50) int -> [rbp-B4H] do-not-enreg[X] addr-exposed V58._length(offs=0x0c) P-DEP "field V58._length (fldOffset=0xc)" ; V152 tmp136 [V152,T82] ( 2, 2 ) byref -> r15 single-def V59._pointer(offs=0x00) P-INDEP "field V59._pointer (fldOffset=0x0)" ; V153 tmp137 [V153,T93] ( 2, 2 ) int -> r12 single-def V59._length(offs=0x08) P-INDEP "field V59._length (fldOffset=0x8)" ; V154 tmp138 [V154,T83] ( 2, 2 ) byref -> r15 V63._pointer(offs=0x00) P-INDEP "field V63._pointer (fldOffset=0x0)" ; V155 tmp139 [V155,T94] ( 2, 2 ) int -> r12 V63._length(offs=0x08) P-INDEP "field V63._length (fldOffset=0x8)" ; V156 tmp140 [V156 ] ( 2, 1 ) byref -> [rbp-D0H] do-not-enreg[X] addr-exposed V64._pointer(offs=0x00) P-DEP "field V64._pointer (fldOffset=0x0)" ; V157 tmp141 [V157 ] ( 2, 1 ) int -> [rbp-C8H] do-not-enreg[X] addr-exposed V64._length(offs=0x08) P-DEP "field V64._length (fldOffset=0x8)" ; V158 tmp142 [V158,T104] ( 2, 1 ) byref -> r15 single-def V68._pointer(offs=0x00) P-INDEP "field V68._pointer (fldOffset=0x0)" ;* V159 tmp143 [V159 ] ( 0, 0 ) int -> zero-ref single-def V68._length(offs=0x08) P-INDEP "field V68._length (fldOffset=0x8)" ; V160 tmp144 [V160,T84] ( 2, 2 ) byref -> r15 single-def V70._value(offs=0x00) P-INDEP "field V70._value (fldOffset=0x0)" ; V161 PSPSym [V161,T110] ( 1, 1 ) long -> [rbp-290H] do-not-enreg[V] "PSPSym" ; V162 cse0 [V162,T43] ( 2, 5120 ) int -> rcx "CSE - conservative" ; V163 cse1 [V163,T34] ( 3,12288 ) byref -> rbx "CSE - moderate" ; V164 cse2 [V164,T35] ( 3,12288 ) byref -> r10 "CSE - moderate" ; V165 cse3 [V165,T36] ( 3,12288 ) byref -> r14 "CSE - moderate" ; V166 cse4 [V166,T44] ( 2, 5120 ) int -> r11 "CSE - conservative" ; V167 cse5 [V167,T51] ( 6, 4 ) ref -> rdx "CSE - conservative" ; ; Lcl frame size = 632 G_M27751_IG01: push rbp push r15 push r14 push r13 push r12 push rdi push rsi push rbx sub rsp, 632 vzeroupper lea rbp, [rsp+2B0H] vxorps xmm4, xmm4 vmovdqa xmmword ptr [rbp-270H], xmm4 vmovdqa xmmword ptr [rbp-260H], xmm4 mov rax, -480 vmovdqa xmmword ptr [rbp+rax-70H], xmm4 vmovdqa xmmword ptr [rbp+rax-60H], xmm4 vmovdqa xmmword ptr [rbp+rax-50H], xmm4 add rax, 48 jne SHORT -5 instr mov qword ptr [rbp-290H], rsp mov rdi, rcx mov rsi, rdx ;; bbWeight=1 PerfScore 23.08 G_M27751_IG02: mov rcx, rsi mov rdx, 0xD1FFAB1E mov r8, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov rcx, rsi mov edx, 0x441 xor r8d, r8d call rax mov gword ptr [rbp-270H], rax ;; bbWeight=1 PerfScore 6.50 G_M27751_IG03: mov rcx, rsi mov rdx, 0xD1FFAB1E mov r8, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov rcx, rsi mov edx, 33 xor r8d, r8d call rax mov gword ptr [rbp-278H], rax ;; bbWeight=1 PerfScore 6.50 G_M27751_IG04: mov rcx, gword ptr [rdi+8] lea rdx, bword ptr [rbp-80H] mov r11, 0xD1FFAB1E call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this] xor esi, esi xor edi, edi mov rbx, gword ptr [rbp-80H] test rbx, rbx je G_M27751_IG10 ;; bbWeight=1 PerfScore 8.50 G_M27751_IG05: mov rdx, qword ptr [rbx] test dword ptr [rdx], 0xD1FFAB1E je SHORT G_M27751_IG07 mov rdx, rbx mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][] call CORINFO_HELP_ISINSTANCEOFARRAY test rax, rax setne cl movzx rcx, cl mov rdx, 0xD1FFAB1E ; "" mov rdx, gword ptr [rdx] test ecx, ecx jne SHORT G_M27751_IG06 mov rcx, rdx call System.Diagnostics.Debug:Fail(System.String,System.String) ;; bbWeight=0.50 PerfScore 6.88 G_M27751_IG06: lea rsi, bword ptr [rbx+16] mov edi, dword ptr [rbx+8] jmp SHORT G_M27751_IG09 ;; bbWeight=0.50 PerfScore 2.25 G_M27751_IG07: mov rdx, rbx mov rcx, 0xD1FFAB1E ; System.Buffers.MemoryManager`1[Moment] call CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax setne cl movzx rcx, cl mov rdx, 0xD1FFAB1E ; "" mov rdx, gword ptr [rdx] test ecx, ecx jne SHORT G_M27751_IG08 mov rcx, rdx call System.Diagnostics.Debug:Fail(System.String,System.String) ;; bbWeight=0.50 PerfScore 3.88 G_M27751_IG08: lea rdx, bword ptr [rbp-90H] mov rcx, rbx mov rax, qword ptr [rbx] mov rax, qword ptr [rax+72] call qword ptr [rax+40]System.Buffers.MemoryManager`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:GetSpan():System.Span`1[Moment]:this mov rsi, bword ptr [rbp-90H] mov edi, dword ptr [rbp-88H] ;; bbWeight=0.50 PerfScore 4.88 G_M27751_IG09: mov ecx, dword ptr [rbp-78H] and ecx, 0xD1FFAB1E mov edx, dword ptr [rbp-74H] mov eax, edx add rax, rcx mov r8d, edi cmp rax, r8 ja G_M27751_IG38 imul rcx, rcx, 48 add rsi, rcx mov edi, edx ;; bbWeight=0.50 PerfScore 3.38 G_M27751_IG10: mov ecx, edi not ecx shr ecx, 31 mov rdx, 0xD1FFAB1E ; "" mov rdx, gword ptr [rdx] test ecx, ecx jne SHORT G_M27751_IG12 ;; bbWeight=1 PerfScore 4.50 G_M27751_IG11: mov rcx, rdx call System.Diagnostics.Debug:Fail(System.String,System.String) ;; bbWeight=0.50 PerfScore 0.62 G_M27751_IG12: lea rdx, bword ptr [rbp-A0H] mov rcx, gword ptr [rbp-270H] mov r11, 0xD1FFAB1E call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this] xor ebx, ebx xor r14d, r14d mov r15, gword ptr [rbp-A0H] test r15, r15 je G_M27751_IG16 ;; bbWeight=1 PerfScore 7.50 G_M27751_IG13: mov rdx, qword ptr [r15] test dword ptr [rdx], 0xD1FFAB1E je SHORT G_M27751_IG14 mov rdx, r15 mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][] call CORINFO_HELP_ISINSTANCEOFARRAY test rax, rax setne cl movzx rcx, cl call System.Diagnostics.Debug:Assert(bool) lea rbx, bword ptr [r15+16] mov r14d, dword ptr [r15+8] jmp SHORT G_M27751_IG15 ;; bbWeight=0.50 PerfScore 7.25 G_M27751_IG14: mov rdx, r15 mov rcx, 0xD1FFAB1E ; System.Buffers.MemoryManager`1[Moment] call CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax setne cl movzx rcx, cl call System.Diagnostics.Debug:Assert(bool) lea rdx, bword ptr [rbp-B0H] mov rcx, r15 mov rax, qword ptr [r15] mov rax, qword ptr [rax+72] call qword ptr [rax+40]System.Buffers.MemoryManager`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:GetSpan():System.Span`1[Moment]:this mov rbx, bword ptr [rbp-B0H] mov r14d, dword ptr [rbp-A8H] ;; bbWeight=0.50 PerfScore 6.88 G_M27751_IG15: mov ecx, dword ptr [rbp-98H] and ecx, 0xD1FFAB1E mov eax, dword ptr [rbp-94H] mov edx, eax add rdx, rcx mov r8d, r14d cmp rdx, r8 ja G_M27751_IG38 imul rcx, rcx, 48 add rbx, rcx mov r14d, eax ;; bbWeight=0.50 PerfScore 3.38 G_M27751_IG16: mov ecx, r14d not ecx shr ecx, 31 call System.Diagnostics.Debug:Assert(bool) mov bword ptr [rbp-280H], rbx mov dword ptr [rbp-264H], r14d lea rdx, bword ptr [rbp-C0H] mov rcx, gword ptr [rbp-278H] mov r11, 0xD1FFAB1E call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this] xor r15d, r15d xor r12d, r12d mov r13, gword ptr [rbp-C0H] test r13, r13 je G_M27751_IG20 ;; bbWeight=1 PerfScore 11.50 G_M27751_IG17: mov rdx, qword ptr [r13] test dword ptr [rdx], 0xD1FFAB1E je SHORT G_M27751_IG18 mov rdx, r13 mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][] call CORINFO_HELP_ISINSTANCEOFARRAY test rax, rax setne cl movzx rcx, cl call System.Diagnostics.Debug:Assert(bool) lea r15, bword ptr [r13+16] mov r12d, dword ptr [r13+8] jmp SHORT G_M27751_IG19 ;; bbWeight=0.50 PerfScore 7.25 G_M27751_IG18: mov rdx, r13 mov rcx, 0xD1FFAB1E ; System.Buffers.MemoryManager`1[Moment] call CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax setne cl movzx rcx, cl call System.Diagnostics.Debug:Assert(bool) lea rdx, bword ptr [rbp-D0H] mov rcx, r13 mov rax, qword ptr [r13] mov rax, qword ptr [rax+72] call qword ptr [rax+40]System.Buffers.MemoryManager`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:GetSpan():System.Span`1[Moment]:this mov r15, bword ptr [rbp-D0H] mov r12d, dword ptr [rbp-C8H] ;; bbWeight=0.50 PerfScore 6.88 G_M27751_IG19: mov ecx, dword ptr [rbp-B8H] and ecx, 0xD1FFAB1E mov eax, dword ptr [rbp-B4H] mov edx, eax add rdx, rcx mov r8d, r12d cmp rdx, r8 ja G_M27751_IG38 imul rcx, rcx, 48 add r15, rcx mov r12d, eax ;; bbWeight=0.50 PerfScore 3.38 G_M27751_IG20: mov ecx, r12d not ecx shr ecx, 31 call System.Diagnostics.Debug:Assert(bool) mov bword ptr [rbp-288H], r15 mov dword ptr [rbp-268H], r12d mov r13d, 1 ;; bbWeight=1 PerfScore 4.25 G_M27751_IG21: ;; r-loop mov edx, r14d imul rdx, rdx, 48 mov qword ptr [rbp-D8H], rdx test rdx, rdx je SHORT G_M27751_IG24 ;; bbWeight=0.50 PerfScore 2.25 G_M27751_IG22: cmp rdx, 768 ja G_M27751_IG39 ;; bbWeight=0.40 PerfScore 0.51 G_M27751_IG23: xor edx, edx mov r8, qword ptr [rbp-D8H] mov rcx, rbx call CORINFO_HELP_MEMSET ;; bbWeight=0.40 PerfScore 1.01 G_M27751_IG24: mov dword ptr [rbp-3CH], 1 ;; bbWeight=16 PerfScore 16.00 G_M27751_IG25: ;; g-loop mov edx, r12d imul rdx, rdx, 48 mov qword ptr [rbp-E0H], rdx test rdx, rdx je SHORT G_M27751_IG28 ;; bbWeight=0.50 PerfScore 2.25 G_M27751_IG26: cmp rdx, 768 ja G_M27751_IG40 ;; bbWeight=0.40 PerfScore 0.51 G_M27751_IG27: xor edx, edx mov r8, qword ptr [rbp-E0H] mov rcx, r15 call CORINFO_HELP_MEMSET ;; bbWeight=0.40 PerfScore 1.01 G_M27751_IG28: mov r8d, 1 ;; bbWeight=256 PerfScore 64.00 G_M27751_IG29: ;; b-loop vxorps ymm0, ymm0 vmovdqu ymmword ptr[rbp-70H], ymm0 vmovdqu xmmword ptr [rbp-50H], xmm0 mov r9d, 1 mov ecx, r13d shl ecx, 15 mov r11d, r13d shl r11d, 11 add ecx, r11d mov eax, dword ptr [rbp-3CH] mov r11d, eax shl r11d, 10 add ecx, r11d mov r11d, r13d shl r11d, 10 add ecx, r11d mov r11d, r13d shl r11d, 6 add ecx, r11d mov r11d, eax shl r11d, 5 add ecx, r11d lea r11d, [rax+r13] add r11d, r8d shl r11d, 5 add ecx, r11d add ecx, r13d add ecx, eax add ecx, r8d imul r11d, r8d, 33 align [0 bytes] ;; bbWeight=1024 PerfScore 13909.33 G_M27751_IG30: ;; a-loop lea edx, [rcx+r9] vmovdqu ymm0, ymmword ptr[rbp-70H] vmovdqu ymmword ptr[rbp-110H], ymm0 vmovdqu xmm0, xmmword ptr [rbp-50H] vmovdqu xmmword ptr [rbp-F0H], xmm0 cmp edx, edi jae G_M27751_IG37 mov r10d, edx imul r10, r10, 48 add r10, rsi vmovdqu ymm0, ymmword ptr[r10] vmovdqu ymmword ptr[rbp-140H], ymm0 vmovdqu xmm0, xmmword ptr [r10+32] vmovdqu xmmword ptr [rbp-120H], xmm0 lea rbx, bword ptr [rbp-110H] mov r15, qword ptr [rbp-140H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-108H] mov r15, qword ptr [rbp-138H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-100H] mov r15, qword ptr [rbp-130H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-F8H] mov r15, qword ptr [rbp-128H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-F0H] mov r15, qword ptr [rbp-120H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-E8H] vmovsd xmm0, qword ptr [rbx] vaddsd xmm0, xmm0, qword ptr [rbp-118H] vmovsd qword ptr [rbx], xmm0 vmovdqu ymm0, ymmword ptr[rbp-110H] vmovdqu ymmword ptr[rbp-70H], ymm0 vmovdqu xmm0, xmmword ptr [rbp-F0H] vmovdqu xmmword ptr [rbp-50H], xmm0 cmp r9d, r12d jae G_M27751_IG37 mov ebx, r9d imul rbx, rbx, 48 add rbx, bword ptr [rbp-288H] mov r15, rbx vmovdqu ymm0, ymmword ptr[r15] vmovdqu ymmword ptr[rbp-170H], ymm0 vmovdqu xmm0, xmmword ptr [r15+32] vmovdqu xmmword ptr [rbp-150H], xmm0 vmovdqu ymm0, ymmword ptr[rbp-70H] vmovdqu ymmword ptr[rbp-1A0H], ymm0 vmovdqu xmm0, xmmword ptr [rbp-50H] vmovdqu xmmword ptr [rbp-180H], xmm0 lea r12, bword ptr [rbp-170H] mov r14, qword ptr [rbp-1A0H] add qword ptr [r12], r14 lea r14, bword ptr [rbp-168H] mov r12, qword ptr [rbp-198H] add qword ptr [r14], r12 lea r14, bword ptr [rbp-160H] mov r12, qword ptr [rbp-190H] ;; bbWeight=4096 PerfScore 423936.00 G_M27751_IG31: add qword ptr [r14], r12 lea r14, bword ptr [rbp-158H] mov r12, qword ptr [rbp-188H] add qword ptr [r14], r12 lea r14, bword ptr [rbp-150H] mov r12, qword ptr [rbp-180H] add qword ptr [r14], r12 lea r14, bword ptr [rbp-148H] vmovsd xmm0, qword ptr [r14] vaddsd xmm0, xmm0, qword ptr [rbp-178H] vmovsd qword ptr [r14], xmm0 vmovdqu ymm0, ymmword ptr[rbp-170H] vmovdqu ymmword ptr[r15], ymm0 vmovdqu xmm0, xmmword ptr [rbp-150H] vmovdqu xmmword ptr [r15+32], xmm0 lea r14d, [r11+r9] cmp r14d, dword ptr [rbp-264H] jae G_M27751_IG37 mov r14d, r14d imul r14, r14, 48 add r14, bword ptr [rbp-280H] mov r12, r14 vmovdqu ymm0, ymmword ptr[r12] vmovdqu ymmword ptr[rbp-1D0H], ymm0 vmovdqu xmm0, xmmword ptr [r12+32] vmovdqu xmmword ptr [rbp-1B0H], xmm0 vmovdqu ymm0, ymmword ptr[rbx] vmovdqu ymmword ptr[rbp-200H], ymm0 vmovdqu xmm0, xmmword ptr [rbx+32] vmovdqu xmmword ptr [rbp-1E0H], xmm0 lea rbx, bword ptr [rbp-1D0H] mov r15, qword ptr [rbp-200H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-1C8H] mov r15, qword ptr [rbp-1F8H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-1C0H] mov r15, qword ptr [rbp-1F0H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-1B8H] mov r15, qword ptr [rbp-1E8H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-1B0H] mov r15, qword ptr [rbp-1E0H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-1A8H] vmovsd xmm0, qword ptr [rbx] vaddsd xmm0, xmm0, qword ptr [rbp-1D8H] vmovsd qword ptr [rbx], xmm0 vmovdqu ymm0, ymmword ptr[rbp-1D0H] vmovdqu ymmword ptr[r12], ymm0 vmovdqu xmm0, xmmword ptr [rbp-1B0H] vmovdqu xmmword ptr [r12+32], xmm0 sub edx, 0x8C61 cmp edx, edi jae G_M27751_IG37 mov edx, edx imul rdx, rdx, 48 ;; bbWeight=4096 PerfScore 463872.00 G_M27751_IG32: vmovdqu ymm0, ymmword ptr[rsi+rdx] vmovdqu ymmword ptr[rbp-230H], ymm0 vmovdqu xmm0, xmmword ptr [rsi+rdx+32] vmovdqu xmmword ptr [rbp-210H], xmm0 vmovdqu ymm0, ymmword ptr[r14] vmovdqu ymmword ptr[rbp-260H], ymm0 vmovdqu xmm0, xmmword ptr [r14+32] vmovdqu xmmword ptr [rbp-240H], xmm0 lea rdx, bword ptr [rbp-230H] mov rbx, qword ptr [rbp-260H] add qword ptr [rdx], rbx lea rdx, bword ptr [rbp-228H] mov rbx, qword ptr [rbp-258H] add qword ptr [rdx], rbx lea rdx, bword ptr [rbp-220H] mov rbx, qword ptr [rbp-250H] add qword ptr [rdx], rbx lea rdx, bword ptr [rbp-218H] mov rbx, qword ptr [rbp-248H] add qword ptr [rdx], rbx lea rdx, bword ptr [rbp-210H] mov rbx, qword ptr [rbp-240H] add qword ptr [rdx], rbx lea rdx, bword ptr [rbp-208H] vmovsd xmm0, qword ptr [rdx] vaddsd xmm0, xmm0, qword ptr [rbp-238H] vmovsd qword ptr [rdx], xmm0 vmovdqu ymm0, ymmword ptr[rbp-230H] vmovdqu ymmword ptr[r10], ymm0 vmovdqu xmm0, xmmword ptr [rbp-210H] vmovdqu xmmword ptr [r10+32], xmm0 inc r9d cmp r9d, 33 mov r12d, dword ptr [rbp-268H] jl G_M27751_IG30 ;; bbWeight=4096 PerfScore 284672.00 G_M27751_IG33: mov rbx, bword ptr [rbp-280H] mov r15, bword ptr [rbp-288H] inc r8d cmp r8d, 33 mov dword ptr [rbp-3CH], eax jl G_M27751_IG29 ;; bbWeight=1024 PerfScore 4608.00 G_M27751_IG34: mov eax, dword ptr [rbp-3CH] inc eax cmp eax, 33 mov dword ptr [rbp-3CH], eax jl G_M27751_IG25 ;; bbWeight=256 PerfScore 896.00 G_M27751_IG35: inc r13d cmp r13d, 33 mov r14d, dword ptr [rbp-264H] jl G_M27751_IG21 ;; bbWeight=64 PerfScore 160.00 G_M27751_IG36: jmp SHORT G_M27751_IG41 ;; bbWeight=0.50 PerfScore 1.00 G_M27751_IG37: call CORINFO_HELP_RNGCHKFAIL ;; bbWeight=0 PerfScore 0.00 G_M27751_IG38: call System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; bbWeight=0 PerfScore 0.00 G_M27751_IG39: mov rcx, rbx mov rdx, qword ptr [rbp-D8H] call System.Buffer:_ZeroMemory(byref,long) mov rbx, bword ptr [rbp-280H] jmp G_M27751_IG24 ;; bbWeight=0.00 PerfScore 0.01 G_M27751_IG40: mov rcx, r15 mov rdx, qword ptr [rbp-E0H] call System.Buffer:_ZeroMemory(byref,long) mov r15, bword ptr [rbp-288H] jmp G_M27751_IG28 ;; bbWeight=0.00 PerfScore 0.01 G_M27751_IG41: mov rcx, gword ptr [rbp-278H] mov r11, 0xD1FFAB1E call [System.IDisposable:Dispose():this] nop ;; bbWeight=1 PerfScore 4.50 G_M27751_IG42: mov rcx, gword ptr [rbp-270H] mov r11, 0xD1FFAB1E call [System.IDisposable:Dispose():this] nop ;; bbWeight=1 PerfScore 4.50 G_M27751_IG43: add rsp, 632 pop rbx pop rsi pop rdi pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; bbWeight=1 PerfScore 5.25 G_M27751_IG44: push rbp push r15 push r14 push r13 push r12 push rdi push rsi push rbx sub rsp, 40 vzeroupper mov rbp, qword ptr [rcx+32] mov qword ptr [rsp+20H], rbp lea rbp, [rbp+2B0H] ;; bbWeight=0 PerfScore 0.00 G_M27751_IG45: cmp gword ptr [rbp-278H], 0 je SHORT G_M27751_IG46 mov rcx, gword ptr [rbp-278H] mov r11, 0xD1FFAB1E call [System.IDisposable:Dispose():this] ;; bbWeight=0 PerfScore 0.00 G_M27751_IG46: nop ;; bbWeight=0 PerfScore 0.00 G_M27751_IG47: add rsp, 40 pop rbx pop rsi pop rdi pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; bbWeight=0 PerfScore 0.00 G_M27751_IG48: push rbp push r15 push r14 push r13 push r12 push rdi push rsi push rbx sub rsp, 40 vzeroupper mov rbp, qword ptr [rcx+32] mov qword ptr [rsp+20H], rbp lea rbp, [rbp+2B0H] ;; bbWeight=0 PerfScore 0.00 G_M27751_IG49: cmp gword ptr [rbp-270H], 0 je SHORT G_M27751_IG50 mov rcx, gword ptr [rbp-270H] mov r11, 0xD1FFAB1E call [System.IDisposable:Dispose():this] ;; bbWeight=0 PerfScore 0.00 G_M27751_IG50: nop ;; bbWeight=0 PerfScore 0.00 G_M27751_IG51: add rsp, 40 pop rbx pop rsi pop rdi pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; bbWeight=0 PerfScore 0.00 ; Total bytes of code 2424, prolog size 97, PerfScore 1192533.03, instruction count 526, allocated bytes for code 2477 (MethodHash=2ca29398) for method SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1[Rgba32][SixLabors.ImageSharp.PixelFormats.Rgba32]:Get3DMoments(SixLabors.ImageSharp.Memory.MemoryAllocator):this ; ============================================================
Texte modifié
Ouvrir un fichier
; Assembly listing for method SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1[Rgba32][SixLabors.ImageSharp.PixelFormats.Rgba32]:Get3DMoments(SixLabors.ImageSharp.Memory.MemoryAllocator):this ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 2 inlinees with PGO data; 66 single block inlinees; 9 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T60] ( 3, 3 ) byref -> rdi this single-def ; V01 arg1 [V01,T53] ( 6, 6 ) ref -> rsi class-hnd single-def ; V02 loc0 [V02,T74] ( 5, 2 ) ref -> [rbp-278H] must-init class-hnd EH-live single-def ; V03 loc1 [V03,T75] ( 5, 2 ) ref -> [rbp-280H] class-hnd EH-live single-def ;* V04 loc2 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;* V05 loc3 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;* V06 loc4 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;* V07 loc5 [V07,T114] ( 0, 0 ) int -> zero-ref single-def ; V08 loc6 [V08,T51] ( 10, 529 ) int -> [rbp-3CH] ; V09 loc7 [V09,T52] ( 2, 272 ) int -> [rbp-40H] ; V10 loc8 [V10,T48] ( 8, 1808 ) int -> [rbp-44H] ; V11 loc9 [V11,T49] ( 2, 1280 ) int -> [rbp-48H] spill-single-def ; V12 loc10 [V12,T50] ( 2, 1280 ) int -> [rbp-4CH] spill-single-def ; V13 loc11 [V13,T41] ( 7, 6400 ) int -> r11 ; V14 loc12 [V14,T42] ( 2, 5120 ) int -> rdx ; V15 loc13 [V15,T33] ( 4,13312 ) struct (48) [rbp-80H] do-not-enreg[S] ld-addr-op ; V16 loc14 [V16,T04] ( 8,29696 ) int -> rcx ; V17 loc15 [V17,T31] ( 4,16384 ) int -> r13 ; V18 loc16 [V18,T37] ( 3,12288 ) int -> r10 ; V19 loc17 [V19,T38] ( 3,12288 ) int -> r13 ; V20 OutArgs [V20 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V21 tmp1 [V21,T66] ( 2, 4 ) long -> rax "VirtualCall through function pointer" ; V22 tmp2 [V22,T67] ( 2, 4 ) long -> rax "VirtualCall through function pointer" ; V23 tmp3 [V23,T05] ( 3,24576 ) byref -> r10 "dup spill" ; V24 tmp4 [V24,T06] ( 3,24576 ) byref -> r15 "dup spill" ; V25 tmp5 [V25,T32] ( 2,16384 ) byref -> r8 "impAppendStmt" ; V26 tmp6 [V26,T65] ( 2, 4 ) ref -> rcx class-hnd single-def "Inlining Arg" ; V27 tmp7 [V27 ] ( 4, 3 ) struct (16) [rbp-90H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ;* V28 tmp8 [V28 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" ; V29 tmp9 [V29,T61] ( 6, 4 ) byref -> rsi "Inline stloc first use temp" ; V30 tmp10 [V30,T57] ( 7, 5 ) int -> rdi "Inline stloc first use temp" ; V31 tmp11 [V31,T54] ( 9, 5.50) ref -> rbx class-hnd "Inline stloc first use temp" ;* V32 tmp12 [V32 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp" ; V33 tmp13 [V33 ] ( 3, 1.50) struct (16) [rbp-A0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ; V34 tmp14 [V34,T100] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp" ; V35 tmp15 [V35,T101] ( 3, 1.50) int -> rdx single-def "Inline stloc first use temp" ; V36 tmp16 [V36,T76] ( 2, 2 ) byref -> rdx single-def "Inlining Arg" ; V37 tmp17 [V37,T88] ( 2, 2 ) bool -> rcx "Inlining Arg" ;* V38 tmp18 [V38,T109] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ; V39 tmp19 [V39,T71] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg" ; V40 tmp20 [V40,T89] ( 2, 2 ) bool -> rcx "Inlining Arg" ;* V41 tmp21 [V41,T110] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ; V42 tmp22 [V42,T72] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg" ;* V43 tmp23 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V44 tmp24 [V44 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp" ;* V45 tmp25 [V45 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp" ; V46 tmp26 [V46,T68] ( 2, 4 ) bool -> rcx "Inlining Arg" ;* V47 tmp27 [V47,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ; V48 tmp28 [V48,T64] ( 3, 4 ) ref -> rdx class-hnd single-def "Inlining Arg" ; V49 tmp29 [V49 ] ( 4, 3 ) struct (16) [rbp-B0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ;* V50 tmp30 [V50 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" ; V51 tmp31 [V51,T62] ( 6, 4 ) byref -> rbx "Inline stloc first use temp" ; V52 tmp32 [V52,T58] ( 7, 5 ) int -> r14 "Inline stloc first use temp" ; V53 tmp33 [V53,T55] ( 9, 5.50) ref -> r15 class-hnd "Inline stloc first use temp" ;* V54 tmp34 [V54 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp" ; V55 tmp35 [V55 ] ( 3, 1.50) struct (16) [rbp-C0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ; V56 tmp36 [V56,T102] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp" ; V57 tmp37 [V57,T103] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp" ; V58 tmp38 [V58,T77] ( 2, 2 ) byref -> rdx single-def "Inlining Arg" ; V59 tmp39 [V59,T90] ( 2, 2 ) bool -> rcx "Inlining Arg" ;* V60 tmp40 [V60,T111] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ; V61 tmp41 [V61,T73] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg" ;* V62 tmp42 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V63 tmp43 [V63 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp" ;* V64 tmp44 [V64 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp" ; V65 tmp45 [V65 ] ( 4, 3 ) struct (16) [rbp-D0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ;* V66 tmp46 [V66 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" ; V67 tmp47 [V67,T63] ( 6, 4 ) byref -> r15 "Inline stloc first use temp" ; V68 tmp48 [V68,T59] ( 7, 5 ) int -> r12 "Inline stloc first use temp" ; V69 tmp49 [V69,T56] ( 9, 5.50) ref -> r13 class-hnd "Inline stloc first use temp" ;* V70 tmp50 [V70 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp" ; V71 tmp51 [V71 ] ( 3, 1.50) struct (16) [rbp-E0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ; V72 tmp52 [V72,T104] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp" ; V73 tmp53 [V73,T105] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp" ; V74 tmp54 [V74,T78] ( 2, 2 ) byref -> rdx single-def "Inlining Arg" ;* V75 tmp55 [V75 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V76 tmp56 [V76 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp" ;* V77 tmp57 [V77 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp" ;* V78 tmp58 [V78,T112] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ; V79 tmp59 [V79,T91] ( 2, 2 ) long -> rdx "impAppendStmt" ;* V80 tmp60 [V80 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ;* V81 tmp61 [V81 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V82 tmp62 [V82 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V83 tmp63 [V83 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V84 tmp64 [V84,T69] ( 5, 3.62) long -> [rbp-E8H] spill-single-def "Inlining Arg" ;* V85 tmp65 [V85 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V86 tmp66 [V86,T113] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ; V87 tmp67 [V87,T92] ( 2, 2 ) long -> rdx "impAppendStmt" ;* V88 tmp68 [V88 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ;* V89 tmp69 [V89 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V90 tmp70 [V90 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V91 tmp71 [V91 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V92 tmp72 [V92,T70] ( 5, 3.62) long -> [rbp-F0H] spill-single-def "Inlining Arg" ;* V93 tmp73 [V93 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ; V94 tmp74 [V94 ] ( 8,65536 ) struct (48) [rbp-120H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" ; V95 tmp75 [V95,T07] ( 3,24576 ) byref -> r10 "dup spill" ; V96 tmp76 [V96,T00] ( 7,57344 ) struct (48) [rbp-150H] do-not-enreg[SF] "Inlining Arg" ; V97 tmp77 [V97,T08] ( 3,24576 ) byref -> r9 "dup spill" ; V98 tmp78 [V98,T09] ( 3,24576 ) byref -> r9 "dup spill" ; V99 tmp79 [V99,T10] ( 3,24576 ) byref -> r9 "dup spill" ; V100 tmp80 [V100,T11] ( 3,24576 ) byref -> r9 "dup spill" ; V101 tmp81 [V101,T12] ( 3,24576 ) byref -> r9 "dup spill" ; V102 tmp82 [V102 ] ( 8,65536 ) struct (48) [rbp-180H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" ; V103 tmp83 [V103,T13] ( 3,24576 ) byref -> r15 "dup spill" ; V104 tmp84 [V104,T01] ( 7,57344 ) struct (48) [rbp-1B0H] do-not-enreg[SF] "Inlining Arg" ; V105 tmp85 [V105,T14] ( 3,24576 ) byref -> rbx "dup spill" ; V106 tmp86 [V106,T15] ( 3,24576 ) byref -> rbx "dup spill" ; V107 tmp87 [V107,T16] ( 3,24576 ) byref -> rbx "dup spill" ; V108 tmp88 [V108,T17] ( 3,24576 ) byref -> rbx "dup spill" ; V109 tmp89 [V109,T18] ( 3,24576 ) byref -> rbx "dup spill" ; V110 tmp90 [V110 ] ( 8,65536 ) struct (48) [rbp-1E0H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" ; V111 tmp91 [V111,T19] ( 3,24576 ) byref -> r9 "dup spill" ; V112 tmp92 [V112,T02] ( 7,57344 ) struct (48) [rbp-210H] do-not-enreg[SF] "Inlining Arg" ; V113 tmp93 [V113,T20] ( 3,24576 ) byref -> r9 "dup spill" ; V114 tmp94 [V114,T21] ( 3,24576 ) byref -> r9 "dup spill" ; V115 tmp95 [V115,T22] ( 3,24576 ) byref -> r9 "dup spill" ; V116 tmp96 [V116,T23] ( 3,24576 ) byref -> r9 "dup spill" ; V117 tmp97 [V117,T24] ( 3,24576 ) byref -> r9 "dup spill" ; V118 tmp98 [V118 ] ( 8,65536 ) struct (48) [rbp-240H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" ; V119 tmp99 [V119,T25] ( 3,24576 ) byref -> r9 "dup spill" ; V120 tmp100 [V120,T03] ( 7,57344 ) struct (48) [rbp-270H] do-not-enreg[SF] "Inlining Arg" ; V121 tmp101 [V121,T26] ( 3,24576 ) byref -> r9 "dup spill" ; V122 tmp102 [V122,T27] ( 3,24576 ) byref -> r9 "dup spill" ; V123 tmp103 [V123,T28] ( 3,24576 ) byref -> r9 "dup spill" ; V124 tmp104 [V124,T29] ( 3,24576 ) byref -> r9 "dup spill" ; V125 tmp105 [V125,T30] ( 3,24576 ) byref -> r9 "dup spill" ; V126 tmp106 [V126,T39] ( 3, 8193 ) byref -> rsi single-def V04._pointer(offs=0x00) P-INDEP "field V04._pointer (fldOffset=0x0)" ; V127 tmp107 [V127,T40] ( 3, 8193 ) int -> rdi single-def V04._length(offs=0x08) P-INDEP "field V04._length (fldOffset=0x8)" ; V128 tmp108 [V128,T44] ( 4, 4097.40) byref -> [rbp-288H] spill-single-def V05._pointer(offs=0x00) P-INDEP "field V05._pointer (fldOffset=0x0)" ; V129 tmp109 [V129,T46] ( 3, 4097.50) int -> r14 single-def V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)" ; V130 tmp110 [V130,T45] ( 4, 4097.40) byref -> [rbp-290H] spill-single-def V06._pointer(offs=0x00) P-INDEP "field V06._pointer (fldOffset=0x0)" ; V131 tmp111 [V131,T47] ( 3, 4097.50) int -> r12 single-def V06._length(offs=0x08) P-INDEP "field V06._length (fldOffset=0x8)" ; V132 tmp112 [V132 ] ( 2, 2 ) ref -> [rbp-90H] do-not-enreg[X] addr-exposed V27._object(offs=0x00) P-DEP "field V27._object (fldOffset=0x0)" ; V133 tmp113 [V133 ] ( 2, 1.50) int -> [rbp-88H] do-not-enreg[X] addr-exposed V27._index(offs=0x08) P-DEP "field V27._index (fldOffset=0x8)" ; V134 tmp114 [V134 ] ( 2, 1.50) int -> [rbp-84H] do-not-enreg[X] addr-exposed V27._length(offs=0x0c) P-DEP "field V27._length (fldOffset=0xc)" ; V135 tmp115 [V135,T79] ( 2, 2 ) byref -> rsi single-def V28._pointer(offs=0x00) P-INDEP "field V28._pointer (fldOffset=0x0)" ; V136 tmp116 [V136,T93] ( 2, 2 ) int -> rdi single-def V28._length(offs=0x08) P-INDEP "field V28._length (fldOffset=0x8)" ; V137 tmp117 [V137,T80] ( 2, 2 ) byref -> rsi V32._pointer(offs=0x00) P-INDEP "field V32._pointer (fldOffset=0x0)" ; V138 tmp118 [V138,T94] ( 2, 2 ) int -> rdi V32._length(offs=0x08) P-INDEP "field V32._length (fldOffset=0x8)" ; V139 tmp119 [V139 ] ( 2, 1 ) byref -> [rbp-A0H] do-not-enreg[X] addr-exposed V33._pointer(offs=0x00) P-DEP "field V33._pointer (fldOffset=0x0)" ; V140 tmp120 [V140 ] ( 2, 1 ) int -> [rbp-98H] do-not-enreg[X] addr-exposed V33._length(offs=0x08) P-DEP "field V33._length (fldOffset=0x8)" ; V141 tmp121 [V141,T106] ( 2, 1 ) byref -> rsi single-def V43._pointer(offs=0x00) P-INDEP "field V43._pointer (fldOffset=0x0)" ;* V142 tmp122 [V142 ] ( 0, 0 ) int -> zero-ref single-def V43._length(offs=0x08) P-INDEP "field V43._length (fldOffset=0x8)" ; V143 tmp123 [V143,T81] ( 2, 2 ) byref -> rsi single-def V45._value(offs=0x00) P-INDEP "field V45._value (fldOffset=0x0)" ; V144 tmp124 [V144 ] ( 2, 2 ) ref -> [rbp-B0H] do-not-enreg[X] addr-exposed V49._object(offs=0x00) P-DEP "field V49._object (fldOffset=0x0)" ; V145 tmp125 [V145 ] ( 2, 1.50) int -> [rbp-A8H] do-not-enreg[X] addr-exposed V49._index(offs=0x08) P-DEP "field V49._index (fldOffset=0x8)" ; V146 tmp126 [V146 ] ( 2, 1.50) int -> [rbp-A4H] do-not-enreg[X] addr-exposed V49._length(offs=0x0c) P-DEP "field V49._length (fldOffset=0xc)" ; V147 tmp127 [V147,T82] ( 2, 2 ) byref -> rbx single-def V50._pointer(offs=0x00) P-INDEP "field V50._pointer (fldOffset=0x0)" ; V148 tmp128 [V148,T95] ( 2, 2 ) int -> r14 single-def V50._length(offs=0x08) P-INDEP "field V50._length (fldOffset=0x8)" ; V149 tmp129 [V149,T83] ( 2, 2 ) byref -> rbx V54._pointer(offs=0x00) P-INDEP "field V54._pointer (fldOffset=0x0)" ; V150 tmp130 [V150,T96] ( 2, 2 ) int -> r14 V54._length(offs=0x08) P-INDEP "field V54._length (fldOffset=0x8)" ; V151 tmp131 [V151 ] ( 2, 1 ) byref -> [rbp-C0H] do-not-enreg[X] addr-exposed V55._pointer(offs=0x00) P-DEP "field V55._pointer (fldOffset=0x0)" ; V152 tmp132 [V152 ] ( 2, 1 ) int -> [rbp-B8H] do-not-enreg[X] addr-exposed V55._length(offs=0x08) P-DEP "field V55._length (fldOffset=0x8)" ; V153 tmp133 [V153,T107] ( 2, 1 ) byref -> rbx single-def V62._pointer(offs=0x00) P-INDEP "field V62._pointer (fldOffset=0x0)" ;* V154 tmp134 [V154 ] ( 0, 0 ) int -> zero-ref single-def V62._length(offs=0x08) P-INDEP "field V62._length (fldOffset=0x8)" ; V155 tmp135 [V155,T84] ( 2, 2 ) byref -> rbx single-def V64._value(offs=0x00) P-INDEP "field V64._value (fldOffset=0x0)" ; V156 tmp136 [V156 ] ( 2, 2 ) ref -> [rbp-D0H] do-not-enreg[X] addr-exposed V65._object(offs=0x00) P-DEP "field V65._object (fldOffset=0x0)" ; V157 tmp137 [V157 ] ( 2, 1.50) int -> [rbp-C8H] do-not-enreg[X] addr-exposed V65._index(offs=0x08) P-DEP "field V65._index (fldOffset=0x8)" ; V158 tmp138 [V158 ] ( 2, 1.50) int -> [rbp-C4H] do-not-enreg[X] addr-exposed V65._length(offs=0x0c) P-DEP "field V65._length (fldOffset=0xc)" ; V159 tmp139 [V159,T85] ( 2, 2 ) byref -> r15 single-def V66._pointer(offs=0x00) P-INDEP "field V66._pointer (fldOffset=0x0)" ; V160 tmp140 [V160,T97] ( 2, 2 ) int -> r12 single-def V66._length(offs=0x08) P-INDEP "field V66._length (fldOffset=0x8)" ; V161 tmp141 [V161,T86] ( 2, 2 ) byref -> r15 V70._pointer(offs=0x00) P-INDEP "field V70._pointer (fldOffset=0x0)" ; V162 tmp142 [V162,T98] ( 2, 2 ) int -> r12 V70._length(offs=0x08) P-INDEP "field V70._length (fldOffset=0x8)" ; V163 tmp143 [V163 ] ( 2, 1 ) byref -> [rbp-E0H] do-not-enreg[X] addr-exposed V71._pointer(offs=0x00) P-DEP "field V71._pointer (fldOffset=0x0)" ; V164 tmp144 [V164 ] ( 2, 1 ) int -> [rbp-D8H] do-not-enreg[X] addr-exposed V71._length(offs=0x08) P-DEP "field V71._length (fldOffset=0x8)" ; V165 tmp145 [V165,T108] ( 2, 1 ) byref -> r15 single-def V75._pointer(offs=0x00) P-INDEP "field V75._pointer (fldOffset=0x0)" ;* V166 tmp146 [V166 ] ( 0, 0 ) int -> zero-ref single-def V75._length(offs=0x08) P-INDEP "field V75._length (fldOffset=0x8)" ; V167 tmp147 [V167,T87] ( 2, 2 ) byref -> r15 single-def V77._value(offs=0x00) P-INDEP "field V77._value (fldOffset=0x0)" ; V168 PSPSym [V168,T115] ( 1, 1 ) long -> [rbp-2A0H] do-not-enreg[V] "PSPSym" ; V169 cse0 [V169,T34] ( 3,12288 ) byref -> r9 "CSE - moderate" ; V170 cse1 [V170,T35] ( 3,12288 ) byref -> r8 "CSE - moderate" ; V171 cse2 [V171,T36] ( 3,12288 ) byref -> r10 "CSE - moderate" ; V172 cse3 [V172,T43] ( 2, 5120 ) int -> rax "CSE - moderate" ; ; Lcl frame size = 648 G_M27751_IG01: push rbp push r15 push r14 push r13 push r12 push rdi push rsi push rbx sub rsp, 648 vzeroupper lea rbp, [rsp+2C0H] xor eax, eax mov qword ptr [rbp-278H], rax vxorps xmm4, xmm4 vmovdqa xmmword ptr [rbp-270H], xmm4 mov rax, -480 vmovdqa xmmword ptr [rbp+rax-80H], xmm4 vmovdqa xmmword ptr [rbp+rax-70H], xmm4 vmovdqa xmmword ptr [rbp+rax-60H], xmm4 add rax, 48 jne SHORT -5 instr mov qword ptr [rbp-2A0H], rsp mov rdi, rcx mov rsi, rdx ;; bbWeight=1 PerfScore 22.33 G_M27751_IG02: mov rcx, rsi mov rdx, 0xD1FFAB1E mov r8, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov rcx, rsi mov edx, 0x441 xor r8d, r8d call rax mov gword ptr [rbp-278H], rax ;; bbWeight=1 PerfScore 6.50 G_M27751_IG03: mov rcx, rsi mov rdx, 0xD1FFAB1E mov r8, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov rcx, rsi mov edx, 33 xor r8d, r8d call rax mov gword ptr [rbp-280H], rax ;; bbWeight=1 PerfScore 6.50 G_M27751_IG04: mov rcx, gword ptr [rdi+8] lea rdx, bword ptr [rbp-90H] mov r11, 0xD1FFAB1E call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this] xor esi, esi xor edi, edi mov rbx, gword ptr [rbp-90H] test rbx, rbx je G_M27751_IG10 ;; bbWeight=1 PerfScore 8.50 G_M27751_IG05: mov rdx, qword ptr [rbx] test dword ptr [rdx], 0xD1FFAB1E je SHORT G_M27751_IG07 mov rdx, rbx mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][] call CORINFO_HELP_ISINSTANCEOFARRAY test rax, rax setne cl movzx rcx, cl mov rdx, 0xD1FFAB1E ; "" mov rdx, gword ptr [rdx] test ecx, ecx jne SHORT G_M27751_IG06 mov rcx, rdx call System.Diagnostics.Debug:Fail(System.String,System.String) ;; bbWeight=0.50 PerfScore 6.88 G_M27751_IG06: lea rsi, bword ptr [rbx+16] mov edi, dword ptr [rbx+8] jmp SHORT G_M27751_IG09 ;; bbWeight=0.50 PerfScore 2.25 G_M27751_IG07: mov rdx, rbx mov rcx, 0xD1FFAB1E ; System.Buffers.MemoryManager`1[Moment] call CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax setne cl movzx rcx, cl mov rdx, 0xD1FFAB1E ; "" mov rdx, gword ptr [rdx] test ecx, ecx jne SHORT G_M27751_IG08 mov rcx, rdx call System.Diagnostics.Debug:Fail(System.String,System.String) ;; bbWeight=0.50 PerfScore 3.88 G_M27751_IG08: lea rdx, bword ptr [rbp-A0H] mov rcx, rbx mov rax, qword ptr [rbx] mov rax, qword ptr [rax+72] call qword ptr [rax+40]System.Buffers.MemoryManager`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:GetSpan():System.Span`1[Moment]:this mov rsi, bword ptr [rbp-A0H] mov edi, dword ptr [rbp-98H] ;; bbWeight=0.50 PerfScore 4.88 G_M27751_IG09: mov ecx, dword ptr [rbp-88H] and ecx, 0xD1FFAB1E mov edx, dword ptr [rbp-84H] mov eax, edx add rax, rcx mov r8d, edi cmp rax, r8 ja G_M27751_IG39 imul rcx, rcx, 48 add rsi, rcx mov edi, edx ;; bbWeight=0.50 PerfScore 3.38 G_M27751_IG10: mov ecx, edi not ecx shr ecx, 31 mov rdx, 0xD1FFAB1E ; "" mov rdx, gword ptr [rdx] test ecx, ecx jne SHORT G_M27751_IG12 ;; bbWeight=1 PerfScore 4.50 G_M27751_IG11: mov rcx, rdx call System.Diagnostics.Debug:Fail(System.String,System.String) ;; bbWeight=0.50 PerfScore 0.62 G_M27751_IG12: lea rdx, bword ptr [rbp-B0H] mov rcx, gword ptr [rbp-278H] mov r11, 0xD1FFAB1E call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this] xor ebx, ebx xor r14d, r14d mov r15, gword ptr [rbp-B0H] test r15, r15 je G_M27751_IG17 ;; bbWeight=1 PerfScore 7.50 G_M27751_IG13: mov rdx, qword ptr [r15] test dword ptr [rdx], 0xD1FFAB1E je SHORT G_M27751_IG15 mov rdx, r15 mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][] call CORINFO_HELP_ISINSTANCEOFARRAY test rax, rax setne cl movzx rcx, cl mov rdx, 0xD1FFAB1E ; "" mov rdx, gword ptr [rdx] test ecx, ecx jne SHORT G_M27751_IG14 mov rcx, rdx call System.Diagnostics.Debug:Fail(System.String,System.String) ;; bbWeight=0.50 PerfScore 6.88 G_M27751_IG14: lea rbx, bword ptr [r15+16] mov r14d, dword ptr [r15+8] jmp SHORT G_M27751_IG16 ;; bbWeight=0.50 PerfScore 2.25 G_M27751_IG15: mov rdx, r15 mov rcx, 0xD1FFAB1E ; System.Buffers.MemoryManager`1[Moment] call CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax setne cl movzx rcx, cl call System.Diagnostics.Debug:Assert(bool) lea rdx, bword ptr [rbp-C0H] mov rcx, r15 mov rax, qword ptr [r15] mov rax, qword ptr [rax+72] call qword ptr [rax+40]System.Buffers.MemoryManager`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:GetSpan():System.Span`1[Moment]:this mov rbx, bword ptr [rbp-C0H] mov r14d, dword ptr [rbp-B8H] ;; bbWeight=0.50 PerfScore 6.88 G_M27751_IG16: mov ecx, dword ptr [rbp-A8H] and ecx, 0xD1FFAB1E mov eax, dword ptr [rbp-A4H] mov edx, eax add rdx, rcx mov r8d, r14d cmp rdx, r8 ja G_M27751_IG39 imul rcx, rcx, 48 add rbx, rcx mov r14d, eax ;; bbWeight=0.50 PerfScore 3.38 G_M27751_IG17: mov ecx, r14d not ecx shr ecx, 31 call System.Diagnostics.Debug:Assert(bool) mov bword ptr [rbp-288H], rbx lea rdx, bword ptr [rbp-D0H] mov rcx, gword ptr [rbp-280H] mov r11, 0xD1FFAB1E call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this] xor r15d, r15d xor r12d, r12d mov r13, gword ptr [rbp-D0H] test r13, r13 je G_M27751_IG21 ;; bbWeight=1 PerfScore 10.50 G_M27751_IG18: mov rdx, qword ptr [r13] test dword ptr [rdx], 0xD1FFAB1E je SHORT G_M27751_IG19 mov rdx, r13 mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][] call CORINFO_HELP_ISINSTANCEOFARRAY test rax, rax setne cl movzx rcx, cl call System.Diagnostics.Debug:Assert(bool) lea r15, bword ptr [r13+16] mov r12d, dword ptr [r13+8] jmp SHORT G_M27751_IG20 ;; bbWeight=0.50 PerfScore 7.25 G_M27751_IG19: mov rdx, r13 mov rcx, 0xD1FFAB1E ; System.Buffers.MemoryManager`1[Moment] call CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax setne cl movzx rcx, cl call System.Diagnostics.Debug:Assert(bool) lea rdx, bword ptr [rbp-E0H] mov rcx, r13 mov rax, qword ptr [r13] mov rax, qword ptr [rax+72] call qword ptr [rax+40]System.Buffers.MemoryManager`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:GetSpan():System.Span`1[Moment]:this mov r15, bword ptr [rbp-E0H] mov r12d, dword ptr [rbp-D8H] ;; bbWeight=0.50 PerfScore 6.88 G_M27751_IG20: mov ecx, dword ptr [rbp-C8H] and ecx, 0xD1FFAB1E mov eax, dword ptr [rbp-C4H] mov edx, eax add rdx, rcx mov r8d, r12d cmp rdx, r8 ja G_M27751_IG39 imul rcx, rcx, 48 add r15, rcx mov r12d, eax ;; bbWeight=0.50 PerfScore 3.38 G_M27751_IG21: mov ecx, r12d not ecx shr ecx, 31 call System.Diagnostics.Debug:Assert(bool) mov bword ptr [rbp-290H], r15 mov r13d, 1 ;; bbWeight=1 PerfScore 3.25 G_M27751_IG22: ;; r-loop mov edx, r14d imul rdx, rdx, 48 mov qword ptr [rbp-E8H], rdx test rdx, rdx je SHORT G_M27751_IG25 ;; bbWeight=0.50 PerfScore 2.25 G_M27751_IG23: cmp rdx, 768 ja G_M27751_IG40 ;; bbWeight=0.40 PerfScore 0.51 G_M27751_IG24: xor edx, edx mov r8, qword ptr [rbp-E8H] mov rcx, rbx call CORINFO_HELP_MEMSET ;; bbWeight=0.40 PerfScore 1.01 G_M27751_IG25: mov eax, r13d shl eax, 15 mov r9d, r13d shl r9d, 11 add eax, r9d mov r9d, r13d shl r9d, 10 add eax, r9d mov r9d, r13d shl r9d, 6 add eax, r9d add eax, r13d mov dword ptr [rbp-40H], eax mov dword ptr [rbp-44H], 1 ;; bbWeight=16 PerfScore 96.00 G_M27751_IG26: ;; g-loop mov edx, r12d imul rdx, rdx, 48 mov qword ptr [rbp-F0H], rdx test rdx, rdx je SHORT G_M27751_IG29 ;; bbWeight=0.50 PerfScore 2.25 G_M27751_IG27: cmp rdx, 768 ja G_M27751_IG41 ;; bbWeight=0.40 PerfScore 0.51 G_M27751_IG28: xor edx, edx mov r8, qword ptr [rbp-F0H] mov rcx, r15 call CORINFO_HELP_MEMSET ;; bbWeight=0.40 PerfScore 1.01 G_M27751_IG29: mov r9d, dword ptr [rbp-44H] mov r8d, r9d shl r8d, 10 add r8d, dword ptr [rbp-40H] mov r10d, r9d shl r10d, 5 add r8d, r10d add r8d, r9d mov dword ptr [rbp-48H], r8d mov dword ptr [rbp-3CH], r13d mov dword ptr [rbp-44H], r9d lea r10d, [r9+r13] mov dword ptr [rbp-4CH], r10d mov r11d, 1 ;; bbWeight=256 PerfScore 2496.00 G_M27751_IG30: ;; b-loop lea edx, [r10+r11] shl edx, 5 add edx, r8d add edx, r11d vxorps ymm0, ymm0 vmovdqu ymmword ptr[rbp-80H], ymm0 vmovdqu xmmword ptr [rbp-60H], xmm0 mov ecx, 1 imul eax, r11d, 33 align [0 bytes] ;; bbWeight=1024 PerfScore 6229.33 G_M27751_IG31: ;; a-loop lea r13d, [rdx+rcx] vmovdqu ymm0, ymmword ptr[rbp-80H] vmovdqu ymmword ptr[rbp-120H], ymm0 vmovdqu xmm0, xmmword ptr [rbp-60H] vmovdqu xmmword ptr [rbp-100H], xmm0 cmp r13d, edi jae G_M27751_IG38 mov r8d, r13d imul r8, r8, 48 add r8, rsi vmovdqu ymm0, ymmword ptr[r8] vmovdqu ymmword ptr[rbp-150H], ymm0 vmovdqu xmm0, xmmword ptr [r8+32] vmovdqu xmmword ptr [rbp-130H], xmm0 lea r10, bword ptr [rbp-120H] mov r9, qword ptr [rbp-150H] add qword ptr [r10], r9 lea r9, bword ptr [rbp-118H] mov r10, qword ptr [rbp-148H] add qword ptr [r9], r10 lea r9, bword ptr [rbp-110H] mov r10, qword ptr [rbp-140H] add qword ptr [r9], r10 lea r9, bword ptr [rbp-108H] mov r10, qword ptr [rbp-138H] add qword ptr [r9], r10 lea r9, bword ptr [rbp-100H] mov r10, qword ptr [rbp-130H] add qword ptr [r9], r10 lea r9, bword ptr [rbp-F8H] vmovsd xmm0, qword ptr [r9] vaddsd xmm0, xmm0, qword ptr [rbp-128H] vmovsd qword ptr [r9], xmm0 vmovdqu ymm0, ymmword ptr[rbp-120H] vmovdqu ymmword ptr[rbp-80H], ymm0 vmovdqu xmm0, xmmword ptr [rbp-100H] vmovdqu xmmword ptr [rbp-60H], xmm0 cmp ecx, r12d jae G_M27751_IG38 mov r9d, ecx imul r9, r9, 48 add r9, r15 mov r10, r9 vmovdqu ymm0, ymmword ptr[r10] vmovdqu ymmword ptr[rbp-180H], ymm0 vmovdqu xmm0, xmmword ptr [r10+32] vmovdqu xmmword ptr [rbp-160H], xmm0 vmovdqu ymm0, ymmword ptr[rbp-80H] vmovdqu ymmword ptr[rbp-1B0H], ymm0 vmovdqu xmm0, xmmword ptr [rbp-60H] vmovdqu xmmword ptr [rbp-190H], xmm0 lea r15, bword ptr [rbp-180H] mov rbx, qword ptr [rbp-1B0H] add qword ptr [r15], rbx lea rbx, bword ptr [rbp-178H] mov r15, qword ptr [rbp-1A8H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-170H] mov r15, qword ptr [rbp-1A0H] ;; bbWeight=4096 PerfScore 416768.00 G_M27751_IG32: add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-168H] mov r15, qword ptr [rbp-198H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-160H] mov r15, qword ptr [rbp-190H] add qword ptr [rbx], r15 lea rbx, bword ptr [rbp-158H] vmovsd xmm0, qword ptr [rbx] vaddsd xmm0, xmm0, qword ptr [rbp-188H] vmovsd qword ptr [rbx], xmm0 vmovdqu ymm0, ymmword ptr[rbp-180H] vmovdqu ymmword ptr[r10], ymm0 vmovdqu xmm0, xmmword ptr [rbp-160H] vmovdqu xmmword ptr [r10+32], xmm0 lea r10d, [rax+rcx] cmp r10d, r14d jae G_M27751_IG38 mov r10d, r10d imul r10, r10, 48 add r10, bword ptr [rbp-288H] mov r15, r10 vmovdqu ymm0, ymmword ptr[r15] vmovdqu ymmword ptr[rbp-1E0H], ymm0 vmovdqu xmm0, xmmword ptr [r15+32] vmovdqu xmmword ptr [rbp-1C0H], xmm0 vmovdqu ymm0, ymmword ptr[r9] vmovdqu ymmword ptr[rbp-210H], ymm0 vmovdqu xmm0, xmmword ptr [r9+32] vmovdqu xmmword ptr [rbp-1F0H], xmm0 lea r9, bword ptr [rbp-1E0H] mov rbx, qword ptr [rbp-210H] add qword ptr [r9], rbx lea r9, bword ptr [rbp-1D8H] mov rbx, qword ptr [rbp-208H] add qword ptr [r9], rbx lea r9, bword ptr [rbp-1D0H] mov rbx, qword ptr [rbp-200H] add qword ptr [r9], rbx lea r9, bword ptr [rbp-1C8H] mov rbx, qword ptr [rbp-1F8H] add qword ptr [r9], rbx lea r9, bword ptr [rbp-1C0H] mov rbx, qword ptr [rbp-1F0H] add qword ptr [r9], rbx lea r9, bword ptr [rbp-1B8H] vmovsd xmm0, qword ptr [r9] vaddsd xmm0, xmm0, qword ptr [rbp-1E8H] vmovsd qword ptr [r9], xmm0 vmovdqu ymm0, ymmword ptr[rbp-1E0H] vmovdqu ymmword ptr[r15], ymm0 vmovdqu xmm0, xmmword ptr [rbp-1C0H] vmovdqu xmmword ptr [r15+32], xmm0 sub r13d, 0x8C61 cmp r13d, edi jae G_M27751_IG38 mov r9d, r13d imul r9, r9, 48 vmovdqu ymm0, ymmword ptr[rsi+r9] ;; bbWeight=4096 PerfScore 477184.00 G_M27751_IG33: vmovdqu ymmword ptr[rbp-240H], ymm0 vmovdqu xmm0, xmmword ptr [rsi+r9+32] vmovdqu xmmword ptr [rbp-220H], xmm0 vmovdqu ymm0, ymmword ptr[r10] vmovdqu ymmword ptr[rbp-270H], ymm0 vmovdqu xmm0, xmmword ptr [r10+32] vmovdqu xmmword ptr [rbp-250H], xmm0 lea r9, bword ptr [rbp-240H] mov r10, qword ptr [rbp-270H] add qword ptr [r9], r10 lea r9, bword ptr [rbp-238H] mov r10, qword ptr [rbp-268H] add qword ptr [r9], r10 lea r9, bword ptr [rbp-230H] mov r10, qword ptr [rbp-260H] add qword ptr [r9], r10 lea r9, bword ptr [rbp-228H] mov r10, qword ptr [rbp-258H] add qword ptr [r9], r10 lea r9, bword ptr [rbp-220H] mov r10, qword ptr [rbp-250H] add qword ptr [r9], r10 lea r9, bword ptr [rbp-218H] vmovsd xmm0, qword ptr [r9] vaddsd xmm0, xmm0, qword ptr [rbp-248H] vmovsd qword ptr [r9], xmm0 vmovdqu ymm0, ymmword ptr[rbp-240H] vmovdqu ymmword ptr[r8], ymm0 vmovdqu xmm0, xmmword ptr [rbp-220H] vmovdqu xmmword ptr [r8+32], xmm0 inc ecx cmp ecx, 33 mov r15, bword ptr [rbp-290H] jl G_M27751_IG31 ;; bbWeight=4096 PerfScore 264192.00 G_M27751_IG34: mov rbx, bword ptr [rbp-288H] inc r11d cmp r11d, 33 mov r8d, dword ptr [rbp-48H] mov r10d, dword ptr [rbp-4CH] jl G_M27751_IG30 ;; bbWeight=1024 PerfScore 4608.00 G_M27751_IG35: mov r9d, dword ptr [rbp-44H] inc r9d cmp r9d, 33 mov dword ptr [rbp-44H], r9d mov r13d, dword ptr [rbp-3CH] jl G_M27751_IG26 ;; bbWeight=256 PerfScore 1152.00 G_M27751_IG36: inc r13d cmp r13d, 33 jl G_M27751_IG22 ;; bbWeight=64 PerfScore 96.00 G_M27751_IG37: jmp SHORT G_M27751_IG42 ;; bbWeight=0.50 PerfScore 1.00 G_M27751_IG38: call CORINFO_HELP_RNGCHKFAIL ;; bbWeight=0 PerfScore 0.00 G_M27751_IG39: call System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; bbWeight=0 PerfScore 0.00 G_M27751_IG40: mov rcx, rbx mov rdx, qword ptr [rbp-E8H] call System.Buffer:_ZeroMemory(byref,long) mov rbx, bword ptr [rbp-288H] jmp G_M27751_IG25 ;; bbWeight=0.00 PerfScore 0.01 G_M27751_IG41: mov rcx, r15 mov rdx, qword ptr [rbp-F0H] call System.Buffer:_ZeroMemory(byref,long) jmp G_M27751_IG29 ;; bbWeight=0.00 PerfScore 0.00 G_M27751_IG42: mov rcx, gword ptr [rbp-280H] mov r11, 0xD1FFAB1E call [System.IDisposable:Dispose():this] nop ;; bbWeight=1 PerfScore 4.50 G_M27751_IG43: mov rcx, gword ptr [rbp-278H] mov r11, 0xD1FFAB1E call [System.IDisposable:Dispose():this] nop ;; bbWeight=1 PerfScore 4.50 G_M27751_IG44: add rsp, 648 pop rbx pop rsi pop rdi pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; bbWeight=1 PerfScore 5.25 G_M27751_IG45: push rbp push r15 push r14 push r13 push r12 push rdi push rsi push rbx sub rsp, 40 vzeroupper mov rbp, qword ptr [rcx+32] mov qword ptr [rsp+20H], rbp lea rbp, [rbp+2C0H] ;; bbWeight=0 PerfScore 0.00 G_M27751_IG46: cmp gword ptr [rbp-280H], 0 je SHORT G_M27751_IG47 mov rcx, gword ptr [rbp-280H] mov r11, 0xD1FFAB1E call [System.IDisposable:Dispose():this] ;; bbWeight=0 PerfScore 0.00 G_M27751_IG47: nop ;; bbWeight=0 PerfScore 0.00 G_M27751_IG48: add rsp, 40 pop rbx pop rsi pop rdi pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; bbWeight=0 PerfScore 0.00 G_M27751_IG49: push rbp push r15 push r14 push r13 push r12 push rdi push rsi push rbx sub rsp, 40 vzeroupper mov rbp, qword ptr [rcx+32] mov qword ptr [rsp+20H], rbp lea rbp, [rbp+2C0H] ;; bbWeight=0 PerfScore 0.00 G_M27751_IG50: cmp gword ptr [rbp-278H], 0 je SHORT G_M27751_IG51 mov rcx, gword ptr [rbp-278H] mov r11, 0xD1FFAB1E call [System.IDisposable:Dispose():this] ;; bbWeight=0 PerfScore 0.00 G_M27751_IG51: nop ;; bbWeight=0 PerfScore 0.00 G_M27751_IG52: add rsp, 40 pop rbx pop rsi pop rdi pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; bbWeight=0 PerfScore 0.00 ; Total bytes of code 2453, prolog size 98, PerfScore 1173222.16, instruction count 534, allocated bytes for code 2497 (MethodHash=2ca29398) for method SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1[Rgba32][SixLabors.ImageSharp.PixelFormats.Rgba32]:Get3DMoments(SixLabors.ImageSharp.Memory.MemoryAllocator):this ; ============================================================
Trouver la différence