	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function tar_chksm
_tar_chksm:                             ## @tar_chksm
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_BLNKSUM@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	_CHK_OFFSET@GOTPCREL(%rip), %rcx
	movslq	(%rcx), %r11
	testq	%r11, %r11
	jle	LBB0_1
## %bb.2:
	addq	%rdi, %r11
	leaq	1(%rdi), %r9
	cmpq	%r9, %r11
	cmovaq	%r11, %r9
	subq	%rdi, %r9
	cmpq	$4, %r9
	jae	LBB0_4
## %bb.3:
	movq	%rdi, %rdx
	jmp	LBB0_11
LBB0_1:
	movq	%rdi, %rdx
	jmp	LBB0_12
LBB0_4:
	movq	%r9, %r8
	andq	$-4, %r8
	movq	%rax, %xmm0
	leaq	-4(%r8), %rax
	movq	%rax, %r10
	shrq	$2, %r10
	incq	%r10
	testq	%rax, %rax
	je	LBB0_5
## %bb.6:
	movq	%r10, %rax
	andq	$-2, %rax
	pxor	%xmm1, %xmm1
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	pmovzxbq	(%rdi,%rdx), %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(%rdi,%rdx), %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(%rdi,%rdx), %xmm0             ## xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
	pmovzxbq	6(%rdi,%rdx), %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, %rdx
	addq	$-2, %rax
	jne	LBB0_7
## %bb.8:
	testb	$1, %r10b
	je	LBB0_10
LBB0_9:
	pmovzxbq	(%rdi,%rdx), %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(%rdi,%rdx), %xmm2             ## xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
	paddq	%xmm2, %xmm1
LBB0_10:
	paddq	%xmm1, %xmm0
	leaq	(%rdi,%r8), %rdx
	pshufd	$238, %xmm0, %xmm1              ## xmm1 = xmm0[2,3,2,3]
	paddq	%xmm0, %xmm1
	movq	%xmm1, %rax
	cmpq	%r8, %r9
	je	LBB0_12
	.p2align	4, 0x90
LBB0_11:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%rdx), %ecx
	incq	%rdx
	addq	%rcx, %rax
	cmpq	%r11, %rdx
	jb	LBB0_11
LBB0_12:
	movq	_CHK_LEN@GOTPCREL(%rip), %rcx
	movslq	(%rcx), %r11
	leaq	(%rdx,%r11), %rcx
	movslq	%esi, %rsi
	addq	%rsi, %rdi
	cmpq	%rdi, %rcx
	jae	LBB0_23
## %bb.13:
	movq	%rdi, %r10
	subq	%rdx, %r10
	subq	%r11, %r10
	cmpq	$4, %r10
	jb	LBB0_22
## %bb.14:
	movq	%r10, %r8
	andq	$-4, %r8
	movq	%rax, %xmm0
	leaq	-4(%r8), %rax
	movq	%rax, %r9
	shrq	$2, %r9
	incq	%r9
	testq	%rax, %rax
	je	LBB0_15
## %bb.16:
	movq	%r9, %rax
	andq	$-2, %rax
	leaq	(%r11,%rdx), %rsi
	addq	$6, %rsi
	pxor	%xmm1, %xmm1
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_17:                                ## =>This Inner Loop Header: Depth=1
	pmovzxbq	-6(%rsi,%rdx), %xmm2            ## xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
	paddq	%xmm0, %xmm2
	pmovzxbq	-4(%rsi,%rdx), %xmm3            ## xmm3 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
	paddq	%xmm1, %xmm3
	pmovzxbq	-2(%rsi,%rdx), %xmm0            ## xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
	pmovzxbq	(%rsi,%rdx), %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, %rdx
	addq	$-2, %rax
	jne	LBB0_17
## %bb.18:
	testb	$1, %r9b
	je	LBB0_20
LBB0_19:
	pmovzxbq	(%rcx,%rdx), %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(%rcx,%rdx), %xmm2             ## xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
	paddq	%xmm2, %xmm1
