	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function i40e_create_lan_hmc_object
_i40e_create_lan_hmc_object:            ## @i40e_create_lan_hmc_object
	.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	$88, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r12
	movq	$0, -112(%rbp)
	movq	$0, -104(%rbp)
	testq	%rsi, %rsi
	je	LBB0_1
## %bb.3:
	movq	%rsi, %r15
	movq	32(%rsi), %rdi
	testq	%rdi, %rdi
	je	LBB0_4
## %bb.5:
	movq	_I40E_HMC_INFO_SIGNATURE@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	(%rdi), %rax
	jne	LBB0_6
## %bb.7:
	movq	(%r15), %rdx
	movq	8(%r15), %rsi
	movq	24(%rdi), %rax
	movq	(%rax,%rsi,8), %rax
	cmpq	%rax, %rdx
	jge	LBB0_8
## %bb.10:
	movq	16(%r15), %rcx
	leaq	(%rcx,%rdx), %rbx
	cmpq	%rax, %rbx
	jle	LBB0_12
## %bb.11:
	movq	_I40E_ERR_INVALID_HMC_OBJ_COUNT@GOTPCREL(%rip), %rax
	jmp	LBB0_9
LBB0_1:
	movq	_I40E_ERR_BAD_PTR@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
	leaq	L_.str(%rip), %rsi
	jmp	LBB0_2
LBB0_4:
	movq	_I40E_ERR_BAD_PTR@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
	leaq	L_.str.1(%rip), %rsi
	jmp	LBB0_2
LBB0_6:
	movq	_I40E_ERR_BAD_PTR@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
	leaq	L_.str.2(%rip), %rsi
LBB0_2:
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_hw_dbg
LBB0_58:
	movq	%r14, %rax
	addq	$88, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_8:
	movq	_I40E_ERR_INVALID_HMC_OBJ_INDEX@GOTPCREL(%rip), %rax
LBB0_9:
	movq	(%rax), %r14
	leaq	L_.str.3(%rip), %rsi
	movq	%r12, %rdi
	movq	%r14, %rdx
	xorl	%eax, %eax
	callq	_hw_dbg
	jmp	LBB0_58
LBB0_12:
	leaq	-88(%rbp), %r8
	leaq	-96(%rbp), %r9
	callq	_I40E_FIND_SD_INDEX_LIMIT
	movq	32(%r15), %rdi
	movq	8(%rdi), %rax
	cmpq	%rax, -88(%rbp)
	jge	LBB0_14
## %bb.13:
	cmpq	%rax, -96(%rbp)
	jg	LBB0_14
## %bb.15:
	movq	(%r15), %rdx
	movq	8(%r15), %rsi
	movq	16(%r15), %rcx
	leaq	-112(%rbp), %r8
	leaq	-104(%rbp), %r9
	callq	_I40E_FIND_PD_INDEX_LIMIT
	movq	24(%r15), %rax
	movq	%rax, -120(%rbp)                ## 8-byte Spill
	testq	%rax, %rax
	jne	LBB0_17
## %bb.16:
	movq	_I40E_HMC_DIRECT_BP_SIZE@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -120(%rbp)                ## 8-byte Spill
LBB0_17:
	movq	-88(%rbp), %rbx
	xorl	%r13d, %r13d
	cmpq	-96(%rbp), %rbx
	jge	LBB0_18
## %bb.19:
	movq	%r12, -80(%rbp)                 ## 8-byte Spill
	jmp	LBB0_20
LBB0_51:                                ##   in Loop: Header=BB0_20 Depth=1
	leaq	(%rdx,%rsi), %rax
	addq	$8, %rax
LBB0_52:                                ##   in Loop: Header=BB0_20 Depth=1
	movl	(%rax), %esi
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	movq	%rbx, %rdx
	callq	_I40E_SET_PF_SD_ENTRY
LBB0_53:                                ##   in Loop: Header=BB0_20 Depth=1
	incq	%rbx
	movl	%r12d, %r13d
	cmpq	-96(%rbp), %rbx
	movq	-80(%rbp), %r12                 ## 8-byte Reload
	jge	LBB0_58
LBB0_20:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_34 Depth 2
                                        ##     Child Loop BB0_43 Depth 2
	movq	32(%r15), %rsi
	movl	40(%r15), %ecx
	movq	%r12, %rdi
	movq	%rbx, %rdx
	movq	-120(%rbp), %r8                 ## 8-byte Reload
	callq	_i40e_add_sd_table_entry
	testq	%rax, %rax
	jne	LBB0_21
