	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function _libelf_sum
__libelf_sum:                           ## @_libelf_sum
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	%rdi, %rax
	testq	%rsi, %rsi
	je	LBB0_13
## %bb.1:
	testq	%rdx, %rdx
	je	LBB0_13
## %bb.2:
	cmpq	$4, %rdx
	jb	LBB0_11
## %bb.3:
	movq	%rdx, %r8
	andq	$-4, %r8
	movq	%rax, %xmm0
	leaq	-4(%r8), %rax
	movq	%rax, %rcx
	shrq	$2, %rcx
	incq	%rcx
	testq	%rax, %rax
	je	LBB0_4
## %bb.5:
	movq	%rcx, %rax
	andq	$-2, %rax
	pxor	%xmm1, %xmm1
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_6:                                 ## =>This Inner Loop Header: Depth=1
	pmovzxbq	(%rsi,%rdi), %xmm2              ## xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
	paddq	%xmm0, %xmm2
	pmovzxbq	2(%rsi,%rdi), %xmm3             ## xmm3 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
	paddq	%xmm1, %xmm3
	pmovzxbq	4(%rsi,%rdi), %xmm0             ## xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
	pmovzxbq	6(%rsi,%rdi), %xmm1             ## xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
	paddq	%xmm2, %xmm0
	paddq	%xmm3, %xmm1
	addq	$8, %rdi
	addq	$-2, %rax
	jne	LBB0_6
## %bb.7:
	testb	$1, %cl
	je	LBB0_9
LBB0_8:
	pmovzxbq	(%rsi,%rdi), %xmm2              ## xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
	paddq	%xmm2, %xmm0
	pmovzxbq	2(%rsi,%rdi), %xmm2             ## xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
	paddq	%xmm2, %xmm1
LBB0_9:
	paddq	%xmm1, %xmm0
	pshufd	$238, %xmm0, %xmm1              ## xmm1 = xmm0[2,3,2,3]
	paddq	%xmm0, %xmm1
	movq	%xmm1, %rax
	cmpq	%rdx, %r8
	je	LBB0_13
## %bb.10:
	andl	$3, %edx
	addq	%r8, %rsi
LBB0_11:
	xorl	%ecx, %ecx
	.p2align	4, 0x90
LBB0_12:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%rsi,%rcx), %edi
	addq	%rdi, %rax
	incq	%rcx
	cmpq	%rcx, %rdx
	jne	LBB0_12
LBB0_13:
	popq	%rbp
	retq
LBB0_4:
	pxor	%xmm1, %xmm1
	xorl	%edi, %edi
	testb	$1, %cl
	jne	LBB0_8
	jmp	LBB0_9
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	__libelf_sum
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function _libelf_sum
__libelf_sum:                           ; @_libelf_sum
	.cfi_startproc
; %bb.0:
	cbz	x1, LBB0_15
; %bb.1:
	cbz	x2, LBB0_15
; %bb.2:
	cmp	x2, #8
	b.hs	LBB0_4
; %bb.3:
	mov	x9, x2
	mov	x10, x1
	b	LBB0_14
LBB0_4:
	cmp	x2, #32
	b.hs	LBB0_6
; %bb.5:
	mov	x8, #0
	b	LBB0_10
LBB0_6:
	and	x8, x2, #0xffffffffffffffe0
	movi.2d	v1, #0000000000000000
	movi.2d	v0, #0000000000000000
	mov.d	v0[0], x0
	add	x9, x1, #16
	movi.2d	v3, #0000000000000000
	mov	x10, x8
	movi.2d	v7, #0000000000000000
	movi.2d	v2, #0000000000000000
	movi.2d	v5, #0000000000000000
	movi.2d	v4, #0000000000000000
	movi.2d	v17, #0000000000000000
	movi.2d	v6, #0000000000000000
	movi.2d	v19, #0000000000000000
	movi.2d	v18, #0000000000000000
	movi.2d	v22, #0000000000000000
	movi.2d	v16, #0000000000000000
	movi.2d	v21, #0000000000000000
	movi.2d	v20, #0000000000000000
	movi.2d	v23, #0000000000000000
