]>
Commit | Line | Data |
---|---|---|
1d09f67e TL |
1 | //+build !noasm !appengine |
2 | // AUTO-GENERATED BY C2GOASM -- DO NOT EDIT | |
3 | ||
4 | TEXT ยท_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 | ||
18 | LBB0_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 | ||
24 | LBB0_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 | ||
87 | LBB0_5: | |
88 | RET |