	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function arm_smmu_init_queues
_arm_smmu_init_queues:                  ## @arm_smmu_init_queues
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -24
	movq	%rdi, %rbx
	leaq	12(%rdi), %rsi
	movq	_ARM_SMMU_CMDQ_PROD@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_ARM_SMMU_CMDQ_CONS@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	_CMDQ_ENT_DWORDS@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	leaq	L_.str(%rip), %r9
	callq	_arm_smmu_init_one_queue
	testl	%eax, %eax
	jne	LBB0_5
## %bb.1:
	movq	%rbx, %rdi
	callq	_arm_smmu_cmdq_init
	testl	%eax, %eax
	jne	LBB0_5
## %bb.2:
	leaq	8(%rbx), %rsi
	movq	_ARM_SMMU_EVTQ_PROD@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_ARM_SMMU_EVTQ_CONS@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	_EVTQ_ENT_DWORDS@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	leaq	L_.str.1(%rip), %r9
	movq	%rbx, %rdi
	callq	_arm_smmu_init_one_queue
	testl	%eax, %eax
	je	LBB0_3
LBB0_5:
	addq	$8, %rsp
	popq	%rbx
	popq	%rbp
	retq
LBB0_3:
	movq	_ARM_SMMU_FEAT_PRI@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%rbx)
	je	LBB0_4
## %bb.6:
	leaq	4(%rbx), %rsi
	movq	_ARM_SMMU_PRIQ_PROD@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_ARM_SMMU_PRIQ_CONS@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	_PRIQ_ENT_DWORDS@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	leaq	L_.str.2(%rip), %r9
	movq	%rbx, %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%rbp
	jmp	_arm_smmu_init_one_queue        ## TAILCALL
LBB0_4:
	xorl	%eax, %eax
	jmp	LBB0_5
	.cfi_endproc
                                        ## -- End function
	.comm	_ARM_SMMU_CMDQ_PROD,4,2         ## @ARM_SMMU_CMDQ_PROD
	.comm	_ARM_SMMU_CMDQ_CONS,4,2         ## @ARM_SMMU_CMDQ_CONS
	.comm	_CMDQ_ENT_DWORDS,4,2            ## @CMDQ_ENT_DWORDS
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"cmdq"

	.comm	_ARM_SMMU_EVTQ_PROD,4,2         ## @ARM_SMMU_EVTQ_PROD
	.comm	_ARM_SMMU_EVTQ_CONS,4,2         ## @ARM_SMMU_EVTQ_CONS
	.comm	_EVTQ_ENT_DWORDS,4,2            ## @EVTQ_ENT_DWORDS
L_.str.1:                               ## @.str.1
	.asciz	"evtq"

	.comm	_ARM_SMMU_FEAT_PRI,4,2          ## @ARM_SMMU_FEAT_PRI
	.comm	_ARM_SMMU_PRIQ_PROD,4,2         ## @ARM_SMMU_PRIQ_PROD
	.comm	_ARM_SMMU_PRIQ_CONS,4,2         ## @ARM_SMMU_PRIQ_CONS
	.comm	_PRIQ_ENT_DWORDS,4,2            ## @PRIQ_ENT_DWORDS
L_.str.2:                               ## @.str.2
	.asciz	"priq"

	.no_dead_strip	_arm_smmu_init_queues
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function arm_smmu_init_queues
_arm_smmu_init_queues:                  ; @arm_smmu_init_queues
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
	add	x1, x0, #12
Lloh0:
	adrp	x8, _ARM_SMMU_CMDQ_PROD@GOTPAGE
Lloh1:
	ldr	x8, [x8, _ARM_SMMU_CMDQ_PROD@GOTPAGEOFF]
Lloh2:
	ldr	w2, [x8]
Lloh3:
	adrp	x8, _ARM_SMMU_CMDQ_CONS@GOTPAGE
Lloh4:
	ldr	x8, [x8, _ARM_SMMU_CMDQ_CONS@GOTPAGEOFF]
Lloh5:
	ldr	w3, [x8]
Lloh6:
	adrp	x8, _CMDQ_ENT_DWORDS@GOTPAGE
Lloh7:
	ldr	x8, [x8, _CMDQ_ENT_DWORDS@GOTPAGEOFF]
Lloh8:
	ldr	w4, [x8]
Lloh9:
	adrp	x5, l_.str@PAGE
Lloh10:
	add	x5, x5, l_.str@PAGEOFF
	bl	_arm_smmu_init_one_queue
	cbnz	w0, LBB0_3
