]> git.proxmox.com Git - ceph.git/blob - ceph/src/arrow/go/parquet/internal/utils/_lib/unpack_bool_avx2.s
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / go / parquet / internal / utils / _lib / unpack_bool_avx2.s
1 .text
2 .intel_syntax noprefix
3 .file "unpack_bool.c"
4 .globl bytes_to_bools_avx2 # -- Begin function bytes_to_bools_avx2
5 .p2align 4, 0x90
6 .type bytes_to_bools_avx2,@function
7 bytes_to_bools_avx2: # @bytes_to_bools_avx2
8 # %bb.0:
9 push rbp
10 mov rbp, rsp
11 and rsp, -8
12 test esi, esi
13 jle .LBB0_5
14 # %bb.1:
15 mov r8d, esi
16 shl r8, 3
17 xor r10d, r10d
18 jmp .LBB0_2
19 .p2align 4, 0x90
20 .LBB0_4: # in Loop: Header=BB0_2 Depth=1
21 add r10, 8
22 add rdi, 1
23 cmp r8, r10
24 je .LBB0_5
25 .LBB0_2: # =>This Inner Loop Header: Depth=1
26 cmp r10d, ecx
27 jge .LBB0_4
28 # %bb.3: # in Loop: Header=BB0_2 Depth=1
29 mov r9d, r10d
30 movzx eax, byte ptr [rdi]
31 and al, 1
32 mov byte ptr [rdx + r9], al
33 mov rsi, r9
34 or rsi, 1
35 cmp esi, ecx
36 jge .LBB0_4
37 # %bb.6: # in Loop: Header=BB0_2 Depth=1
38 movzx eax, byte ptr [rdi]
39 shr al
40 and al, 1
41 mov byte ptr [rdx + rsi], al
42 mov rsi, r9
43 or rsi, 2
44 cmp esi, ecx
45 jge .LBB0_4
46 # %bb.7: # in Loop: Header=BB0_2 Depth=1
47 movzx eax, byte ptr [rdi]
48 shr al, 2
49 and al, 1
50 mov byte ptr [rdx + rsi], al
51 mov rsi, r9
52 or rsi, 3
53 cmp esi, ecx
54 jge .LBB0_4
55 # %bb.8: # in Loop: Header=BB0_2 Depth=1
56 movzx eax, byte ptr [rdi]
57 shr al, 3
58 and al, 1
59 mov byte ptr [rdx + rsi], al
60 mov rsi, r9
61 or rsi, 4
62 cmp esi, ecx
63 jge .LBB0_4
64 # %bb.9: # in Loop: Header=BB0_2 Depth=1
65 movzx eax, byte ptr [rdi]
66 shr al, 4
67 and al, 1
68 mov byte ptr [rdx + rsi], al
69 mov rsi, r9
70 or rsi, 5
71 cmp esi, ecx
72 jge .LBB0_4
73 # %bb.10: # in Loop: Header=BB0_2 Depth=1
74 movzx eax, byte ptr [rdi]
75 shr al, 5
76 and al, 1
77 mov byte ptr [rdx + rsi], al
78 mov rsi, r9
79 or rsi, 6
80 cmp esi, ecx
81 jge .LBB0_4
82 # %bb.11: # in Loop: Header=BB0_2 Depth=1
83 movzx eax, byte ptr [rdi]
84 shr al, 6
85 and al, 1
86 mov byte ptr [rdx + rsi], al
87 or r9, 7
88 cmp r9d, ecx
89 jge .LBB0_4
90 # %bb.12: # in Loop: Header=BB0_2 Depth=1
91 movzx eax, byte ptr [rdi]
92 shr al, 7
93 mov byte ptr [rdx + r9], al
94 jmp .LBB0_4
95 .LBB0_5:
96 mov rsp, rbp
97 pop rbp
98 ret
99 .Lfunc_end0:
100 .size bytes_to_bools_avx2, .Lfunc_end0-bytes_to_bools_avx2
101 # -- End function
102 .ident "Debian clang version 11.1.0-++20210428103820+1fdec59bffc1-1~exp1~20210428204437.162"
103 .section ".note.GNU-stack","",@progbits
104 .addrsig