	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function ethtool_to_mcdi_cap
LCPI0_0:
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_ethtool_to_mcdi_cap:                   ## @ethtool_to_mcdi_cap
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_SUPPORTED_1000baseT_Full@GOTPCREL(%rip), %rax
	movq	_SUPPORTED_1000baseKX_Full@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rax), %ecx
	movq	_SUPPORTED_10000baseT_Full@GOTPCREL(%rip), %rax
	movq	_SUPPORTED_10000baseKX4_Full@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	orl	(%rax), %edx
	movq	_SUPPORTED_1000baseT_Half@GOTPCREL(%rip), %rax
	movd	(%rax), %xmm0                   ## xmm0 = mem[0],zero,zero,zero
	pinsrd	$1, %ecx, %xmm0
	movq	_SUPPORTED_10baseT_Half@GOTPCREL(%rip), %rax
	pinsrd	$2, %edx, %xmm0
	movq	_SUPPORTED_Pause@GOTPCREL(%rip), %rcx
	pinsrd	$3, (%rcx), %xmm0
	movq	_SUPPORTED_10baseT_Full@GOTPCREL(%rip), %rcx
	movd	(%rcx), %xmm1                   ## xmm1 = mem[0],zero,zero,zero
	movq	_SUPPORTED_100baseT_Half@GOTPCREL(%rip), %rcx
	pinsrd	$1, (%rax), %xmm1
	movq	_SUPPORTED_100baseT_Full@GOTPCREL(%rip), %rax
	pinsrd	$2, (%rcx), %xmm1
	pinsrd	$3, (%rax), %xmm1
	movq	_MC_CMD_PHY_CAP_1000HDX_LBN@GOTPCREL(%rip), %rax
	movq	_MC_CMD_PHY_CAP_1000FDX_LBN@GOTPCREL(%rip), %rcx
	movd	(%rax), %xmm2                   ## xmm2 = mem[0],zero,zero,zero
	movq	_MC_CMD_PHY_CAP_10000FDX_LBN@GOTPCREL(%rip), %rax
	pinsrd	$1, (%rcx), %xmm2
	pinsrd	$2, (%rax), %xmm2
	movq	_MC_CMD_PHY_CAP_10HDX_LBN@GOTPCREL(%rip), %rax
	movq	_MC_CMD_PHY_CAP_PAUSE_LBN@GOTPCREL(%rip), %rcx
	pinsrd	$3, (%rcx), %xmm2
	movq	_MC_CMD_PHY_CAP_10FDX_LBN@GOTPCREL(%rip), %rcx
	movd	(%rcx), %xmm3                   ## xmm3 = mem[0],zero,zero,zero
	pinsrd	$1, (%rax), %xmm3
	movq	_MC_CMD_PHY_CAP_100HDX_LBN@GOTPCREL(%rip), %rax
	movq	_MC_CMD_PHY_CAP_100FDX_LBN@GOTPCREL(%rip), %rcx
	pinsrd	$2, (%rax), %xmm3
	movd	%edi, %xmm4
	pinsrd	$3, (%rcx), %xmm3
	movq	_SUPPORTED_Asym_Pause@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	%edi, %eax
	movq	_MC_CMD_PHY_CAP_ASYM_LBN@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	movl	$1, %edx
	shll	%cl, %edx
	testl	%eax, %eax
	cmovel	%eax, %edx
	movq	_SUPPORTED_Autoneg@GOTPCREL(%rip), %rax
	andl	(%rax), %edi
	movq	_MC_CMD_PHY_CAP_AN_LBN@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	movl	$1, %eax
	shll	%cl, %eax
	testl	%edi, %edi
	cmovel	%edi, %eax
	pshufd	$0, %xmm4, %xmm4                ## xmm4 = xmm4[0,0,0,0]
	pand	%xmm4, %xmm0
	pand	%xmm4, %xmm1
	pxor	%xmm4, %xmm4
	pslld	$23, %xmm3
	movdqa	LCPI0_0(%rip), %xmm5            ## xmm5 = [1065353216,1065353216,1065353216,1065353216]
	paddd	%xmm5, %xmm3
	cvttps2dq	%xmm3, %xmm3
	pslld	$23, %xmm2
	paddd	%xmm5, %xmm2
	cvttps2dq	%xmm2, %xmm2
	pcmpeqd	%xmm4, %xmm0
	pandn	%xmm2, %xmm0
	pcmpeqd	%xmm4, %xmm1
	pandn	%xmm3, %xmm1
	por	%xmm0, %xmm1
	pshufd	$238, %xmm1, %xmm0              ## xmm0 = xmm1[2,3,2,3]
	por	%xmm1, %xmm0
	pshufd	$85, %xmm0, %xmm1               ## xmm1 = xmm0[1,1,1,1]
	por	%xmm0, %xmm1
	orl	%edx, %eax
	movd	%xmm1, %ecx
	orl	%ecx, %eax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_SUPPORTED_10baseT_Half,4,2     ## @SUPPORTED_10baseT_Half
	.comm	_MC_CMD_PHY_CAP_10HDX_LBN,4,2   ## @MC_CMD_PHY_CAP_10HDX_LBN
	.comm	_SUPPORTED_10baseT_Full,4,2     ## @SUPPORTED_10baseT_Full
	.comm	_MC_CMD_PHY_CAP_10FDX_LBN,4,2   ## @MC_CMD_PHY_CAP_10FDX_LBN
	.comm	_SUPPORTED_100baseT_Half,4,2    ## @SUPPORTED_100baseT_Half
	.comm	_MC_CMD_PHY_CAP_100HDX_LBN,4,2  ## @MC_CMD_PHY_CAP_100HDX_LBN
	.comm	_SUPPORTED_100baseT_Full,4,2    ## @SUPPORTED_100baseT_Full
	.comm	_MC_CMD_PHY_CAP_100FDX_LBN,4,2  ## @MC_CMD_PHY_CAP_100FDX_LBN
	.comm	_SUPPORTED_1000baseT_Half,4,2   ## @SUPPORTED_1000baseT_Half
	.comm	_MC_CMD_PHY_CAP_1000HDX_LBN,4,2 ## @MC_CMD_PHY_CAP_1000HDX_LBN
	.comm	_SUPPORTED_1000baseT_Full,4,2   ## @SUPPORTED_1000baseT_Full
	.comm	_SUPPORTED_1000baseKX_Full,4,2  ## @SUPPORTED_1000baseKX_Full
	.comm	_MC_CMD_PHY_CAP_1000FDX_LBN,4,2 ## @MC_CMD_PHY_CAP_1000FDX_LBN
	.comm	_SUPPORTED_10000baseT_Full,4,2  ## @SUPPORTED_10000baseT_Full
	.comm	_SUPPORTED_10000baseKX4_Full,4,2 ## @SUPPORTED_10000baseKX4_Full
	.comm	_MC_CMD_PHY_CAP_10000FDX_LBN,4,2 ## @MC_CMD_PHY_CAP_10000FDX_LBN
	.comm	_SUPPORTED_Pause,4,2            ## @SUPPORTED_Pause
	.comm	_MC_CMD_PHY_CAP_PAUSE_LBN,4,2   ## @MC_CMD_PHY_CAP_PAUSE_LBN
	.comm	_SUPPORTED_Asym_Pause,4,2       ## @SUPPORTED_Asym_Pause
	.comm	_MC_CMD_PHY_CAP_ASYM_LBN,4,2    ## @MC_CMD_PHY_CAP_ASYM_LBN
	.comm	_SUPPORTED_Autoneg,4,2          ## @SUPPORTED_Autoneg
	.comm	_MC_CMD_PHY_CAP_AN_LBN,4,2      ## @MC_CMD_PHY_CAP_AN_LBN
	.no_dead_strip	_ethtool_to_mcdi_cap
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function ethtool_to_mcdi_cap
_ethtool_to_mcdi_cap:                   ; @ethtool_to_mcdi_cap
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _SUPPORTED_10baseT_Half@GOTPAGE
Lloh1:
	ldr	x8, [x8, _SUPPORTED_10baseT_Half@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x8]