; %bb.1:
	mov	x0, x19
	bl	_arm_smmu_cmdq_init
	cbnz	w0, LBB0_3
; %bb.2:
	add	x1, x19, #8
Lloh11:
	adrp	x8, _ARM_SMMU_EVTQ_PROD@GOTPAGE
Lloh12:
	ldr	x8, [x8, _ARM_SMMU_EVTQ_PROD@GOTPAGEOFF]
Lloh13:
	ldr	w2, [x8]
Lloh14:
	adrp	x8, _ARM_SMMU_EVTQ_CONS@GOTPAGE
Lloh15:
	ldr	x8, [x8, _ARM_SMMU_EVTQ_CONS@GOTPAGEOFF]
Lloh16:
	ldr	w3, [x8]
Lloh17:
	adrp	x8, _EVTQ_ENT_DWORDS@GOTPAGE
Lloh18:
	ldr	x8, [x8, _EVTQ_ENT_DWORDS@GOTPAGEOFF]
Lloh19:
	ldr	w4, [x8]
Lloh20:
	adrp	x5, l_.str.1@PAGE
Lloh21:
	add	x5, x5, l_.str.1@PAGEOFF
	mov	x0, x19
	bl	_arm_smmu_init_one_queue
	cbz	w0, LBB0_4
LBB0_3:
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
LBB0_4:
	ldr	w8, [x19]
Lloh22:
	adrp	x9, _ARM_SMMU_FEAT_PRI@GOTPAGE
Lloh23:
	ldr	x9, [x9, _ARM_SMMU_FEAT_PRI@GOTPAGEOFF]
Lloh24:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_6
; %bb.5:
	add	x1, x19, #4
Lloh25:
	adrp	x8, _ARM_SMMU_PRIQ_PROD@GOTPAGE
Lloh26:
	ldr	x8, [x8, _ARM_SMMU_PRIQ_PROD@GOTPAGEOFF]
Lloh27:
	ldr	w2, [x8]
Lloh28:
	adrp	x8, _ARM_SMMU_PRIQ_CONS@GOTPAGE
Lloh29:
	ldr	x8, [x8, _ARM_SMMU_PRIQ_CONS@GOTPAGEOFF]
Lloh30:
	ldr	w3, [x8]
Lloh31:
	adrp	x8, _PRIQ_ENT_DWORDS@GOTPAGE
Lloh32:
	ldr	x8, [x8, _PRIQ_ENT_DWORDS@GOTPAGEOFF]
Lloh33:
	ldr	w4, [x8]
Lloh34:
	adrp	x5, l_.str.2@PAGE
Lloh35:
	add	x5, x5, l_.str.2@PAGEOFF
	mov	x0, x19
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	b	_arm_smmu_init_one_queue
LBB0_6:
	mov	w0, #0
	b	LBB0_3
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpAdd	Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.cfi_endproc
                                        ; -- End function
	.comm	_ARM_SMMU_CMDQ_PROD,4,2         ; @ARM_SMMU_CMDQ_PROD
	.comm	_ARM_SMMU_CMDQ_CONS,4,2         ; @ARM_SMMU_CMDQ_CONS
	.comm	_CMDQ_ENT_DWORDS,4,2            ; @CMDQ_ENT_DWORDS
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"cmdq"

	.comm	_ARM_SMMU_EVTQ_PROD,4,2         ; @ARM_SMMU_EVTQ_PROD
	.comm	_ARM_SMMU_EVTQ_CONS,4,2         ; @ARM_SMMU_EVTQ_CONS
	.comm	_EVTQ_ENT_DWORDS,4,2            ; @EVTQ_ENT_DWORDS
l_.str.1:                               ; @.str.1
	.asciz	"evtq"

	.comm	_ARM_SMMU_FEAT_PRI,4,2          ; @ARM_SMMU_FEAT_PRI
	.comm	_ARM_SMMU_PRIQ_PROD,4,2         ; @ARM_SMMU_PRIQ_PROD
	.comm	_ARM_SMMU_PRIQ_CONS,4,2         ; @ARM_SMMU_PRIQ_CONS
	.comm	_PRIQ_ENT_DWORDS,4,2            ; @PRIQ_ENT_DWORDS
l_.str.2:                               ; @.str.2
	.asciz	"priq"

	.no_dead_strip	_arm_smmu_init_queues
.subsections_via_symbols
