]> git.proxmox.com Git - ceph.git/blame - ceph/src/arrow/go/parquet/internal/utils/unpack_bool_sse4_amd64.s
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / go / parquet / internal / utils / unpack_bool_sse4_amd64.s
CommitLineData
1d09f67e
TL
1//+build !noasm !appengine
2// AUTO-GENERATED BY C2GOASM -- DO NOT EDIT
3
4TEXT ยท_bytes_to_bools_sse4(SB), $0-32
5
6 MOVQ in+0(FP), DI
7 MOVQ len+8(FP), SI
8 MOVQ out+16(FP), DX
9 MOVQ outlen+24(FP), CX
10
11 WORD $0xf685 // test esi, esi
12 JLE LBB0_5
13 WORD $0x8941; BYTE $0xf0 // mov r8d, esi
14 LONG $0x03e0c149 // shl r8, 3
15 WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
16 JMP LBB0_2
17
18LBB0_4:
19 LONG $0x08c28349 // add r10, 8
20 LONG $0x01c78348 // add rdi, 1
21 WORD $0x394d; BYTE $0xd0 // cmp r8, r10
22 JE LBB0_5
23
24LBB0_2:
25 WORD $0x3941; BYTE $0xca // cmp r10d, ecx
26 JGE LBB0_4
27 WORD $0x8945; BYTE $0xd1 // mov r9d, r10d
28 WORD $0xb60f; BYTE $0x07 // movzx eax, byte [rdi]
29 WORD $0x0124 // and al, 1
30 LONG $0x0a048842 // mov byte [rdx + r9], al
31 WORD $0x894c; BYTE $0xce // mov rsi, r9
32 LONG $0x01ce8348 // or rsi, 1
33 WORD $0xce39 // cmp esi, ecx
34 JGE LBB0_4
35 WORD $0xb60f; BYTE $0x07 // movzx eax, byte [rdi]
36 WORD $0xe8d0 // shr al, 1
37 WORD $0x0124 // and al, 1
38 WORD $0x0488; BYTE $0x32 // mov byte [rdx + rsi], al
39 WORD $0x894c; BYTE $0xce // mov rsi, r9
40 LONG $0x02ce8348 // or rsi, 2
41 WORD $0xce39 // cmp esi, ecx
42 JGE LBB0_4
43 WORD $0xb60f; BYTE $0x07 // movzx eax, byte [rdi]
44 WORD $0xe8c0; BYTE $0x02 // shr al, 2
45 WORD $0x0124 // and al, 1
46 WORD $0x0488; BYTE $0x32 // mov byte [rdx + rsi], al
47 WORD $0x894c; BYTE $0xce // mov rsi, r9
48 LONG $0x03ce8348 // or rsi, 3
49 WORD $0xce39 // cmp esi, ecx
50 JGE LBB0_4
51 WORD $0xb60f; BYTE $0x07 // movzx eax, byte [rdi]
52 WORD $0xe8c0; BYTE $0x03 // shr al, 3
53 WORD $0x0124 // and al, 1
54 WORD $0x0488; BYTE $0x32 // mov byte [rdx + rsi], al
55 WORD $0x894c; BYTE $0xce // mov rsi, r9
56 LONG $0x04ce8348 // or rsi, 4
57 WORD $0xce39 // cmp esi, ecx
58 JGE LBB0_4
59 WORD $0xb60f; BYTE $0x07 // movzx eax, byte [rdi]
60 WORD $0xe8c0; BYTE $0x04 // shr al, 4
61 WORD $0x0124 // and al, 1
62 WORD $0x0488; BYTE $0x32 // mov byte [rdx + rsi], al
63 WORD $0x894c; BYTE $0xce // mov rsi, r9
64 LONG $0x05ce8348 // or rsi, 5
65 WORD $0xce39 // cmp esi, ecx
66 JGE LBB0_4
67 WORD $0xb60f; BYTE $0x07 // movzx eax, byte [rdi]
68 WORD $0xe8c0; BYTE $0x05 // shr al, 5
69 WORD $0x0124 // and al, 1
70 WORD $0x0488; BYTE $0x32 // mov byte [rdx + rsi], al
71 WORD $0x894c; BYTE $0xce // mov rsi, r9
72 LONG $0x06ce8348 // or rsi, 6
73 WORD $0xce39 // cmp esi, ecx
74 JGE LBB0_4
75 WORD $0xb60f; BYTE $0x07 // movzx eax, byte [rdi]
76 WORD $0xe8c0; BYTE $0x06 // shr al, 6
77 WORD $0x0124 // and al, 1
78 WORD $0x0488; BYTE $0x32 // mov byte [rdx + rsi], al
79 LONG $0x07c98349 // or r9, 7
80 WORD $0x3941; BYTE $0xc9 // cmp r9d, ecx
81 JGE LBB0_4
82 WORD $0xb60f; BYTE $0x07 // movzx eax, byte [rdi]
83 WORD $0xe8c0; BYTE $0x07 // shr al, 7
84 LONG $0x0a048842 // mov byte [rdx + r9], al
85 JMP LBB0_4
86
87LBB0_5:
88 RET