]>
Commit | Line | Data |
---|---|---|
1d09f67e TL |
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 |