	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function axienet_recv
_axienet_recv:                          ## @axienet_recv
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$40, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r15
	callq	_netdev_priv
	movq	%rax, %r14
	movq	(%rax), %rax
	movq	16(%r14), %r12
	movq	%rax, %rcx
	shlq	$5, %rcx
	movq	_XAXIDMA_BD_STS_COMPLETE_MASK@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	testl	%edx, (%r12,%rcx)
	je	LBB0_1
## %bb.2:
	addq	%rcx, %r12
	movl	24(%r14), %edx
	movq	_DMA_FROM_DEVICE@GOTPCREL(%rip), %r13
	movl	$0, -48(%rbp)                   ## 4-byte Folded Spill
	movl	$0, -44(%rbp)                   ## 4-byte Folded Spill
	movq	%r15, -72(%rbp)                 ## 8-byte Spill
	.p2align	4, 0x90
LBB0_3:                                 ## =>This Inner Loop Header: Depth=1
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movq	32(%r14), %rax
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
	movl	8(%r15), %edi
	movl	28(%r12), %esi
	movl	(%r13), %ecx
	callq	_dma_unmap_single
	movq	16(%r12), %rbx
	movq	$0, 16(%r12)
	movzwl	4(%r12), %r13d
	movq	%rbx, %rdi
	movl	%r13d, %esi
	callq	_skb_put
	movq	%rbx, %rdi
	movq	%r15, %rsi
	callq	_eth_type_trans
	movq	%rax, %r15
	movq	%rax, (%rbx)
	movq	_CHECKSUM_NONE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 16(%rbx)
	movl	8(%r14), %eax
	movq	_XAE_FEATURE_FULL_RX_CSUM@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_6
## %bb.4:                               ##   in Loop: Header=BB0_3 Depth=1
	movq	_XAE_FULL_CSUM_STATUS_MASK@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	8(%r12), %eax
	sarl	$3, %eax
	movq	_CHECKSUM_UNNECESSARY@GOTPCREL(%rip), %rcx
	movq	_XAE_IP_TCP_CSUM_VALIDATED@GOTPCREL(%rip), %rdx
	cmpl	(%rdx), %eax
	je	LBB0_10
## %bb.5:                               ##   in Loop: Header=BB0_3 Depth=1
	movq	_CHECKSUM_UNNECESSARY@GOTPCREL(%rip), %rcx
	movq	_XAE_IP_UDP_CSUM_VALIDATED@GOTPCREL(%rip), %rdx
	cmpl	(%rdx), %eax
	jne	LBB0_11
	jmp	LBB0_10
	.p2align	4, 0x90
LBB0_6:                                 ##   in Loop: Header=BB0_3 Depth=1
	movq	_XAE_FEATURE_PARTIAL_RX_CSUM@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_11
## %bb.7:                               ##   in Loop: Header=BB0_3 Depth=1
	movq	_ETH_P_IP@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_htons
	cmpq	%rax, %r15
	jne	LBB0_11
## %bb.8:                               ##   in Loop: Header=BB0_3 Depth=1
	cmpl	$65, 8(%rbx)
	jl	LBB0_11
## %bb.9:                               ##   in Loop: Header=BB0_3 Depth=1
	movzwl	12(%r12), %edi
	callq	_be32_to_cpu
	movl	%eax, 20(%rbx)
	movq	_CHECKSUM_COMPLETE@GOTPCREL(%rip), %rcx
	.p2align	4, 0x90
LBB0_10:                                ##   in Loop: Header=BB0_3 Depth=1
	movl	(%rcx), %eax
	movl	%eax, 16(%rbx)
LBB0_11:                                ##   in Loop: Header=BB0_3 Depth=1
	movq	%rbx, %rdi
	callq	_netif_rx
	movl	24(%r14), %esi
	movq	-72(%rbp), %r15                 ## 8-byte Reload
	movq	%r15, %rdi
	callq	_netdev_alloc_skb_ip_align
	testq	%rax, %rax
	je	LBB0_15
