	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function handle_responder
_handle_responder:                      ## @handle_responder
	.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
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rcx, %rbx
	movq	%rdx, %r13
	movq	%rsi, %r12
	movq	%rdi, %r14
	movq	%rdx, %rdi
	callq	_rsc_to_mqp
	movq	%rax, %r15
	movl	(%r12), %edi
	callq	_be32toh
	movl	%eax, (%r14)
	testq	%rbx, %rbx
	je	LBB0_4
## %bb.1:
	movl	28(%r12), %edi
	callq	_be16toh
	movq	%rax, %r15
	movq	(%rbx), %rax
	movl	(%rax,%r15,4), %eax
	movl	%eax, 48(%r14)
	movq	%rbx, %rdi
	movq	%r15, %rsi
	callq	_mlx5_free_srq_wqe
	movl	4(%r12), %eax
	movq	_MLX5_INLINE_SCATTER_32@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_7
## %bb.2:
	movl	(%r14), %ecx
	movq	%rbx, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	jmp	LBB0_3
LBB0_4:
	movq	(%r13), %rax
	movq	_MLX5_RSC_TYPE_QP@GOTPCREL(%rip), %rcx
	xorl	%edi, %edi
	cmpq	(%rcx), %rax
	sete	%dil
	callq	_likely
	testq	%rax, %rax
	je	LBB0_9
## %bb.5:
	movq	%r15, %rbx
	addq	$8, %rbx
	movq	_MLX5_RX_CSUM_VALID@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r15)
	je	LBB0_10
## %bb.6:
	movl	8(%r12), %eax
	movq	_MLX5_CQE_L4_OK@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	andl	%eax, %ecx
	setne	%cl
	movq	_MLX5_CQE_L3_OK@GOTPCREL(%rip), %rdx
	andl	(%rdx), %eax
	setne	%r13b
	andb	%cl, %r13b
	movq	%r12, %rdi
	callq	_get_cqe_l3_hdr_type
	movq	_MLX5_CQE_L3_HDR_TYPE_IPV4@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	sete	%al
	andb	%r13b, %al
	movzbl	%al, %eax
	movq	_IBV_WC_IP_CSUM_OK_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shll	%cl, %eax
	orl	%eax, 4(%r14)
	jmp	LBB0_10
LBB0_7:
	movq	_MLX5_INLINE_SCATTER_64@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_16
## %bb.8:
	leaq	-32(%r12), %rdx
	movl	(%r14), %ecx
	movq	%rbx, %rdi
	movq	%r15, %rsi
LBB0_3:
	callq	_mlx5_copy_to_recv_srq
	testl	%eax, %eax
	jne	LBB0_27
	jmp	LBB0_15
LBB0_9:
	movq	%r13, %rdi
	callq	_rsc_to_mrwq
	movq	%rax, %rbx
LBB0_10:
	movslq	(%rbx), %rax
	movslq	4(%rbx), %rsi
	decq	%rsi
	andq	%rax, %rsi
	movq	8(%rbx), %rcx
	movl	(%rcx,%rsi,4), %ecx
	movl	%ecx, 48(%r14)
	incl	%eax
	movl	%eax, (%rbx)
	movl	4(%r12), %eax
	movq	_MLX5_INLINE_SCATTER_32@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_12
## %bb.11:
	movl	(%r14), %ecx
	movq	%r15, %rdi
	movq	%r12, %rdx
	jmp	LBB0_14
LBB0_12:
	movq	_MLX5_INLINE_SCATTER_64@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_16
## %bb.13:
	leaq	-32(%r12), %rdx
	movl	(%r14), %ecx
	movq	%r15, %rdi
LBB0_14:
	callq	_mlx5_copy_to_recv_wqe
	testl	%eax, %eax
	jne	LBB0_27
LBB0_15:
	movl	4(%r12), %eax
LBB0_16:
	sarl	$4, %eax
	addl	$-128, %eax
	cmpl	$3, %eax
	ja	LBB0_24