## %bb.29:                              ##   in Loop: Header=BB0_20 Depth=1
	movq	32(%r15), %rax
	movq	16(%rax), %rdx
	movq	%rbx, %rsi
	shlq	$4, %rsi
	cmpl	$128, (%rdx,%rsi)
	movq	%rbx, -128(%rbp)                ## 8-byte Spill
	jne	LBB0_30
## %bb.31:                              ##   in Loop: Header=BB0_20 Depth=1
	movq	%rsi, -56(%rbp)                 ## 8-byte Spill
	movq	%rdx, -64(%rbp)                 ## 8-byte Spill
	movq	-112(%rbp), %rdi
	movq	_I40E_HMC_MAX_BP_COUNT@GOTPCREL(%rip), %r12
	movq	(%r12), %rsi
	imulq	%rbx, %rsi
	callq	_max
	movq	%rax, %r14
	movq	-104(%rbp), %rdi
	leaq	1(%rbx), %rsi
	imulq	(%r12), %rsi
	callq	_min
	movq	%rax, %r12
	movq	%r14, %rax
	cmpq	%r12, %r14
	movq	%r14, -72(%rbp)                 ## 8-byte Spill
	movq	%r13, -48(%rbp)                 ## 8-byte Spill
	jge	LBB0_32
## %bb.33:                              ##   in Loop: Header=BB0_20 Depth=1
	movq	%rax, %r13
	.p2align	4, 0x90
LBB0_34:                                ##   Parent Loop BB0_20 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	32(%r15), %rsi
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	movq	%r13, %rdx
	xorl	%ecx, %ecx
	callq	_i40e_add_pd_table_entry
	testq	%rax, %rax
	jne	LBB0_35
## %bb.36:                              ##   in Loop: Header=BB0_34 Depth=2
	incq	%r13
	cmpq	%r13, %r12
	jne	LBB0_34
## %bb.37:                              ##   in Loop: Header=BB0_20 Depth=1
	movq	-64(%rbp), %rdx                 ## 8-byte Reload
	movq	-56(%rbp), %rsi                 ## 8-byte Reload
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	jmp	LBB0_38
LBB0_30:                                ##   in Loop: Header=BB0_20 Depth=1
	xorl	%r14d, %r14d
	movl	%r13d, %r12d
	jmp	LBB0_46
LBB0_32:                                ##   in Loop: Header=BB0_20 Depth=1
	movq	%rax, %r12
	movq	-64(%rbp), %rdx                 ## 8-byte Reload
	movq	-56(%rbp), %rsi                 ## 8-byte Reload
LBB0_38:                                ##   in Loop: Header=BB0_20 Depth=1
	xorl	%r14d, %r14d
	movq	%r12, %r13
	movl	$0, %r12d
	cmpl	$0, -48(%rbp)                   ## 4-byte Folded Reload
	je	LBB0_46
## %bb.39:                              ##   in Loop: Header=BB0_20 Depth=1
	testq	%r13, %r13
	jne	LBB0_41
	jmp	LBB0_40
LBB0_35:                                ##   in Loop: Header=BB0_20 Depth=1
	movq	%rax, %r14
	movl	$1, %eax
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	movq	-64(%rbp), %rdx                 ## 8-byte Reload
	movq	-56(%rbp), %rsi                 ## 8-byte Reload
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	testq	%r13, %r13
	je	LBB0_40
LBB0_41:                                ##   in Loop: Header=BB0_20 Depth=1
	cmpq	%rax, %r13
	jle	LBB0_40
## %bb.42:                              ##   in Loop: Header=BB0_20 Depth=1
	decq	%r13
	movq	%r13, %rbx
	movq	-80(%rbp), %r12                 ## 8-byte Reload
	.p2align	4, 0x90
LBB0_43:                                ##   Parent Loop BB0_20 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	32(%r15), %rsi
	movq	%r12, %rdi
	movq	%r13, %rdx
	callq	_i40e_remove_pd_bp
	addq	$-1, %rbx
	jae	LBB0_45
## %bb.44:                              ##   in Loop: Header=BB0_43 Depth=2
	cmpq	-72(%rbp), %r13                 ## 8-byte Folded Reload
	movq	%rbx, %r13
	jg	LBB0_43
