	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function si_get_maximum_link_speed
LCPI0_0:
	.quad	2147483648                      ## 0x80000000
	.quad	2147483648                      ## 0x80000000
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_si_get_maximum_link_speed:             ## @si_get_maximum_link_speed
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	%rsi, %rdi
	callq	_ni_get_ps
	movl	(%rax), %ecx
	testl	%ecx, %ecx
	jle	LBB0_3
## %bb.1:
	movq	8(%rax), %rdx
	cmpl	$4, %ecx
	jae	LBB0_4
## %bb.2:
	xorl	%esi, %esi
	xorl	%eax, %eax
	jmp	LBB0_10
LBB0_3:
	xorl	%eax, %eax
	jmp	LBB0_11
LBB0_4:
	movl	%ecx, %esi
	andl	$-4, %esi
	leaq	-4(%rsi), %rax
	movq	%rax, %r8
	shrq	$2, %r8
	incq	%r8
	testq	%rax, %rax
	je	LBB0_12
## %bb.5:
	movq	%r8, %rax
	andq	$-2, %rax
	pxor	%xmm6, %xmm6
	xorl	%edi, %edi
	movdqa	LCPI0_0(%rip), %xmm8            ## xmm8 = [2147483648,2147483648]
	pxor	%xmm5, %xmm5
	.p2align	4, 0x90
LBB0_6:                                 ## =>This Inner Loop Header: Depth=1
	movdqa	%xmm6, %xmm7
	pxor	%xmm8, %xmm7
	movdqu	(%rdx,%rdi,8), %xmm2
	movdqu	16(%rdx,%rdi,8), %xmm4
	movdqu	32(%rdx,%rdi,8), %xmm1
	movdqa	%xmm2, %xmm0
	pxor	%xmm8, %xmm0
	movdqa	%xmm7, %xmm3
	pcmpeqd	%xmm0, %xmm3
	pcmpgtd	%xmm0, %xmm7
	pshufd	$160, %xmm7, %xmm0              ## xmm0 = xmm7[0,0,2,2]
	pand	%xmm3, %xmm0
	por	%xmm7, %xmm0
	blendvpd	%xmm0, %xmm6, %xmm2
	movdqa	%xmm5, %xmm3
	pxor	%xmm8, %xmm3
	movdqa	%xmm4, %xmm0
	pxor	%xmm8, %xmm0
	movdqa	%xmm3, %xmm6
	pcmpeqd	%xmm0, %xmm6
	pcmpgtd	%xmm0, %xmm3
	pshufd	$160, %xmm3, %xmm0              ## xmm0 = xmm3[0,0,2,2]
	pand	%xmm6, %xmm0
	por	%xmm3, %xmm0
	blendvpd	%xmm0, %xmm5, %xmm4
	movapd	%xmm2, %xmm3
	xorpd	%xmm8, %xmm3
	movdqa	%xmm1, %xmm0
	pxor	%xmm8, %xmm0
	movapd	%xmm3, %xmm5
	pcmpeqd	%xmm0, %xmm5
	pcmpgtd	%xmm0, %xmm3
	pshufd	$160, %xmm3, %xmm0              ## xmm0 = xmm3[0,0,2,2]
	pand	%xmm5, %xmm0
	por	%xmm3, %xmm0
	blendvpd	%xmm0, %xmm2, %xmm1
	movdqu	48(%rdx,%rdi,8), %xmm2
	movapd	%xmm4, %xmm3
	xorpd	%xmm8, %xmm3
	movdqa	%xmm2, %xmm0
	pxor	%xmm8, %xmm0
	movapd	%xmm3, %xmm5
	pcmpeqd	%xmm0, %xmm5
	pcmpgtd	%xmm0, %xmm3
	pshufd	$160, %xmm3, %xmm0              ## xmm0 = xmm3[0,0,2,2]
	pand	%xmm5, %xmm0
	por	%xmm3, %xmm0
	blendvpd	%xmm0, %xmm4, %xmm2
	addq	$8, %rdi
	movapd	%xmm1, %xmm6
	movapd	%xmm2, %xmm5
	addq	$-2, %rax
	jne	LBB0_6
## %bb.7:
	testb	$1, %r8b
	je	LBB0_9
LBB0_8:
	movupd	(%rdx,%rdi,8), %xmm3
	movupd	16(%rdx,%rdi,8), %xmm4
	movapd	LCPI0_0(%rip), %xmm5            ## xmm5 = [2147483648,2147483648]
	movapd	%xmm1, %xmm6
	xorpd	%xmm5, %xmm6
	movapd	%xmm3, %xmm0
	xorpd	%xmm5, %xmm0
	movapd	%xmm6, %xmm7
	pcmpeqd	%xmm0, %xmm7
	pcmpgtd	%xmm0, %xmm6
	pshufd	$160, %xmm6, %xmm0              ## xmm0 = xmm6[0,0,2,2]
	pand	%xmm7, %xmm0
	por	%xmm6, %xmm0
	blendvpd	%xmm0, %xmm1, %xmm3
	movapd	%xmm2, %xmm1
	xorpd	%xmm5, %xmm1
	xorpd	%xmm4, %xmm5
	movapd	%xmm1, %xmm6
	pcmpeqd	%xmm5, %xmm6
	pcmpgtd	%xmm5, %xmm1
	pshufd	$160, %xmm1, %xmm0              ## xmm0 = xmm1[0,0,2,2]
	pand	%xmm6, %xmm0
	por	%xmm1, %xmm0
	blendvpd	%xmm0, %xmm2, %xmm4
	movapd	%xmm3, %xmm1
	movapd	%xmm4, %xmm2
