	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function skge_ring_alloc
_skge_ring_alloc:                       ## @skge_ring_alloc
	.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	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdx, %r15
	movq	%rsi, %r12
	movq	%rdi, %rbx
	movl	(%rdi), %edi
	movq	_GFP_KERNEL@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	$16, %esi
	callq	_kcalloc
	movq	%rax, 8(%rbx)
	testq	%rax, %rax
	je	LBB0_1
## %bb.2:
	movl	(%rbx), %r9d
	testl	%r9d, %r9d
	jle	LBB0_10
## %bb.3:
	leal	-1(%r9), %r10d
	cmpl	$1, %r9d
	jne	LBB0_5
## %bb.4:
	xorl	%esi, %esi
	movq	%rax, %rcx
	testb	$1, %r9b
	jne	LBB0_9
	jmp	LBB0_10
LBB0_1:
	movq	_ENOMEM@GOTPCREL(%rip), %rcx
	xorl	%eax, %eax
	subl	(%rcx), %eax
	jmp	LBB0_11
LBB0_5:
	movq	%rbx, -56(%rbp)                 ## 8-byte Spill
	movq	%r9, -48(%rbp)                  ## 8-byte Spill
                                        ## kill: def $r9d killed $r9d killed $r9 def $r9
	andl	$-2, %r9d
	movl	$8, %edi
	movl	$32, %r14d
	movl	$16, %edx
	xorl	%r11d, %r11d
	xorl	%r13d, %r13d
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_6:                                 ## =>This Inner Loop Header: Depth=1
	leaq	(%r12,%rdi), %rbx
	addq	$-8, %rbx
	movq	%rbx, -8(%rax,%rdi,2)
	leaq	(%rax,%rdx), %rbx
	cmpq	%rsi, %r10
	cmoveq	%rax, %rbx
	leaq	(%r12,%rdi), %r8
	movq	%rbx, -16(%rax,%rdi,2)
	movq	%rdi, %rbx
	cmoveq	%r11, %rbx
	addq	%r15, %rbx
	movq	%rbx, -8(%r12,%rdi)
	movq	%r8, 8(%rax,%rdi,2)
	leaq	1(%rsi), %r8
	addq	$2, %rsi
	leaq	(%rax,%r14), %rbx
	cmpq	%r10, %r8
	leaq	8(%rdi), %rcx
	cmoveq	%rax, %rbx
	cmoveq	%r11, %rcx
	movq	%rbx, (%rax,%rdi,2)
	addq	%r15, %rcx
	movq	%rcx, (%r12,%rdi)
	addq	$16, %rdi
	addq	$-32, %r13
	addq	$32, %r14
	addq	$32, %rdx
	cmpq	%r9, %rsi
	jne	LBB0_6
## %bb.7:
	movq	%rax, %rcx
	subq	%r13, %rcx
	addq	%rdi, %r12
	addq	$-8, %r12
	movq	-56(%rbp), %rbx                 ## 8-byte Reload
	movq	-48(%rbp), %r9                  ## 8-byte Reload
	testb	$1, %r9b
	je	LBB0_10
LBB0_9:
	leaq	16(%rcx), %rdx
	xorl	%edi, %edi
	cmpq	%r10, %rsi
	leaq	8(,%rsi,8), %rsi
	cmoveq	%rax, %rdx
	cmovneq	%rsi, %rdi
	movq	%r12, 8(%rcx)
	addq	%rdi, %r15
	movq	%rdx, (%rcx)
	movq	%r15, (%r12)
LBB0_10:
	movq	%rax, 16(%rbx)
	movq	%rax, 24(%rbx)
	xorl	%eax, %eax
LBB0_11:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_GFP_KERNEL,4,2                 ## @GFP_KERNEL
	.comm	_ENOMEM,4,2                     ## @ENOMEM
	.no_dead_strip	_skge_ring_alloc
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function skge_ring_alloc
lCPI0_0:
	.quad	0                               ; 0x0
	.quad	1                               ; 0x1
lCPI0_1:
	.quad	0                               ; 0x0
	.quad	8                               ; 0x8
lCPI0_2:
	.quad	16                              ; 0x10
	.quad	24                              ; 0x18
lCPI0_3:
	.quad	32                              ; 0x20
	.quad	40                              ; 0x28
lCPI0_4:
	.quad	48                              ; 0x30
	.quad	56                              ; 0x38
lCPI0_5:
	.quad	16                              ; 0x10
	.quad	32                              ; 0x20
lCPI0_6:
	.quad	48                              ; 0x30
	.quad	64                              ; 0x40
lCPI0_7:
	.quad	80                              ; 0x50
	.quad	96                              ; 0x60