## %bb.12:                              ##   in Loop: Header=BB0_3 Depth=1
	movq	%rax, %rbx
	incl	-44(%rbp)                       ## 4-byte Folded Spill
	addl	%r13d, -48(%rbp)                ## 4-byte Folded Spill
	movl	8(%r15), %edi
	movl	12(%rax), %esi
	movl	24(%r14), %edx
	movq	_DMA_FROM_DEVICE@GOTPCREL(%rip), %r13
	movl	(%r13), %ecx
	callq	_dma_map_single
	movl	%eax, 28(%r12)
	movl	24(%r14), %edx
	movl	%edx, 24(%r12)
	movl	$0, (%r12)
	movq	%rbx, 16(%r12)
	movq	(%r14), %rax
	movq	16(%r14), %rcx
	incq	%rax
	movslq	12(%r14), %rsi
	cmpq	%rsi, %rax
	movl	$0, %esi
	cmovaeq	%rsi, %rax
	movq	%rax, (%r14)
	movq	%rax, %rsi
	shlq	$5, %rsi
	leaq	(%rcx,%rsi), %r12
	movq	_XAXIDMA_BD_STS_COMPLETE_MASK@GOTPCREL(%rip), %rdi
	movl	(%rdi), %edi
	testl	%edi, (%rcx,%rsi)
	jne	LBB0_3
## %bb.13:
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	shlq	$5, %rax
	addq	-56(%rbp), %rax                 ## 8-byte Folded Reload
	movl	-48(%rbp), %ecx                 ## 4-byte Reload
	movl	-44(%rbp), %edx                 ## 4-byte Reload
	jmp	LBB0_14
LBB0_1:
	xorl	%eax, %eax
	xorl	%edx, %edx
	xorl	%ecx, %ecx
LBB0_14:
	addl	%edx, 4(%r15)
	addl	%ecx, (%r15)
	testq	%rax, %rax
	je	LBB0_15
## %bb.16:
	movq	%rax, %rdx
	movq	_XAXIDMA_RX_TDESC_OFFSET@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r14, %rdi
	addq	$40, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_axienet_dma_out32              ## TAILCALL