LBB0_20:
	paddq	%xmm1, %xmm0
	pshufd	$238, %xmm0, %xmm1              ## xmm1 = xmm0[2,3,2,3]
	paddq	%xmm0, %xmm1
	movq	%xmm1, %rax
	cmpq	%r8, %r10
	je	LBB0_23
## %bb.21:
	addq	%r8, %rcx
	.p2align	4, 0x90
LBB0_22:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%rcx), %edx
	incq	%rcx
	addq	%rdx, %rax
	cmpq	%rdi, %rcx
	jb	LBB0_22
LBB0_23:
	popq	%rbp
	retq
LBB0_5:
	pxor	%xmm1, %xmm1
	xorl	%edx, %edx
	testb	$1, %r10b
	jne	LBB0_9
	jmp	LBB0_10
LBB0_15:
	pxor	%xmm1, %xmm1
	xorl	%edx, %edx
	testb	$1, %r9b
	jne	LBB0_19
	jmp	LBB0_20
	.cfi_endproc
                                        ## -- End function
	.comm	_BLNKSUM,8,3                    ## @BLNKSUM
	.comm	_CHK_OFFSET,4,2                 ## @CHK_OFFSET
	.comm	_CHK_LEN,4,2                    ## @CHK_LEN
	.no_dead_strip	_tar_chksm
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function tar_chksm
_tar_chksm:                             ; @tar_chksm
	.cfi_startproc
; %bb.0:
                                        ; kill: def $w1 killed $w1 def $x1
	mov	x8, x0
Lloh0:
	adrp	x9, _BLNKSUM@GOTPAGE
Lloh1:
	ldr	x9, [x9, _BLNKSUM@GOTPAGEOFF]
Lloh2:
	ldr	x0, [x9]
Lloh3:
	adrp	x9, _CHK_OFFSET@GOTPAGE
Lloh4:
	ldr	x9, [x9, _CHK_OFFSET@GOTPAGEOFF]
Lloh5:
	ldrsw	x9, [x9]
	cmp	w9, #1
	b.lt	LBB0_6
; %bb.1:
	add	x11, x8, #1
	add	x10, x8, x9
	cmp	x10, x11
	csinc	x9, x10, x8, hi
	sub	x11, x9, x8
	mov	x9, x8
	cmp	x11, #16
	b.lo	LBB0_5
; %bb.2:
	and	x12, x11, #0xfffffffffffffff0
	movi.2d	v0, #0000000000000000
	movi.2d	v1, #0000000000000000
	mov.d	v1[0], x0
	add	x9, x8, x12
	mov	x13, x12
	mov	x14, x8
	movi.2d	v3, #0000000000000000
	movi.2d	v2, #0000000000000000
	movi.2d	v6, #0000000000000000
	movi.2d	v4, #0000000000000000
	movi.2d	v7, #0000000000000000
	movi.2d	v5, #0000000000000000
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	ldr	q16, [x14], #16
	ushll.8h	v17, v16, #0
	ushll.4s	v18, v17, #0
	ushll2.8h	v16, v16, #0
	ushll2.4s	v19, v16, #0
	ushll2.4s	v17, v17, #0
	ushll.4s	v16, v16, #0
	uaddw2.2d	v2, v2, v17
	uaddw2.2d	v4, v4, v16
	uaddw.2d	v6, v6, v16
	uaddw.2d	v3, v3, v17
	uaddw2.2d	v0, v0, v18
	uaddw.2d	v7, v7, v19
	uaddw.2d	v1, v1, v18
	uaddw2.2d	v5, v5, v19
	subs	x13, x13, #16
	b.ne	LBB0_3
; %bb.4:
	add.2d	v1, v1, v6
	add.2d	v3, v3, v7
	add.2d	v1, v1, v3
	add.2d	v0, v0, v4
	add.2d	v2, v2, v5
	add.2d	v0, v0, v2
	add.2d	v0, v1, v0
	addp.2d	d0, v0
	fmov	x0, d0
	cmp	x11, x12
	b.eq	LBB0_7
LBB0_5:                                 ; =>This Inner Loop Header: Depth=1
	ldrb	w11, [x9], #1
	add	x0, x0, x11
	cmp	x9, x10
	b.lo	LBB0_5
	b	LBB0_7
