	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function mtdswap_show
_mtdswap_show:                          ## @mtdswap_show
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$72, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	%rdi, -64(%rbp)                 ## 8-byte Spill
	movq	(%rdi), %r14
	movq	_MTDSWAP_TREE_CNT@GOTPCREL(%rip), %r15
	movl	(%r15), %ebx
	shlq	$2, %rbx
	movq	%rbx, %rax
	callq	____chkstk_darwin
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, %r12
	movq	%rbx, %rax
	callq	____chkstk_darwin
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, -96(%rbp)                 ## 8-byte Spill
	movq	%rbx, %rax
	callq	____chkstk_darwin
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, -88(%rbp)                 ## 8-byte Spill
	movq	48(%r14), %rdi
	addq	$4, %rdi
	callq	_mutex_lock
	movq	%r14, %r9
	movl	(%r15), %eax
	testl	%eax, %eax
	movq	%r14, -72(%rbp)                 ## 8-byte Spill
	je	LBB0_5
## %bb.1:
	movl	$8, %r14d
	xorl	%ebx, %ebx
	jmp	LBB0_2
	.p2align	4, 0x90
LBB0_4:                                 ##   in Loop: Header=BB0_2 Depth=1
	movl	%r13d, (%r12,%rbx,4)
	incq	%rbx
	movl	%eax, %ecx
	addq	$16, %r14
	cmpq	%rcx, %rbx
	jae	LBB0_5
LBB0_2:                                 ## =>This Inner Loop Header: Depth=1
	movq	80(%r9), %r15
	cmpq	$0, (%r15,%r14)
	movl	$0, %r13d
	je	LBB0_4
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	movl	-8(%r15,%r14), %r13d
	addq	%r14, %r15
	movq	%r15, %rdi
	callq	_MTDSWAP_ECNT_MIN
	movq	-96(%rbp), %rcx                 ## 8-byte Reload
	movl	%eax, (%rcx,%rbx,4)
	movq	%r15, %rdi
	callq	_MTDSWAP_ECNT_MAX
	movq	-72(%rbp), %r9                  ## 8-byte Reload
	movq	-88(%rbp), %rcx                 ## 8-byte Reload
	movl	%eax, (%rcx,%rbx,4)
	movq	_MTDSWAP_TREE_CNT@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	jmp	LBB0_4
LBB0_5:
	movq	72(%r9), %rcx
	testq	%rcx, %rcx
	je	LBB0_6
## %bb.7:
	movl	(%r9), %eax
	movl	%eax, -52(%rbp)                 ## 4-byte Spill
	movl	(%rcx), %eax
	movl	%eax, -56(%rbp)                 ## 4-byte Spill
	jmp	LBB0_8
LBB0_6:
	movl	$0, -56(%rbp)                   ## 4-byte Folded Spill
	movl	$0, -52(%rbp)                   ## 4-byte Folded Spill
LBB0_8:
	movl	4(%r9), %esi
	xorl	%ebx, %ebx
	testq	%rsi, %rsi
	movq	%rcx, -112(%rbp)                ## 8-byte Spill
	je	LBB0_9
## %bb.10:
	movq	64(%r9), %rax
	cmpl	$4, %esi
	jae	LBB0_12
## %bb.11:
	xorl	%ecx, %ecx
	xorl	%r14d, %r14d
	jmp	LBB0_20
LBB0_9:
	xorl	%r14d, %r14d
	jmp	LBB0_21
LBB0_12:
	movl	%esi, %ecx
	andl	$-4, %ecx
	leaq	-4(%rcx), %rdi
	movq	%rdi, %rdx
	shrq	$2, %rdx
	incq	%rdx
	movl	%edx, %r8d
	andl	$3, %r8d
	cmpq	$12, %rdi
	jae	LBB0_14
## %bb.13:
	pxor	%xmm0, %xmm0
	xorl	%edi, %edi
	pxor	%xmm1, %xmm1
	jmp	LBB0_16
LBB0_14:
	andq	$-4, %rdx
	pxor	%xmm0, %xmm0
	xorl	%edi, %edi
	pxor	%xmm1, %xmm1
	.p2align	4, 0x90