LBB0_7:                                 ; =>This Inner Loop Header: Depth=1
	ldp	q24, q27, [x9, #-16]
	ushll.8h	v25, v24, #0
	ushll.4s	v26, v25, #0
	ushll2.8h	v24, v24, #0
	ushll2.4s	v28, v24, #0
	ushll2.4s	v25, v25, #0
	ushll.4s	v24, v24, #0
	ushll.8h	v29, v27, #0
	ushll.4s	v30, v29, #0
	ushll2.8h	v27, v27, #0
	ushll2.4s	v31, v27, #0
	ushll2.4s	v29, v29, #0
	ushll.4s	v27, v27, #0
	uaddw2.2d	v7, v7, v25
	uaddw2.2d	v5, v5, v24
	uaddw.2d	v2, v2, v24
	uaddw.2d	v3, v3, v25
	uaddw2.2d	v1, v1, v26
	uaddw.2d	v4, v4, v28
	uaddw.2d	v0, v0, v26
	uaddw2.2d	v17, v17, v28
	uaddw2.2d	v22, v22, v29
	uaddw2.2d	v21, v21, v27
	uaddw.2d	v16, v16, v27
	uaddw.2d	v18, v18, v29
	uaddw2.2d	v19, v19, v30
	uaddw.2d	v20, v20, v31
	uaddw.2d	v6, v6, v30
	add	x9, x9, #32
	uaddw2.2d	v23, v23, v31
	subs	x10, x10, #32
	b.ne	LBB0_7
; %bb.8:
	add.2d	v7, v22, v7
	add.2d	v17, v23, v17
	add.2d	v1, v19, v1
	add.2d	v5, v21, v5
	add.2d	v3, v18, v3
	add.2d	v4, v20, v4
	add.2d	v0, v6, v0
	add.2d	v2, v16, v2
	add.2d	v0, v0, v2
	add.2d	v2, v3, v4
	add.2d	v0, v0, v2
	add.2d	v1, v1, v5
	add.2d	v2, v7, v17
	add.2d	v1, v1, v2
	add.2d	v0, v0, v1
	addp.2d	d0, v0
	fmov	x0, d0
	cmp	x8, x2
	b.eq	LBB0_15
; %bb.9:
	tst	x2, #0x18
	b.eq	LBB0_13
LBB0_10:
	and	x11, x2, #0xfffffffffffffff8
	and	x9, x2, #0x7
	add	x10, x1, x11
	movi.2d	v0, #0000000000000000
	movi.2d	v1, #0000000000000000
	mov.d	v1[0], x0
	add	x12, x1, x8
	sub	x8, x8, x11
	movi.2d	v2, #0000000000000000
	movi.2d	v3, #0000000000000000
LBB0_11:                                ; =>This Inner Loop Header: Depth=1
	ldr	d4, [x12], #8
	ushll.8h	v4, v4, #0
	ushll.4s	v5, v4, #0
	ushll2.4s	v4, v4, #0
	uaddw2.2d	v3, v3, v4
	uaddw.2d	v2, v2, v4
	uaddw2.2d	v0, v0, v5
	uaddw.2d	v1, v1, v5
	adds	x8, x8, #8
	b.ne	LBB0_11
; %bb.12:
	add.2d	v1, v1, v2
	add.2d	v0, v0, v3
	add.2d	v0, v1, v0
	addp.2d	d0, v0
	fmov	x0, d0
	cmp	x11, x2
	b.ne	LBB0_14
	b	LBB0_15
LBB0_13:
	add	x10, x1, x8
	and	x9, x2, #0x1f
LBB0_14:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w8, [x10], #1
	add	x0, x0, x8
	subs	x9, x9, #1
	b.ne	LBB0_14
LBB0_15:
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	__libelf_sum
.subsections_via_symbols
