	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function mptsas_parse_device_info
_mptsas_parse_device_info:              ## @mptsas_parse_device_info
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movl	8(%rsi), %eax
	movl	%eax, 16(%rdi)
	movl	4(%rsi), %eax
	movl	%eax, 12(%rdi)
	movl	(%rsi), %eax
	movl	%eax, %ecx
	andl	$120, %ecx
	movl	$0, 8(%rdi)
	movq	_MPI_SAS_DEVICE_INFO_SSP_INITIATOR@GOTPCREL(%rip), %rdx
	testl	%ecx, (%rdx)
	je	LBB0_1
## %bb.2:
	movq	_SAS_PROTOCOL_SSP@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	movl	%edx, 8(%rdi)
	jmp	LBB0_3
LBB0_1:
	xorl	%edx, %edx
LBB0_3:
	movq	_MPI_SAS_DEVICE_INFO_STP_INITIATOR@GOTPCREL(%rip), %rsi
	testl	%ecx, (%rsi)
	je	LBB0_5
## %bb.4:
	movq	_SAS_PROTOCOL_STP@GOTPCREL(%rip), %rsi
	orl	(%rsi), %edx
	movl	%edx, 8(%rdi)
LBB0_5:
	movq	_MPI_SAS_DEVICE_INFO_SMP_INITIATOR@GOTPCREL(%rip), %rsi
	testl	%ecx, (%rsi)
	je	LBB0_7
## %bb.6:
	movq	_SAS_PROTOCOL_SMP@GOTPCREL(%rip), %rsi
	orl	(%rsi), %edx
	movl	%edx, 8(%rdi)
LBB0_7:
	movq	_MPI_SAS_DEVICE_INFO_SATA_HOST@GOTPCREL(%rip), %rsi
	testl	%ecx, (%rsi)
	je	LBB0_9
## %bb.8:
	movq	_SAS_PROTOCOL_SATA@GOTPCREL(%rip), %rcx
	orl	(%rcx), %edx
	movl	%edx, 8(%rdi)
LBB0_9:
	movl	%eax, %ecx
	andl	$1920, %ecx                     ## imm = 0x780
	movl	$0, 4(%rdi)
	movq	_MPI_SAS_DEVICE_INFO_SSP_TARGET@GOTPCREL(%rip), %rdx
	testl	%ecx, (%rdx)
	je	LBB0_10
## %bb.11:
	movq	_SAS_PROTOCOL_SSP@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	movl	%edx, 4(%rdi)
	jmp	LBB0_12
LBB0_10:
	xorl	%edx, %edx
LBB0_12:
	movq	_MPI_SAS_DEVICE_INFO_STP_TARGET@GOTPCREL(%rip), %rsi
	testl	%ecx, (%rsi)
	je	LBB0_14
## %bb.13:
	movq	_SAS_PROTOCOL_STP@GOTPCREL(%rip), %rsi
	orl	(%rsi), %edx
	movl	%edx, 4(%rdi)
LBB0_14:
	movq	_MPI_SAS_DEVICE_INFO_SMP_TARGET@GOTPCREL(%rip), %rsi
	testl	%ecx, (%rsi)
	je	LBB0_16
## %bb.15:
	movq	_SAS_PROTOCOL_SMP@GOTPCREL(%rip), %rsi
	orl	(%rsi), %edx
	movl	%edx, 4(%rdi)
LBB0_16:
	movq	_MPI_SAS_DEVICE_INFO_SATA_DEVICE@GOTPCREL(%rip), %rsi
	testl	%ecx, (%rsi)
	je	LBB0_18
## %bb.17:
	movq	_SAS_PROTOCOL_SATA@GOTPCREL(%rip), %rcx
	orl	(%rcx), %edx
	movl	%edx, 4(%rdi)
LBB0_18:
	movq	_MPI_SAS_DEVICE_INFO_MASK_DEVICE_TYPE@GOTPCREL(%rip), %rcx
	andl	(%rcx), %eax
	addl	$-128, %eax
	cmpl	$3, %eax
	ja	LBB0_20
## %bb.19:
	cltq
	leaq	l_switch.table.mptsas_parse_device_info(%rip), %rcx
	movq	(%rcx,%rax,8), %rax
	movl	(%rax), %eax
	movl	%eax, (%rdi)