LBB0_15:                                ## =>This Inner Loop Header: Depth=1
	movdqu	(%rax,%rdi,8), %xmm2
	paddq	%xmm0, %xmm2
	movdqu	16(%rax,%rdi,8), %xmm0
	paddq	%xmm1, %xmm0
	movdqu	32(%rax,%rdi,8), %xmm1
	movdqu	48(%rax,%rdi,8), %xmm3
	movdqu	64(%rax,%rdi,8), %xmm4
	paddq	%xmm1, %xmm4
	paddq	%xmm2, %xmm4
	movdqu	80(%rax,%rdi,8), %xmm2
	paddq	%xmm3, %xmm2
	paddq	%xmm0, %xmm2
	movdqu	96(%rax,%rdi,8), %xmm0
	paddq	%xmm4, %xmm0
	movdqu	112(%rax,%rdi,8), %xmm1
	paddq	%xmm2, %xmm1
	addq	$16, %rdi
	addq	$-4, %rdx
	jne	LBB0_15
LBB0_16:
	testq	%r8, %r8
	je	LBB0_19
## %bb.17:
	leaq	(%rax,%rdi,8), %rdx
	addq	$16, %rdx
	shlq	$5, %r8
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_18:                                ## =>This Inner Loop Header: Depth=1
	movdqu	-16(%rdx,%rdi), %xmm2
	paddq	%xmm2, %xmm0
	movdqu	(%rdx,%rdi), %xmm2
	paddq	%xmm2, %xmm1
	addq	$32, %rdi
	cmpq	%rdi, %r8
	jne	LBB0_18
LBB0_19:
	paddq	%xmm1, %xmm0
	pshufd	$238, %xmm0, %xmm1              ## xmm1 = xmm0[2,3,2,3]
	paddq	%xmm0, %xmm1
	movq	%xmm1, %r14
	cmpq	%rsi, %rcx
	je	LBB0_21
	.p2align	4, 0x90
LBB0_20:                                ## =>This Inner Loop Header: Depth=1
	addq	(%rax,%rcx,8), %r14
	incq	%rcx
	cmpq	%rcx, %rsi
	jne	LBB0_20
LBB0_21:
	movq	56(%r9), %rdi
	imull	(%rdi), %esi
                                        ## kill: def $esi killed $esi killed $rsi
	callq	_mtdswap_badblocks
	movq	-72(%rbp), %rcx                 ## 8-byte Reload
	movl	%eax, -76(%rbp)                 ## 4-byte Spill
	movq	48(%rcx), %rdi
	movl	(%rdi), %r9d
	testq	%r9, %r9
	je	LBB0_32
## %bb.22:
	movq	8(%rcx), %rax
	movq	_BLOCK_UNDEF@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$4, %r9d
	jae	LBB0_24
## %bb.23:
	xorl	%edx, %edx
	xorl	%ebx, %ebx
	jmp	LBB0_31
LBB0_24:
	movl	%r9d, %edx
	andl	$-4, %edx
	movq	%rcx, %xmm0
	pshufd	$68, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,0,1]
	leaq	-4(%rdx), %rsi
	movq	%rsi, %r8
	shrq	$2, %r8
	incq	%r8
	testq	%rsi, %rsi
	je	LBB0_25
## %bb.26:
	movabsq	$9223372036854775804, %rsi      ## imm = 0x7FFFFFFFFFFFFFFC
	orq	$2, %rsi
	andq	%r8, %rsi
	pxor	%xmm1, %xmm1
	xorl	%ebx, %ebx
	pcmpeqd	%xmm3, %xmm3
	pxor	%xmm2, %xmm2
	.p2align	4, 0x90
LBB0_27:                                ## =>This Inner Loop Header: Depth=1
	movdqu	(%rax,%rbx,8), %xmm4
	movdqu	16(%rax,%rbx,8), %xmm5
	movdqu	32(%rax,%rbx,8), %xmm6
	movdqu	48(%rax,%rbx,8), %xmm7
	pcmpeqq	%xmm0, %xmm4
	pshufd	$232, %xmm4, %xmm4              ## xmm4 = xmm4[0,2,2,3]
	paddd	%xmm1, %xmm4
	pcmpeqq	%xmm0, %xmm5
	pshufd	$232, %xmm5, %xmm5              ## xmm5 = xmm5[0,2,2,3]
	paddd	%xmm2, %xmm5
	pcmpeqq	%xmm0, %xmm6
	pshufd	$232, %xmm6, %xmm1              ## xmm1 = xmm6[0,2,2,3]
	paddd	%xmm4, %xmm1
	pcmpeqq	%xmm0, %xmm7
	pshufd	$232, %xmm7, %xmm2              ## xmm2 = xmm7[0,2,2,3]
	paddd	%xmm5, %xmm2
	psubd	%xmm3, %xmm1
	psubd	%xmm3, %xmm1
	psubd	%xmm3, %xmm2
	psubd	%xmm3, %xmm2
	addq	$8, %rbx
	addq	$-2, %rsi
	jne	LBB0_27