Lloh3:
	adrp	x8, _MC_CMD_PHY_CAP_10HDX_LBN@GOTPAGE
Lloh4:
	ldr	x8, [x8, _MC_CMD_PHY_CAP_10HDX_LBN@GOTPAGEOFF]
Lloh5:
	ldr	w10, [x8]
	mov	w8, #1
	lsl	w10, w8, w10
	tst	w9, w0
	csel	w9, wzr, w10, eq
Lloh6:
	adrp	x10, _SUPPORTED_10baseT_Full@GOTPAGE
Lloh7:
	ldr	x10, [x10, _SUPPORTED_10baseT_Full@GOTPAGEOFF]
Lloh8:
	ldr	w10, [x10]
Lloh9:
	adrp	x11, _MC_CMD_PHY_CAP_10FDX_LBN@GOTPAGE
Lloh10:
	ldr	x11, [x11, _MC_CMD_PHY_CAP_10FDX_LBN@GOTPAGEOFF]
Lloh11:
	ldr	w11, [x11]
	lsl	w11, w8, w11
	tst	w10, w0
	csel	w10, wzr, w11, eq
	orr	w9, w10, w9
Lloh12:
	adrp	x10, _SUPPORTED_100baseT_Half@GOTPAGE
Lloh13:
	ldr	x10, [x10, _SUPPORTED_100baseT_Half@GOTPAGEOFF]