LBB0_20:
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_MPI_SAS_DEVICE_INFO_SSP_INITIATOR,4,2 ## @MPI_SAS_DEVICE_INFO_SSP_INITIATOR
	.comm	_SAS_PROTOCOL_SSP,4,2           ## @SAS_PROTOCOL_SSP
	.comm	_MPI_SAS_DEVICE_INFO_STP_INITIATOR,4,2 ## @MPI_SAS_DEVICE_INFO_STP_INITIATOR
	.comm	_SAS_PROTOCOL_STP,4,2           ## @SAS_PROTOCOL_STP
	.comm	_MPI_SAS_DEVICE_INFO_SMP_INITIATOR,4,2 ## @MPI_SAS_DEVICE_INFO_SMP_INITIATOR
	.comm	_SAS_PROTOCOL_SMP,4,2           ## @SAS_PROTOCOL_SMP
	.comm	_MPI_SAS_DEVICE_INFO_SATA_HOST,4,2 ## @MPI_SAS_DEVICE_INFO_SATA_HOST
	.comm	_SAS_PROTOCOL_SATA,4,2          ## @SAS_PROTOCOL_SATA
	.comm	_MPI_SAS_DEVICE_INFO_SSP_TARGET,4,2 ## @MPI_SAS_DEVICE_INFO_SSP_TARGET
	.comm	_MPI_SAS_DEVICE_INFO_STP_TARGET,4,2 ## @MPI_SAS_DEVICE_INFO_STP_TARGET
	.comm	_MPI_SAS_DEVICE_INFO_SMP_TARGET,4,2 ## @MPI_SAS_DEVICE_INFO_SMP_TARGET
	.comm	_MPI_SAS_DEVICE_INFO_SATA_DEVICE,4,2 ## @MPI_SAS_DEVICE_INFO_SATA_DEVICE
	.comm	_MPI_SAS_DEVICE_INFO_MASK_DEVICE_TYPE,4,2 ## @MPI_SAS_DEVICE_INFO_MASK_DEVICE_TYPE
	.comm	_SAS_PHY_UNUSED,4,2             ## @SAS_PHY_UNUSED
	.comm	_SAS_END_DEVICE,4,2             ## @SAS_END_DEVICE
	.comm	_SAS_EDGE_EXPANDER_DEVICE,4,2   ## @SAS_EDGE_EXPANDER_DEVICE
	.comm	_SAS_FANOUT_EXPANDER_DEVICE,4,2 ## @SAS_FANOUT_EXPANDER_DEVICE
	.no_dead_strip	_mptsas_parse_device_info
	.section	__DATA,__const
	.p2align	3                               ## @switch.table.mptsas_parse_device_info
l_switch.table.mptsas_parse_device_info:
	.quad	_SAS_PHY_UNUSED
	.quad	_SAS_FANOUT_EXPANDER_DEVICE
	.quad	_SAS_END_DEVICE
	.quad	_SAS_EDGE_EXPANDER_DEVICE

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function mptsas_parse_device_info
_mptsas_parse_device_info:              ; @mptsas_parse_device_info
	.cfi_startproc
