1 .text
2 .file "unpack_bool.c"
3 .globl bytes_to_bools_neon // -- Begin function bytes_to_bools_neon
4 .p2align 2
5 .type bytes_to_bools_neon,@function
6bytes_to_bools_neon: // @bytes_to_bools_neon
7// %bb.0:
8 stp x29, x30, [sp, #-16]! // 16-byte Folded Spill
9 cmp w1, #1 // =1
10 mov x29, sp
11 b.lt .LBB0_12
12// %bb.1:
13 mov w9, w1
14 mov x8, xzr
15 lsl x9, x9, #3
16 mov w10, #5
17 b .LBB0_3
18.LBB0_2: // in Loop: Header=BB0_3 Depth=1
19 add x8, x8, #8 // =8
20 cmp x9, x8
21 add x0, x0, #1 // =1
22 b.eq .LBB0_12
23.LBB0_3: // =>This Inner Loop Header: Depth=1
24 cmp w8, w3
25 b.ge .LBB0_2
26// %bb.4: // in Loop: Header=BB0_3 Depth=1
27 ldrb w12, [x0]
28 and x11, x8, #0xffffffff
29 orr x13, x11, #0x1
30 cmp w13, w3
31 and w12, w12, #0x1
32 strb w12, [x2, x11]
33 b.ge .LBB0_2
34// %bb.5: // in Loop: Header=BB0_3 Depth=1
35 ldrb w14, [x0]
36 orr x12, x11, #0x2
37 cmp w12, w3
38 ubfx w14, w14, #1, #1
39 strb w14, [x2, x13]
40 b.ge .LBB0_2
41// %bb.6: // in Loop: Header=BB0_3 Depth=1
42 ldrb w14, [x0]
43 orr x13, x11, #0x3
44 cmp w13, w3
45 ubfx w14, w14, #2, #1
46 strb w14, [x2, x12]
47 b.ge .LBB0_2
48// %bb.7: // in Loop: Header=BB0_3 Depth=1
49 ldrb w14, [x0]
50 orr x12, x11, #0x4
51 cmp w12, w3
52 ubfx w14, w14, #3, #1
53 strb w14, [x2, x13]
54 b.ge .LBB0_2
55// %bb.8: // in Loop: Header=BB0_3 Depth=1
56 ldrb w14, [x0]
57 orr x13, x11, x10
58 cmp w13, w3
59 ubfx w14, w14, #4, #1
60 strb w14, [x2, x12]
61 b.ge .LBB0_2
62// %bb.9: // in Loop: Header=BB0_3 Depth=1
63 ldrb w14, [x0]
64 orr x12, x11, #0x6
65 cmp w12, w3
66 ubfx w14, w14, #5, #1
67 strb w14, [x2, x13]
68 b.ge .LBB0_2
69// %bb.10: // in Loop: Header=BB0_3 Depth=1
70 ldrb w13, [x0]
71 orr x11, x11, #0x7
72 cmp w11, w3
73 ubfx w13, w13, #6, #1
74 strb w13, [x2, x12]
75 b.ge .LBB0_2
76// %bb.11: // in Loop: Header=BB0_3 Depth=1
77 ldrb w12, [x0]
78 lsr w12, w12, #7
79 strb w12, [x2, x11]
80 b .LBB0_2
81.LBB0_12:
82 ldp x29, x30, [sp], #16 // 16-byte Folded Reload
83 ret
84.Lfunc_end0:
85 .size bytes_to_bools_neon, .Lfunc_end0-bytes_to_bools_neon
86 // -- End function
87 .ident "clang version 10.0.0-4ubuntu1 "
88 .section ".note.GNU-stack","",@progbits
89 .addrsig
View as plain text