LBB0_9:
	movapd	LCPI0_0(%rip), %xmm3            ## xmm3 = [2147483648,2147483648]
	movapd	%xmm2, %xmm0
	xorpd	%xmm3, %xmm0
	movapd	%xmm1, %xmm4
	xorpd	%xmm3, %xmm4
	movapd	%xmm4, %xmm5
	pcmpeqd	%xmm0, %xmm5
	pcmpgtd	%xmm0, %xmm4
	pshufd	$160, %xmm4, %xmm0              ## xmm0 = xmm4[0,0,2,2]
	pand	%xmm5, %xmm0
	por	%xmm4, %xmm0
	blendvpd	%xmm0, %xmm1, %xmm2
	pshufd	$238, %xmm2, %xmm1              ## xmm1 = xmm2[2,3,2,3]
	movapd	%xmm2, %xmm4
	xorpd	%xmm3, %xmm4
	xorpd	%xmm1, %xmm3
	movapd	%xmm4, %xmm5
	pcmpeqd	%xmm3, %xmm5
	pcmpgtd	%xmm3, %xmm4
	pshufd	$160, %xmm4, %xmm0              ## xmm0 = xmm4[0,0,2,2]
	pand	%xmm5, %xmm0
	por	%xmm4, %xmm0
	blendvpd	%xmm0, %xmm2, %xmm1
	movq	%xmm1, %rax
	cmpq	%rcx, %rsi
	je	LBB0_11
	.p2align	4, 0x90
LBB0_10:                                ## =>This Inner Loop Header: Depth=1
	movq	(%rdx,%rsi,8), %rdi
	cmpq	%rdi, %rax
	cmovleq	%rdi, %rax
	incq	%rsi
	cmpq	%rsi, %rcx
	jne	LBB0_10
LBB0_11:
                                        ## kill: def $eax killed $eax killed $rax
	popq	%rbp
	retq
LBB0_12:
	xorpd	%xmm1, %xmm1
	xorl	%edi, %edi
	xorpd	%xmm2, %xmm2
	testb	$1, %r8b
	jne	LBB0_8
	jmp	LBB0_9
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_si_get_maximum_link_speed
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function si_get_maximum_link_speed
_si_get_maximum_link_speed:             ; @si_get_maximum_link_speed
	.cfi_startproc
; %bb.0:
	stp	x29, x30, [sp, #-16]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	mov	x29, sp
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	mov	x0, x1
	bl	_ni_get_ps
	ldr	w8, [x0]
	cmp	w8, #1
	b.lt	LBB0_3
; %bb.1:
	ldr	x9, [x0, #8]
	cmp	w8, #8
	b.hs	LBB0_4
; %bb.2:
	mov	x10, #0
	mov	x0, #0
	b	LBB0_7
LBB0_3:
	mov	w0, #0
	b	LBB0_9
LBB0_4:
	and	x10, x8, #0xfffffff8
	add	x11, x9, #32
	movi.2d	v0, #0000000000000000
	mov	x12, x10
	movi.2d	v3, #0000000000000000
	movi.2d	v2, #0000000000000000
	movi.2d	v1, #0000000000000000
LBB0_5:                                 ; =>This Inner Loop Header: Depth=1
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	cmgt.2d	v16, v0, v4
	bif.16b	v0, v4, v16
	cmgt.2d	v4, v3, v5
	bif.16b	v3, v5, v4
	cmgt.2d	v4, v2, v6
	bif.16b	v2, v6, v4
	cmgt.2d	v4, v1, v7
	bif.16b	v1, v7, v4
	subs	x12, x12, #8
	b.ne	LBB0_5
; %bb.6:
	cmgt.2d	v4, v0, v3
	bif.16b	v0, v3, v4
	cmgt.2d	v3, v0, v2
	bif.16b	v0, v2, v3
	cmgt.2d	v2, v0, v1
	bif.16b	v0, v1, v2
	ext.16b	v1, v0, v0, #8
	cmgt	d2, d0, d1
	bif.8b	v0, v1, v2
	fmov	x0, d0
	cmp	x10, x8
	b.eq	LBB0_9
LBB0_7:
	add	x9, x9, x10, lsl #3
	sub	x8, x8, x10
LBB0_8:                                 ; =>This Inner Loop Header: Depth=1
	ldr	x10, [x9], #8
	cmp	x0, x10
	csel	x0, x0, x10, gt
	subs	x8, x8, #1
	b.ne	LBB0_8
LBB0_9:
                                        ; kill: def $w0 killed $w0 killed $x0
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_si_get_maximum_link_speed
.subsections_via_symbols
