rename labels to avoid collisions (although they should already be local) (rust bug?)

This commit is contained in:
2024-01-26 21:08:45 -05:00
parent 7c2ba320fa
commit b0a2373215
4 changed files with 102 additions and 102 deletions

View File

@@ -3,18 +3,18 @@ core::arch::global_asm!{r#"
memcmp:
xor eax, eax
xor r9d, r9d
.LBB0_1:
.L_memcmp_BB0_1:
cmp r8, r9
je .LBB0_4
je .L_memcmp_BB0_4
movzx r10d, byte ptr [rcx + r9]
movzx r11d, byte ptr [rdx + r9]
inc r9
cmp r10b, r11b
je .LBB0_1
je .L_memcmp_BB0_1
xor eax, eax
cmp r10b, r11b
sbb eax, eax
or eax, 1
.LBB0_4:
.L_memcmp_BB0_4:
ret
"#}

View File

@@ -6,50 +6,50 @@ core::arch::global_asm!{r#"
memcpy:
mov rax, rcx
cmp r8, 4
ja .LBB0_4
ja .L_memcpy_BB0_4
test r8, r8
je .LBB0_13
je .L_memcpy_BB0_13
movzx ecx, byte ptr [rdx]
mov byte ptr [rax], cl
movzx ecx, byte ptr [rdx + r8 - 1]
mov byte ptr [rax + r8 - 1], cl
cmp r8, 3
jb .LBB0_13
jb .L_memcpy_BB0_13
movzx ecx, byte ptr [rdx + 1]
mov byte ptr [rax + 1], cl
movzx ecx, byte ptr [rdx + 2]
mov byte ptr [rax + 2], cl
ret
.LBB0_4:
.L_memcpy_BB0_4:
cmp r8, 16
ja .LBB0_8
ja .L_memcpy_BB0_8
cmp r8, 8
jb .LBB0_7
jb .L_memcpy_BB0_7
mov rcx, qword ptr [rdx]
mov qword ptr [rax], rcx
mov rcx, qword ptr [rdx + r8 - 8]
mov qword ptr [rax + r8 - 8], rcx
ret
.LBB0_8:
.L_memcpy_BB0_8:
cmp r8, 32
ja .LBB0_10
ja .L_memcpy_BB0_10
movups xmm0, xmmword ptr [rdx]
movups xmmword ptr [rax], xmm0
movups xmm0, xmmword ptr [rdx + r8 - 16]
movups xmmword ptr [rax + r8 - 16], xmm0
ret
.LBB0_7:
.L_memcpy_BB0_7:
mov ecx, dword ptr [rdx]
mov dword ptr [rax], ecx
mov ecx, dword ptr [rdx + r8 - 4]
mov dword ptr [rax + r8 - 4], ecx
ret
.LBB0_10:
.L_memcpy_BB0_10:
lea rcx, [rax + r8]
add rcx, -32
mov r9, rdx
mov r10, rax
.LBB0_11:
.L_memcpy_BB0_11:
movups xmm0, xmmword ptr [r9]
movups xmm1, xmmword ptr [r9 + 16]
movups xmmword ptr [r10 + 16], xmm1
@@ -57,11 +57,11 @@ memcpy:
add r10, 32
add r9, 32
cmp r10, rcx
jb .LBB0_11
jb .L_memcpy_BB0_11
movups xmm0, xmmword ptr [rdx + r8 - 32]
movups xmm1, xmmword ptr [rdx + r8 - 16]
movups xmmword ptr [rcx + 16], xmm1
movups xmmword ptr [rcx], xmm0
.LBB0_13:
.L_memcpy_BB0_13:
ret
"#}

View File

@@ -6,45 +6,45 @@ memmove:
sub rsp, 40
mov rsi, rcx
cmp rdx, rcx
je .LBB0_36
je .L_memmove_BB0_36
test r8, r8
je .LBB0_36
je .L_memmove_BB0_36
mov rcx, rsi
sub rcx, rdx
jbe .LBB0_18
jbe .L_memmove_BB0_18
movsxd rax, r8d
cmp rcx, rax
jge .LBB0_18
jge .L_memmove_BB0_18
mov eax, r8d
dec eax
js .LBB0_36
js .L_memmove_BB0_36
cmp r8d, 4
jb .LBB0_16
jb .L_memmove_BB0_16
mov ecx, eax
lea r9, [rdx + rcx]
add rcx, rsi
sub r9, rcx
cmp r9, 16
jb .LBB0_16
jb .L_memmove_BB0_16
xor ecx, ecx
cmp r8d, 16
jb .LBB0_13
jb .L_memmove_BB0_13
mov ecx, r8d
and ecx, -16
mov r9d, eax
mov r10d, ecx
.LBB0_9:
.L_memmove_BB0_9:
mov r11d, r9d
movups xmm0, xmmword ptr [rdx + r11 - 15]
movups xmmword ptr [rsi + r11 - 15], xmm0
add r9d, -16
add r10d, -16
jne .LBB0_9
jne .L_memmove_BB0_9
cmp ecx, r8d
je .LBB0_36
je .L_memmove_BB0_36
test r8b, 12
je .LBB0_12
.LBB0_13:
je .L_memmove_BB0_12
.L_memmove_BB0_13:
mov r9d, r8d
and r9d, -4
sub eax, r9d
@@ -52,86 +52,86 @@ memmove:
sub r10d, r9d
not ecx
add ecx, r8d
.LBB0_14:
.L_memmove_BB0_14:
mov r11d, ecx
mov edi, dword ptr [rdx + r11 - 3]
mov dword ptr [rsi + r11 - 3], edi
add ecx, -4
add r10d, 4
jne .LBB0_14
jne .L_memmove_BB0_14
cmp r9d, r8d
je .LBB0_36
jmp .LBB0_16
.LBB0_18:
je .L_memmove_BB0_36
jmp .L_memmove_BB0_16
.L_memmove_BB0_18:
mov rax, rdx
sub rax, rsi
jbe .LBB0_35
jbe .L_memmove_BB0_35
movsxd r9, r8d
cmp rax, r9
jge .LBB0_35
jge .L_memmove_BB0_35
xor eax, eax
cmp r8, 8
jb .LBB0_31
jb .L_memmove_BB0_31
cmp rcx, 32
jb .LBB0_31
jb .L_memmove_BB0_31
cmp r8, 32
jae .LBB0_24
jae .L_memmove_BB0_24
xor eax, eax
jmp .LBB0_28
.LBB0_35:
jmp .L_memmove_BB0_28
.L_memmove_BB0_35:
mov rcx, rsi
call "memcpy"
.LBB0_36:
.L_memmove_BB0_36:
mov rax, rsi
add rsp, 40
pop rdi
pop rsi
ret
.LBB0_24:
.L_memmove_BB0_24:
mov rax, r8
and rax, -32
xor ecx, ecx
.LBB0_25:
.L_memmove_BB0_25:
movups xmm0, xmmword ptr [rdx + rcx]
movups xmm1, xmmword ptr [rdx + rcx + 16]
movups xmmword ptr [rsi + rcx], xmm0
movups xmmword ptr [rsi + rcx + 16], xmm1
add rcx, 32
cmp rax, rcx
jne .LBB0_25
jne .L_memmove_BB0_25
cmp rax, r8
je .LBB0_36
je .L_memmove_BB0_36
test r8b, 24
je .LBB0_31
.LBB0_28:
je .L_memmove_BB0_31
.L_memmove_BB0_28:
mov rcx, rax
mov rax, r8
and rax, -8
.LBB0_29:
.L_memmove_BB0_29:
mov r9, qword ptr [rdx + rcx]
mov qword ptr [rsi + rcx], r9
add rcx, 8
cmp rax, rcx
jne .LBB0_29
jne .L_memmove_BB0_29
cmp rax, r8
je .LBB0_36
.LBB0_31:
je .L_memmove_BB0_36
.L_memmove_BB0_31:
mov rcx, rax
not rcx
add rcx, r8
mov r9, r8
and r9, 3
je .LBB0_33
.LBB0_32:
je .L_memmove_BB0_33
.L_memmove_BB0_32:
movzx r10d, byte ptr [rdx + rax]
mov byte ptr [rsi + rax], r10b
inc rax
dec r9
jne .LBB0_32
.LBB0_33:
jne .L_memmove_BB0_32
.L_memmove_BB0_33:
cmp rcx, 3
jb .LBB0_36
.LBB0_34:
jb .L_memmove_BB0_36
.L_memmove_BB0_34:
movzx ecx, byte ptr [rdx + rax]
mov byte ptr [rsi + rax], cl
movzx ecx, byte ptr [rdx + rax + 1]
@@ -142,18 +142,18 @@ memmove:
mov byte ptr [rsi + rax + 3], cl
add rax, 4
cmp r8, rax
jne .LBB0_34
jmp .LBB0_36
.LBB0_12:
jne .L_memmove_BB0_34
jmp .L_memmove_BB0_36
.L_memmove_BB0_12:
sub eax, ecx
.LBB0_16:
.L_memmove_BB0_16:
mov eax, eax
.LBB0_17:
.L_memmove_BB0_17:
movzx ecx, byte ptr [rdx + rax]
mov byte ptr [rsi + rax], cl
dec rax
lea ecx, [rax + 1]
test ecx, ecx
jg .LBB0_17
jmp .LBB0_36
jg .L_memmove_BB0_17
jmp .L_memmove_BB0_36
"#}

View File

@@ -6,26 +6,26 @@ core::arch::global_asm!{r#"
memset:
mov rax, rcx
cmp r8, 31
ja .LBB0_10
ja .L_memset_BB0_10
cmp r8, 4
ja .LBB0_5
ja .L_memset_BB0_5
test r8, r8
je .LBB0_26
je .L_memset_BB0_26
mov byte ptr [rax], dl
mov byte ptr [r8 + rax - 1], dl
cmp r8, 3
jb .LBB0_26
jb .L_memset_BB0_26
mov byte ptr [rax + 1], dl
mov byte ptr [rax + 2], dl
ret
.LBB0_10:
.L_memset_BB0_10:
movzx ecx, dl
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
cmp r8, 161
jb .LBB0_23
jb .L_memset_BB0_23
movdqu xmmword ptr [rax], xmm0
movdqu xmmword ptr [rax + 16], xmm0
mov rdx, rax
@@ -35,8 +35,8 @@ memset:
add rcx, -32
lea r8, [rdx + 192]
cmp r8, r9
jae .LBB0_12
.LBB0_13:
jae .L_memset_BB0_12
.L_memset_BB0_13:
movdqa xmmword ptr [r8 - 160], xmm0
movdqa xmmword ptr [r8 - 144], xmm0
movdqa xmmword ptr [r8 - 128], xmm0
@@ -49,59 +49,59 @@ memset:
movdqa xmmword ptr [r8 - 16], xmm0
add r8, 160
cmp r8, r9
jb .LBB0_13
jb .L_memset_BB0_13
add r8, -160
mov rdx, r8
cmp rdx, rcx
jb .LBB0_16
jmp .LBB0_17
.LBB0_5:
jb .L_memset_BB0_16
jmp .L_memset_BB0_17
.L_memset_BB0_5:
cmp r8, 16
ja .LBB0_9
ja .L_memset_BB0_9
movzx edx, dl
movabs rcx, 72340172838076673
imul rcx, rdx
cmp r8, 8
jb .LBB0_8
jb .L_memset_BB0_8
mov qword ptr [rax], rcx
mov qword ptr [rax + r8 - 8], rcx
ret
.LBB0_23:
.L_memset_BB0_23:
lea rcx, [rax + r8]
add rcx, -32
mov rdx, rax
.LBB0_24:
.L_memset_BB0_24:
movdqu xmmword ptr [rdx], xmm0
movdqu xmmword ptr [rdx + 16], xmm0
add rdx, 32
cmp rdx, rcx
jb .LBB0_24
jmp .LBB0_25
.LBB0_12:
jb .L_memset_BB0_24
jmp .L_memset_BB0_25
.L_memset_BB0_12:
add rdx, 32
cmp rdx, rcx
jae .LBB0_17
.LBB0_16:
jae .L_memset_BB0_17
.L_memset_BB0_16:
movdqa xmmword ptr [rdx], xmm0
movdqa xmmword ptr [rdx + 16], xmm0
add rdx, 32
.LBB0_17:
.L_memset_BB0_17:
cmp rdx, rcx
jb .LBB0_18
jb .L_memset_BB0_18
cmp rdx, rcx
jb .LBB0_20
.LBB0_21:
jb .L_memset_BB0_20
.L_memset_BB0_21:
cmp rdx, rcx
jae .LBB0_25
.LBB0_22:
jae .L_memset_BB0_25
.L_memset_BB0_22:
movdqa xmmword ptr [rdx], xmm0
movdqa xmmword ptr [rdx + 16], xmm0
.LBB0_25:
.L_memset_BB0_25:
movdqu xmmword ptr [rcx], xmm0
movdqu xmmword ptr [rcx + 16], xmm0
.LBB0_26:
.L_memset_BB0_26:
ret
.LBB0_9:
.L_memset_BB0_9:
movzx ecx, dl
movd xmm0, ecx
punpcklbw xmm0, xmm0
@@ -110,20 +110,20 @@ memset:
movdqu xmmword ptr [rax + r8 - 16], xmm0
movdqu xmmword ptr [rax], xmm0
ret
.LBB0_18:
.L_memset_BB0_18:
movdqa xmmword ptr [rdx], xmm0
movdqa xmmword ptr [rdx + 16], xmm0
add rdx, 32
cmp rdx, rcx
jae .LBB0_21
.LBB0_20:
jae .L_memset_BB0_21
.L_memset_BB0_20:
movdqa xmmword ptr [rdx], xmm0
movdqa xmmword ptr [rdx + 16], xmm0
add rdx, 32
cmp rdx, rcx
jb .LBB0_22
jmp .LBB0_25
.LBB0_8:
jb .L_memset_BB0_22
jmp .L_memset_BB0_25
.L_memset_BB0_8:
mov dword ptr [rax], ecx
mov dword ptr [rax + r8 - 4], ecx
ret