	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_e1000e_get_speed_and_duplex_copper ## -- Begin function e1000e_get_speed_and_duplex_copper
	.p2align	4, 0x90
_e1000e_get_speed_and_duplex_copper:    ## @e1000e_get_speed_and_duplex_copper
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rdx, %r14
	movq	%rsi, %rbx
	movq	_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_er32
	movq	_E1000_STATUS_SPEED_1000@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	andl	%eax, %edx
	movq	_E1000_STATUS_SPEED_100@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	movq	_SPEED_100@GOTPCREL(%rip), %r8
	movq	%r8, %rsi
	andl	%eax, %edi
	jne	LBB0_2
## %bb.1:
	movq	_SPEED_10@GOTPCREL(%rip), %rsi
LBB0_2:
	testl	%edx, %edx
	movq	_SPEED_1000@GOTPCREL(%rip), %rdx
	cmovneq	%rdx, %rsi
	movq	(%rsi), %rsi
	movq	%rsi, (%rbx)
	movq	_E1000_STATUS_FD@GOTPCREL(%rip), %rcx
	movq	_FULL_DUPLEX@GOTPCREL(%rip), %rdi
	movq	%rdi, %rsi
	andl	(%rcx), %eax
	jne	LBB0_4
## %bb.3:
	movq	_HALF_DUPLEX@GOTPCREL(%rip), %rsi
LBB0_4:
	movq	(%rsi), %rax
	movq	%rax, (%r14)
	movq	(%rbx), %rcx
	cmpq	(%r8), %rcx
	movl	$100, %esi
	movl	$10, %ebx
	cmovel	%esi, %ebx
	cmpq	(%rdx), %rcx
	movl	$1000, %esi                     ## imm = 0x3E8
	cmovnel	%ebx, %esi
	cmpq	(%rdi), %rax
	leaq	L_.str.1(%rip), %rax
	leaq	L_.str.2(%rip), %rdx
	cmoveq	%rax, %rdx
	leaq	L_.str(%rip), %rdi
	callq	_e_dbg
	xorl	%eax, %eax
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_STATUS,4,2                     ## @STATUS
	.comm	_E1000_STATUS_SPEED_1000,4,2    ## @E1000_STATUS_SPEED_1000
	.comm	_SPEED_1000,8,3                 ## @SPEED_1000
	.comm	_E1000_STATUS_SPEED_100,4,2     ## @E1000_STATUS_SPEED_100
	.comm	_SPEED_100,8,3                  ## @SPEED_100
	.comm	_SPEED_10,8,3                   ## @SPEED_10
	.comm	_E1000_STATUS_FD,4,2            ## @E1000_STATUS_FD
	.comm	_FULL_DUPLEX,8,3                ## @FULL_DUPLEX
	.comm	_HALF_DUPLEX,8,3                ## @HALF_DUPLEX
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"%u Mbps, %s Duplex\n"

L_.str.1:                               ## @.str.1
	.asciz	"Full"

L_.str.2:                               ## @.str.2
	.asciz	"Half"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_e1000e_get_speed_and_duplex_copper ; -- Begin function e1000e_get_speed_and_duplex_copper
	.p2align	2
_e1000e_get_speed_and_duplex_copper:    ; @e1000e_get_speed_and_duplex_copper
	.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, x2
	mov	x20, x1
Lloh0:
	adrp	x8, _STATUS@GOTPAGE
Lloh1:
	ldr	x8, [x8, _STATUS@GOTPAGEOFF]
Lloh2:
	ldr	w0, [x8]
	bl	_er32
Lloh3:
	adrp	x8, _E1000_STATUS_SPEED_1000@GOTPAGE
Lloh4:
	ldr	x8, [x8, _E1000_STATUS_SPEED_1000@GOTPAGEOFF]
Lloh5:
	adrp	x9, _E1000_STATUS_SPEED_100@GOTPAGE
Lloh6:
	ldr	x9, [x9, _E1000_STATUS_SPEED_100@GOTPAGEOFF]
Lloh7:
	ldr	w8, [x8]
Lloh8:
	ldr	w9, [x9]
Lloh9:
	adrp	x10, _SPEED_10@GOTPAGE
Lloh10:
	ldr	x10, [x10, _SPEED_10@GOTPAGEOFF]
Lloh11:
	adrp	x11, _SPEED_100@GOTPAGE
Lloh12:
	ldr	x11, [x11, _SPEED_100@GOTPAGEOFF]
	tst	w9, w0
	csel	x9, x10, x11, eq
Lloh13:
	adrp	x10, _SPEED_1000@GOTPAGE
Lloh14:
	ldr	x10, [x10, _SPEED_1000@GOTPAGEOFF]
	tst	w8, w0
	csel	x8, x9, x10, eq
	ldr	x8, [x8]
	str	x8, [x20]
Lloh15:
	adrp	x8, _E1000_STATUS_FD@GOTPAGE
Lloh16:
	ldr	x8, [x8, _E1000_STATUS_FD@GOTPAGEOFF]
Lloh17:
	adrp	x9, _HALF_DUPLEX@GOTPAGE
Lloh18:
	ldr	x9, [x9, _HALF_DUPLEX@GOTPAGEOFF]
Lloh19:
	ldr	w8, [x8]
Lloh20:
	adrp	x12, _FULL_DUPLEX@GOTPAGE
Lloh21:
	ldr	x12, [x12, _FULL_DUPLEX@GOTPAGEOFF]
	tst	w8, w0
	csel	x8, x9, x12, eq
	ldr	x8, [x8]
	str	x8, [x19]
	ldr	x9, [x20]
	ldr	x10, [x10]
	ldr	x11, [x11]
	cmp	x9, x11
	mov	w11, #10
	mov	w13, #100
	csel	w11, w13, w11, eq
	cmp	x9, x10
	mov	w9, #1000
	csel	w1, w9, w11, eq
	ldr	x9, [x12]
Lloh22:
	adrp	x10, l_.str.2@PAGE
Lloh23:
	add	x10, x10, l_.str.2@PAGEOFF
Lloh24:
	adrp	x11, l_.str.1@PAGE
Lloh25:
	add	x11, x11, l_.str.1@PAGEOFF
	cmp	x8, x9
	csel	x2, x11, x10, eq
Lloh26:
	adrp	x0, l_.str@PAGE
Lloh27:
	add	x0, x0, l_.str@PAGEOFF
	bl	_e_dbg
	mov	w0, #0
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpAdd	Lloh26, Lloh27
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh19
	.loh AdrpLdrGot	Lloh13, Lloh14
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh7
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_STATUS,4,2                     ; @STATUS
	.comm	_E1000_STATUS_SPEED_1000,4,2    ; @E1000_STATUS_SPEED_1000
	.comm	_SPEED_1000,8,3                 ; @SPEED_1000
	.comm	_E1000_STATUS_SPEED_100,4,2     ; @E1000_STATUS_SPEED_100
	.comm	_SPEED_100,8,3                  ; @SPEED_100
	.comm	_SPEED_10,8,3                   ; @SPEED_10
	.comm	_E1000_STATUS_FD,4,2            ; @E1000_STATUS_FD
	.comm	_FULL_DUPLEX,8,3                ; @FULL_DUPLEX
	.comm	_HALF_DUPLEX,8,3                ; @HALF_DUPLEX
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"%u Mbps, %s Duplex\n"

l_.str.1:                               ; @.str.1
	.asciz	"Full"

l_.str.2:                               ; @.str.2
	.asciz	"Half"

.subsections_via_symbols