## %bb.17:
	leaq	LJTI0_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_18:
	movq	_IBV_WC_RECV_RDMA_WITH_IMM@GOTPCREL(%rip), %rax
	jmp	LBB0_21
LBB0_19:
	movq	_IBV_WC_RECV@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 40(%r14)
	movq	_IBV_WC_WITH_INV@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	%eax, 4(%r14)
	movl	12(%r12), %edi
	callq	_be32toh
	jmp	LBB0_22
LBB0_20:
	movq	_IBV_WC_RECV@GOTPCREL(%rip), %rax
LBB0_21:
	movq	(%rax), %rax
	movq	%rax, 40(%r14)
	movq	_IBV_WC_WITH_IMM@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	%eax, 4(%r14)
	movl	12(%r12), %eax
LBB0_22:
	movl	%eax, 8(%r14)
	jmp	LBB0_24
LBB0_23:
	movq	_IBV_WC_RECV@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 40(%r14)
LBB0_24:
	movl	24(%r12), %edi
	callq	_be16toh
	movq	%rax, 32(%r14)
	movl	16(%r12), %edi
	callq	_be32toh
	shrl	$24, %eax
	andl	$15, %eax
	movl	%eax, 12(%r14)
	movl	16(%r12), %edi
	callq	_be32toh
	andl	$16777215, %eax                 ## imm = 0xFFFFFF
	movl	%eax, 16(%r14)
	movl	20(%r12), %eax
	andl	$127, %eax
	movl	%eax, 20(%r14)
	movl	16(%r12), %edi
	callq	_be32toh
	andl	$805306368, %eax                ## imm = 0x30000000
	je	LBB0_26
## %bb.25:
	movq	_IBV_WC_GRH@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_26:
	orl	%eax, 4(%r14)
	movl	12(%r12), %edi
	callq	_be32toh
	movzwl	%ax, %eax
	movl	%eax, 24(%r14)
	movq	_IBV_WC_SUCCESS@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_27:
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_18, LBB0_18-LJTI0_0
.set L0_0_set_19, LBB0_19-LJTI0_0
.set L0_0_set_20, LBB0_20-LJTI0_0
.set L0_0_set_23, LBB0_23-LJTI0_0
LJTI0_0:
	.long	L0_0_set_18
	.long	L0_0_set_19
	.long	L0_0_set_20
	.long	L0_0_set_23
	.end_data_region
                                        ## -- End function
	.comm	_MLX5_INLINE_SCATTER_32,4,2     ## @MLX5_INLINE_SCATTER_32
	.comm	_MLX5_INLINE_SCATTER_64,4,2     ## @MLX5_INLINE_SCATTER_64
	.comm	_MLX5_RSC_TYPE_QP,8,3           ## @MLX5_RSC_TYPE_QP
	.comm	_MLX5_RX_CSUM_VALID,4,2         ## @MLX5_RX_CSUM_VALID
	.comm	_MLX5_CQE_L4_OK,4,2             ## @MLX5_CQE_L4_OK
	.comm	_MLX5_CQE_L3_OK,4,2             ## @MLX5_CQE_L3_OK
	.comm	_MLX5_CQE_L3_HDR_TYPE_IPV4,8,3  ## @MLX5_CQE_L3_HDR_TYPE_IPV4
	.comm	_IBV_WC_IP_CSUM_OK_SHIFT,4,2    ## @IBV_WC_IP_CSUM_OK_SHIFT
	.comm	_IBV_WC_RECV_RDMA_WITH_IMM,8,3  ## @IBV_WC_RECV_RDMA_WITH_IMM
	.comm	_IBV_WC_WITH_IMM,4,2            ## @IBV_WC_WITH_IMM
	.comm	_IBV_WC_RECV,8,3                ## @IBV_WC_RECV
	.comm	_IBV_WC_WITH_INV,4,2            ## @IBV_WC_WITH_INV
	.comm	_IBV_WC_GRH,4,2                 ## @IBV_WC_GRH
	.comm	_IBV_WC_SUCCESS,4,2             ## @IBV_WC_SUCCESS
	.no_dead_strip	_handle_responder
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function handle_responder
_handle_responder:                      ; @handle_responder
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-64]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
	mov	x22, x3
	mov	x23, x2
	mov	x20, x1
	mov	x19, x0
	mov	x0, x2
	bl	_rsc_to_mqp
	mov	x21, x0
	ldr	w0, [x20]
	bl	_be32toh
	str	w0, [x19]
	cbz	x22, LBB0_3