; %bb.0:
	ldur	d0, [x1, #4]
	stur	d0, [x0, #12]
	ldr	w8, [x1]
	and	w13, w8, #0x78
	str	wzr, [x0, #8]
Lloh0:
	adrp	x9, _MPI_SAS_DEVICE_INFO_SSP_INITIATOR@GOTPAGE
Lloh1:
	ldr	x9, [x9, _MPI_SAS_DEVICE_INFO_SSP_INITIATOR@GOTPAGEOFF]
Lloh2:
	ldr	w10, [x9]
Lloh3:
	adrp	x9, _SAS_PROTOCOL_SSP@GOTPAGE
Lloh4:
	ldr	x9, [x9, _SAS_PROTOCOL_SSP@GOTPAGEOFF]
	tst	w10, w13
	b.eq	LBB0_2
; %bb.1:
	ldr	w14, [x9]
	str	w14, [x0, #8]
	b	LBB0_3
LBB0_2:
	mov	w14, #0
LBB0_3:
Lloh5:
	adrp	x10, _MPI_SAS_DEVICE_INFO_STP_INITIATOR@GOTPAGE
Lloh6:
	ldr	x10, [x10, _MPI_SAS_DEVICE_INFO_STP_INITIATOR@GOTPAGEOFF]
Lloh7:
	ldr	w11, [x10]
Lloh8:
	adrp	x10, _SAS_PROTOCOL_STP@GOTPAGE
Lloh9:
	ldr	x10, [x10, _SAS_PROTOCOL_STP@GOTPAGEOFF]
	tst	w11, w13
	b.eq	LBB0_5
; %bb.4:
	ldr	w11, [x10]
	orr	w14, w14, w11
	str	w14, [x0, #8]
LBB0_5:
Lloh10:
	adrp	x11, _MPI_SAS_DEVICE_INFO_SMP_INITIATOR@GOTPAGE
Lloh11:
	ldr	x11, [x11, _MPI_SAS_DEVICE_INFO_SMP_INITIATOR@GOTPAGEOFF]
Lloh12:
	ldr	w12, [x11]
Lloh13:
	adrp	x11, _SAS_PROTOCOL_SMP@GOTPAGE
Lloh14:
	ldr	x11, [x11, _SAS_PROTOCOL_SMP@GOTPAGEOFF]
	tst	w12, w13
	b.eq	LBB0_7
; %bb.6:
	ldr	w12, [x11]
	orr	w14, w14, w12
	str	w14, [x0, #8]
LBB0_7:
Lloh15:
	adrp	x12, _MPI_SAS_DEVICE_INFO_SATA_HOST@GOTPAGE
Lloh16:
	ldr	x12, [x12, _MPI_SAS_DEVICE_INFO_SATA_HOST@GOTPAGEOFF]
Lloh17:
	ldr	w15, [x12]
Lloh18:
	adrp	x12, _SAS_PROTOCOL_SATA@GOTPAGE
Lloh19:
	ldr	x12, [x12, _SAS_PROTOCOL_SATA@GOTPAGEOFF]
	tst	w15, w13
	b.eq	LBB0_9
; %bb.8:
	ldr	w13, [x12]
	orr	w13, w14, w13
	str	w13, [x0, #8]
LBB0_9:
	and	w13, w8, #0x780
	str	wzr, [x0, #4]
Lloh20:
	adrp	x14, _MPI_SAS_DEVICE_INFO_SSP_TARGET@GOTPAGE
Lloh21:
	ldr	x14, [x14, _MPI_SAS_DEVICE_INFO_SSP_TARGET@GOTPAGEOFF]
Lloh22:
	ldr	w14, [x14]
	tst	w14, w13
	b.eq	LBB0_11
; %bb.10:
	ldr	w9, [x9]
	str	w9, [x0, #4]
	b	LBB0_12
LBB0_11:
	mov	w9, #0
LBB0_12:
Lloh23:
	adrp	x14, _MPI_SAS_DEVICE_INFO_STP_TARGET@GOTPAGE
Lloh24:
	ldr	x14, [x14, _MPI_SAS_DEVICE_INFO_STP_TARGET@GOTPAGEOFF]
Lloh25:
	ldr	w14, [x14]
	tst	w14, w13
	b.eq	LBB0_14
; %bb.13:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x0, #4]
LBB0_14:
Lloh26:
	adrp	x10, _MPI_SAS_DEVICE_INFO_SMP_TARGET@GOTPAGE
Lloh27:
	ldr	x10, [x10, _MPI_SAS_DEVICE_INFO_SMP_TARGET@GOTPAGEOFF]
Lloh28:
	ldr	w10, [x10]
	tst	w10, w13
	b.eq	LBB0_16
; %bb.15:
	ldr	w10, [x11]
	orr	w9, w9, w10
	str	w9, [x0, #4]
LBB0_16:
Lloh29:
	adrp	x10, _MPI_SAS_DEVICE_INFO_SATA_DEVICE@GOTPAGE
Lloh30:
	ldr	x10, [x10, _MPI_SAS_DEVICE_INFO_SATA_DEVICE@GOTPAGEOFF]
Lloh31:
	ldr	w10, [x10]
	tst	w10, w13
	b.eq	LBB0_18
; %bb.17:
	ldr	w10, [x12]
	orr	w9, w9, w10
	str	w9, [x0, #4]
LBB0_18:
Lloh32:
	adrp	x9, _MPI_SAS_DEVICE_INFO_MASK_DEVICE_TYPE@GOTPAGE
Lloh33:
	ldr	x9, [x9, _MPI_SAS_DEVICE_INFO_MASK_DEVICE_TYPE@GOTPAGEOFF]
Lloh34:
	ldr	w9, [x9]
	and	w8, w9, w8
	sub	w8, w8, #128
	cmp	w8, #3
	b.hi	LBB0_20
; %bb.19:
Lloh35:
	adrp	x9, l_switch.table.mptsas_parse_device_info@PAGE
Lloh36:
	add	x9, x9, l_switch.table.mptsas_parse_device_info@PAGEOFF
	ldr	x8, [x9, w8, sxtw #3]
	ldr	w8, [x8]
	str	w8, [x0]
LBB0_20:
	ret
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGot	Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpAdd	Lloh35, Lloh36
	.cfi_endproc
                                        ; -- End function
	.comm	_MPI_SAS_DEVICE_INFO_SSP_INITIATOR,4,2 ; @MPI_SAS_DEVICE_INFO_SSP_INITIATOR
	.comm	_SAS_PROTOCOL_SSP,4,2           ; @SAS_PROTOCOL_SSP
	.comm	_MPI_SAS_DEVICE_INFO_STP_INITIATOR,4,2 ; @MPI_SAS_DEVICE_INFO_STP_INITIATOR
	.comm	_SAS_PROTOCOL_STP,4,2           ; @SAS_PROTOCOL_STP
	.comm	_MPI_SAS_DEVICE_INFO_SMP_INITIATOR,4,2 ; @MPI_SAS_DEVICE_INFO_SMP_INITIATOR
	.comm	_SAS_PROTOCOL_SMP,4,2           ; @SAS_PROTOCOL_SMP
	.comm	_MPI_SAS_DEVICE_INFO_SATA_HOST,4,2 ; @MPI_SAS_DEVICE_INFO_SATA_HOST
	.comm	_SAS_PROTOCOL_SATA,4,2          ; @SAS_PROTOCOL_SATA
	.comm	_MPI_SAS_DEVICE_INFO_SSP_TARGET,4,2 ; @MPI_SAS_DEVICE_INFO_SSP_TARGET
	.comm	_MPI_SAS_DEVICE_INFO_STP_TARGET,4,2 ; @MPI_SAS_DEVICE_INFO_STP_TARGET
	.comm	_MPI_SAS_DEVICE_INFO_SMP_TARGET,4,2 ; @MPI_SAS_DEVICE_INFO_SMP_TARGET
	.comm	_MPI_SAS_DEVICE_INFO_SATA_DEVICE,4,2 ; @MPI_SAS_DEVICE_INFO_SATA_DEVICE
	.comm	_MPI_SAS_DEVICE_INFO_MASK_DEVICE_TYPE,4,2 ; @MPI_SAS_DEVICE_INFO_MASK_DEVICE_TYPE
	.comm	_SAS_PHY_UNUSED,4,2             ; @SAS_PHY_UNUSED
	.comm	_SAS_END_DEVICE,4,2             ; @SAS_END_DEVICE
	.comm	_SAS_EDGE_EXPANDER_DEVICE,4,2   ; @SAS_EDGE_EXPANDER_DEVICE
	.comm	_SAS_FANOUT_EXPANDER_DEVICE,4,2 ; @SAS_FANOUT_EXPANDER_DEVICE
	.no_dead_strip	_mptsas_parse_device_info
	.section	__DATA,__const
	.p2align	3                               ; @switch.table.mptsas_parse_device_info
l_switch.table.mptsas_parse_device_info:
	.quad	_SAS_PHY_UNUSED
	.quad	_SAS_FANOUT_EXPANDER_DEVICE
	.quad	_SAS_END_DEVICE
	.quad	_SAS_EDGE_EXPANDER_DEVICE

.subsections_via_symbols