Lloh14:
	ldr	w10, [x10]
Lloh15:
	adrp	x11, _MC_CMD_PHY_CAP_100HDX_LBN@GOTPAGE
Lloh16:
	ldr	x11, [x11, _MC_CMD_PHY_CAP_100HDX_LBN@GOTPAGEOFF]
Lloh17:
	ldr	w11, [x11]
	lsl	w11, w8, w11
	tst	w10, w0
	csel	w10, wzr, w11, eq
Lloh18:
	adrp	x11, _SUPPORTED_100baseT_Full@GOTPAGE
Lloh19:
	ldr	x11, [x11, _SUPPORTED_100baseT_Full@GOTPAGEOFF]
	orr	w9, w9, w10
Lloh20:
	ldr	w10, [x11]
Lloh21:
	adrp	x11, _MC_CMD_PHY_CAP_100FDX_LBN@GOTPAGE
Lloh22:
	ldr	x11, [x11, _MC_CMD_PHY_CAP_100FDX_LBN@GOTPAGEOFF]
Lloh23:
	ldr	w11, [x11]
	lsl	w11, w8, w11
	tst	w10, w0
	csel	w10, wzr, w11, eq
	orr	w9, w9, w10
Lloh24:
	adrp	x10, _SUPPORTED_1000baseT_Half@GOTPAGE
Lloh25:
	ldr	x10, [x10, _SUPPORTED_1000baseT_Half@GOTPAGEOFF]
Lloh26:
	ldr	w10, [x10]
Lloh27:
	adrp	x11, _MC_CMD_PHY_CAP_1000HDX_LBN@GOTPAGE
Lloh28:
	ldr	x11, [x11, _MC_CMD_PHY_CAP_1000HDX_LBN@GOTPAGEOFF]
Lloh29:
	ldr	w11, [x11]
	lsl	w11, w8, w11
	tst	w10, w0
	csel	w10, wzr, w11, eq
	orr	w9, w9, w10
Lloh30:
	adrp	x10, _SUPPORTED_1000baseT_Full@GOTPAGE
Lloh31:
	ldr	x10, [x10, _SUPPORTED_1000baseT_Full@GOTPAGEOFF]
Lloh32:
	ldr	w10, [x10]
Lloh33:
	adrp	x11, _SUPPORTED_1000baseKX_Full@GOTPAGE
Lloh34:
	ldr	x11, [x11, _SUPPORTED_1000baseKX_Full@GOTPAGEOFF]
Lloh35:
	ldr	w11, [x11]
	orr	w10, w11, w10
Lloh36:
	adrp	x11, _MC_CMD_PHY_CAP_1000FDX_LBN@GOTPAGE
Lloh37:
	ldr	x11, [x11, _MC_CMD_PHY_CAP_1000FDX_LBN@GOTPAGEOFF]
Lloh38:
	ldr	w11, [x11]
	lsl	w11, w8, w11
	tst	w10, w0
	csel	w10, wzr, w11, eq
	orr	w9, w9, w10
Lloh39:
	adrp	x10, _SUPPORTED_10000baseT_Full@GOTPAGE
Lloh40:
	ldr	x10, [x10, _SUPPORTED_10000baseT_Full@GOTPAGEOFF]
Lloh41:
	ldr	w10, [x10]
Lloh42:
	adrp	x11, _SUPPORTED_10000baseKX4_Full@GOTPAGE
Lloh43:
	ldr	x11, [x11, _SUPPORTED_10000baseKX4_Full@GOTPAGEOFF]
Lloh44:
	ldr	w11, [x11]
	orr	w10, w11, w10
Lloh45:
	adrp	x11, _MC_CMD_PHY_CAP_10000FDX_LBN@GOTPAGE
Lloh46:
	ldr	x11, [x11, _MC_CMD_PHY_CAP_10000FDX_LBN@GOTPAGEOFF]
Lloh47:
	ldr	w11, [x11]
	lsl	w11, w8, w11
	tst	w10, w0
	csel	w10, wzr, w11, eq
Lloh48:
	adrp	x11, _SUPPORTED_Pause@GOTPAGE
Lloh49:
	ldr	x11, [x11, _SUPPORTED_Pause@GOTPAGEOFF]
	orr	w9, w9, w10
Lloh50:
	ldr	w10, [x11]
Lloh51:
	adrp	x11, _MC_CMD_PHY_CAP_PAUSE_LBN@GOTPAGE
Lloh52:
	ldr	x11, [x11, _MC_CMD_PHY_CAP_PAUSE_LBN@GOTPAGEOFF]