LBB0_45:                                ##   in Loop: Header=BB0_20 Depth=1
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	%eax, %r12d
	movq	-64(%rbp), %rdx                 ## 8-byte Reload
	movq	-56(%rbp), %rsi                 ## 8-byte Reload
	jmp	LBB0_46
LBB0_40:                                ##   in Loop: Header=BB0_20 Depth=1
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	%eax, %r12d
LBB0_46:                                ##   in Loop: Header=BB0_20 Depth=1
	cmpl	$0, 4(%rdx,%rsi)
	movq	-128(%rbp), %rbx                ## 8-byte Reload
	jne	LBB0_53
## %bb.47:                              ##   in Loop: Header=BB0_20 Depth=1
	leaq	(%rdx,%rsi), %rax
	leaq	(%rdx,%rsi), %rcx
	addq	$4, %rcx
	movl	$1, (%rcx)
	movl	(%rax), %ecx
	cmpl	$129, %ecx
	je	LBB0_51
## %bb.48:                              ##   in Loop: Header=BB0_20 Depth=1
	cmpl	$128, %ecx
	jne	LBB0_50
## %bb.49:                              ##   in Loop: Header=BB0_20 Depth=1
	leaq	(%rdx,%rsi), %rax
	addq	$12, %rax
	jmp	LBB0_52
LBB0_14:
	movq	_I40E_ERR_INVALID_SD_INDEX@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
	jmp	LBB0_58
LBB0_18:
	xorl	%r14d, %r14d
	jmp	LBB0_58
LBB0_21:
	movq	%rax, %r14
	testq	%rbx, %rbx
	je	LBB0_58
## %bb.22:
	cmpq	-88(%rbp), %rbx
	jle	LBB0_58
LBB0_23:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_27 Depth 2
	movq	32(%r15), %rsi
	movq	16(%rsi), %rax
	leaq	-1(%rbx), %rdx
	movq	%rdx, %rcx
	shlq	$4, %rcx
	movl	(%rax,%rcx), %eax
	cmpl	$129, %eax
	je	LBB0_54
## %bb.24:                              ##   in Loop: Header=BB0_23 Depth=1
	cmpl	$128, %eax
	jne	LBB0_55
## %bb.25:                              ##   in Loop: Header=BB0_23 Depth=1
	movq	-112(%rbp), %rdi
	movq	_I40E_HMC_MAX_BP_COUNT@GOTPCREL(%rip), %rax
	movq	%rbx, %r13
	movq	(%rax), %rsi
	movq	%rdx, -72(%rbp)                 ## 8-byte Spill
	imulq	%rdx, %rsi
	callq	_max
	movq	%rax, %rbx
	movq	-104(%rbp), %rdi
	movq	_I40E_HMC_MAX_BP_COUNT@GOTPCREL(%rip), %rax
	imulq	(%rax), %r13
	movq	%r13, %rsi
	callq	_min
	movq	%r12, %r13
	cmpq	%rax, %rbx
	jge	LBB0_28
## %bb.26:                              ##   in Loop: Header=BB0_23 Depth=1
	movq	%rax, %r12
	.p2align	4, 0x90
LBB0_27:                                ##   Parent Loop BB0_23 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	32(%r15), %rsi
	movq	%r13, %rdi
	movq	%rbx, %rdx
	callq	_i40e_remove_pd_bp
	incq	%rbx
	cmpq	%rbx, %r12
	jne	LBB0_27