## %bb.28:
	testb	$1, %r8b
	je	LBB0_30
LBB0_29:
	movdqu	(%rax,%rbx,8), %xmm3
	movdqu	16(%rax,%rbx,8), %xmm4
	pcmpeqq	%xmm0, %xmm3
	pshufd	$232, %xmm3, %xmm3              ## xmm3 = xmm3[0,2,2,3]
	paddd	%xmm3, %xmm1
	pcmpeqq	%xmm0, %xmm4
	pshufd	$232, %xmm4, %xmm0              ## xmm0 = xmm4[0,2,2,3]
	paddd	%xmm0, %xmm2
	pcmpeqd	%xmm0, %xmm0
	psubd	%xmm0, %xmm1
	psubd	%xmm0, %xmm2
LBB0_30:
	paddd	%xmm2, %xmm1
	pshufd	$85, %xmm1, %xmm0               ## xmm0 = xmm1[1,1,1,1]
	paddd	%xmm1, %xmm0
	movd	%xmm0, %ebx
	cmpq	%r9, %rdx
	je	LBB0_32
	.p2align	4, 0x90
LBB0_31:                                ## =>This Inner Loop Header: Depth=1
	xorl	%esi, %esi
	cmpq	%rcx, (%rax,%rdx,8)
	setne	%sil
	addl	%esi, %ebx
	incq	%rdx
	cmpq	%rdx, %r9
	jne	LBB0_31
LBB0_32:
	movq	%r9, -104(%rbp)                 ## 8-byte Spill
	addq	$4, %rdi
	callq	_mutex_unlock
	movq	_MTDSWAP_TREE_CNT@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	je	LBB0_39
## %bb.33:
	leaq	_mtdswap_show.name(%rip), %r13
	xorl	%r15d, %r15d
	jmp	LBB0_34
	.p2align	4, 0x90
LBB0_37:                                ##   in Loop: Header=BB0_34 Depth=1
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	leaq	L_.str.8(%rip), %rsi
	xorl	%eax, %eax
	callq	_seq_printf
LBB0_38:                                ##   in Loop: Header=BB0_34 Depth=1
	incq	%r15
	movq	_MTDSWAP_TREE_CNT@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	addq	$8, %r13
	cmpq	%rax, %r15
	jae	LBB0_39
LBB0_34:                                ## =>This Inner Loop Header: Depth=1
	movl	(%r12,%r15,4), %ecx
	testl	%ecx, %ecx
	je	LBB0_38
## %bb.35:                              ##   in Loop: Header=BB0_34 Depth=1
	movq	-96(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax,%r15,4), %r8d
	movq	-88(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax,%r15,4), %r9d
	movq	(%r13), %rdx
	cmpl	%r9d, %r8d
	je	LBB0_37
## %bb.36:                              ##   in Loop: Header=BB0_34 Depth=1
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	leaq	L_.str.7(%rip), %rsi
	xorl	%eax, %eax
	callq	_seq_printf
	jmp	LBB0_38
LBB0_39:
	movl	-76(%rbp), %edx                 ## 4-byte Reload
	testl	%edx, %edx
	movq	-64(%rbp), %r15                 ## 8-byte Reload
	je	LBB0_41
## %bb.40:
	leaq	L_.str.9(%rip), %rsi
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_seq_printf
LBB0_41:
	cmpq	$0, -112(%rbp)                  ## 8-byte Folded Reload
	movq	-72(%rbp), %r12                 ## 8-byte Reload
	je	LBB0_43
## %bb.42:
	movl	16(%r12), %ecx
	movl	-52(%rbp), %edx                 ## 4-byte Reload
	subl	%edx, %ecx
	leaq	L_.str.10(%rip), %rsi
	movq	%r15, %rdi
	movl	-56(%rbp), %r8d                 ## 4-byte Reload
	xorl	%eax, %eax
	callq	_seq_printf
