...

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

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

     1	.text
     2	.intel_syntax noprefix
     3	.file	"unpack_bool.c"
     4	.globl	bytes_to_bools_sse4             # -- Begin function bytes_to_bools_sse4
     5	.p2align	4, 0x90
     6	.type	bytes_to_bools_sse4,@function
     7bytes_to_bools_sse4:                    # @bytes_to_bools_sse4
     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_sse4, .Lfunc_end0-bytes_to_bools_sse4
   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

View as plain text