GH110203

Created Diff never expires
36 removals
Words removed46
Total words109
Words removed (%)42.20
27 lines
38 additions
Words added50
Total words113
Words added (%)44.25
28 lines
C.EncodeToUtf16_Vector128_pr(System.ReadOnlySpan`1<Byte>, System.Span`1<Char>, Boolean)
C.EncodeToUtf16_Vector128_base(System.ReadOnlySpan`1<Byte>, System.Span`1<Char>, Boolean)
L0000: mov rax, [rcx]
L0000: mov rax, [rcx]
L0003: mov rdx, [rdx]
L0003: mov ecx, [rcx+8]
L0006: test r8b, r8b
L0006: mov rdx, [rdx]
L0009: jne short L005b
L0009: test r8b, r8b
L000b: vmovups xmm0, [0x7ffd766a00b0]
L000c: jne short L005d
L0013: xor r8d, r8d
L000e: vmovups xmm0, [0x7ffd766a0170]
L0016: mov ecx, [rcx+8]
L0016: xor r8d, r8d
L0019: add rcx, 0xfffffffffffffffc
L0019: mov ecx, ecx
L001d: vmovups xmm1, [0x7ffd766a00c0]
L001b: lea r10, [rcx-4]
L0025: vmovd xmm2, [rax+r8]
L001f: vmovups xmm1, [0x7ffd766a0180]
L002b: vpsrlq xmm3, xmm2, 4
L0027: vmovd xmm2, [rax+r8]
L0030: vpunpcklbw xmm2, xmm3, xmm2
L002d: vpsrlq xmm3, xmm2, 4
L0034: vpand xmm2, xmm1, xmm2
L0032: vpunpcklbw xmm2, xmm3, xmm2
L0038: vpshufb xmm2, xmm0, xmm2
L0036: vpand xmm2, xmm1, xmm2
L003d: vpmovzxbw xmm2, xmm2
L003a: vpshufb xmm2, xmm0, xmm2
L0042: vmovups [rdx+r8*4], xmm2
L003f: vpmovzxbw xmm2, xmm2
L0048: cmp r8, rcx
L0044: vmovups [rdx+r8*4], xmm2
L004b: je short L0065
L004a: add r8, 4
L004d: add r8, 4
L004e: cmp r8, rcx
L0051: cmp r8, rcx
L0051: je short L0067
L0054: jbe short L0025
L0053: cmp r8, r10
L0056: mov r8, rcx
L0056: jbe short L0027
L0059: jmp short L0025
L0058: mov r8, r10
L005b: vmovups xmm0, [0x7ffd766a00d0]
L005b: jmp short L0027
L0063: jmp short L0013
L005d: vmovups xmm0, [0x7ffd766a0190]
L0065: ret
L0065: jmp short L0016
L0067: ret