LBB0_6:
	mov	x9, x8
LBB0_7:
Lloh6:
	adrp	x10, _CHK_LEN@GOTPAGE
Lloh7:
	ldr	x10, [x10, _CHK_LEN@GOTPAGEOFF]
Lloh8:
	ldrsw	x12, [x10]
	add	x10, x9, x12
	sxtw	x11, w1
	add	x8, x8, x11
	cmp	x10, x8
	b.hs	LBB0_20
; %bb.8:
	sub	x11, x8, x10
	cmp	x11, #8
	b.lo	LBB0_19
; %bb.9:
	cmp	x11, #16
	b.hs	LBB0_11
; %bb.10:
	mov	x13, #0
	b	LBB0_16
LBB0_11:
	and	x13, x11, #0xfffffffffffffff0
	movi.2d	v0, #0000000000000000
	movi.2d	v1, #0000000000000000
	mov.d	v1[0], x0
	mov	x14, x13
	mov	x15, x10
	movi.2d	v3, #0000000000000000
	movi.2d	v2, #0000000000000000
	movi.2d	v6, #0000000000000000
	movi.2d	v4, #0000000000000000
	movi.2d	v7, #0000000000000000
	movi.2d	v5, #0000000000000000
LBB0_12:                                ; =>This Inner Loop Header: Depth=1
	ldr	q16, [x15], #16
	ushll.8h	v17, v16, #0
	ushll.4s	v18, v17, #0
	ushll2.8h	v16, v16, #0
	ushll2.4s	v19, v16, #0
	ushll2.4s	v17, v17, #0
	ushll.4s	v16, v16, #0
	uaddw2.2d	v2, v2, v17
	uaddw2.2d	v4, v4, v16
	uaddw.2d	v6, v6, v16
	uaddw.2d	v3, v3, v17
	uaddw2.2d	v0, v0, v18
	uaddw.2d	v7, v7, v19
	uaddw.2d	v1, v1, v18
	uaddw2.2d	v5, v5, v19
	subs	x14, x14, #16
	b.ne	LBB0_12
; %bb.13:
	add.2d	v1, v1, v6
	add.2d	v3, v3, v7
	add.2d	v1, v1, v3
	add.2d	v0, v0, v4
	add.2d	v2, v2, v5
	add.2d	v0, v0, v2
	add.2d	v0, v1, v0
	addp.2d	d0, v0
	fmov	x0, d0
	cmp	x11, x13
	b.eq	LBB0_20
; %bb.14:
	tbnz	w11, #3, LBB0_16
; %bb.15:
	add	x10, x10, x13
	b	LBB0_19
LBB0_16:
	and	x14, x11, #0xfffffffffffffff8
	add	x10, x10, x14
	movi.2d	v0, #0000000000000000
	mov.d	v0[0], x0
	movi.2d	v1, #0000000000000000
	add	x12, x13, x12
	add	x9, x9, x12
	sub	x12, x13, x14
	movi.2d	v2, #0000000000000000
	movi.2d	v3, #0000000000000000
LBB0_17:                                ; =>This Inner Loop Header: Depth=1
	ldr	d4, [x9], #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	v1, v1, v5
	uaddw.2d	v0, v0, v5
	adds	x12, x12, #8
	b.ne	LBB0_17
; %bb.18:
	add.2d	v0, v0, v2
	add.2d	v1, v1, v3
	add.2d	v0, v0, v1
	addp.2d	d0, v0
	fmov	x0, d0
	cmp	x11, x14
	b.eq	LBB0_20
LBB0_19:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w9, [x10], #1
	add	x0, x0, x9
	cmp	x10, x8
	b.lo	LBB0_19
LBB0_20:
	ret
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.cfi_endproc
                                        ; -- End function
	.comm	_BLNKSUM,8,3                    ; @BLNKSUM
	.comm	_CHK_OFFSET,4,2                 ; @CHK_OFFSET
	.comm	_CHK_LEN,4,2                    ; @CHK_LEN
	.no_dead_strip	_tar_chksm
.subsections_via_symbols