lCPI0_8:
	.quad	112                             ; 0x70
	.quad	128                             ; 0x80
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_skge_ring_alloc:                       ; @skge_ring_alloc
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #144
	.cfi_def_cfa_offset 144
	stp	d15, d14, [sp, #32]             ; 16-byte Folded Spill
	stp	d13, d12, [sp, #48]             ; 16-byte Folded Spill
	stp	d11, d10, [sp, #64]             ; 16-byte Folded Spill
	stp	d9, d8, [sp, #80]               ; 16-byte Folded Spill
	stp	x22, x21, [sp, #96]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #112]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #128]            ; 16-byte Folded Spill
	add	x29, sp, #128
	.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 b8, -56
	.cfi_offset b9, -64
	.cfi_offset b10, -72
	.cfi_offset b11, -80
	.cfi_offset b12, -88
	.cfi_offset b13, -96
	.cfi_offset b14, -104
	.cfi_offset b15, -112
	mov	x20, x2
	mov	x21, x1
	mov	x19, x0
	ldr	w0, [x0]
Lloh0:
	adrp	x8, _GFP_KERNEL@GOTPAGE
Lloh1:
	ldr	x8, [x8, _GFP_KERNEL@GOTPAGEOFF]
Lloh2:
	ldr	w2, [x8]
	mov	w1, #16
	bl	_kcalloc
	str	x0, [x19, #8]
	cbz	x0, LBB0_7
; %bb.1:
	ldr	w8, [x19]
	cmp	w8, #1
	b.lt	LBB0_11
; %bb.2:
	sub	w9, w8, #1
	cmp	w8, #8
	b.lo	LBB0_8
; %bb.3:
	add	x10, x0, x8, lsl #4
	add	x11, x21, x8, lsl #3
	cmp	x11, x0
	ccmp	x10, x21, #0, hi
	b.hi	LBB0_8
; %bb.4:
	dup.2d	v0, x9
	mov	x12, x21
	dup.2d	v1, x0
	mov	w10, #2
	dup.2d	v3, x10
	mov	w10, #4
	dup.2d	v2, x10
	stp	q2, q3, [sp]                    ; 32-byte Folded Spill
	mov	w10, #6
	dup.2d	v4, x10
	mov	w10, #32
	dup.2d	v5, x10
	and	x11, x8, #0xfffffff8
	add	x10, x0, x11, lsl #4
	add	x21, x21, x11, lsl #3
	mov	w13, #64
	dup.2d	v6, x13
Lloh3:
	adrp	x13, lCPI0_0@PAGE
Lloh4:
	ldr	q7, [x13, lCPI0_0@PAGEOFF]
	mov	w13, #96
	dup.2d	v16, x13
Lloh5:
	adrp	x13, lCPI0_1@PAGE
Lloh6:
	ldr	q17, [x13, lCPI0_1@PAGEOFF]
Lloh7:
	adrp	x13, lCPI0_2@PAGE
Lloh8:
	ldr	q18, [x13, lCPI0_2@PAGEOFF]
Lloh9:
	adrp	x13, lCPI0_3@PAGE
Lloh10:
	ldr	q19, [x13, lCPI0_3@PAGEOFF]
Lloh11:
	adrp	x13, lCPI0_4@PAGE
Lloh12:
	ldr	q20, [x13, lCPI0_4@PAGEOFF]
Lloh13:
	adrp	x13, lCPI0_5@PAGE
Lloh14:
	ldr	q21, [x13, lCPI0_5@PAGEOFF]
Lloh15:
	adrp	x13, lCPI0_6@PAGE
Lloh16:
	ldr	q22, [x13, lCPI0_6@PAGEOFF]
Lloh17:
	adrp	x13, lCPI0_7@PAGE
Lloh18:
	ldr	q23, [x13, lCPI0_7@PAGEOFF]
Lloh19:
	adrp	x13, lCPI0_8@PAGE
Lloh20:
	ldr	q24, [x13, lCPI0_8@PAGEOFF]
	mov	w13, #8
	dup.2d	v25, x13
	mov	w13, #24
	dup.2d	v26, x13
	mov	w13, #40
	dup.2d	v27, x13
	mov	w13, #56
	dup.2d	v28, x13
	mov	x13, x11
	mov	x14, x0
	dup.2d	v29, x20
LBB0_5:                                 ; =>This Inner Loop Header: Depth=1
	ldr	q2, [sp, #16]                   ; 16-byte Folded Reload
	add.2d	v30, v7, v2
	dup.2d	v31, x14
	add.2d	v8, v31, v5
	dup.2d	v9, x12
	add.2d	v11, v9, v17
	add.2d	v13, v9, v18
	cmeq.2d	v14, v7, v0
	cmeq.2d	v30, v30, v0
	add.2d	v15, v31, v21
	mov.16b	v10, v14
	bsl.16b	v10, v1, v15
	add.2d	v15, v31, v22
	fmov	x15, d31
	st2.2d	{ v10, v11 }, [x15]
	mov.16b	v12, v30
	bsl.16b	v12, v1, v15
	fmov	x15, d8
	st2.2d	{ v12, v13 }, [x15]
	add.2d	v8, v31, v23
	ldr	q2, [sp]                        ; 16-byte Folded Reload
	add.2d	v12, v7, v2
	add.2d	v3, v9, v19
	cmeq.2d	v12, v12, v0
	mov.16b	v2, v12
	bsl.16b	v2, v1, v8
	add.2d	v8, v31, v6
	fmov	x15, d8
	st2.2d	{ v2, v3 }, [x15]
	add.2d	v2, v31, v24
	add.2d	v3, v7, v4
	add.2d	v9, v9, v20
	cmeq.2d	v3, v3, v0
	mov.16b	v8, v3
	bsl.16b	v8, v1, v2
	add.2d	v2, v31, v16
	fmov	x15, d2
	st2.2d	{ v8, v9 }, [x15]
	fmov	x15, d11
	shl.2d	v2, v7, #3
	add.2d	v31, v2, v25
	bic.16b	v31, v31, v14
	add.2d	v8, v2, v26
	bic.16b	v30, v8, v30
	add.2d	v8, v2, v27
	bic.16b	v8, v8, v12
	add.2d	v31, v29, v31
	add.2d	v30, v29, v30
	stp	q31, q30, [x15]
	add.2d	v2, v2, v28
	bic.16b	v2, v2, v3
	add.2d	v3, v29, v8
	add.2d	v2, v29, v2
	stp	q3, q2, [x15, #32]
	add	x14, x14, #128
	add	x12, x12, #64
	add.2d	v7, v7, v25
	subs	x13, x13, #8
	b.ne	LBB0_5
; %bb.6:
	cmp	x11, x8
	b.ne	LBB0_9
	b	LBB0_11
LBB0_7:
Lloh21:
	adrp	x8, _ENOMEM@GOTPAGE
Lloh22:
	ldr	x8, [x8, _ENOMEM@GOTPAGEOFF]
Lloh23:
	ldr	w8, [x8]
	neg	w8, w8
	b	LBB0_12
LBB0_8:
	mov	x11, #0
	mov	x10, x0
LBB0_9:
	sub	x8, x8, x11
	lsl	x12, x11, #3
	add	x12, x12, #8
	sub	x9, x9, x11
LBB0_10:                                ; =>This Inner Loop Header: Depth=1
	add	x11, x10, #16
	cmp	x9, #0
	csel	x13, x0, x11, eq
	csel	x14, xzr, x12, eq
	add	x14, x20, x14
	stp	x13, x21, [x10]
	str	x14, [x21], #8
	add	x12, x12, #8
	sub	x9, x9, #1
	mov	x10, x11
	sub	x8, x8, #1
	cbnz	x8, LBB0_10
LBB0_11:
	mov	w8, #0
	stp	x0, x0, [x19, #16]
LBB0_12:
	mov	x0, x8
	ldp	x29, x30, [sp, #128]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #112]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #96]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #80]               ; 16-byte Folded Reload
	ldp	d11, d10, [sp, #64]             ; 16-byte Folded Reload
	ldp	d13, d12, [sp, #48]             ; 16-byte Folded Reload
	ldp	d15, d14, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #144
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdr	Lloh19, Lloh20
	.loh AdrpAdrp	Lloh17, Lloh19
	.loh AdrpLdr	Lloh17, Lloh18
	.loh AdrpAdrp	Lloh15, Lloh17
	.loh AdrpLdr	Lloh15, Lloh16
	.loh AdrpAdrp	Lloh13, Lloh15
	.loh AdrpLdr	Lloh13, Lloh14
	.loh AdrpAdrp	Lloh11, Lloh13
	.loh AdrpLdr	Lloh11, Lloh12
	.loh AdrpAdrp	Lloh9, Lloh11
	.loh AdrpLdr	Lloh9, Lloh10
	.loh AdrpAdrp	Lloh7, Lloh9
	.loh AdrpLdr	Lloh7, Lloh8
	.loh AdrpAdrp	Lloh5, Lloh7
	.loh AdrpLdr	Lloh5, Lloh6
	.loh AdrpLdr	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.cfi_endproc
                                        ; -- End function
	.comm	_GFP_KERNEL,4,2                 ; @GFP_KERNEL
	.comm	_ENOMEM,4,2                     ; @ENOMEM
	.no_dead_strip	_skge_ring_alloc
.subsections_via_symbols