; %bb.1:
	ldr	w0, [x20, #28]
	bl	_be16toh
	mov	x21, x0
	ldr	x8, [x22]
	ldr	w8, [x8, x0, lsl #2]
	str	w8, [x19, #48]
	mov	x0, x22
	mov	x1, x21
	bl	_mlx5_free_srq_wqe
	ldr	w8, [x20, #4]
Lloh0:
	adrp	x9, _MLX5_INLINE_SCATTER_32@GOTPAGE
Lloh1:
	ldr	x9, [x9, _MLX5_INLINE_SCATTER_32@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_6
; %bb.2:
	ldr	w3, [x19]
	mov	x0, x22
	mov	x1, x21
	mov	x2, x20
	bl	_mlx5_copy_to_recv_srq
	cbnz	w0, LBB0_23
	b	LBB0_14
LBB0_3:
	ldr	x8, [x23]
Lloh3:
	adrp	x9, _MLX5_RSC_TYPE_QP@GOTPAGE
Lloh4:
	ldr	x9, [x9, _MLX5_RSC_TYPE_QP@GOTPAGEOFF]
Lloh5:
	ldr	x9, [x9]
	cmp	x8, x9
	cset	w0, eq
	bl	_likely
	cbz	x0, LBB0_8
; %bb.4:
	mov	x22, x21
	ldr	w8, [x22], #8
Lloh6:
	adrp	x9, _MLX5_RX_CSUM_VALID@GOTPAGE
Lloh7:
	ldr	x9, [x9, _MLX5_RX_CSUM_VALID@GOTPAGEOFF]
Lloh8:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_9
; %bb.5:
	ldr	w8, [x20, #8]
Lloh9:
	adrp	x9, _MLX5_CQE_L4_OK@GOTPAGE
Lloh10:
	ldr	x9, [x9, _MLX5_CQE_L4_OK@GOTPAGEOFF]
Lloh11:
	ldr	w9, [x9]
	tst	w9, w8
	cset	w9, ne
Lloh12:
	adrp	x10, _MLX5_CQE_L3_OK@GOTPAGE
Lloh13:
	ldr	x10, [x10, _MLX5_CQE_L3_OK@GOTPAGEOFF]
Lloh14:
	ldr	w10, [x10]
	tst	w10, w8
	cset	w8, ne
	and	w23, w9, w8
	mov	x0, x20
	bl	_get_cqe_l3_hdr_type
Lloh15:
	adrp	x8, _MLX5_CQE_L3_HDR_TYPE_IPV4@GOTPAGE
Lloh16:
	ldr	x8, [x8, _MLX5_CQE_L3_HDR_TYPE_IPV4@GOTPAGEOFF]
Lloh17:
	ldr	x8, [x8]
	cmp	x0, x8
	cset	w8, eq
Lloh18:
	adrp	x9, _IBV_WC_IP_CSUM_OK_SHIFT@GOTPAGE
Lloh19:
	ldr	x9, [x9, _IBV_WC_IP_CSUM_OK_SHIFT@GOTPAGEOFF]
	and	w8, w23, w8
Lloh20:
	ldr	w9, [x9]
	lsl	w8, w8, w9
	ldr	w9, [x19, #4]
	orr	w8, w8, w9
	str	w8, [x19, #4]
	b	LBB0_9
LBB0_6:
Lloh21:
	adrp	x9, _MLX5_INLINE_SCATTER_64@GOTPAGE
Lloh22:
	ldr	x9, [x9, _MLX5_INLINE_SCATTER_64@GOTPAGEOFF]
Lloh23:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_15
; %bb.7:
	sub	x2, x20, #32
	ldr	w3, [x19]
	mov	x0, x22
	mov	x1, x21
	bl	_mlx5_copy_to_recv_srq
	cbnz	w0, LBB0_23
	b	LBB0_14
LBB0_8:
	mov	x0, x23
	bl	_rsc_to_mrwq
	mov	x22, x0
LBB0_9:
	ldpsw	x8, x9, [x22]
	sub	x9, x9, #1
	and	x1, x9, x8
	ldr	x9, [x22, #8]
	ldr	w9, [x9, x1, lsl #2]
	str	w9, [x19, #48]
	add	w8, w8, #1
	str	w8, [x22]
	ldr	w8, [x20, #4]
Lloh24:
	adrp	x9, _MLX5_INLINE_SCATTER_32@GOTPAGE
Lloh25:
	ldr	x9, [x9, _MLX5_INLINE_SCATTER_32@GOTPAGEOFF]
Lloh26:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_11
; %bb.10:
	ldr	w3, [x19]
	mov	x0, x21
	mov	x2, x20
	b	LBB0_13
LBB0_11:
Lloh27:
	adrp	x9, _MLX5_INLINE_SCATTER_64@GOTPAGE
Lloh28:
	ldr	x9, [x9, _MLX5_INLINE_SCATTER_64@GOTPAGEOFF]
Lloh29:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_15
; %bb.12:
	sub	x2, x20, #32
	ldr	w3, [x19]
	mov	x0, x21
LBB0_13:
	bl	_mlx5_copy_to_recv_wqe
	cbnz	w0, LBB0_23
LBB0_14:
	ldr	w8, [x20, #4]
LBB0_15:
	asr	w8, w8, #4
	sub	w8, w8, #128
	cmp	w8, #3
	b.hi	LBB0_22
; %bb.16:
Lloh30:
	adrp	x9, lJTI0_0@PAGE
Lloh31:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_17
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_17:
Lloh32:
	adrp	x8, _IBV_WC_RECV_RDMA_WITH_IMM@GOTPAGE
Lloh33:
	ldr	x8, [x8, _IBV_WC_RECV_RDMA_WITH_IMM@GOTPAGEOFF]
	b	LBB0_20
LBB0_18:
Lloh34:
	adrp	x8, _IBV_WC_RECV@GOTPAGE
Lloh35:
	ldr	x8, [x8, _IBV_WC_RECV@GOTPAGEOFF]
Lloh36:
	ldr	x8, [x8]
Lloh37:
	adrp	x9, _IBV_WC_WITH_INV@GOTPAGE
Lloh38:
	ldr	x9, [x9, _IBV_WC_WITH_INV@GOTPAGEOFF]
	str	x8, [x19, #40]
Lloh39:
	ldr	w8, [x9]
	ldr	w9, [x19, #4]
	orr	w8, w9, w8
	str	w8, [x19, #4]
	ldr	w0, [x20, #12]
	bl	_be32toh
	str	w0, [x19, #8]
	b	LBB0_22
LBB0_19:
Lloh40:
	adrp	x8, _IBV_WC_RECV@GOTPAGE
Lloh41:
	ldr	x8, [x8, _IBV_WC_RECV@GOTPAGEOFF]
LBB0_20:
	ldr	x8, [x8]
	str	x8, [x19, #40]
Lloh42:
	adrp	x8, _IBV_WC_WITH_IMM@GOTPAGE
Lloh43:
	ldr	x8, [x8, _IBV_WC_WITH_IMM@GOTPAGEOFF]
Lloh44:
	ldr	w8, [x8]
	ldr	w9, [x19, #4]
	orr	w8, w9, w8
	ldr	w9, [x20, #12]
	stp	w8, w9, [x19, #4]
	b	LBB0_22
LBB0_21:
Lloh45:
	adrp	x8, _IBV_WC_RECV@GOTPAGE
Lloh46:
	ldr	x8, [x8, _IBV_WC_RECV@GOTPAGEOFF]
Lloh47:
	ldr	x8, [x8]
	str	x8, [x19, #40]
LBB0_22:
	ldr	w0, [x20, #24]
	bl	_be16toh
	str	x0, [x19, #32]
	ldr	w0, [x20, #16]
	bl	_be32toh
	ubfx	w8, w0, #24, #4
	str	w8, [x19, #12]
	ldr	w0, [x20, #16]
	bl	_be32toh
	and	w8, w0, #0xffffff
	ldp	w0, w9, [x20, #16]
	and	w9, w9, #0x7f
	stp	w8, w9, [x19, #16]
	bl	_be32toh
Lloh48:
	adrp	x8, _IBV_WC_GRH@GOTPAGE
Lloh49:
	ldr	x8, [x8, _IBV_WC_GRH@GOTPAGEOFF]
Lloh50:
	ldr	w8, [x8]
	tst	w0, #0x30000000
	csel	w8, wzr, w8, eq
	ldr	w9, [x19, #4]
	orr	w8, w8, w9
	str	w8, [x19, #4]
	ldr	w0, [x20, #12]
	bl	_be32toh
	and	w8, w0, #0xffff
	str	w8, [x19, #24]
Lloh51:
	adrp	x8, _IBV_WC_SUCCESS@GOTPAGE
Lloh52:
	ldr	x8, [x8, _IBV_WC_SUCCESS@GOTPAGEOFF]
Lloh53:
	ldr	w0, [x8]
LBB0_23:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #64             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpAdd	Lloh30, Lloh31
	.loh AdrpLdrGot	Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGot	Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpLdrGotLdr	Lloh45, Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_17-LBB0_17)>>2
	.byte	(LBB0_18-LBB0_17)>>2
	.byte	(LBB0_19-LBB0_17)>>2
	.byte	(LBB0_21-LBB0_17)>>2
                                        ; -- End function
	.comm	_MLX5_INLINE_SCATTER_32,4,2     ; @MLX5_INLINE_SCATTER_32
	.comm	_MLX5_INLINE_SCATTER_64,4,2     ; @MLX5_INLINE_SCATTER_64
	.comm	_MLX5_RSC_TYPE_QP,8,3           ; @MLX5_RSC_TYPE_QP
	.comm	_MLX5_RX_CSUM_VALID,4,2         ; @MLX5_RX_CSUM_VALID
	.comm	_MLX5_CQE_L4_OK,4,2             ; @MLX5_CQE_L4_OK
	.comm	_MLX5_CQE_L3_OK,4,2             ; @MLX5_CQE_L3_OK
	.comm	_MLX5_CQE_L3_HDR_TYPE_IPV4,8,3  ; @MLX5_CQE_L3_HDR_TYPE_IPV4
	.comm	_IBV_WC_IP_CSUM_OK_SHIFT,4,2    ; @IBV_WC_IP_CSUM_OK_SHIFT
	.comm	_IBV_WC_RECV_RDMA_WITH_IMM,8,3  ; @IBV_WC_RECV_RDMA_WITH_IMM
	.comm	_IBV_WC_WITH_IMM,4,2            ; @IBV_WC_WITH_IMM
	.comm	_IBV_WC_RECV,8,3                ; @IBV_WC_RECV
	.comm	_IBV_WC_WITH_INV,4,2            ; @IBV_WC_WITH_INV
	.comm	_IBV_WC_GRH,4,2                 ; @IBV_WC_GRH
	.comm	_IBV_WC_SUCCESS,4,2             ; @IBV_WC_SUCCESS
	.no_dead_strip	_handle_responder
.subsections_via_symbols
