Untitled Diff

Created Diff never expires
46 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
58 lines
61 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
72 lines
; Assembly listing for method System.Buffers.Text.Base64:Ssse3Encode(byref,byref,long,int,int,long,long)
; Assembly listing for method System.Buffers.Text.Base64:Ssse3Encode(byref,byref,long,int,int,long,long)


G_M62906_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
G_M62906_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
;; size=0 bbWeight=1 PerfScore 0.00
sub rsp, 88
movaps qword ptr [rsp+40H], xmm6
movaps qword ptr [rsp+30H], xmm7
movaps qword ptr [rsp+20H], xmm8
movaps qword ptr [rsp+10H], xmm9
movaps qword ptr [rsp], xmm10
;; size=31 bbWeight=1 PerfScore 10.25
G_M62906_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000006 {rcx rdx}, byref
G_M62906_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000006 {rcx rdx}, byref
; byrRegs +[rcx rdx]
; byrRegs +[rcx rdx]
movups xmm0, xmmword ptr [reloc @RWD00]
movups xmm1, xmmword ptr [reloc @RWD16]
movups xmm2, xmmword ptr [reloc @RWD32]
movups xmm3, xmmword ptr [reloc @RWD48]
movups xmm4, xmmword ptr [reloc @RWD64]
movups xmm5, xmmword ptr [reloc @RWD80]
movups xmm6, xmmword ptr [reloc @RWD96]
movups xmm7, xmmword ptr [reloc @RWD112]
mov rax, qword ptr [rcx]
mov rax, qword ptr [rcx]
mov r9, qword ptr [rdx]
mov r9, qword ptr [rdx]
;; size=6 bbWeight=1 PerfScore 4.00
;; size=62 bbWeight=1 PerfScore 28.00
G_M62906_IG03: ; gcrefRegs=00000000 {}, byrefRegs=00000006 {rcx rdx}, byref
G_M62906_IG03: ; gcrefRegs=00000000 {}, byrefRegs=00000006 {rcx rdx}, byref, isz
movdqu xmm0, xmmword ptr [rax]
movdqu xmm8, xmmword ptr [rax]
movups xmm1, xmmword ptr [reloc @RWD00]
pshufb xmm8, xmm0
pshufb xmm0, xmm1
movaps xmm9, xmm8
movups xmm1, xmmword ptr [reloc @RWD16]
pand xmm9, xmm2
pand xmm1, xmm0
pmulhuw xmm9, xmm4
movups xmm2, xmmword ptr [reloc @RWD32]
pand xmm8, xmm3
pmulhuw xmm1, xmm2
pmullw xmm8, xmm5
movups xmm2, xmmword ptr [reloc @RWD48]
por xmm8, xmm9
pand xmm2, xmm0
movaps xmm9, xmm8
movups xmm0, xmmword ptr [reloc @RWD64]
psubusb xmm9, xmm6
pmullw xmm0, xmm2
movaps xmm10, xmm8
por xmm0, xmm1
pcmpgtb xmm10, xmm7
movups xmm1, xmmword ptr [reloc @RWD80]
psubb xmm9, xmm10
movaps xmm2, xmm0
movaps xmm10, xmm1
psubusb xmm2, xmm1
pshufb xmm10, xmm9
movups xmm1, xmmword ptr [reloc @RWD96]
paddb xmm8, xmm10
movaps xmm3, xmm0
movdqu xmmword ptr [r9], xmm8
pcmpgtb xmm3, xmm1
psubb xmm2, xmm3
movups xmm1, xmmword ptr [reloc @RWD112]
pshufb xmm1, xmm2
paddb xmm0, xmm1
movdqu xmmword ptr [r9], xmm0
add rax, 12
add rax, 12
add r9, 16
add r9, 16
cmp rax, r8
cmp rax, r8
jbe G_M62906_IG03
jbe SHORT G_M62906_IG03
;; size=134 bbWeight=8 PerfScore 358.00
;; size=96 bbWeight=8 PerfScore 170.00
G_M62906_IG04: ; gcrefRegs=00000000 {}, byrefRegs=00000006 {rcx rdx}, byref
G_M62906_IG04: ; gcrefRegs=00000000 {}, byrefRegs=00000006 {rcx rdx}, byref
mov qword ptr [rcx], rax
mov qword ptr [rcx], rax
mov qword ptr [rdx], r9
mov qword ptr [rdx], r9
;; size=6 bbWeight=1 PerfScore 2.00
;; size=6 bbWeight=1 PerfScore 2.00
G_M62906_IG05: ; , epilog, nogc, extend
G_M62906_IG05: ; , epilog, nogc, extend
movaps xmm6, qword ptr [rsp+40H]
movaps xmm7, qword ptr [rsp+30H]
movaps xmm8, qword ptr [rsp+20H]
movaps xmm9, qword ptr [rsp+10H]
movaps xmm10, qword ptr [rsp]
add rsp, 88
ret
ret
;; size=1 bbWeight=1 PerfScore 1.00
;; size=32 bbWeight=1 PerfScore 21.25
RWD00 dq 0405030401020001h, 0A0B090A07080607h
RWD00 dq 0405030401020001h, 0A0B090A07080607h
RWD16 dq 0FC0FC000FC0FC00h, 0FC0FC000FC0FC00h
RWD16 dq FCFCFCFCFCFC4741h, 0000F0EDFCFCFCFCh
RWD32 dq 0400004004000040h, 0400004004000040h
RWD32 dq 0FC0FC000FC0FC00h, 0FC0FC000FC0FC00h
RWD48 dq 003F03F0003F03F0h, 003F03F0003F03F0h
RWD48 dq 003F03F0003F03F0h, 003F03F0003F03F0h
RWD64 dq 0100001001000010h, 0100001001000010h
RWD64 dq 0400004004000040h, 0400004004000040h
RWD80 dq 3333333333333333h, 3333333333333333h
RWD80 dq 0100001001000010h, 0100001001000010h
RWD96 dq 1919191919191919h, 1919191919191919h
RWD96 dq 3333333333333333h, 3333333333333333h
RWD112 dq FCFCFCFCFCFC4741h, 0000F0EDFCFCFCFCh
RWD112 dq 1919191919191919h, 1919191919191919h




; Total bytes of code 147, prolog size 0, PerfScore 379.70, instruction count 32, allocated bytes for code 147 (MethodHash=62a60a45) for method System.Buffers.Text.Base64:Ssse3Encode(byref,byref,long,int,int,long,long)
; Total bytes of code 227, prolog size 31, PerfScore 254.20, instruction count 46, allocated bytes for code 227 (MethodHash=62a60a45) for method System.Buffers.Text.Base64:Ssse3Encode(byref,byref,long,int,int,long,long)
; ============================================================
; ============================================================