LBB0_28:                                ##   in Loop: Header=BB0_23 Depth=1
	movq	32(%r15), %rsi
	movq	%r13, %rdi
	movq	-72(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdx
	callq	_i40e_remove_pd_page
	movq	%rbx, %rdx
	movq	%r13, %r12
	jmp	LBB0_56
LBB0_54:                                ##   in Loop: Header=BB0_23 Depth=1
	movq	%r12, %rdi
	movq	%rdx, %rbx
	callq	_i40e_remove_sd_bp
	movq	%rbx, %rdx
	jmp	LBB0_56
LBB0_55:                                ##   in Loop: Header=BB0_23 Depth=1
	movq	_I40E_ERR_INVALID_SD_TYPE@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
LBB0_56:                                ##   in Loop: Header=BB0_23 Depth=1
	testq	%rdx, %rdx
	je	LBB0_58
## %bb.57:                              ##   in Loop: Header=BB0_23 Depth=1
	movq	%rdx, %rbx
	cmpq	-88(%rbp), %rdx
	jg	LBB0_23
	jmp	LBB0_58
LBB0_50:
	movq	_I40E_ERR_INVALID_SD_TYPE@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
	jmp	LBB0_58
	.cfi_endproc
                                        ## -- End function
	.comm	_I40E_ERR_BAD_PTR,8,3           ## @I40E_ERR_BAD_PTR
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"i40e_create_lan_hmc_object: bad info ptr\n"

L_.str.1:                               ## @.str.1
	.asciz	"i40e_create_lan_hmc_object: bad hmc_info ptr\n"

	.comm	_I40E_HMC_INFO_SIGNATURE,8,3    ## @I40E_HMC_INFO_SIGNATURE
L_.str.2:                               ## @.str.2
	.asciz	"i40e_create_lan_hmc_object: bad signature\n"

	.comm	_I40E_ERR_INVALID_HMC_OBJ_INDEX,8,3 ## @I40E_ERR_INVALID_HMC_OBJ_INDEX
L_.str.3:                               ## @.str.3
	.asciz	"i40e_create_lan_hmc_object: returns error %d\n"

	.comm	_I40E_ERR_INVALID_HMC_OBJ_COUNT,8,3 ## @I40E_ERR_INVALID_HMC_OBJ_COUNT
	.comm	_I40E_ERR_INVALID_SD_INDEX,8,3  ## @I40E_ERR_INVALID_SD_INDEX
	.comm	_I40E_HMC_DIRECT_BP_SIZE,8,3    ## @I40E_HMC_DIRECT_BP_SIZE
	.comm	_I40E_HMC_MAX_BP_COUNT,8,3      ## @I40E_HMC_MAX_BP_COUNT
	.comm	_I40E_ERR_INVALID_SD_TYPE,8,3   ## @I40E_ERR_INVALID_SD_TYPE
	.no_dead_strip	_i40e_create_lan_hmc_object
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function i40e_create_lan_hmc_object
_i40e_create_lan_hmc_object:            ; @i40e_create_lan_hmc_object
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #144
	.cfi_def_cfa_offset 144
	stp	x28, x27, [sp, #48]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #64]             ; 16-byte Folded Spill
	stp	x24, x23, [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 w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x19, x0
	stp	xzr, xzr, [sp, #32]
	cbz	x1, LBB0_6
; %bb.1:
	mov	x20, x1
	ldr	x0, [x1, #32]
	cbz	x0, LBB0_7
; %bb.2:
Lloh0:
	adrp	x8, _I40E_HMC_INFO_SIGNATURE@GOTPAGE
Lloh1:
	ldr	x8, [x8, _I40E_HMC_INFO_SIGNATURE@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	ldr	x9, [x0]
	cmp	x8, x9
	b.ne	LBB0_8
; %bb.3:
	ldr	x8, [x0, #24]
	ldp	x2, x1, [x20]
	ldr	x8, [x8, x1, lsl #3]
	cmp	x2, x8
	b.ge	LBB0_9
; %bb.4:
	ldr	x3, [x20, #16]
	add	x9, x3, x2
	cmp	x9, x8
	b.le	LBB0_13
; %bb.5:
Lloh3:
	adrp	x8, _I40E_ERR_INVALID_HMC_OBJ_COUNT@GOTPAGE
Lloh4:
	ldr	x8, [x8, _I40E_ERR_INVALID_HMC_OBJ_COUNT@GOTPAGEOFF]
	b	LBB0_10
LBB0_6:
Lloh5:
	adrp	x8, _I40E_ERR_BAD_PTR@GOTPAGE
Lloh6:
	ldr	x8, [x8, _I40E_ERR_BAD_PTR@GOTPAGEOFF]
Lloh7:
	ldr	x21, [x8]
Lloh8:
	adrp	x1, l_.str@PAGE
Lloh9:
	add	x1, x1, l_.str@PAGEOFF
	b	LBB0_11
LBB0_7:
Lloh10:
	adrp	x8, _I40E_ERR_BAD_PTR@GOTPAGE
Lloh11:
	ldr	x8, [x8, _I40E_ERR_BAD_PTR@GOTPAGEOFF]
Lloh12:
	ldr	x21, [x8]
Lloh13:
	adrp	x1, l_.str.1@PAGE
Lloh14:
	add	x1, x1, l_.str.1@PAGEOFF
	b	LBB0_11
LBB0_8:
Lloh15:
	adrp	x8, _I40E_ERR_BAD_PTR@GOTPAGE
Lloh16:
	ldr	x8, [x8, _I40E_ERR_BAD_PTR@GOTPAGEOFF]
Lloh17:
	ldr	x21, [x8]
Lloh18:
	adrp	x1, l_.str.2@PAGE
Lloh19:
	add	x1, x1, l_.str.2@PAGEOFF
	b	LBB0_11
LBB0_9:
Lloh20:
	adrp	x8, _I40E_ERR_INVALID_HMC_OBJ_INDEX@GOTPAGE
Lloh21:
	ldr	x8, [x8, _I40E_ERR_INVALID_HMC_OBJ_INDEX@GOTPAGEOFF]
LBB0_10:
	ldr	x21, [x8]
	str	x21, [sp]
Lloh22:
	adrp	x1, l_.str.3@PAGE
Lloh23:
	add	x1, x1, l_.str.3@PAGEOFF
LBB0_11:
	mov	x0, x19
	bl	_hw_dbg
LBB0_12:
	mov	x0, x21
	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	x24, x23, [sp, #80]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #64]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #144
	ret
LBB0_13:
	add	x4, sp, #24
	add	x5, sp, #16
	bl	_I40E_FIND_SD_INDEX_LIMIT
	ldp	x10, x8, [sp, #16]
	ldr	x0, [x20, #32]
	ldr	x9, [x0, #8]
	cmp	x8, x9
	ccmp	x10, x9, #0, lt
	b.le	LBB0_15
; %bb.14:
Lloh24:
	adrp	x8, _I40E_ERR_INVALID_SD_INDEX@GOTPAGE
Lloh25:
	ldr	x8, [x8, _I40E_ERR_INVALID_SD_INDEX@GOTPAGEOFF]
Lloh26:
	ldr	x21, [x8]
	b	LBB0_12
LBB0_15:
	ldp	x2, x1, [x20]
	ldr	x3, [x20, #16]
	add	x4, sp, #40
	add	x5, sp, #32
	bl	_I40E_FIND_PD_INDEX_LIMIT
	ldr	x8, [x20, #24]
Lloh27:
	adrp	x9, _I40E_HMC_DIRECT_BP_SIZE@GOTPAGE
Lloh28:
	ldr	x9, [x9, _I40E_HMC_DIRECT_BP_SIZE@GOTPAGEOFF]
Lloh29:
	ldr	x9, [x9]
	cmp	x8, #0
	csel	x23, x9, x8, eq
	ldp	x8, x22, [sp, #16]
	cmp	x22, x8
	b.ge	LBB0_40
; %bb.16:
	str	wzr, [sp, #12]                  ; 4-byte Folded Spill
	b	LBB0_20
LBB0_17:                                ;   in Loop: Header=BB0_20 Depth=1
	add	x8, x27, x22, lsl #4
	add	x8, x8, #8
LBB0_18:                                ;   in Loop: Header=BB0_20 Depth=1
	ldr	w1, [x8]
	mov	x0, x19
	mov	x2, x22
	bl	_I40E_SET_PF_SD_ENTRY
LBB0_19:                                ;   in Loop: Header=BB0_20 Depth=1
	add	x22, x22, #1
	ldr	x8, [sp, #16]
	cmp	x22, x8
	b.ge	LBB0_12
LBB0_20:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_24 Depth 2
                                        ;     Child Loop BB0_34 Depth 2
	ldr	x1, [x20, #32]
	ldr	w3, [x20, #40]
	mov	x0, x19
	mov	x2, x22
	mov	x4, x23
	bl	_i40e_add_sd_table_entry
	cbnz	x0, LBB0_41
; %bb.21:                               ;   in Loop: Header=BB0_20 Depth=1
	ldr	x8, [x20, #32]
	ldr	x27, [x8, #16]
	add	x28, x27, x22, lsl #4
	ldr	w8, [x28]
	cmp	w8, #128
	b.ne	LBB0_26
; %bb.22:                               ;   in Loop: Header=BB0_20 Depth=1
	ldr	x0, [sp, #40]
Lloh30:
	adrp	x21, _I40E_HMC_MAX_BP_COUNT@GOTPAGE
Lloh31:
	ldr	x21, [x21, _I40E_HMC_MAX_BP_COUNT@GOTPAGEOFF]
	ldr	x8, [x21]
	mul	x1, x8, x22
	bl	_max
	mov	x24, x0
	ldr	x0, [sp, #32]
	ldr	x8, [x21]
	madd	x1, x8, x22, x8
	bl	_min
	cmp	x24, x0
	b.ge	LBB0_27
; %bb.23:                               ;   in Loop: Header=BB0_20 Depth=1
	mov	x26, x0
	mov	x25, x24
LBB0_24:                                ;   Parent Loop BB0_20 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x1, [x20, #32]
	mov	x0, x19
	mov	x2, x25
	mov	x3, #0
	bl	_i40e_add_pd_table_entry
	cbnz	x0, LBB0_31
; %bb.25:                               ;   in Loop: Header=BB0_24 Depth=2
	add	x25, x25, #1
	cmp	x26, x25
	b.ne	LBB0_24
	b	LBB0_28
LBB0_26:                                ;   in Loop: Header=BB0_20 Depth=1
	mov	x21, #0
	b	LBB0_36
LBB0_27:                                ;   in Loop: Header=BB0_20 Depth=1
	mov	x26, x24
LBB0_28:                                ;   in Loop: Header=BB0_20 Depth=1
	mov	x21, #0
	ldr	w8, [sp, #12]                   ; 4-byte Folded Reload
	cbz	w8, LBB0_30
; %bb.29:                               ;   in Loop: Header=BB0_20 Depth=1
	mov	x25, x26
	cbnz	x25, LBB0_32
	b	LBB0_36
LBB0_30:                                ;   in Loop: Header=BB0_20 Depth=1
	str	wzr, [sp, #12]                  ; 4-byte Folded Spill
	b	LBB0_36
LBB0_31:                                ;   in Loop: Header=BB0_20 Depth=1
	mov	x21, x0
	mov	w8, #1
	str	w8, [sp, #12]                   ; 4-byte Folded Spill
	cbz	x25, LBB0_36
LBB0_32:                                ;   in Loop: Header=BB0_20 Depth=1
	cmp	x25, x24
	b.le	LBB0_36
; %bb.33:                               ;   in Loop: Header=BB0_20 Depth=1
	sub	x25, x25, #1
LBB0_34:                                ;   Parent Loop BB0_20 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x1, [x20, #32]
	mov	x0, x19
	mov	x2, x25
	bl	_i40e_remove_pd_bp
	subs	x8, x25, #1
	b.lo	LBB0_36
; %bb.35:                               ;   in Loop: Header=BB0_34 Depth=2
	cmp	x25, x24
	mov	x25, x8
	b.gt	LBB0_34
LBB0_36:                                ;   in Loop: Header=BB0_20 Depth=1
	mov	x8, x28
	ldr	w9, [x8, #4]!
	cbnz	w9, LBB0_19
; %bb.37:                               ;   in Loop: Header=BB0_20 Depth=1
	mov	w9, #1
	str	w9, [x8]
	ldr	w3, [x28]
	cmp	w3, #129
	b.eq	LBB0_17
; %bb.38:                               ;   in Loop: Header=BB0_20 Depth=1
	cmp	w3, #128
	b.ne	LBB0_54
; %bb.39:                               ;   in Loop: Header=BB0_20 Depth=1
	add	x8, x27, x22, lsl #4
	add	x8, x8, #12
	b	LBB0_18
LBB0_40:
	mov	x21, #0
	b	LBB0_12
LBB0_41:
	mov	x21, x0
	cbz	x22, LBB0_12
; %bb.42:
	ldr	x8, [sp, #24]
	cmp	x22, x8
	b.le	LBB0_12
; %bb.43:
Lloh32:
	adrp	x25, _I40E_ERR_INVALID_SD_TYPE@GOTPAGE
Lloh33:
	ldr	x25, [x25, _I40E_ERR_INVALID_SD_TYPE@GOTPAGEOFF]
Lloh34:
	adrp	x26, _I40E_HMC_MAX_BP_COUNT@GOTPAGE
Lloh35:
	ldr	x26, [x26, _I40E_HMC_MAX_BP_COUNT@GOTPAGEOFF]
LBB0_44:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_48 Depth 2
	ldr	x1, [x20, #32]
	ldr	x8, [x1, #16]
	sub	x23, x22, #1
	lsl	x9, x23, #4
	ldr	w8, [x8, x9]
	cmp	w8, #129
	b.eq	LBB0_50
; %bb.45:                               ;   in Loop: Header=BB0_44 Depth=1
	cmp	w8, #128
	b.ne	LBB0_51
; %bb.46:                               ;   in Loop: Header=BB0_44 Depth=1
	ldr	x0, [sp, #40]
	ldr	x8, [x26]
	mul	x1, x8, x23
	bl	_max
	mov	x24, x0
	ldr	x0, [sp, #32]
	ldr	x8, [x26]
	mul	x1, x8, x22
	bl	_min
	cmp	x24, x0
	b.ge	LBB0_49
; %bb.47:                               ;   in Loop: Header=BB0_44 Depth=1
	mov	x22, x0
LBB0_48:                                ;   Parent Loop BB0_44 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x1, [x20, #32]
	mov	x0, x19
	mov	x2, x24
	bl	_i40e_remove_pd_bp
	add	x24, x24, #1
	cmp	x22, x24
	b.ne	LBB0_48
LBB0_49:                                ;   in Loop: Header=BB0_44 Depth=1
	ldr	x1, [x20, #32]
	mov	x0, x19
	mov	x2, x23
	bl	_i40e_remove_pd_page
	b	LBB0_52
LBB0_50:                                ;   in Loop: Header=BB0_44 Depth=1
	mov	x0, x19
	mov	x2, x23
	bl	_i40e_remove_sd_bp
	b	LBB0_52
LBB0_51:                                ;   in Loop: Header=BB0_44 Depth=1
	ldr	x21, [x25]
LBB0_52:                                ;   in Loop: Header=BB0_44 Depth=1
	cbz	x23, LBB0_12
; %bb.53:                               ;   in Loop: Header=BB0_44 Depth=1
	ldr	x8, [sp, #24]
	mov	x22, x23
	cmp	x23, x8
	b.gt	LBB0_44
	b	LBB0_12
LBB0_54:
Lloh36:
	adrp	x8, _I40E_ERR_INVALID_SD_TYPE@GOTPAGE
Lloh37:
	ldr	x8, [x8, _I40E_ERR_INVALID_SD_TYPE@GOTPAGEOFF]
Lloh38:
	ldr	x21, [x8]
	b	LBB0_12
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGot	Lloh30, Lloh31
	.loh AdrpLdrGot	Lloh34, Lloh35
	.loh AdrpLdrGot	Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.cfi_endproc
                                        ; -- End function
	.comm	_I40E_ERR_BAD_PTR,8,3           ; @I40E_ERR_BAD_PTR
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"i40e_create_lan_hmc_object: bad info ptr\n"

l_.str.1:                               ; @.str.1
	.asciz	"i40e_create_lan_hmc_object: bad hmc_info ptr\n"

	.comm	_I40E_HMC_INFO_SIGNATURE,8,3    ; @I40E_HMC_INFO_SIGNATURE
l_.str.2:                               ; @.str.2
	.asciz	"i40e_create_lan_hmc_object: bad signature\n"

	.comm	_I40E_ERR_INVALID_HMC_OBJ_INDEX,8,3 ; @I40E_ERR_INVALID_HMC_OBJ_INDEX
l_.str.3:                               ; @.str.3
	.asciz	"i40e_create_lan_hmc_object: returns error %d\n"

	.comm	_I40E_ERR_INVALID_HMC_OBJ_COUNT,8,3 ; @I40E_ERR_INVALID_HMC_OBJ_COUNT
	.comm	_I40E_ERR_INVALID_SD_INDEX,8,3  ; @I40E_ERR_INVALID_SD_INDEX
	.comm	_I40E_HMC_DIRECT_BP_SIZE,8,3    ; @I40E_HMC_DIRECT_BP_SIZE
	.comm	_I40E_HMC_MAX_BP_COUNT,8,3      ; @I40E_HMC_MAX_BP_COUNT
	.comm	_I40E_ERR_INVALID_SD_TYPE,8,3   ; @I40E_ERR_INVALID_SD_TYPE
	.no_dead_strip	_i40e_create_lan_hmc_object
.subsections_via_symbols