LBB0_15:
	addq	$40, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_XAXIDMA_BD_STS_COMPLETE_MASK,4,2 ## @XAXIDMA_BD_STS_COMPLETE_MASK
	.comm	_DMA_FROM_DEVICE,4,2            ## @DMA_FROM_DEVICE
	.comm	_CHECKSUM_NONE,4,2              ## @CHECKSUM_NONE
	.comm	_XAE_FEATURE_FULL_RX_CSUM,4,2   ## @XAE_FEATURE_FULL_RX_CSUM
	.comm	_XAE_FULL_CSUM_STATUS_MASK,4,2  ## @XAE_FULL_CSUM_STATUS_MASK
	.comm	_XAE_IP_TCP_CSUM_VALIDATED,4,2  ## @XAE_IP_TCP_CSUM_VALIDATED
	.comm	_XAE_IP_UDP_CSUM_VALIDATED,4,2  ## @XAE_IP_UDP_CSUM_VALIDATED
	.comm	_CHECKSUM_UNNECESSARY,4,2       ## @CHECKSUM_UNNECESSARY
	.comm	_XAE_FEATURE_PARTIAL_RX_CSUM,4,2 ## @XAE_FEATURE_PARTIAL_RX_CSUM
	.comm	_ETH_P_IP,4,2                   ## @ETH_P_IP
	.comm	_CHECKSUM_COMPLETE,4,2          ## @CHECKSUM_COMPLETE
	.comm	_XAXIDMA_RX_TDESC_OFFSET,4,2    ## @XAXIDMA_RX_TDESC_OFFSET
	.no_dead_strip	_axienet_recv
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function axienet_recv
_axienet_recv:                          ; @axienet_recv
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #112
	.cfi_def_cfa_offset 112
	stp	x28, x27, [sp, #16]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #32]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #48]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #64]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #80]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #96]             ; 16-byte Folded Spill
	add	x29, sp, #96
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x20, x0
	bl	_netdev_priv
	mov	x19, x0
	ldr	x9, [x0, #16]
	ldr	x8, [x0]
	add	x25, x9, x8, lsl #5
	ldr	w9, [x25]
Lloh0:
	adrp	x24, _XAXIDMA_BD_STS_COMPLETE_MASK@GOTPAGE
Lloh1:
	ldr	x24, [x24, _XAXIDMA_BD_STS_COMPLETE_MASK@GOTPAGEOFF]
	ldr	w10, [x24]
	tst	w10, w9
	b.eq	LBB0_12
; %bb.1:
	movi.2d	v0, #0000000000000000
	str	q0, [sp]                        ; 16-byte Folded Spill
	ldr	w2, [x19, #24]
Lloh2:
	adrp	x26, _DMA_FROM_DEVICE@GOTPAGE
Lloh3:
	ldr	x26, [x26, _DMA_FROM_DEVICE@GOTPAGEOFF]
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	mov	x27, x8
	ldr	x28, [x19, #32]
	ldr	w0, [x20, #8]
	ldr	w1, [x25, #28]
	ldr	w3, [x26]
	bl	_dma_unmap_single
	ldr	x22, [x25, #16]
	str	xzr, [x25, #16]
	ldrh	w21, [x25, #4]
	mov	x0, x22
	mov	x1, x21
	bl	_skb_put
	mov	x0, x22
	mov	x1, x20
	bl	_eth_type_trans
	str	x0, [x22]
Lloh4:
	adrp	x8, _CHECKSUM_NONE@GOTPAGE
Lloh5:
	ldr	x8, [x8, _CHECKSUM_NONE@GOTPAGEOFF]
Lloh6:
	ldr	w8, [x8]
	str	w8, [x22, #16]
	ldr	w8, [x19, #8]
Lloh7:
	adrp	x9, _XAE_FEATURE_FULL_RX_CSUM@GOTPAGE
Lloh8:
	ldr	x9, [x9, _XAE_FEATURE_FULL_RX_CSUM@GOTPAGEOFF]
Lloh9:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_5
; %bb.3:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w8, [x25, #8]
Lloh10:
	adrp	x9, _XAE_FULL_CSUM_STATUS_MASK@GOTPAGE
Lloh11:
	ldr	x9, [x9, _XAE_FULL_CSUM_STATUS_MASK@GOTPAGEOFF]
Lloh12:
	ldr	w9, [x9]
	and	w8, w9, w8
	asr	w8, w8, #3
Lloh13:
	adrp	x9, _XAE_IP_TCP_CSUM_VALIDATED@GOTPAGE
Lloh14:
	ldr	x9, [x9, _XAE_IP_TCP_CSUM_VALIDATED@GOTPAGEOFF]
Lloh15:
	ldr	w9, [x9]
Lloh16:
	adrp	x10, _XAE_IP_UDP_CSUM_VALIDATED@GOTPAGE
Lloh17:
	ldr	x10, [x10, _XAE_IP_UDP_CSUM_VALIDATED@GOTPAGEOFF]
Lloh18:
	ldr	w10, [x10]
	cmp	w8, w9
	ccmp	w8, w10, #4, ne
Lloh19:
	adrp	x8, _CHECKSUM_UNNECESSARY@GOTPAGE
Lloh20:
	ldr	x8, [x8, _CHECKSUM_UNNECESSARY@GOTPAGEOFF]
	b.ne	LBB0_9
LBB0_4:                                 ;   in Loop: Header=BB0_2 Depth=1
	ldr	w8, [x8]
	str	w8, [x22, #16]
	b	LBB0_9
LBB0_5:                                 ;   in Loop: Header=BB0_2 Depth=1
Lloh21:
	adrp	x9, _XAE_FEATURE_PARTIAL_RX_CSUM@GOTPAGE
Lloh22:
	ldr	x9, [x9, _XAE_FEATURE_PARTIAL_RX_CSUM@GOTPAGEOFF]
Lloh23:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_9
; %bb.6:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x23, x0
Lloh24:
	adrp	x8, _ETH_P_IP@GOTPAGE
Lloh25:
	ldr	x8, [x8, _ETH_P_IP@GOTPAGEOFF]
Lloh26:
	ldr	w0, [x8]
	bl	_htons
	cmp	x23, x0
	b.ne	LBB0_9
; %bb.7:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w8, [x22, #8]
	cmp	w8, #65
	b.lt	LBB0_9
; %bb.8:                                ;   in Loop: Header=BB0_2 Depth=1
	ldrh	w0, [x25, #12]
	bl	_be32_to_cpu
	str	w0, [x22, #20]
Lloh27:
	adrp	x8, _CHECKSUM_COMPLETE@GOTPAGE
Lloh28:
	ldr	x8, [x8, _CHECKSUM_COMPLETE@GOTPAGEOFF]
	b	LBB0_4
LBB0_9:                                 ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x22
	bl	_netif_rx
	ldr	w1, [x19, #24]
	mov	x0, x20
	bl	_netdev_alloc_skb_ip_align
	cbz	x0, LBB0_15
; %bb.10:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	x22, x0
	movi.2s	v0, #1
	mov.s	v0[0], w21
	ldr	q1, [sp]                        ; 16-byte Folded Reload
	add.2s	v1, v0, v1
	str	q1, [sp]                        ; 16-byte Folded Spill
	ldr	w0, [x20, #8]
	ldr	w1, [x22, #12]
	ldr	w2, [x19, #24]
	ldr	w3, [x26]
	bl	_dma_map_single
	ldr	w2, [x19, #24]
	stp	w2, w0, [x25, #24]
	str	wzr, [x25]
	str	x22, [x25, #16]
	ldr	x8, [x19]
	add	x9, x8, #1
	ldrsw	x10, [x19, #12]
	cmp	x9, x10
	csinc	x8, xzr, x8, hs
	str	x8, [x19]
	ldr	x9, [x19, #16]
	add	x25, x9, x8, lsl #5
	ldr	w9, [x25]
	ldr	w10, [x24]
	tst	w10, w9
	b.ne	LBB0_2
; %bb.11:
	add	x2, x28, x27, lsl #5
	ldr	q1, [sp]                        ; 16-byte Folded Reload
	b	LBB0_13
LBB0_12:
	mov	x2, #0
	movi.2d	v1, #0000000000000000
LBB0_13:
	ldr	d0, [x20]
	add.2s	v0, v0, v1
	str	d0, [x20]
	cbz	x2, LBB0_15
; %bb.14:
Lloh29:
	adrp	x8, _XAXIDMA_RX_TDESC_OFFSET@GOTPAGE
Lloh30:
	ldr	x8, [x8, _XAXIDMA_RX_TDESC_OFFSET@GOTPAGEOFF]
Lloh31:
	ldr	w1, [x8]
	mov	x0, x19
	ldp	x29, x30, [sp, #96]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #80]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #64]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #48]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #32]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #112
	b	_axienet_dma_out32
LBB0_15:
	ldp	x29, x30, [sp, #96]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #80]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #64]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #48]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #32]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #112
	ret
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGot	Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.cfi_endproc
                                        ; -- End function
	.comm	_XAXIDMA_BD_STS_COMPLETE_MASK,4,2 ; @XAXIDMA_BD_STS_COMPLETE_MASK
	.comm	_DMA_FROM_DEVICE,4,2            ; @DMA_FROM_DEVICE
	.comm	_CHECKSUM_NONE,4,2              ; @CHECKSUM_NONE
	.comm	_XAE_FEATURE_FULL_RX_CSUM,4,2   ; @XAE_FEATURE_FULL_RX_CSUM
	.comm	_XAE_FULL_CSUM_STATUS_MASK,4,2  ; @XAE_FULL_CSUM_STATUS_MASK
	.comm	_XAE_IP_TCP_CSUM_VALIDATED,4,2  ; @XAE_IP_TCP_CSUM_VALIDATED
	.comm	_XAE_IP_UDP_CSUM_VALIDATED,4,2  ; @XAE_IP_UDP_CSUM_VALIDATED
	.comm	_CHECKSUM_UNNECESSARY,4,2       ; @CHECKSUM_UNNECESSARY
	.comm	_XAE_FEATURE_PARTIAL_RX_CSUM,4,2 ; @XAE_FEATURE_PARTIAL_RX_CSUM
	.comm	_ETH_P_IP,4,2                   ; @ETH_P_IP
	.comm	_CHECKSUM_COMPLETE,4,2          ; @CHECKSUM_COMPLETE
	.comm	_XAXIDMA_RX_TDESC_OFFSET,4,2    ; @XAXIDMA_RX_TDESC_OFFSET
	.no_dead_strip	_axienet_recv
.subsections_via_symbols