LBB0_43:
	leaq	L_.str.11(%rip), %rsi
	movq	%r15, %rdi
	movq	%r14, %rdx
	xorl	%eax, %eax
	callq	_seq_printf
	leaq	L_.str.12(%rip), %r14
	movq	%r15, %rdi
	movq	%r14, %rsi
	callq	_seq_puts
	movl	20(%r12), %edx
	leaq	L_.str.13(%rip), %rsi
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_seq_printf
	movl	24(%r12), %edx
	leaq	L_.str.14(%rip), %rsi
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_seq_printf
	movl	28(%r12), %edx
	leaq	L_.str.15(%rip), %rsi
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_seq_printf
	movl	32(%r12), %edx
	leaq	L_.str.16(%rip), %rsi
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_seq_printf
	movl	36(%r12), %edx
	leaq	L_.str.17(%rip), %rsi
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_seq_printf
	movl	40(%r12), %edx
	leaq	L_.str.18(%rip), %rsi
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_seq_printf
	movq	%r15, %rdi
	movq	%r14, %rsi
	callq	_seq_puts
	leaq	L_.str.19(%rip), %rsi
	movq	%r15, %rdi
	movq	-104(%rbp), %rdx                ## 8-byte Reload
                                        ## kill: def $edx killed $edx killed $rdx
	xorl	%eax, %eax
	callq	_seq_printf
	leaq	L_.str.20(%rip), %rsi
	movq	%r15, %rdi
	movl	%ebx, %edx
	xorl	%eax, %eax
	callq	_seq_printf
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_45
## %bb.44:
	xorl	%eax, %eax
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_25:
	pxor	%xmm1, %xmm1
	xorl	%ebx, %ebx
	pxor	%xmm2, %xmm2
	testb	$1, %r8b
	jne	LBB0_29
	jmp	LBB0_30
LBB0_45:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_MTDSWAP_TREE_CNT,4,2           ## @MTDSWAP_TREE_CNT
	.section	__DATA,__const
	.p2align	4                               ## @mtdswap_show.name
_mtdswap_show.name:
	.quad	L_.str
	.quad	L_.str.1
	.quad	L_.str.2
	.quad	L_.str.3
	.quad	L_.str.4
	.quad	L_.str.5
	.quad	L_.str.6

	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"clean"

L_.str.1:                               ## @.str.1
	.asciz	"used"

L_.str.2:                               ## @.str.2
	.asciz	"low"

L_.str.3:                               ## @.str.3
	.asciz	"high"

L_.str.4:                               ## @.str.4
	.asciz	"dirty"

L_.str.5:                               ## @.str.5
	.asciz	"bitflip"

L_.str.6:                               ## @.str.6
	.asciz	"failing"

	.comm	_BLOCK_UNDEF,8,3                ## @BLOCK_UNDEF
L_.str.7:                               ## @.str.7
	.asciz	"%s:\t%5d erase blocks, erased min %d, max %d times\n"

L_.str.8:                               ## @.str.8
	.asciz	"%s:\t%5d erase blocks, all erased %d times\n"

L_.str.9:                               ## @.str.9
	.asciz	"bad:\t%5u erase blocks\n"

L_.str.10:                              ## @.str.10
	.asciz	"current erase block: %u pages used, %u free, erased %u times\n"

L_.str.11:                              ## @.str.11
	.asciz	"total erasures: %lu\n"

L_.str.12:                              ## @.str.12
	.asciz	"\n"

L_.str.13:                              ## @.str.13
	.asciz	"mtdswap_readsect count: %llu\n"

L_.str.14:                              ## @.str.14
	.asciz	"mtdswap_writesect count: %llu\n"

L_.str.15:                              ## @.str.15
	.asciz	"mtdswap_discard count: %llu\n"

L_.str.16:                              ## @.str.16
	.asciz	"mtd read count: %llu\n"

L_.str.17:                              ## @.str.17
	.asciz	"mtd write count: %llu\n"

L_.str.18:                              ## @.str.18
	.asciz	"discarded pages count: %llu\n"

L_.str.19:                              ## @.str.19
	.asciz	"total pages: %u\n"