Lloh53:
	ldr	w11, [x11]
	lsl	w11, w8, w11
	tst	w10, w0
	csel	w10, wzr, w11, eq
	orr	w9, w9, w10
Lloh54:
	adrp	x10, _SUPPORTED_Asym_Pause@GOTPAGE
Lloh55:
	ldr	x10, [x10, _SUPPORTED_Asym_Pause@GOTPAGEOFF]
Lloh56:
	ldr	w10, [x10]
Lloh57:
	adrp	x11, _MC_CMD_PHY_CAP_ASYM_LBN@GOTPAGE
Lloh58:
	ldr	x11, [x11, _MC_CMD_PHY_CAP_ASYM_LBN@GOTPAGEOFF]
Lloh59:
	ldr	w11, [x11]
	lsl	w11, w8, w11
	tst	w10, w0
	csel	w10, wzr, w11, eq
	orr	w9, w9, w10
Lloh60:
	adrp	x10, _SUPPORTED_Autoneg@GOTPAGE
Lloh61:
	ldr	x10, [x10, _SUPPORTED_Autoneg@GOTPAGEOFF]
Lloh62:
	ldr	w10, [x10]
Lloh63:
	adrp	x11, _MC_CMD_PHY_CAP_AN_LBN@GOTPAGE
Lloh64:
	ldr	x11, [x11, _MC_CMD_PHY_CAP_AN_LBN@GOTPAGEOFF]
Lloh65:
	ldr	w11, [x11]
	lsl	w8, w8, w11
	tst	w10, w0
	csel	w8, wzr, w8, eq
	orr	w0, w9, w8
	ret
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh45, Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_SUPPORTED_10baseT_Half,4,2     ; @SUPPORTED_10baseT_Half
	.comm	_MC_CMD_PHY_CAP_10HDX_LBN,4,2   ; @MC_CMD_PHY_CAP_10HDX_LBN
	.comm	_SUPPORTED_10baseT_Full,4,2     ; @SUPPORTED_10baseT_Full
	.comm	_MC_CMD_PHY_CAP_10FDX_LBN,4,2   ; @MC_CMD_PHY_CAP_10FDX_LBN
	.comm	_SUPPORTED_100baseT_Half,4,2    ; @SUPPORTED_100baseT_Half
	.comm	_MC_CMD_PHY_CAP_100HDX_LBN,4,2  ; @MC_CMD_PHY_CAP_100HDX_LBN
	.comm	_SUPPORTED_100baseT_Full,4,2    ; @SUPPORTED_100baseT_Full
	.comm	_MC_CMD_PHY_CAP_100FDX_LBN,4,2  ; @MC_CMD_PHY_CAP_100FDX_LBN
	.comm	_SUPPORTED_1000baseT_Half,4,2   ; @SUPPORTED_1000baseT_Half
	.comm	_MC_CMD_PHY_CAP_1000HDX_LBN,4,2 ; @MC_CMD_PHY_CAP_1000HDX_LBN
	.comm	_SUPPORTED_1000baseT_Full,4,2   ; @SUPPORTED_1000baseT_Full
	.comm	_SUPPORTED_1000baseKX_Full,4,2  ; @SUPPORTED_1000baseKX_Full
	.comm	_MC_CMD_PHY_CAP_1000FDX_LBN,4,2 ; @MC_CMD_PHY_CAP_1000FDX_LBN
	.comm	_SUPPORTED_10000baseT_Full,4,2  ; @SUPPORTED_10000baseT_Full
	.comm	_SUPPORTED_10000baseKX4_Full,4,2 ; @SUPPORTED_10000baseKX4_Full
	.comm	_MC_CMD_PHY_CAP_10000FDX_LBN,4,2 ; @MC_CMD_PHY_CAP_10000FDX_LBN
	.comm	_SUPPORTED_Pause,4,2            ; @SUPPORTED_Pause
	.comm	_MC_CMD_PHY_CAP_PAUSE_LBN,4,2   ; @MC_CMD_PHY_CAP_PAUSE_LBN
	.comm	_SUPPORTED_Asym_Pause,4,2       ; @SUPPORTED_Asym_Pause
	.comm	_MC_CMD_PHY_CAP_ASYM_LBN,4,2    ; @MC_CMD_PHY_CAP_ASYM_LBN
	.comm	_SUPPORTED_Autoneg,4,2          ; @SUPPORTED_Autoneg
	.comm	_MC_CMD_PHY_CAP_AN_LBN,4,2      ; @MC_CMD_PHY_CAP_AN_LBN
	.no_dead_strip	_ethtool_to_mcdi_cap
.subsections_via_symbols
