parquet/internal/utils/_lib/unpack_bool_avx2.s (104 lines of code) (raw):
.text
.intel_syntax noprefix
.file "unpack_bool.c"
.globl bytes_to_bools_avx2 # -- Begin function bytes_to_bools_avx2
.p2align 4, 0x90
.type bytes_to_bools_avx2,@function
bytes_to_bools_avx2: # @bytes_to_bools_avx2
# %bb.0:
push rbp
mov rbp, rsp
and rsp, -8
test esi, esi
jle .LBB0_5
# %bb.1:
mov r8d, esi
shl r8, 3
xor r10d, r10d
jmp .LBB0_2
.p2align 4, 0x90
.LBB0_4: # in Loop: Header=BB0_2 Depth=1
add r10, 8
add rdi, 1
cmp r8, r10
je .LBB0_5
.LBB0_2: # =>This Inner Loop Header: Depth=1
cmp r10d, ecx
jge .LBB0_4
# %bb.3: # in Loop: Header=BB0_2 Depth=1
mov r9d, r10d
movzx eax, byte ptr [rdi]
and al, 1
mov byte ptr [rdx + r9], al
mov rsi, r9
or rsi, 1
cmp esi, ecx
jge .LBB0_4
# %bb.6: # in Loop: Header=BB0_2 Depth=1
movzx eax, byte ptr [rdi]
shr al
and al, 1
mov byte ptr [rdx + rsi], al
mov rsi, r9
or rsi, 2
cmp esi, ecx
jge .LBB0_4
# %bb.7: # in Loop: Header=BB0_2 Depth=1
movzx eax, byte ptr [rdi]
shr al, 2
and al, 1
mov byte ptr [rdx + rsi], al
mov rsi, r9
or rsi, 3
cmp esi, ecx
jge .LBB0_4
# %bb.8: # in Loop: Header=BB0_2 Depth=1
movzx eax, byte ptr [rdi]
shr al, 3
and al, 1
mov byte ptr [rdx + rsi], al
mov rsi, r9
or rsi, 4
cmp esi, ecx
jge .LBB0_4
# %bb.9: # in Loop: Header=BB0_2 Depth=1
movzx eax, byte ptr [rdi]
shr al, 4
and al, 1
mov byte ptr [rdx + rsi], al
mov rsi, r9
or rsi, 5
cmp esi, ecx
jge .LBB0_4
# %bb.10: # in Loop: Header=BB0_2 Depth=1
movzx eax, byte ptr [rdi]
shr al, 5
and al, 1
mov byte ptr [rdx + rsi], al
mov rsi, r9
or rsi, 6
cmp esi, ecx
jge .LBB0_4
# %bb.11: # in Loop: Header=BB0_2 Depth=1
movzx eax, byte ptr [rdi]
shr al, 6
and al, 1
mov byte ptr [rdx + rsi], al
or r9, 7
cmp r9d, ecx
jge .LBB0_4
# %bb.12: # in Loop: Header=BB0_2 Depth=1
movzx eax, byte ptr [rdi]
shr al, 7
mov byte ptr [rdx + r9], al
jmp .LBB0_4
.LBB0_5:
mov rsp, rbp
pop rbp
ret
.Lfunc_end0:
.size bytes_to_bools_avx2, .Lfunc_end0-bytes_to_bools_avx2
# -- End function
.ident "Debian clang version 11.1.0-++20210428103820+1fdec59bffc1-1~exp1~20210428204437.162"
.section ".note.GNU-stack","",@progbits
.addrsig