...

Text file src/github.com/apache/arrow/go/v15/parquet/internal/utils/_lib/unpack_bool_neon.s

Documentation: github.com/apache/arrow/go/v15/parquet/internal/utils/_lib

     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