L_.str.20:                              ## @.str.20
	.asciz	"pages mapped: %u\n"

	.no_dead_strip	_mtdswap_show
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function mtdswap_show
_mtdswap_show:                          ; @mtdswap_show
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-96]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	sub	sp, sp, #48
	mov	x19, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-88]
	ldr	x23, [x0]
Lloh3:
	adrp	x20, _MTDSWAP_TREE_CNT@GOTPAGE
Lloh4:
	ldr	x20, [x20, _MTDSWAP_TREE_CNT@GOTPAGEOFF]
	ldr	w8, [x20]
	lsl	x8, x8, #2
	mov	x9, x8
Lloh5:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh6:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x9, sp
	add	x10, x8, #15
	and	x12, x10, #0x7fffffff0
	sub	x25, x9, x12
	mov	sp, x25
	mov	x9, x8
Lloh7:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh8:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x9, sp
	sub	x26, x9, x12
	mov	sp, x26
	mov	x9, x8
Lloh9:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh10:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x8, sp
	sub	x27, x8, x12
	mov	sp, x27
	ldr	x8, [x23, #48]
	add	x0, x8, #4
	bl	_mutex_lock
	ldr	w8, [x20]
	cbz	w8, LBB0_6
; %bb.1:
	mov	x21, #0
	mov	x22, #0
	b	LBB0_4
LBB0_2:                                 ;   in Loop: Header=BB0_4 Depth=1
	ldr	w24, [x9, x21]
	mov	x0, x20
	bl	_MTDSWAP_ECNT_MIN
	lsl	x28, x22, #2
	str	w0, [x26, x28]
	mov	x0, x20
	bl	_MTDSWAP_ECNT_MAX
	str	w0, [x27, x28]
Lloh11:
	adrp	x8, _MTDSWAP_TREE_CNT@GOTPAGE
Lloh12:
	ldr	x8, [x8, _MTDSWAP_TREE_CNT@GOTPAGEOFF]
Lloh13:
	ldr	w8, [x8]
LBB0_3:                                 ;   in Loop: Header=BB0_4 Depth=1
	str	w24, [x25, x22, lsl #2]
	add	x22, x22, #1
	add	x21, x21, #16
	cmp	x22, w8, uxtw
	b.hs	LBB0_6
LBB0_4:                                 ; =>This Inner Loop Header: Depth=1
	ldr	x9, [x23, #80]
	add	x20, x9, x21
	ldr	x10, [x20, #8]!
	cbnz	x10, LBB0_2
; %bb.5:                                ;   in Loop: Header=BB0_4 Depth=1
	mov	w24, #0
	b	LBB0_3
LBB0_6:
	ldr	x10, [x23, #72]
	cbz	x10, LBB0_8
; %bb.7:
	ldr	w9, [x23]
	ldr	w8, [x10]
	stp	x8, x9, [x29, #-128]            ; 16-byte Folded Spill
	b	LBB0_9
LBB0_8:
	stp	xzr, xzr, [x29, #-128]          ; 16-byte Folded Spill
LBB0_9:
	ldr	w8, [x23, #4]
	stur	x10, [x29, #-96]                ; 8-byte Folded Spill
	cbz	w8, LBB0_12
; %bb.10:
	ldr	x9, [x23, #64]
	cmp	w8, #8
	b.hs	LBB0_13
; %bb.11:
	mov	x10, #0
	mov	x20, #0
	b	LBB0_16
LBB0_12:
	mov	x20, #0
	b	LBB0_18
LBB0_13:
	and	x10, x8, #0xfffffff8
	add	x11, x9, #32
	movi.2d	v0, #0000000000000000
	mov	x12, x10
	movi.2d	v1, #0000000000000000
	movi.2d	v2, #0000000000000000
	movi.2d	v3, #0000000000000000
LBB0_14:                                ; =>This Inner Loop Header: Depth=1
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	add.2d	v0, v4, v0
	add.2d	v1, v5, v1
	add.2d	v2, v6, v2
	add.2d	v3, v7, v3
	subs	x12, x12, #8
	b.ne	LBB0_14
; %bb.15:
	add.2d	v0, v1, v0
	add.2d	v0, v2, v0
	add.2d	v0, v3, v0
	addp.2d	d0, v0
	fmov	x20, d0
	cmp	x10, x8
	b.eq	LBB0_18
LBB0_16:
	add	x9, x9, x10, lsl #3
	sub	x10, x8, x10
LBB0_17:                                ; =>This Inner Loop Header: Depth=1
	ldr	x11, [x9], #8
	add	x20, x11, x20
	subs	x10, x10, #1
	b.ne	LBB0_17
LBB0_18:
	ldr	x0, [x23, #56]
	ldr	w9, [x0]
	mul	w1, w9, w8
	bl	_mtdswap_badblocks
	stur	x0, [x29, #-112]                ; 8-byte Folded Spill
	ldr	x8, [x23, #48]
	ldr	w14, [x8]
	cbz	w14, LBB0_21
; %bb.19:
	ldr	x10, [x23, #8]
Lloh14:
	adrp	x9, _BLOCK_UNDEF@GOTPAGE
Lloh15:
	ldr	x9, [x9, _BLOCK_UNDEF@GOTPAGEOFF]
Lloh16:
	ldr	x9, [x9]
	cmp	w14, #8
	b.hs	LBB0_22
; %bb.20:
	mov	x11, #0
	mov	w28, #0
	b	LBB0_25
LBB0_21:
	mov	w28, #0
	b	LBB0_27
LBB0_22:
	and	x11, x14, #0xfffffff8
	dup.2d	v1, x9
	movi.2d	v0, #0000000000000000
	add	x12, x10, #32
	mov	x13, x11
	movi.2d	v2, #0000000000000000
	movi.2d	v3, #0000000000000000
	movi.2d	v4, #0000000000000000
LBB0_23:                                ; =>This Inner Loop Header: Depth=1
	ldp	q5, q6, [x12, #-32]
	ldp	q7, q16, [x12], #64
	cmeq.2d	v5, v5, v1
	mvn.16b	v5, v5
	xtn.2s	v5, v5
	cmeq.2d	v6, v6, v1
	mvn.16b	v6, v6
	xtn.2s	v6, v6
	cmeq.2d	v7, v7, v1
	mvn.16b	v7, v7
	xtn.2s	v7, v7
	cmeq.2d	v16, v16, v1
	mvn.16b	v16, v16
	xtn.2s	v16, v16
	sub.2s	v0, v0, v5
	sub.2s	v2, v2, v6
	sub.2s	v3, v3, v7
	sub.2s	v4, v4, v16
	subs	x13, x13, #8
	b.ne	LBB0_23
; %bb.24:
	add.2s	v0, v2, v0
	add.2s	v0, v3, v0
	add.2s	v0, v4, v0
	addp.2s	v0, v0, v0
	fmov	w28, s0
	cmp	x11, x14
	b.eq	LBB0_27
LBB0_25:
	add	x10, x10, x11, lsl #3
	sub	x11, x14, x11
LBB0_26:                                ; =>This Inner Loop Header: Depth=1
	ldr	x12, [x10], #8
	cmp	x12, x9
	cinc	w28, w28, ne
	subs	x11, x11, #1
	b.ne	LBB0_26
LBB0_27:
	stur	x14, [x29, #-104]               ; 8-byte Folded Spill
	add	x0, x8, #4
	bl	_mutex_unlock
Lloh17:
	adrp	x8, _MTDSWAP_TREE_CNT@GOTPAGE
Lloh18:
	ldr	x8, [x8, _MTDSWAP_TREE_CNT@GOTPAGEOFF]
Lloh19:
	ldr	w8, [x8]
	cbz	w8, LBB0_35
; %bb.28:
	mov	x24, #0
Lloh20:
	adrp	x21, _mtdswap_show.name@PAGE
Lloh21:
	add	x21, x21, _mtdswap_show.name@PAGEOFF
Lloh22:
	adrp	x22, l_.str.7@PAGE
Lloh23:
	add	x22, x22, l_.str.7@PAGEOFF
	b	LBB0_32
LBB0_29:                                ;   in Loop: Header=BB0_32 Depth=1
                                        ; kill: def $w10 killed $w10 killed $x10 def $x10
	sub	sp, sp, #32
                                        ; kill: def $w8 killed $w8 killed $x8 def $x8
	stp	x8, x10, [sp, #8]
	str	x9, [sp]
	mov	x0, x19
Lloh24:
	adrp	x1, l_.str.8@PAGE
Lloh25:
	add	x1, x1, l_.str.8@PAGEOFF
LBB0_30:                                ;   in Loop: Header=BB0_32 Depth=1
	bl	_seq_printf
	add	sp, sp, #32
LBB0_31:                                ;   in Loop: Header=BB0_32 Depth=1
	add	x24, x24, #1
Lloh26:
	adrp	x8, _MTDSWAP_TREE_CNT@GOTPAGE
Lloh27:
	ldr	x8, [x8, _MTDSWAP_TREE_CNT@GOTPAGEOFF]
Lloh28:
	ldr	w8, [x8]
	cmp	x24, x8
	b.hs	LBB0_35
LBB0_32:                                ; =>This Inner Loop Header: Depth=1
	ldr	w8, [x25, x24, lsl #2]
	cbz	w8, LBB0_31
; %bb.33:                               ;   in Loop: Header=BB0_32 Depth=1
	lsl	x9, x24, #2
	ldr	w10, [x26, x9]
	ldr	w11, [x27, x9]
	ldr	x9, [x21, x24, lsl #3]
	cmp	w10, w11
	b.eq	LBB0_29
; %bb.34:                               ;   in Loop: Header=BB0_32 Depth=1
	sub	sp, sp, #32
	stp	x10, x11, [sp, #16]
	stp	x9, x8, [sp]
	mov	x0, x19
	mov	x1, x22
	b	LBB0_30
LBB0_35:
	ldur	x8, [x29, #-112]                ; 8-byte Folded Reload
	cbz	w8, LBB0_37
; %bb.36:
	str	x8, [sp, #-16]!
Lloh29:
	adrp	x1, l_.str.9@PAGE
Lloh30:
	add	x1, x1, l_.str.9@PAGEOFF
	mov	x0, x19
	bl	_seq_printf
	add	sp, sp, #16
LBB0_37:
	ldur	x8, [x29, #-96]                 ; 8-byte Folded Reload
	cbz	x8, LBB0_39
; %bb.38:
	ldr	w8, [x23, #16]
	ldp	x10, x9, [x29, #-128]           ; 16-byte Folded Reload
	sub	w8, w8, w9
	sub	sp, sp, #32
	stp	x8, x10, [sp, #8]
	str	x9, [sp]
Lloh31:
	adrp	x1, l_.str.10@PAGE
Lloh32:
	add	x1, x1, l_.str.10@PAGEOFF
	mov	x0, x19
	bl	_seq_printf
	add	sp, sp, #32
LBB0_39:
	str	x20, [sp, #-16]!
Lloh33:
	adrp	x1, l_.str.11@PAGE
Lloh34:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	x0, x19
	bl	_seq_printf
	add	sp, sp, #16
Lloh35:
	adrp	x20, l_.str.12@PAGE
Lloh36:
	add	x20, x20, l_.str.12@PAGEOFF
	mov	x0, x19
	mov	x1, x20
	bl	_seq_puts
	ldr	w8, [x23, #20]
	str	x8, [sp, #-16]!
Lloh37:
	adrp	x1, l_.str.13@PAGE
Lloh38:
	add	x1, x1, l_.str.13@PAGEOFF
	mov	x0, x19
	bl	_seq_printf
	add	sp, sp, #16
	ldr	w8, [x23, #24]
	str	x8, [sp, #-16]!
Lloh39:
	adrp	x1, l_.str.14@PAGE
Lloh40:
	add	x1, x1, l_.str.14@PAGEOFF
	mov	x0, x19
	bl	_seq_printf
	add	sp, sp, #16
	ldr	w8, [x23, #28]
	str	x8, [sp, #-16]!
Lloh41:
	adrp	x1, l_.str.15@PAGE
Lloh42:
	add	x1, x1, l_.str.15@PAGEOFF
	mov	x0, x19
	bl	_seq_printf
	add	sp, sp, #16
	ldr	w8, [x23, #32]
	str	x8, [sp, #-16]!
Lloh43:
	adrp	x1, l_.str.16@PAGE
Lloh44:
	add	x1, x1, l_.str.16@PAGEOFF
	mov	x0, x19
	bl	_seq_printf
	add	sp, sp, #16
	ldr	w8, [x23, #36]
	str	x8, [sp, #-16]!
Lloh45:
	adrp	x1, l_.str.17@PAGE
Lloh46:
	add	x1, x1, l_.str.17@PAGEOFF
	mov	x0, x19
	bl	_seq_printf
	add	sp, sp, #16
	ldr	w8, [x23, #40]
	str	x8, [sp, #-16]!
Lloh47:
	adrp	x1, l_.str.18@PAGE
Lloh48:
	add	x1, x1, l_.str.18@PAGEOFF
	mov	x0, x19
	bl	_seq_printf
	add	sp, sp, #16
	mov	x0, x19
	mov	x1, x20
	bl	_seq_puts
	ldur	x8, [x29, #-104]                ; 8-byte Folded Reload
	str	x8, [sp, #-16]!
Lloh49:
	adrp	x1, l_.str.19@PAGE
Lloh50:
	add	x1, x1, l_.str.19@PAGEOFF
	mov	x0, x19
	bl	_seq_printf
	add	sp, sp, #16
	str	x28, [sp, #-16]!
Lloh51:
	adrp	x1, l_.str.20@PAGE
Lloh52:
	add	x1, x1, l_.str.20@PAGEOFF
	mov	x0, x19
	bl	_seq_printf
	add	sp, sp, #16
	ldur	x8, [x29, #-88]
Lloh53:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh54:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh55:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_41
; %bb.40:
	mov	w0, #0
	sub	sp, x29, #80
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	ret
LBB0_41:
	bl	___stack_chk_fail
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.loh AdrpAdd	Lloh51, Lloh52
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpAdd	Lloh47, Lloh48
	.loh AdrpAdd	Lloh45, Lloh46
	.loh AdrpAdd	Lloh43, Lloh44
	.loh AdrpAdd	Lloh41, Lloh42
	.loh AdrpAdd	Lloh39, Lloh40
	.loh AdrpAdd	Lloh37, Lloh38
	.loh AdrpAdd	Lloh35, Lloh36
	.loh AdrpAdd	Lloh33, Lloh34
	.cfi_endproc
                                        ; -- End function
	.comm	_MTDSWAP_TREE_CNT,4,2           ; @MTDSWAP_TREE_CNT
	.section	__DATA,__const
	.p2align	3                               ; @mtdswap_show.name
_mtdswap_show.name:
	.quad	l_.str
	.quad	l_.str.1
	.quad	l_.str.2
	.quad	l_.str.3
	.quad	l_.str.4
	.quad	l_.str.5
	.quad	l_.str.6

	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"clean"

l_.str.1:                               ; @.str.1
	.asciz	"used"

l_.str.2:                               ; @.str.2
	.asciz	"low"

l_.str.3:                               ; @.str.3
	.asciz	"high"

l_.str.4:                               ; @.str.4
	.asciz	"dirty"

l_.str.5:                               ; @.str.5
	.asciz	"bitflip"

l_.str.6:                               ; @.str.6
	.asciz	"failing"

	.comm	_BLOCK_UNDEF,8,3                ; @BLOCK_UNDEF
l_.str.7:                               ; @.str.7
	.asciz	"%s:\t%5d erase blocks, erased min %d, max %d times\n"

l_.str.8:                               ; @.str.8
	.asciz	"%s:\t%5d erase blocks, all erased %d times\n"

l_.str.9:                               ; @.str.9
	.asciz	"bad:\t%5u erase blocks\n"

l_.str.10:                              ; @.str.10
	.asciz	"current erase block: %u pages used, %u free, erased %u times\n"

l_.str.11:                              ; @.str.11
	.asciz	"total erasures: %lu\n"

l_.str.12:                              ; @.str.12
	.asciz	"\n"

l_.str.13:                              ; @.str.13
	.asciz	"mtdswap_readsect count: %llu\n"

l_.str.14:                              ; @.str.14
	.asciz	"mtdswap_writesect count: %llu\n"

l_.str.15:                              ; @.str.15
	.asciz	"mtdswap_discard count: %llu\n"

l_.str.16:                              ; @.str.16
	.asciz	"mtd read count: %llu\n"

l_.str.17:                              ; @.str.17
	.asciz	"mtd write count: %llu\n"

l_.str.18:                              ; @.str.18
	.asciz	"discarded pages count: %llu\n"

l_.str.19:                              ; @.str.19
	.asciz	"total pages: %u\n"

l_.str.20:                              ; @.str.20
	.asciz	"pages mapped: %u\n"

	.no_dead_strip	_mtdswap_show
.subsections_via_symbols
