	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function hns_roce_v2_post_send
_hns_roce_v2_post_send:                 ## @hns_roce_v2_post_send
	.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	$152, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdx, -64(%rbp)                 ## 8-byte Spill
	movq	%rsi, %rbx
	movq	%rdi, %r13
	movl	12(%rdi), %edi
	callq	_to_hr_dev
	movq	%rax, %r15
	movq	%rbx, -48(%rbp)                 ## 8-byte Spill
	movq	%rbx, %rdi
	callq	_ud_wr
	movl	8(%rax), %edi
	callq	_to_hr_ah
	movq	%rax, %r12
	movq	%r13, %rdi
	callq	_to_hr_qp
	movq	%rax, %rbx
	movq	(%r13), %rax
	movq	_IB_QPT_RC@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	setne	%cl
	movq	_IB_QPT_GSI@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rax
	setne	%dl
	andb	%cl, %dl
	movq	_IB_QPT_UD@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	movq	8(%r15), %r14
	setne	%al
	andb	%dl, %al
	movzbl	%al, %edi
	callq	_unlikely
	testq	%rax, %rax
	je	LBB0_3
## %bb.1:
	movq	(%r13), %rdx
	leaq	L_.str(%rip), %rsi
	xorl	%r13d, %r13d
	movq	%r14, %rdi
	xorl	%eax, %eax
	callq	_dev_err
LBB0_2:
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movq	-64(%rbp), %rcx                 ## 8-byte Reload
	movq	%rax, (%rcx)
	movq	_EOPNOTSUPP@GOTPCREL(%rip), %rax
	subl	(%rax), %r13d
	jmp	LBB0_87
LBB0_3:
	movq	%r15, -104(%rbp)                ## 8-byte Spill
	movq	%r12, -144(%rbp)                ## 8-byte Spill
	movq	(%rbx), %rax
	movq	_IB_QPS_RESET@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	sete	%cl
	movq	_IB_QPS_INIT@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rax
	sete	%dl
	orb	%cl, %dl
	movq	_IB_QPS_RTR@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	sete	%al
	orb	%dl, %al
	movzbl	%al, %edi
	callq	_unlikely
	testq	%rax, %rax
	je	LBB0_5
## %bb.4:
	movq	(%rbx), %rdx
	leaq	L_.str.1(%rip), %rsi
	xorl	%r13d, %r13d
	movq	%r14, %rdi
	xorl	%eax, %eax
	callq	_dev_err
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movq	-64(%rbp), %rcx                 ## 8-byte Reload
	movq	%rax, (%rcx)
	movq	_EINVAL@GOTPCREL(%rip), %rax
	subl	(%rax), %r13d
	jmp	LBB0_87
LBB0_5:
	movq	%r14, -128(%rbp)                ## 8-byte Spill
	movq	%r13, -112(%rbp)                ## 8-byte Spill
	leaq	52(%rbx), %rdi
	movq	%rdi, -96(%rbp)                 ## 8-byte Spill
	callq	_spin_lock_irqsave
	movl	8(%rbx), %r14d
	movl	12(%rbx), %eax
	movl	%eax, -52(%rbp)
	cmpq	$0, -48(%rbp)                   ## 8-byte Folded Reload
	movq	-64(%rbp), %r15                 ## 8-byte Reload
	je	LBB0_6
## %bb.7:
	leaq	40(%rbx), %r12
	leaq	24(%rbx), %rcx
	movq	%rcx, -160(%rbp)                ## 8-byte Spill
	xorl	%r13d, %r13d
	movq	%rbx, -88(%rbp)                 ## 8-byte Spill
	movq	%rbx, %r15
	movq	%r12, -136(%rbp)                ## 8-byte Spill
	jmp	LBB0_8
LBB0_77:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	-48(%rbp), %r14                 ## 8-byte Reload
	movq	16(%r14), %rsi
	movq	%r15, %rdi
	callq	_set_data_seg_v2
	movq	%r12, %rbx
	addq	$132, %rbx
	movq	%r14, %rdi
	callq	_atomic_wr
	movq	%rbx, %rdi
	movq	%rax, %rsi
	callq	_set_atomic_seg
	movq	(%r12), %rdi
	movq	_V2_RC_SEND_WQE_BYTE_16_SGE_NUM_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_RC_SEND_WQE_BYTE_16_SGE_NUM_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	(%r14), %ecx
	callq	_roce_set_field
	movq	-88(%rbp), %r15                 ## 8-byte Reload
LBB0_78:                                ##   in Loop: Header=BB0_8 Depth=1
	movl	-76(%rbp), %r14d                ## 4-byte Reload
LBB0_79:                                ##   in Loop: Header=BB0_8 Depth=1
	incl	%r14d
	movq	-152(%rbp), %r13                ## 8-byte Reload
	incl	%r13d
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	40(%rcx), %rcx
	movq	%rcx, %rax
	movq	%rcx, -48(%rbp)                 ## 8-byte Spill
	testq	%rcx, %rcx
	movq	-136(%rbp), %r12                ## 8-byte Reload
	je	LBB0_80
LBB0_8:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_40 Depth 2
                                        ##     Child Loop BB0_43 Depth 2
                                        ##     Child Loop BB0_45 Depth 2
                                        ##     Child Loop BB0_20 Depth 2
                                        ##     Child Loop BB0_23 Depth 2
                                        ##     Child Loop BB0_25 Depth 2
	movl	72(%r15), %edx
	movq	%r12, %rdi
	movl	%r13d, %esi
	callq	_hns_roce_wq_overflow
	testq	%rax, %rax
	jne	LBB0_9
## %bb.10:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %eax
	xorl	%edi, %edi
	cmpl	(%r12), %eax
	setg	%dil
	callq	_unlikely
	testq	%rax, %rax
	jne	LBB0_11
## %bb.13:                              ##   in Loop: Header=BB0_8 Depth=1
	movl	44(%r15), %esi
	decl	%esi
	movl	%r14d, -76(%rbp)                ## 4-byte Spill
	andl	%r14d, %esi
	movq	%r15, %rdi
	callq	_get_send_wqe
	movq	%rax, %r12
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	32(%rax), %eax
	movq	64(%r15), %rcx
	movslq	48(%r15), %rdx
	movslq	%r13d, %rsi
	addq	%rdx, %rsi
	movslq	44(%r15), %rdx
	decq	%rdx
	andq	%rsi, %rdx
	movl	%eax, (%rcx,%rdx,4)
	movl	48(%r15), %r14d
	addl	%r13d, %r14d
	movl	44(%r15), %edi
	callq	_ilog2
	movl	%eax, %ecx
	shrl	%cl, %r14d
	notl	%r14d
	orl	$-2, %r14d
	movq	-112(%rbp), %rax                ## 8-byte Reload
	movq	(%rax), %rdx
	movq	_IB_QPT_GSI@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rdx
	movq	%r13, -152(%rbp)                ## 8-byte Spill
	jne	LBB0_33
## %bb.14:                              ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	movq	%r12, %rdi
	xorl	%esi, %esi
	movl	$128, %edx
	callq	_memset
	movq	120(%r12), %rdi
	movq	_V2_UD_SEND_WQE_DMAC_0_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_DMAC_0_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r12, -72(%rbp)                 ## 8-byte Spill
	movq	-144(%rbp), %r12                ## 8-byte Reload
	movq	(%r12), %rax
	movl	(%rax), %ecx
	callq	_roce_set_field
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	movq	120(%rax), %rdi
	movq	_V2_UD_SEND_WQE_DMAC_1_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_DMAC_1_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	(%r12), %rax
	movl	4(%rax), %ecx
	callq	_roce_set_field
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	movq	120(%rax), %rdi
	movq	_V2_UD_SEND_WQE_DMAC_2_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_DMAC_2_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	(%r12), %rax
	movl	8(%rax), %ecx
	callq	_roce_set_field
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	movq	120(%rax), %rdi
	movq	_V2_UD_SEND_WQE_DMAC_3_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_DMAC_3_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	(%r12), %rax
	movl	12(%rax), %ecx
	callq	_roce_set_field
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	movq	64(%rax), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_48_DMAC_4_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_BYTE_48_DMAC_4_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	(%r12), %rax
	movl	16(%rax), %ecx
	callq	_roce_set_field
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	movq	64(%rax), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_48_DMAC_5_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_BYTE_48_DMAC_5_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	(%r12), %rax
	movl	20(%rax), %ecx
	callq	_roce_set_field
	movq	-104(%rbp), %rax                ## 8-byte Reload
	movq	(%rax), %rax
	movq	16(%r15), %rcx
	movq	(%rax,%rcx,8), %rsi
	movq	(%r12), %rdi
	movq	-72(%rbp), %r15                 ## 8-byte Reload
	callq	_ether_addr_equal_unaligned
	xorl	%edx, %edx
	testq	%rax, %rax
	setne	%dl
	movq	72(%r15), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_40_LBI_S@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_roce_set_bit
	movq	8(%r15), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_4_OPCODE_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_BYTE_4_OPCODE_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_HNS_ROCE_V2_WQE_OP_SEND@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	callq	_roce_set_field
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %eax
	testl	%eax, %eax
	jle	LBB0_26
## %bb.15:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	16(%rcx), %rcx
	cmpl	$8, %eax
	jae	LBB0_17
## %bb.16:                              ##   in Loop: Header=BB0_8 Depth=1
	xorl	%edx, %edx
	xorl	%ebx, %ebx
	jmp	LBB0_25
	.p2align	4, 0x90
LBB0_33:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_IB_QPT_RC@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rdx
	jne	LBB0_76
## %bb.34:                              ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	movq	%r12, %rdi
	xorl	%esi, %esi
	movl	$128, %edx
	callq	_memset
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %eax
	testl	%eax, %eax
	jle	LBB0_46
## %bb.35:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	16(%rcx), %rcx
	cmpl	$8, %eax
	jae	LBB0_37
## %bb.36:                              ##   in Loop: Header=BB0_8 Depth=1
	xorl	%edx, %edx
	xorl	%ebx, %ebx
	jmp	LBB0_45
LBB0_17:                                ##   in Loop: Header=BB0_8 Depth=1
	movl	%eax, %edx
	andl	$-8, %edx
	leaq	-8(%rdx), %rdi
	movq	%rdi, %rsi
	shrq	$3, %rsi
	incq	%rsi
	movl	%esi, %ebx
	andl	$3, %ebx
	cmpq	$24, %rdi
	jae	LBB0_19
## %bb.18:                              ##   in Loop: Header=BB0_8 Depth=1
	pxor	%xmm0, %xmm0
	xorl	%edi, %edi
	pxor	%xmm1, %xmm1
	jmp	LBB0_21
LBB0_37:                                ##   in Loop: Header=BB0_8 Depth=1
	movl	%eax, %edx
	andl	$-8, %edx
	leaq	-8(%rdx), %rdi
	movq	%rdi, %rsi
	shrq	$3, %rsi
	incq	%rsi
	movl	%esi, %ebx
	andl	$3, %ebx
	cmpq	$24, %rdi
	jae	LBB0_39
## %bb.38:                              ##   in Loop: Header=BB0_8 Depth=1
	pxor	%xmm0, %xmm0
	xorl	%edi, %edi
	pxor	%xmm1, %xmm1
	jmp	LBB0_41
LBB0_19:                                ##   in Loop: Header=BB0_8 Depth=1
	movabsq	$4611686018427387900, %rdi      ## imm = 0x3FFFFFFFFFFFFFFC
	andq	%rdi, %rsi
	pxor	%xmm0, %xmm0
	xorl	%edi, %edi
	pxor	%xmm1, %xmm1
	.p2align	4, 0x90
LBB0_20:                                ##   Parent Loop BB0_8 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqu	(%rcx,%rdi,4), %xmm2
	paddd	%xmm0, %xmm2
	movdqu	16(%rcx,%rdi,4), %xmm0
	paddd	%xmm1, %xmm0
	movdqu	32(%rcx,%rdi,4), %xmm1
	movdqu	48(%rcx,%rdi,4), %xmm3
	movdqu	64(%rcx,%rdi,4), %xmm4
	paddd	%xmm1, %xmm4
	paddd	%xmm2, %xmm4
	movdqu	80(%rcx,%rdi,4), %xmm2
	paddd	%xmm3, %xmm2
	paddd	%xmm0, %xmm2
	movdqu	96(%rcx,%rdi,4), %xmm0
	paddd	%xmm4, %xmm0
	movdqu	112(%rcx,%rdi,4), %xmm1
	paddd	%xmm2, %xmm1
	addq	$32, %rdi
	addq	$-4, %rsi
	jne	LBB0_20
LBB0_21:                                ##   in Loop: Header=BB0_8 Depth=1
	testq	%rbx, %rbx
	je	LBB0_24
## %bb.22:                              ##   in Loop: Header=BB0_8 Depth=1
	leaq	(%rcx,%rdi,4), %rsi
	addq	$16, %rsi
	shlq	$5, %rbx
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_23:                                ##   Parent Loop BB0_8 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqu	-16(%rsi,%rdi), %xmm2
	paddd	%xmm2, %xmm0
	movdqu	(%rsi,%rdi), %xmm2
	paddd	%xmm2, %xmm1
	addq	$32, %rdi
	cmpq	%rdi, %rbx
	jne	LBB0_23
LBB0_24:                                ##   in Loop: Header=BB0_8 Depth=1
	paddd	%xmm1, %xmm0
	pshufd	$238, %xmm0, %xmm1              ## xmm1 = xmm0[2,3,2,3]
	paddd	%xmm0, %xmm1
	pshufd	$85, %xmm1, %xmm0               ## xmm0 = xmm1[1,1,1,1]
	paddd	%xmm1, %xmm0
	movd	%xmm0, %ebx
	cmpq	%rax, %rdx
	je	LBB0_26
	.p2align	4, 0x90
LBB0_25:                                ##   Parent Loop BB0_8 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	addl	(%rcx,%rdx,4), %ebx
	incq	%rdx
	cmpq	%rdx, %rax
	jne	LBB0_25
LBB0_26:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	48(%r15), %rdi
	callq	_le32_to_cpu
	addl	%eax, %ebx
	movl	%ebx, %edi
	callq	_cpu_to_le32
	movq	%rax, 48(%r15)
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	4(%rax), %eax
	cmpl	$132, %eax
	je	LBB0_29
## %bb.27:                              ##   in Loop: Header=BB0_8 Depth=1
	cmpl	$129, %eax
	jne	LBB0_28
LBB0_29:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	28(%rax), %edi
	callq	_be32_to_cpu
	movl	%eax, %edi
	callq	_cpu_to_le32
	jmp	LBB0_30
LBB0_28:                                ##   in Loop: Header=BB0_8 Depth=1
	xorl	%eax, %eax
LBB0_30:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	%rax, 40(%r15)
	movq	8(%r15), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_4_CQE_S@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_IB_SEND_SIGNALED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	xorl	%edx, %edx
	movq	%r15, %rbx
	movq	-48(%rbp), %r12                 ## 8-byte Reload
	andl	8(%r12), %eax
	setne	%dl
	callq	_roce_set_bit
	movq	8(%r15), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_4_SE_S@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_IB_SEND_SOLICITED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	xorl	%edx, %edx
	andl	8(%r12), %eax
	setne	%dl
	callq	_roce_set_bit
	movq	8(%r15), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_4_OWNER_S@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r14d, %edx
	callq	_roce_set_bit
	movq	(%r15), %r13
	movq	_V2_UD_SEND_WQE_BYTE_16_PD_M@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movq	_V2_UD_SEND_WQE_BYTE_16_PD_S@GOTPCREL(%rip), %rax
	movl	(%rax), %r15d
	movq	-112(%rbp), %rax                ## 8-byte Reload
	movl	8(%rax), %edi
	callq	_to_hr_pd
	movl	(%rax), %ecx
	movq	%r13, %rdi
	movl	%r14d, %esi
	movl	%r15d, %edx
	callq	_roce_set_field
	movq	(%rbx), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_16_SGE_NUM_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_BYTE_16_SGE_NUM_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	(%r12), %ecx
	callq	_roce_set_field
	movq	112(%rbx), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	-88(%rbp), %rax                 ## 8-byte Reload
	movl	80(%rax), %ecx
	decl	%ecx
	andl	-52(%rbp), %ecx
	callq	_roce_set_field
	movq	104(%rbx), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_24_UDPSPN_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_BYTE_24_UDPSPN_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	xorl	%ecx, %ecx
	callq	_roce_set_field
	movq	%r12, %rdi
	callq	_ud_wr
	cmpl	$0, (%rax)
	movq	-160(%rbp), %rax                ## 8-byte Reload
	js	LBB0_32
## %bb.31:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_ud_wr
LBB0_32:                                ##   in Loop: Header=BB0_8 Depth=1
	movl	(%rax), %edi
	callq	_cpu_to_le32
	movq	-72(%rbp), %r13                 ## 8-byte Reload
	movq	%rax, 96(%r13)
	movq	88(%r13), %rbx
	movq	_V2_UD_SEND_WQE_BYTE_32_DQPN_M@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movq	_V2_UD_SEND_WQE_BYTE_32_DQPN_S@GOTPCREL(%rip), %rax
	movl	(%rax), %r15d
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_ud_wr
	movl	4(%rax), %ecx
	movq	%rbx, %rdi
	movl	%r14d, %esi
	movl	%r15d, %edx
	callq	_roce_set_field
	movq	80(%r13), %rbx
	movq	_V2_UD_SEND_WQE_BYTE_36_VLAN_M@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movq	_V2_UD_SEND_WQE_BYTE_36_VLAN_S@GOTPCREL(%rip), %rax
	movl	(%rax), %r15d
	movq	-144(%rbp), %r12                ## 8-byte Reload
	movl	48(%r12), %edi
	callq	_le16_to_cpu
	movq	%rbx, %rdi
	movl	%r14d, %esi
	movl	%r15d, %edx
	movl	%eax, %ecx
	callq	_roce_set_field
	movq	80(%r13), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	8(%r12), %ecx
	callq	_roce_set_field
	movq	80(%r13), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_36_TCLASS_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_BYTE_36_TCLASS_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	12(%r12), %ecx
	callq	_roce_set_field
	movq	72(%r13), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	16(%r12), %ecx
	callq	_roce_set_field
	movq	72(%r13), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_40_SL_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_BYTE_40_SL_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	20(%r12), %ecx
	callq	_roce_set_field
	movq	72(%r13), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_40_PORTN_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_UD_SEND_WQE_BYTE_40_PORTN_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	-88(%rbp), %r15                 ## 8-byte Reload
	movl	16(%r15), %ecx
	callq	_roce_set_field
	movq	72(%r13), %rdi
	movq	_V2_UD_SEND_WQE_BYTE_40_UD_VLAN_EN_S@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	xorl	%edx, %edx
	cmpq	$0, 40(%r12)
	setne	%dl
	callq	_roce_set_bit
	movq	64(%r13), %rbx
	movq	_V2_UD_SEND_WQE_BYTE_48_SGID_INDX_M@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movq	_V2_UD_SEND_WQE_BYTE_48_SGID_INDX_S@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -116(%rbp)                ## 4-byte Spill
	movl	76(%r15), %esi
	movl	32(%r12), %edx
	movq	-104(%rbp), %rdi                ## 8-byte Reload
	callq	_hns_get_gid_index
	movq	%rbx, %rdi
	movl	%r14d, %esi
	movl	-116(%rbp), %edx                ## 4-byte Reload
	movl	%eax, %ecx
	callq	_roce_set_field
	movq	56(%r13), %rdi
	movq	24(%r12), %rsi
	movq	_GID_LEN_V2@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	callq	_memcpy
	movq	%r15, %rdi
	movq	-48(%rbp), %rsi                 ## 8-byte Reload
	leaq	-52(%rbp), %rdx
	callq	_set_extend_sge
	jmp	LBB0_78
LBB0_39:                                ##   in Loop: Header=BB0_8 Depth=1
	movabsq	$4611686018427387900, %rdi      ## imm = 0x3FFFFFFFFFFFFFFC
	andq	%rdi, %rsi
	pxor	%xmm0, %xmm0
	xorl	%edi, %edi
	pxor	%xmm1, %xmm1
	.p2align	4, 0x90
LBB0_40:                                ##   Parent Loop BB0_8 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqu	(%rcx,%rdi,4), %xmm2
	paddd	%xmm0, %xmm2
	movdqu	16(%rcx,%rdi,4), %xmm0
	paddd	%xmm1, %xmm0
	movdqu	32(%rcx,%rdi,4), %xmm1
	movdqu	48(%rcx,%rdi,4), %xmm3
	movdqu	64(%rcx,%rdi,4), %xmm4
	paddd	%xmm1, %xmm4
	paddd	%xmm2, %xmm4
	movdqu	80(%rcx,%rdi,4), %xmm2
	paddd	%xmm3, %xmm2
	paddd	%xmm0, %xmm2
	movdqu	96(%rcx,%rdi,4), %xmm0
	paddd	%xmm4, %xmm0
	movdqu	112(%rcx,%rdi,4), %xmm1
	paddd	%xmm2, %xmm1
	addq	$32, %rdi
	addq	$-4, %rsi
	jne	LBB0_40
LBB0_41:                                ##   in Loop: Header=BB0_8 Depth=1
	testq	%rbx, %rbx
	je	LBB0_44
## %bb.42:                              ##   in Loop: Header=BB0_8 Depth=1
	leaq	(%rcx,%rdi,4), %rsi
	addq	$16, %rsi
	shlq	$5, %rbx
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_43:                                ##   Parent Loop BB0_8 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqu	-16(%rsi,%rdi), %xmm2
	paddd	%xmm2, %xmm0
	movdqu	(%rsi,%rdi), %xmm2
	paddd	%xmm2, %xmm1
	addq	$32, %rdi
	cmpq	%rdi, %rbx
	jne	LBB0_43
LBB0_44:                                ##   in Loop: Header=BB0_8 Depth=1
	paddd	%xmm1, %xmm0
	pshufd	$238, %xmm0, %xmm1              ## xmm1 = xmm0[2,3,2,3]
	paddd	%xmm0, %xmm1
	pshufd	$85, %xmm1, %xmm0               ## xmm0 = xmm1[1,1,1,1]
	paddd	%xmm1, %xmm0
	movd	%xmm0, %ebx
	cmpq	%rax, %rdx
	je	LBB0_46
	.p2align	4, 0x90
LBB0_45:                                ##   Parent Loop BB0_8 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	addl	(%rcx,%rdx,4), %ebx
	incq	%rdx
	cmpq	%rdx, %rax
	jne	LBB0_45
LBB0_46:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	48(%r12), %rdi
	callq	_le32_to_cpu
	addl	%eax, %ebx
	movl	%ebx, %edi
	callq	_cpu_to_le32
	movq	%rax, 48(%r12)
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	4(%rax), %eax
	cmpl	$128, %eax
	je	LBB0_51
## %bb.47:                              ##   in Loop: Header=BB0_8 Depth=1
	cmpl	$132, %eax
	je	LBB0_50
## %bb.48:                              ##   in Loop: Header=BB0_8 Depth=1
	cmpl	$129, %eax
	jne	LBB0_49
LBB0_50:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	28(%rax), %edi
	callq	_be32_to_cpu
	movl	%eax, %edi
	movl	$40, %ebx
	jmp	LBB0_52
LBB0_51:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	24(%rax), %edi
	movl	$32, %ebx
LBB0_52:                                ##   in Loop: Header=BB0_8 Depth=1
	callq	_cpu_to_le32
	jmp	LBB0_53
LBB0_49:                                ##   in Loop: Header=BB0_8 Depth=1
	movl	$40, %ebx
	xorl	%eax, %eax
LBB0_53:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	%rax, (%r12,%rbx)
	movq	8(%r12), %rdi
	movq	_V2_RC_SEND_WQE_BYTE_4_FENCE_S@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_IB_SEND_FENCE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	xorl	%edx, %edx
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	andl	8(%rbx), %eax
	setne	%dl
	callq	_roce_set_bit
	movq	8(%r12), %rdi
	movq	_V2_RC_SEND_WQE_BYTE_4_SE_S@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_IB_SEND_SOLICITED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	xorl	%edx, %edx
	andl	8(%rbx), %eax
	setne	%dl
	callq	_roce_set_bit
	movq	8(%r12), %rdi
	movq	_V2_RC_SEND_WQE_BYTE_4_CQE_S@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_IB_SEND_SIGNALED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	xorl	%edx, %edx
	andl	8(%rbx), %eax
	setne	%dl
	callq	_roce_set_bit
	movq	8(%r12), %rdi
	movq	_V2_RC_SEND_WQE_BYTE_4_OWNER_S@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r14d, %edx
	callq	_roce_set_bit
	leaq	128(%r12), %r15
	movl	4(%rbx), %eax
	addl	$-128, %eax
	cmpl	$11, %eax
	ja	LBB0_70
## %bb.54:                              ##   in Loop: Header=BB0_8 Depth=1
	leaq	LJTI0_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_61:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_SEND_WITH_INV@GOTPCREL(%rip), %rax
	jmp	LBB0_71
LBB0_70:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_MASK@GOTPCREL(%rip), %rax
	jmp	LBB0_71
LBB0_62:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_SEND_WITH_IMM@GOTPCREL(%rip), %rax
	jmp	LBB0_71
LBB0_60:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_SEND@GOTPCREL(%rip), %rax
	jmp	LBB0_71
LBB0_64:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_FAST_REG_PMR@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_reg_wr
	movq	%r12, %rdi
	movq	%r15, %rsi
	movl	%eax, %edx
	callq	_set_frmr_seg
	jmp	LBB0_72
LBB0_59:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_RDMA_WRITE_WITH_IMM@GOTPCREL(%rip), %rax
	jmp	LBB0_56
LBB0_58:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_RDMA_WRITE@GOTPCREL(%rip), %rax
	jmp	LBB0_56
LBB0_55:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_RDMA_READ@GOTPCREL(%rip), %rax
LBB0_56:                                ##   in Loop: Header=BB0_8 Depth=1
	movl	(%rax), %r14d
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_rdma_wr
	movl	(%rax), %edi
	callq	_cpu_to_le32
	movq	%rax, 24(%r12)
	movq	%rbx, %rdi
	callq	_rdma_wr
	jmp	LBB0_57
LBB0_69:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_ATOM_MSK_FETCH_AND_ADD@GOTPCREL(%rip), %rax
	jmp	LBB0_71
LBB0_68:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_ATOM_MSK_CMP_AND_SWAP@GOTPCREL(%rip), %rax
LBB0_71:                                ##   in Loop: Header=BB0_8 Depth=1
	movl	(%rax), %r14d
	jmp	LBB0_72
LBB0_63:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_LOCAL_INV@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movq	8(%r12), %rdi
	movq	_V2_RC_SEND_WQE_BYTE_4_SO_S@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	$1, %edx
	callq	_roce_set_bit
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	24(%rax), %edi
	callq	_cpu_to_le32
	movq	%rax, 32(%r12)
	jmp	LBB0_72
LBB0_67:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_ATOM_FETCH_AND_ADD@GOTPCREL(%rip), %rax
	jmp	LBB0_66
LBB0_65:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_HNS_ROCE_V2_WQE_OP_ATOM_CMP_AND_SWAP@GOTPCREL(%rip), %rax
LBB0_66:                                ##   in Loop: Header=BB0_8 Depth=1
	movl	(%rax), %r14d
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_atomic_wr
	movl	(%rax), %edi
	callq	_cpu_to_le32
	movq	%rax, 24(%r12)
	movq	%rbx, %rdi
	callq	_atomic_wr
LBB0_57:                                ##   in Loop: Header=BB0_8 Depth=1
	movl	4(%rax), %edi
	callq	_cpu_to_le64
	movq	%rax, 16(%r12)
LBB0_72:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	8(%r12), %rdi
	movq	_V2_RC_SEND_WQE_BYTE_4_OPCODE_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_RC_SEND_WQE_BYTE_4_OPCODE_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	%r14d, %ecx
	callq	_roce_set_field
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	4(%rax), %eax
	leal	-138(%rax), %ecx
	cmpl	$2, %ecx
	jb	LBB0_77
## %bb.73:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	%r15, %rcx
	cmpl	$131, %eax
	movq	-88(%rbp), %r15                 ## 8-byte Reload
	movl	-76(%rbp), %r14d                ## 4-byte Reload
	je	LBB0_79
## %bb.74:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-112(%rbp), %rdi                ## 8-byte Reload
	movq	-48(%rbp), %rsi                 ## 8-byte Reload
	movq	%r12, %rdx
	leaq	-52(%rbp), %r8
	movq	-64(%rbp), %r9                  ## 8-byte Reload
	callq	_set_rwqe_data_seg
	testl	%eax, %eax
	je	LBB0_79
## %bb.75:
	movl	%eax, %r13d
	movq	%r15, %rbx
	movq	-152(%rbp), %r12                ## 8-byte Reload
	jmp	LBB0_81
LBB0_6:
	xorl	%eax, %eax
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	xorl	%r12d, %r12d
	xorl	%r13d, %r13d
	jmp	LBB0_82
LBB0_9:
	movq	%r15, %rbx
	movq	%r13, %r12
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	jmp	LBB0_12
LBB0_11:
	movq	%r15, %rbx
	movq	%r13, %r12
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movslq	(%rax), %rdx
	movq	-136(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %ecx
	leaq	L_.str.2(%rip), %rsi
	movq	-128(%rbp), %rdi                ## 8-byte Reload
	xorl	%eax, %eax
	callq	_dev_err
	movq	_EINVAL@GOTPCREL(%rip), %rax
LBB0_12:
	xorl	%r13d, %r13d
	subl	(%rax), %r13d
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movq	-64(%rbp), %r15                 ## 8-byte Reload
	movq	%rax, (%r15)
	jmp	LBB0_82
LBB0_80:
	movq	%r15, %rbx
	xorl	%eax, %eax
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	movq	%r13, %r12
	xorl	%r13d, %r13d
LBB0_81:
	movq	-64(%rbp), %r15                 ## 8-byte Reload
LBB0_82:
	movl	%r12d, %edi
	callq	_likely
	testq	%rax, %rax
	je	LBB0_86
## %bb.83:
	addl	%r12d, 48(%rbx)
	xorl	%eax, %eax
	callq	_wmb
	pxor	%xmm0, %xmm0
	movdqa	%xmm0, -192(%rbp)
	movq	_V2_DB_BYTE_4_TAG_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_DB_BYTE_4_TAG_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	28(%rbx), %ecx
	xorl	%edi, %edi
	callq	_roce_set_field
	movq	_V2_DB_BYTE_4_CMD_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_DB_BYTE_4_CMD_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_HNS_ROCE_V2_SQ_DB@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	xorl	%edi, %edi
	callq	_roce_set_field
	movq	_V2_DB_PARAMETER_IDX_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_DB_PARAMETER_IDX_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	44(%rbx), %eax
	leal	(%rax,%rax), %ecx
	decl	%ecx
	andl	48(%rbx), %ecx
	xorl	%edi, %edi
	callq	_roce_set_field
	movq	_V2_DB_PARAMETER_SL_M@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V2_DB_PARAMETER_SL_S@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	32(%rbx), %ecx
	xorl	%edi, %edi
	callq	_roce_set_field
	movl	56(%rbx), %edx
	leaq	-192(%rbp), %rsi
	movq	-104(%rbp), %rdi                ## 8-byte Reload
	callq	_hns_roce_write64
	movl	%r14d, 8(%rbx)
	movl	-52(%rbp), %eax
	movl	%eax, 12(%rbx)
	movq	(%rbx), %rcx
	movq	_IB_QPS_ERR@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rcx
	jne	LBB0_86
## %bb.84:
	movq	_IB_QP_STATE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%rcx, -168(%rbp)
	addq	$72, %rbx
	leaq	-168(%rbp), %rsi
	movq	%rbx, %rdi
	movq	%rcx, %r8
	callq	_hns_roce_v2_modify_qp
	movl	$0, %r13d
	testl	%eax, %eax
	je	LBB0_86
## %bb.85:
	movl	%eax, %r14d
	movq	-96(%rbp), %rdi                 ## 8-byte Reload
	callq	_spin_unlock_irqrestore
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movq	%rax, (%r15)
	movl	%r14d, %r13d
	jmp	LBB0_87
LBB0_86:
	movq	-96(%rbp), %rdi                 ## 8-byte Reload
	callq	_spin_unlock_irqrestore
LBB0_87:
	movl	%r13d, %eax
	addq	$152, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_76:
	leaq	L_.str.3(%rip), %rsi
	xorl	%r13d, %r13d
	movq	-128(%rbp), %rdi                ## 8-byte Reload
	xorl	%eax, %eax
	callq	_dev_err
	movq	-96(%rbp), %rdi                 ## 8-byte Reload
	callq	_spin_unlock_irqrestore
	jmp	LBB0_2
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_61, LBB0_61-LJTI0_0
.set L0_0_set_62, LBB0_62-LJTI0_0
.set L0_0_set_60, LBB0_60-LJTI0_0
.set L0_0_set_64, LBB0_64-LJTI0_0
.set L0_0_set_59, LBB0_59-LJTI0_0
.set L0_0_set_58, LBB0_58-LJTI0_0
.set L0_0_set_55, LBB0_55-LJTI0_0
.set L0_0_set_69, LBB0_69-LJTI0_0
.set L0_0_set_68, LBB0_68-LJTI0_0
.set L0_0_set_63, LBB0_63-LJTI0_0
.set L0_0_set_67, LBB0_67-LJTI0_0
.set L0_0_set_65, LBB0_65-LJTI0_0
LJTI0_0:
	.long	L0_0_set_61
	.long	L0_0_set_62
	.long	L0_0_set_60
	.long	L0_0_set_64
	.long	L0_0_set_59
	.long	L0_0_set_58
	.long	L0_0_set_55
	.long	L0_0_set_69
	.long	L0_0_set_68
	.long	L0_0_set_63
	.long	L0_0_set_67
	.long	L0_0_set_65
	.end_data_region
                                        ## -- End function
	.comm	_IB_QPT_RC,8,3                  ## @IB_QPT_RC
	.comm	_IB_QPT_GSI,8,3                 ## @IB_QPT_GSI
	.comm	_IB_QPT_UD,8,3                  ## @IB_QPT_UD
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Not supported QP(0x%x)type!\n"

	.comm	_EOPNOTSUPP,4,2                 ## @EOPNOTSUPP
	.comm	_IB_QPS_RESET,8,3               ## @IB_QPS_RESET
	.comm	_IB_QPS_INIT,8,3                ## @IB_QPS_INIT
	.comm	_IB_QPS_RTR,8,3                 ## @IB_QPS_RTR
L_.str.1:                               ## @.str.1
	.asciz	"Post WQE fail, QP state %d err!\n"

	.comm	_EINVAL,4,2                     ## @EINVAL
	.comm	_ENOMEM,4,2                     ## @ENOMEM
L_.str.2:                               ## @.str.2
	.asciz	"num_sge=%d > qp->sq.max_gs=%d\n"

	.comm	_V2_UD_SEND_WQE_DMAC_0_M,4,2    ## @V2_UD_SEND_WQE_DMAC_0_M
	.comm	_V2_UD_SEND_WQE_DMAC_0_S,4,2    ## @V2_UD_SEND_WQE_DMAC_0_S
	.comm	_V2_UD_SEND_WQE_DMAC_1_M,4,2    ## @V2_UD_SEND_WQE_DMAC_1_M
	.comm	_V2_UD_SEND_WQE_DMAC_1_S,4,2    ## @V2_UD_SEND_WQE_DMAC_1_S
	.comm	_V2_UD_SEND_WQE_DMAC_2_M,4,2    ## @V2_UD_SEND_WQE_DMAC_2_M
	.comm	_V2_UD_SEND_WQE_DMAC_2_S,4,2    ## @V2_UD_SEND_WQE_DMAC_2_S
	.comm	_V2_UD_SEND_WQE_DMAC_3_M,4,2    ## @V2_UD_SEND_WQE_DMAC_3_M
	.comm	_V2_UD_SEND_WQE_DMAC_3_S,4,2    ## @V2_UD_SEND_WQE_DMAC_3_S
	.comm	_V2_UD_SEND_WQE_BYTE_48_DMAC_4_M,4,2 ## @V2_UD_SEND_WQE_BYTE_48_DMAC_4_M
	.comm	_V2_UD_SEND_WQE_BYTE_48_DMAC_4_S,4,2 ## @V2_UD_SEND_WQE_BYTE_48_DMAC_4_S
	.comm	_V2_UD_SEND_WQE_BYTE_48_DMAC_5_M,4,2 ## @V2_UD_SEND_WQE_BYTE_48_DMAC_5_M
	.comm	_V2_UD_SEND_WQE_BYTE_48_DMAC_5_S,4,2 ## @V2_UD_SEND_WQE_BYTE_48_DMAC_5_S
	.comm	_V2_UD_SEND_WQE_BYTE_40_LBI_S,4,2 ## @V2_UD_SEND_WQE_BYTE_40_LBI_S
	.comm	_V2_UD_SEND_WQE_BYTE_4_OPCODE_M,4,2 ## @V2_UD_SEND_WQE_BYTE_4_OPCODE_M
	.comm	_V2_UD_SEND_WQE_BYTE_4_OPCODE_S,4,2 ## @V2_UD_SEND_WQE_BYTE_4_OPCODE_S
	.comm	_HNS_ROCE_V2_WQE_OP_SEND,4,2    ## @HNS_ROCE_V2_WQE_OP_SEND
	.comm	_V2_UD_SEND_WQE_BYTE_4_CQE_S,4,2 ## @V2_UD_SEND_WQE_BYTE_4_CQE_S
	.comm	_IB_SEND_SIGNALED,4,2           ## @IB_SEND_SIGNALED
	.comm	_V2_UD_SEND_WQE_BYTE_4_SE_S,4,2 ## @V2_UD_SEND_WQE_BYTE_4_SE_S
	.comm	_IB_SEND_SOLICITED,4,2          ## @IB_SEND_SOLICITED
	.comm	_V2_UD_SEND_WQE_BYTE_4_OWNER_S,4,2 ## @V2_UD_SEND_WQE_BYTE_4_OWNER_S
	.comm	_V2_UD_SEND_WQE_BYTE_16_PD_M,4,2 ## @V2_UD_SEND_WQE_BYTE_16_PD_M
	.comm	_V2_UD_SEND_WQE_BYTE_16_PD_S,4,2 ## @V2_UD_SEND_WQE_BYTE_16_PD_S
	.comm	_V2_UD_SEND_WQE_BYTE_16_SGE_NUM_M,4,2 ## @V2_UD_SEND_WQE_BYTE_16_SGE_NUM_M
	.comm	_V2_UD_SEND_WQE_BYTE_16_SGE_NUM_S,4,2 ## @V2_UD_SEND_WQE_BYTE_16_SGE_NUM_S
	.comm	_V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_M,4,2 ## @V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_M
	.comm	_V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_S,4,2 ## @V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_S
	.comm	_V2_UD_SEND_WQE_BYTE_24_UDPSPN_M,4,2 ## @V2_UD_SEND_WQE_BYTE_24_UDPSPN_M
	.comm	_V2_UD_SEND_WQE_BYTE_24_UDPSPN_S,4,2 ## @V2_UD_SEND_WQE_BYTE_24_UDPSPN_S
	.comm	_V2_UD_SEND_WQE_BYTE_32_DQPN_M,4,2 ## @V2_UD_SEND_WQE_BYTE_32_DQPN_M
	.comm	_V2_UD_SEND_WQE_BYTE_32_DQPN_S,4,2 ## @V2_UD_SEND_WQE_BYTE_32_DQPN_S
	.comm	_V2_UD_SEND_WQE_BYTE_36_VLAN_M,4,2 ## @V2_UD_SEND_WQE_BYTE_36_VLAN_M
	.comm	_V2_UD_SEND_WQE_BYTE_36_VLAN_S,4,2 ## @V2_UD_SEND_WQE_BYTE_36_VLAN_S
	.comm	_V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_M,4,2 ## @V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_M
	.comm	_V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_S,4,2 ## @V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_S
	.comm	_V2_UD_SEND_WQE_BYTE_36_TCLASS_M,4,2 ## @V2_UD_SEND_WQE_BYTE_36_TCLASS_M
	.comm	_V2_UD_SEND_WQE_BYTE_36_TCLASS_S,4,2 ## @V2_UD_SEND_WQE_BYTE_36_TCLASS_S
	.comm	_V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_M,4,2 ## @V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_M
	.comm	_V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_S,4,2 ## @V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_S
	.comm	_V2_UD_SEND_WQE_BYTE_40_SL_M,4,2 ## @V2_UD_SEND_WQE_BYTE_40_SL_M
	.comm	_V2_UD_SEND_WQE_BYTE_40_SL_S,4,2 ## @V2_UD_SEND_WQE_BYTE_40_SL_S
	.comm	_V2_UD_SEND_WQE_BYTE_40_PORTN_M,4,2 ## @V2_UD_SEND_WQE_BYTE_40_PORTN_M
	.comm	_V2_UD_SEND_WQE_BYTE_40_PORTN_S,4,2 ## @V2_UD_SEND_WQE_BYTE_40_PORTN_S
	.comm	_V2_UD_SEND_WQE_BYTE_40_UD_VLAN_EN_S,4,2 ## @V2_UD_SEND_WQE_BYTE_40_UD_VLAN_EN_S
	.comm	_V2_UD_SEND_WQE_BYTE_48_SGID_INDX_M,4,2 ## @V2_UD_SEND_WQE_BYTE_48_SGID_INDX_M
	.comm	_V2_UD_SEND_WQE_BYTE_48_SGID_INDX_S,4,2 ## @V2_UD_SEND_WQE_BYTE_48_SGID_INDX_S
	.comm	_GID_LEN_V2,4,2                 ## @GID_LEN_V2
	.comm	_V2_RC_SEND_WQE_BYTE_4_FENCE_S,4,2 ## @V2_RC_SEND_WQE_BYTE_4_FENCE_S
	.comm	_IB_SEND_FENCE,4,2              ## @IB_SEND_FENCE
	.comm	_V2_RC_SEND_WQE_BYTE_4_SE_S,4,2 ## @V2_RC_SEND_WQE_BYTE_4_SE_S
	.comm	_V2_RC_SEND_WQE_BYTE_4_CQE_S,4,2 ## @V2_RC_SEND_WQE_BYTE_4_CQE_S
	.comm	_V2_RC_SEND_WQE_BYTE_4_OWNER_S,4,2 ## @V2_RC_SEND_WQE_BYTE_4_OWNER_S
	.comm	_HNS_ROCE_V2_WQE_OP_RDMA_READ,4,2 ## @HNS_ROCE_V2_WQE_OP_RDMA_READ
	.comm	_HNS_ROCE_V2_WQE_OP_RDMA_WRITE,4,2 ## @HNS_ROCE_V2_WQE_OP_RDMA_WRITE
	.comm	_HNS_ROCE_V2_WQE_OP_RDMA_WRITE_WITH_IMM,4,2 ## @HNS_ROCE_V2_WQE_OP_RDMA_WRITE_WITH_IMM
	.comm	_HNS_ROCE_V2_WQE_OP_SEND_WITH_INV,4,2 ## @HNS_ROCE_V2_WQE_OP_SEND_WITH_INV
	.comm	_HNS_ROCE_V2_WQE_OP_SEND_WITH_IMM,4,2 ## @HNS_ROCE_V2_WQE_OP_SEND_WITH_IMM
	.comm	_HNS_ROCE_V2_WQE_OP_LOCAL_INV,4,2 ## @HNS_ROCE_V2_WQE_OP_LOCAL_INV
	.comm	_V2_RC_SEND_WQE_BYTE_4_SO_S,4,2 ## @V2_RC_SEND_WQE_BYTE_4_SO_S
	.comm	_HNS_ROCE_V2_WQE_OP_FAST_REG_PMR,4,2 ## @HNS_ROCE_V2_WQE_OP_FAST_REG_PMR
	.comm	_HNS_ROCE_V2_WQE_OP_ATOM_CMP_AND_SWAP,4,2 ## @HNS_ROCE_V2_WQE_OP_ATOM_CMP_AND_SWAP
	.comm	_HNS_ROCE_V2_WQE_OP_ATOM_FETCH_AND_ADD,4,2 ## @HNS_ROCE_V2_WQE_OP_ATOM_FETCH_AND_ADD
	.comm	_HNS_ROCE_V2_WQE_OP_ATOM_MSK_CMP_AND_SWAP,4,2 ## @HNS_ROCE_V2_WQE_OP_ATOM_MSK_CMP_AND_SWAP
	.comm	_HNS_ROCE_V2_WQE_OP_ATOM_MSK_FETCH_AND_ADD,4,2 ## @HNS_ROCE_V2_WQE_OP_ATOM_MSK_FETCH_AND_ADD
	.comm	_HNS_ROCE_V2_WQE_OP_MASK,4,2    ## @HNS_ROCE_V2_WQE_OP_MASK
	.comm	_V2_RC_SEND_WQE_BYTE_4_OPCODE_M,4,2 ## @V2_RC_SEND_WQE_BYTE_4_OPCODE_M
	.comm	_V2_RC_SEND_WQE_BYTE_4_OPCODE_S,4,2 ## @V2_RC_SEND_WQE_BYTE_4_OPCODE_S
	.comm	_V2_RC_SEND_WQE_BYTE_16_SGE_NUM_M,4,2 ## @V2_RC_SEND_WQE_BYTE_16_SGE_NUM_M
	.comm	_V2_RC_SEND_WQE_BYTE_16_SGE_NUM_S,4,2 ## @V2_RC_SEND_WQE_BYTE_16_SGE_NUM_S
L_.str.3:                               ## @.str.3
	.asciz	"Illegal qp_type(0x%x)\n"

	.comm	_V2_DB_BYTE_4_TAG_M,4,2         ## @V2_DB_BYTE_4_TAG_M
	.comm	_V2_DB_BYTE_4_TAG_S,4,2         ## @V2_DB_BYTE_4_TAG_S
	.comm	_V2_DB_BYTE_4_CMD_M,4,2         ## @V2_DB_BYTE_4_CMD_M
	.comm	_V2_DB_BYTE_4_CMD_S,4,2         ## @V2_DB_BYTE_4_CMD_S
	.comm	_HNS_ROCE_V2_SQ_DB,4,2          ## @HNS_ROCE_V2_SQ_DB
	.comm	_V2_DB_PARAMETER_IDX_M,4,2      ## @V2_DB_PARAMETER_IDX_M
	.comm	_V2_DB_PARAMETER_IDX_S,4,2      ## @V2_DB_PARAMETER_IDX_S
	.comm	_V2_DB_PARAMETER_SL_M,4,2       ## @V2_DB_PARAMETER_SL_M
	.comm	_V2_DB_PARAMETER_SL_S,4,2       ## @V2_DB_PARAMETER_SL_S
	.comm	_IB_QPS_ERR,8,3                 ## @IB_QPS_ERR
	.comm	_IB_QP_STATE,4,2                ## @IB_QP_STATE
	.no_dead_strip	_hns_roce_v2_post_send
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function hns_roce_v2_post_send
_hns_roce_v2_post_send:                 ; @hns_roce_v2_post_send
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #192
	.cfi_def_cfa_offset 192
	stp	x28, x27, [sp, #96]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #112]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #128]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #144]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #160]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #176]            ; 16-byte Folded Spill
	add	x29, sp, #176
	.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	x19, x2
	mov	x20, x1
	mov	x24, x0
	ldr	w0, [x0, #12]
	bl	_to_hr_dev
	mov	x23, x0
	mov	x0, x20
	bl	_ud_wr
	ldr	w0, [x0, #8]
	bl	_to_hr_ah
	mov	x27, x0
	mov	x0, x24
	bl	_to_hr_qp
	mov	x21, x0
	ldr	x25, [x23, #8]
Lloh0:
	adrp	x9, _IB_QPT_RC@GOTPAGE
Lloh1:
	ldr	x9, [x9, _IB_QPT_RC@GOTPAGEOFF]
	ldr	x8, [x24]
Lloh2:
	ldr	x9, [x9]
	cmp	x8, x9
Lloh3:
	adrp	x28, _IB_QPT_GSI@GOTPAGE
Lloh4:
	ldr	x28, [x28, _IB_QPT_GSI@GOTPAGEOFF]
	ldr	x9, [x28]
	ccmp	x8, x9, #4, ne
Lloh5:
	adrp	x9, _IB_QPT_UD@GOTPAGE
Lloh6:
	ldr	x9, [x9, _IB_QPT_UD@GOTPAGEOFF]
Lloh7:
	ldr	x9, [x9]
	ccmp	x8, x9, #4, ne
	cset	w0, ne
	bl	_unlikely
	cbz	x0, LBB0_3
; %bb.1:
	ldr	x2, [x24]
Lloh8:
	adrp	x1, l_.str@PAGE
Lloh9:
	add	x1, x1, l_.str@PAGEOFF
	mov	x0, x25
	bl	_dev_err
	str	x20, [x19]
LBB0_2:
Lloh10:
	adrp	x8, _EOPNOTSUPP@GOTPAGE
Lloh11:
	ldr	x8, [x8, _EOPNOTSUPP@GOTPAGEOFF]
	b	LBB0_5
LBB0_3:
Lloh12:
	adrp	x8, _IB_QPS_RESET@GOTPAGE
Lloh13:
	ldr	x8, [x8, _IB_QPS_RESET@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh14:
	ldr	x8, [x8]
	cmp	x9, x8
Lloh15:
	adrp	x8, _IB_QPS_INIT@GOTPAGE
Lloh16:
	ldr	x8, [x8, _IB_QPS_INIT@GOTPAGEOFF]
Lloh17:
	ldr	x8, [x8]
	ccmp	x9, x8, #4, ne
Lloh18:
	adrp	x8, _IB_QPS_RTR@GOTPAGE
Lloh19:
	ldr	x8, [x8, _IB_QPS_RTR@GOTPAGEOFF]
Lloh20:
	ldr	x8, [x8]
	ccmp	x9, x8, #4, ne
	cset	w0, eq
	bl	_unlikely
	cbz	x0, LBB0_7
; %bb.4:
	ldr	x2, [x21]
Lloh21:
	adrp	x1, l_.str.1@PAGE
Lloh22:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x0, x25
	bl	_dev_err
	str	x20, [x19]
Lloh23:
	adrp	x8, _EINVAL@GOTPAGE
Lloh24:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
LBB0_5:
	ldr	w8, [x8]
	neg	w19, w8
LBB0_6:
	mov	x0, x19
	ldp	x29, x30, [sp, #176]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #160]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #144]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #128]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #112]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #96]             ; 16-byte Folded Reload
	add	sp, sp, #192
	ret
LBB0_7:
	add	x0, x21, #52
	str	x0, [sp, #24]                   ; 8-byte Folded Spill
	bl	_spin_lock_irqsave
	ldp	w22, w8, [x21, #8]
	str	w8, [sp, #68]
	str	x19, [sp, #32]                  ; 8-byte Folded Spill
	str	x23, [sp, #56]                  ; 8-byte Folded Spill
	cbz	x20, LBB0_70
; %bb.8:
	str	x25, [sp, #16]                  ; 8-byte Folded Spill
	mov	w26, #0
	add	x25, x21, #40
	add	x8, x21, #24
	stp	x8, x25, [sp, #40]              ; 16-byte Folded Spill
	b	LBB0_11
LBB0_9:                                 ;   in Loop: Header=BB0_11 Depth=1
	ldr	x1, [x20, #16]
	mov	x0, x19
	bl	_set_data_seg_v2
	add	x19, x23, #132
	mov	x0, x20
	bl	_atomic_wr
	mov	x1, x0
	mov	x0, x19
	bl	_set_atomic_seg
	ldr	x0, [x23]
Lloh25:
	adrp	x8, _V2_RC_SEND_WQE_BYTE_16_SGE_NUM_M@GOTPAGE
Lloh26:
	ldr	x8, [x8, _V2_RC_SEND_WQE_BYTE_16_SGE_NUM_M@GOTPAGEOFF]
Lloh27:
	ldr	w1, [x8]
Lloh28:
	adrp	x8, _V2_RC_SEND_WQE_BYTE_16_SGE_NUM_S@GOTPAGE
Lloh29:
	ldr	x8, [x8, _V2_RC_SEND_WQE_BYTE_16_SGE_NUM_S@GOTPAGEOFF]
Lloh30:
	ldr	w2, [x8]
	ldr	w3, [x20]
	bl	_roce_set_field
Lloh31:
	adrp	x28, _IB_QPT_GSI@GOTPAGE
Lloh32:
	ldr	x28, [x28, _IB_QPT_GSI@GOTPAGEOFF]
LBB0_10:                                ;   in Loop: Header=BB0_11 Depth=1
	add	w22, w22, #1
	add	w26, w26, #1
	ldr	x20, [x20, #40]
	cbz	x20, LBB0_71
LBB0_11:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_36 Depth 2
                                        ;     Child Loop BB0_39 Depth 2
                                        ;     Child Loop BB0_24 Depth 2
                                        ;     Child Loop BB0_27 Depth 2
	ldr	w2, [x21, #72]
	mov	x0, x25
	mov	x1, x26
	bl	_hns_roce_wq_overflow
	cbnz	x0, LBB0_72
; %bb.12:                               ;   in Loop: Header=BB0_11 Depth=1
	ldr	w8, [x20]
	ldr	w9, [x25]
	cmp	w8, w9
	cset	w0, gt
	bl	_unlikely
	cbnz	x0, LBB0_73
; %bb.13:                               ;   in Loop: Header=BB0_11 Depth=1
	ldr	w8, [x21, #44]
	sub	w8, w8, #1
	and	w1, w8, w22
	mov	x0, x21
	bl	_get_send_wqe
	mov	x23, x0
	ldr	w8, [x20, #32]
	ldr	x9, [x21, #64]
	ldp	w11, w10, [x21, #44]
	sub	w11, w11, #1
	add	w10, w10, w26
	and	w10, w11, w10
	str	w8, [x9, w10, sxtw #2]
	ldp	w0, w8, [x21, #44]
	add	w19, w8, w26
	bl	_ilog2
	lsr	w8, w19, w0
	mvn	w8, w8
	orr	w19, w8, #0xfffffffe
	ldr	x2, [x24]
	ldr	x8, [x28]
	cmp	x2, x8
	b.ne	LBB0_17
; %bb.14:                               ;   in Loop: Header=BB0_11 Depth=1
	mov	x0, x23
	mov	w1, #0
	mov	w2, #128
	bl	_memset
	ldr	x0, [x23, #120]
Lloh33:
	adrp	x8, _V2_UD_SEND_WQE_DMAC_0_M@GOTPAGE
Lloh34:
	ldr	x8, [x8, _V2_UD_SEND_WQE_DMAC_0_M@GOTPAGEOFF]
Lloh35:
	ldr	w1, [x8]
Lloh36:
	adrp	x8, _V2_UD_SEND_WQE_DMAC_0_S@GOTPAGE
Lloh37:
	ldr	x8, [x8, _V2_UD_SEND_WQE_DMAC_0_S@GOTPAGEOFF]
Lloh38:
	ldr	w2, [x8]
	ldr	x8, [x27]
	ldr	w3, [x8]
	bl	_roce_set_field
	ldr	x0, [x23, #120]
Lloh39:
	adrp	x8, _V2_UD_SEND_WQE_DMAC_1_M@GOTPAGE
Lloh40:
	ldr	x8, [x8, _V2_UD_SEND_WQE_DMAC_1_M@GOTPAGEOFF]
Lloh41:
	ldr	w1, [x8]
Lloh42:
	adrp	x8, _V2_UD_SEND_WQE_DMAC_1_S@GOTPAGE
Lloh43:
	ldr	x8, [x8, _V2_UD_SEND_WQE_DMAC_1_S@GOTPAGEOFF]
Lloh44:
	ldr	w2, [x8]
	ldr	x8, [x27]
	ldr	w3, [x8, #4]
	bl	_roce_set_field
	ldr	x0, [x23, #120]
Lloh45:
	adrp	x8, _V2_UD_SEND_WQE_DMAC_2_M@GOTPAGE
Lloh46:
	ldr	x8, [x8, _V2_UD_SEND_WQE_DMAC_2_M@GOTPAGEOFF]
Lloh47:
	ldr	w1, [x8]
Lloh48:
	adrp	x8, _V2_UD_SEND_WQE_DMAC_2_S@GOTPAGE
Lloh49:
	ldr	x8, [x8, _V2_UD_SEND_WQE_DMAC_2_S@GOTPAGEOFF]
Lloh50:
	ldr	w2, [x8]
	ldr	x8, [x27]
	ldr	w3, [x8, #8]
	bl	_roce_set_field
	ldr	x0, [x23, #120]
Lloh51:
	adrp	x8, _V2_UD_SEND_WQE_DMAC_3_M@GOTPAGE
Lloh52:
	ldr	x8, [x8, _V2_UD_SEND_WQE_DMAC_3_M@GOTPAGEOFF]
Lloh53:
	ldr	w1, [x8]
Lloh54:
	adrp	x8, _V2_UD_SEND_WQE_DMAC_3_S@GOTPAGE
Lloh55:
	ldr	x8, [x8, _V2_UD_SEND_WQE_DMAC_3_S@GOTPAGEOFF]
Lloh56:
	ldr	w2, [x8]
	ldr	x8, [x27]
	ldr	w3, [x8, #12]
	bl	_roce_set_field
	ldr	x0, [x23, #64]
Lloh57:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_48_DMAC_4_M@GOTPAGE
Lloh58:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_48_DMAC_4_M@GOTPAGEOFF]
Lloh59:
	ldr	w1, [x8]
Lloh60:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_48_DMAC_4_S@GOTPAGE
Lloh61:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_48_DMAC_4_S@GOTPAGEOFF]
Lloh62:
	ldr	w2, [x8]
	ldr	x8, [x27]
	ldr	w3, [x8, #16]
	bl	_roce_set_field
	ldr	x0, [x23, #64]
Lloh63:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_48_DMAC_5_M@GOTPAGE
Lloh64:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_48_DMAC_5_M@GOTPAGEOFF]
Lloh65:
	ldr	w1, [x8]
Lloh66:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_48_DMAC_5_S@GOTPAGE
Lloh67:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_48_DMAC_5_S@GOTPAGEOFF]
Lloh68:
	ldr	w2, [x8]
	ldr	x8, [x27]
	ldr	w3, [x8, #20]
	bl	_roce_set_field
	ldr	x8, [sp, #56]                   ; 8-byte Folded Reload
	ldr	x8, [x8]
	ldr	x9, [x21, #16]
	ldr	x1, [x8, x9, lsl #3]
	ldr	x0, [x27]
	bl	_ether_addr_equal_unaligned
	cmp	x0, #0
	cset	w2, ne
	ldr	x0, [x23, #72]
Lloh69:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_40_LBI_S@GOTPAGE
Lloh70:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_40_LBI_S@GOTPAGEOFF]
Lloh71:
	ldr	w1, [x8]
	bl	_roce_set_bit
	ldr	x0, [x23, #8]
Lloh72:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_4_OPCODE_M@GOTPAGE
Lloh73:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_4_OPCODE_M@GOTPAGEOFF]
Lloh74:
	ldr	w1, [x8]
Lloh75:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_4_OPCODE_S@GOTPAGE
Lloh76:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_4_OPCODE_S@GOTPAGEOFF]
Lloh77:
	ldr	w2, [x8]
Lloh78:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_SEND@GOTPAGE
Lloh79:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_SEND@GOTPAGEOFF]
Lloh80:
	ldr	w3, [x8]
	bl	_roce_set_field
	ldr	w8, [x20]
	cmp	w8, #1
	b.lt	LBB0_21
; %bb.15:                               ;   in Loop: Header=BB0_11 Depth=1
	ldr	x9, [x20, #16]
	cmp	w8, #16
	b.hs	LBB0_23
; %bb.16:                               ;   in Loop: Header=BB0_11 Depth=1
	mov	x10, #0
	mov	w25, #0
	b	LBB0_26
LBB0_17:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh81:
	adrp	x8, _IB_QPT_RC@GOTPAGE
Lloh82:
	ldr	x8, [x8, _IB_QPT_RC@GOTPAGEOFF]
Lloh83:
	ldr	x8, [x8]
	cmp	x2, x8
	b.ne	LBB0_80
; %bb.18:                               ;   in Loop: Header=BB0_11 Depth=1
	mov	x0, x23
	mov	w1, #0
	mov	w2, #128
	bl	_memset
	ldr	w8, [x20]
	cmp	w8, #1
	b.lt	LBB0_22
; %bb.19:                               ;   in Loop: Header=BB0_11 Depth=1
	ldr	x9, [x20, #16]
	cmp	w8, #16
	b.hs	LBB0_35
; %bb.20:                               ;   in Loop: Header=BB0_11 Depth=1
	mov	x10, #0
	mov	w25, #0
	b	LBB0_38
LBB0_21:                                ;   in Loop: Header=BB0_11 Depth=1
	mov	w25, #0
	b	LBB0_28
LBB0_22:                                ;   in Loop: Header=BB0_11 Depth=1
	mov	w25, #0
	b	LBB0_40
LBB0_23:                                ;   in Loop: Header=BB0_11 Depth=1
	and	x10, x8, #0xfffffff0
	add	x11, x9, #32
	movi.2d	v0, #0000000000000000
	mov	x12, x10
	movi.2d	v1, #0000000000000000
	movi.2d	v2, #0000000000000000
	movi.2d	v3, #0000000000000000
LBB0_24:                                ;   Parent Loop BB0_11 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	add.4s	v0, v4, v0
	add.4s	v1, v5, v1
	add.4s	v2, v6, v2
	add.4s	v3, v7, v3
	subs	x12, x12, #16
	b.ne	LBB0_24
; %bb.25:                               ;   in Loop: Header=BB0_11 Depth=1
	add.4s	v0, v1, v0
	add.4s	v0, v2, v0
	add.4s	v0, v3, v0
	addv.4s	s0, v0
	fmov	w25, s0
	cmp	x10, x8
	b.eq	LBB0_28
LBB0_26:                                ;   in Loop: Header=BB0_11 Depth=1
	add	x9, x9, x10, lsl #2
	sub	x8, x8, x10
LBB0_27:                                ;   Parent Loop BB0_11 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w10, [x9], #4
	add	w25, w10, w25
	subs	x8, x8, #1
	b.ne	LBB0_27
LBB0_28:                                ;   in Loop: Header=BB0_11 Depth=1
	ldr	x0, [x23, #48]
	bl	_le32_to_cpu
	add	w0, w0, w25
	bl	_cpu_to_le32
	str	x0, [x23, #48]
	ldr	w8, [x20, #4]
	cmp	w8, #132
	b.eq	LBB0_30
; %bb.29:                               ;   in Loop: Header=BB0_11 Depth=1
	cmp	w8, #129
	b.ne	LBB0_31
LBB0_30:                                ;   in Loop: Header=BB0_11 Depth=1
	ldr	w0, [x20, #28]
	bl	_be32_to_cpu
	bl	_cpu_to_le32
	b	LBB0_32
LBB0_31:                                ;   in Loop: Header=BB0_11 Depth=1
	mov	x0, #0
LBB0_32:                                ;   in Loop: Header=BB0_11 Depth=1
	str	x0, [x23, #40]
	ldr	x0, [x23, #8]
Lloh84:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_4_CQE_S@GOTPAGE
Lloh85:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_4_CQE_S@GOTPAGEOFF]
Lloh86:
	ldr	w1, [x8]
	ldr	w8, [x20, #8]
Lloh87:
	adrp	x9, _IB_SEND_SIGNALED@GOTPAGE
Lloh88:
	ldr	x9, [x9, _IB_SEND_SIGNALED@GOTPAGEOFF]
Lloh89:
	ldr	w9, [x9]
	tst	w9, w8
	cset	w2, ne
	bl	_roce_set_bit
	ldr	x0, [x23, #8]
Lloh90:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_4_SE_S@GOTPAGE
Lloh91:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_4_SE_S@GOTPAGEOFF]
Lloh92:
	ldr	w1, [x8]
	ldr	w8, [x20, #8]
Lloh93:
	adrp	x9, _IB_SEND_SOLICITED@GOTPAGE
Lloh94:
	ldr	x9, [x9, _IB_SEND_SOLICITED@GOTPAGEOFF]
Lloh95:
	ldr	w9, [x9]
	tst	w9, w8
	cset	w2, ne
	bl	_roce_set_bit
	ldr	x0, [x23, #8]
Lloh96:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_4_OWNER_S@GOTPAGE
Lloh97:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_4_OWNER_S@GOTPAGEOFF]
Lloh98:
	ldr	w1, [x8]
	mov	x2, x19
	bl	_roce_set_bit
	ldr	x19, [x23]
Lloh99:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_16_PD_M@GOTPAGE
Lloh100:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_16_PD_M@GOTPAGEOFF]
Lloh101:
	ldr	w28, [x8]
Lloh102:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_16_PD_S@GOTPAGE
Lloh103:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_16_PD_S@GOTPAGEOFF]
Lloh104:
	ldr	w25, [x8]
	ldr	w0, [x24, #8]
	bl	_to_hr_pd
	ldr	w3, [x0]
	mov	x0, x19
	mov	x1, x28
	mov	x2, x25
	bl	_roce_set_field
	ldr	x0, [x23]
Lloh105:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_16_SGE_NUM_M@GOTPAGE
Lloh106:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_16_SGE_NUM_M@GOTPAGEOFF]
Lloh107:
	ldr	w1, [x8]
Lloh108:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_16_SGE_NUM_S@GOTPAGE
Lloh109:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_16_SGE_NUM_S@GOTPAGEOFF]
Lloh110:
	ldr	w2, [x8]
	ldr	w3, [x20]
	bl	_roce_set_field
	ldr	x0, [x23, #112]
Lloh111:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_M@GOTPAGE
Lloh112:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_M@GOTPAGEOFF]
Lloh113:
	ldr	w1, [x8]
Lloh114:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_S@GOTPAGE
Lloh115:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_S@GOTPAGEOFF]
Lloh116:
	ldr	w2, [x8]
	ldr	w8, [sp, #68]
	ldr	w9, [x21, #80]
	sub	w9, w9, #1
	and	w3, w9, w8
	bl	_roce_set_field
	ldr	x0, [x23, #104]
Lloh117:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_24_UDPSPN_M@GOTPAGE
Lloh118:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_24_UDPSPN_M@GOTPAGEOFF]
Lloh119:
	ldr	w1, [x8]
Lloh120:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_24_UDPSPN_S@GOTPAGE
Lloh121:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_24_UDPSPN_S@GOTPAGEOFF]
Lloh122:
	ldr	w2, [x8]
	mov	w3, #0
	bl	_roce_set_field
	mov	x0, x20
	bl	_ud_wr
	ldr	w8, [x0]
	ldr	x0, [sp, #40]                   ; 8-byte Folded Reload
	tbnz	w8, #31, LBB0_34
; %bb.33:                               ;   in Loop: Header=BB0_11 Depth=1
	mov	x0, x20
	bl	_ud_wr
LBB0_34:                                ;   in Loop: Header=BB0_11 Depth=1
	ldr	w0, [x0]
	bl	_cpu_to_le32
	str	x0, [x23, #96]
	ldr	x19, [x23, #88]
Lloh123:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_32_DQPN_M@GOTPAGE
Lloh124:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_32_DQPN_M@GOTPAGEOFF]
Lloh125:
	ldr	w25, [x8]
Lloh126:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_32_DQPN_S@GOTPAGE
Lloh127:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_32_DQPN_S@GOTPAGEOFF]
Lloh128:
	ldr	w28, [x8]
	mov	x0, x20
	bl	_ud_wr
	ldr	w3, [x0, #4]
	mov	x0, x19
	mov	x1, x25
	mov	x2, x28
	bl	_roce_set_field
	ldr	x19, [x23, #80]
Lloh129:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_36_VLAN_M@GOTPAGE
Lloh130:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_36_VLAN_M@GOTPAGEOFF]
Lloh131:
	ldr	w25, [x8]
Lloh132:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_36_VLAN_S@GOTPAGE
Lloh133:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_36_VLAN_S@GOTPAGEOFF]
Lloh134:
	ldr	w28, [x8]
	ldr	w0, [x27, #48]
	bl	_le16_to_cpu
	mov	x3, x0
	mov	x0, x19
	mov	x1, x25
	mov	x2, x28
	bl	_roce_set_field
	ldr	x0, [x23, #80]
Lloh135:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_M@GOTPAGE
Lloh136:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_M@GOTPAGEOFF]
Lloh137:
	ldr	w1, [x8]
Lloh138:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_S@GOTPAGE
Lloh139:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_S@GOTPAGEOFF]
Lloh140:
	ldr	w2, [x8]
	ldr	w3, [x27, #8]
	bl	_roce_set_field
	ldr	x0, [x23, #80]
Lloh141:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_36_TCLASS_M@GOTPAGE
Lloh142:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_36_TCLASS_M@GOTPAGEOFF]
Lloh143:
	ldr	w1, [x8]
Lloh144:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_36_TCLASS_S@GOTPAGE
Lloh145:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_36_TCLASS_S@GOTPAGEOFF]
Lloh146:
	ldr	w2, [x8]
	ldr	w3, [x27, #12]
	bl	_roce_set_field
	ldr	x0, [x23, #72]
Lloh147:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_M@GOTPAGE
Lloh148:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_M@GOTPAGEOFF]
Lloh149:
	ldr	w1, [x8]
Lloh150:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_S@GOTPAGE
Lloh151:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_S@GOTPAGEOFF]
Lloh152:
	ldr	w2, [x8]
	ldr	w3, [x27, #16]
	bl	_roce_set_field
	ldr	x0, [x23, #72]
Lloh153:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_40_SL_M@GOTPAGE
Lloh154:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_40_SL_M@GOTPAGEOFF]
Lloh155:
	ldr	w1, [x8]
Lloh156:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_40_SL_S@GOTPAGE
Lloh157:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_40_SL_S@GOTPAGEOFF]
Lloh158:
	ldr	w2, [x8]
	ldr	w3, [x27, #20]
	bl	_roce_set_field
	ldr	x0, [x23, #72]
Lloh159:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_40_PORTN_M@GOTPAGE
Lloh160:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_40_PORTN_M@GOTPAGEOFF]
Lloh161:
	ldr	w1, [x8]
Lloh162:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_40_PORTN_S@GOTPAGE
Lloh163:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_40_PORTN_S@GOTPAGEOFF]
Lloh164:
	ldr	w2, [x8]
	ldr	w3, [x21, #16]
	bl	_roce_set_field
	ldr	x0, [x23, #72]
Lloh165:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_40_UD_VLAN_EN_S@GOTPAGE
Lloh166:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_40_UD_VLAN_EN_S@GOTPAGEOFF]
Lloh167:
	ldr	w1, [x8]
	ldr	x8, [x27, #40]
	cmp	x8, #0
	cset	w2, ne
	bl	_roce_set_bit
	ldr	x19, [x23, #64]
Lloh168:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_48_SGID_INDX_M@GOTPAGE
Lloh169:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_48_SGID_INDX_M@GOTPAGEOFF]
Lloh170:
	ldr	w25, [x8]
Lloh171:
	adrp	x8, _V2_UD_SEND_WQE_BYTE_48_SGID_INDX_S@GOTPAGE
Lloh172:
	ldr	x8, [x8, _V2_UD_SEND_WQE_BYTE_48_SGID_INDX_S@GOTPAGEOFF]
Lloh173:
	ldr	w28, [x8]
	ldr	w1, [x21, #76]
	ldr	w2, [x27, #32]
	ldr	x0, [sp, #56]                   ; 8-byte Folded Reload
	bl	_hns_get_gid_index
	mov	x3, x0
	mov	x0, x19
	mov	x1, x25
	mov	x2, x28
	bl	_roce_set_field
	ldr	x0, [x23, #56]
	ldr	x1, [x27, #24]
Lloh174:
	adrp	x8, _GID_LEN_V2@GOTPAGE
Lloh175:
	ldr	x8, [x8, _GID_LEN_V2@GOTPAGEOFF]
Lloh176:
	ldr	w2, [x8]
	bl	_memcpy
	add	x2, sp, #68
	mov	x0, x21
	mov	x1, x20
	bl	_set_extend_sge
Lloh177:
	adrp	x28, _IB_QPT_GSI@GOTPAGE
Lloh178:
	ldr	x28, [x28, _IB_QPT_GSI@GOTPAGEOFF]
	ldr	x25, [sp, #48]                  ; 8-byte Folded Reload
	b	LBB0_10
LBB0_35:                                ;   in Loop: Header=BB0_11 Depth=1
	and	x10, x8, #0xfffffff0
	add	x11, x9, #32
	movi.2d	v0, #0000000000000000
	mov	x12, x10
	movi.2d	v1, #0000000000000000
	movi.2d	v2, #0000000000000000
	movi.2d	v3, #0000000000000000
LBB0_36:                                ;   Parent Loop BB0_11 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	add.4s	v0, v4, v0
	add.4s	v1, v5, v1
	add.4s	v2, v6, v2
	add.4s	v3, v7, v3
	subs	x12, x12, #16
	b.ne	LBB0_36
; %bb.37:                               ;   in Loop: Header=BB0_11 Depth=1
	add.4s	v0, v1, v0
	add.4s	v0, v2, v0
	add.4s	v0, v3, v0
	addv.4s	s0, v0
	fmov	w25, s0
	cmp	x10, x8
	b.eq	LBB0_40
LBB0_38:                                ;   in Loop: Header=BB0_11 Depth=1
	add	x9, x9, x10, lsl #2
	sub	x8, x8, x10
LBB0_39:                                ;   Parent Loop BB0_11 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w10, [x9], #4
	add	w25, w10, w25
	subs	x8, x8, #1
	b.ne	LBB0_39
LBB0_40:                                ;   in Loop: Header=BB0_11 Depth=1
	ldr	x0, [x23, #48]
	bl	_le32_to_cpu
	add	w0, w0, w25
	bl	_cpu_to_le32
	str	x0, [x23, #48]
	ldr	w8, [x20, #4]
	cmp	w8, #128
	b.eq	LBB0_44
; %bb.41:                               ;   in Loop: Header=BB0_11 Depth=1
	cmp	w8, #132
	b.eq	LBB0_43
; %bb.42:                               ;   in Loop: Header=BB0_11 Depth=1
	cmp	w8, #129
	b.ne	LBB0_46
LBB0_43:                                ;   in Loop: Header=BB0_11 Depth=1
	ldr	w0, [x20, #28]
	bl	_be32_to_cpu
	mov	w25, #40
	b	LBB0_45
LBB0_44:                                ;   in Loop: Header=BB0_11 Depth=1
	ldr	w0, [x20, #24]
	mov	w25, #32
LBB0_45:                                ;   in Loop: Header=BB0_11 Depth=1
	bl	_cpu_to_le32
	b	LBB0_47
LBB0_46:                                ;   in Loop: Header=BB0_11 Depth=1
	mov	x0, #0
	mov	w25, #40
LBB0_47:                                ;   in Loop: Header=BB0_11 Depth=1
	str	x0, [x23, x25]
	ldr	x0, [x23, #8]
Lloh179:
	adrp	x8, _V2_RC_SEND_WQE_BYTE_4_FENCE_S@GOTPAGE
Lloh180:
	ldr	x8, [x8, _V2_RC_SEND_WQE_BYTE_4_FENCE_S@GOTPAGEOFF]
Lloh181:
	ldr	w1, [x8]
	ldr	w8, [x20, #8]
Lloh182:
	adrp	x9, _IB_SEND_FENCE@GOTPAGE
Lloh183:
	ldr	x9, [x9, _IB_SEND_FENCE@GOTPAGEOFF]
Lloh184:
	ldr	w9, [x9]
	tst	w9, w8
	cset	w2, ne
	bl	_roce_set_bit
	ldr	x0, [x23, #8]
Lloh185:
	adrp	x8, _V2_RC_SEND_WQE_BYTE_4_SE_S@GOTPAGE
Lloh186:
	ldr	x8, [x8, _V2_RC_SEND_WQE_BYTE_4_SE_S@GOTPAGEOFF]
Lloh187:
	ldr	w1, [x8]
	ldr	w8, [x20, #8]
Lloh188:
	adrp	x9, _IB_SEND_SOLICITED@GOTPAGE
Lloh189:
	ldr	x9, [x9, _IB_SEND_SOLICITED@GOTPAGEOFF]
Lloh190:
	ldr	w9, [x9]
	tst	w9, w8
	cset	w2, ne
	bl	_roce_set_bit
	ldr	x0, [x23, #8]
Lloh191:
	adrp	x8, _V2_RC_SEND_WQE_BYTE_4_CQE_S@GOTPAGE
Lloh192:
	ldr	x8, [x8, _V2_RC_SEND_WQE_BYTE_4_CQE_S@GOTPAGEOFF]
Lloh193:
	ldr	w1, [x8]
	ldr	w8, [x20, #8]
Lloh194:
	adrp	x9, _IB_SEND_SIGNALED@GOTPAGE
Lloh195:
	ldr	x9, [x9, _IB_SEND_SIGNALED@GOTPAGEOFF]
Lloh196:
	ldr	w9, [x9]
	tst	w9, w8
	cset	w2, ne
	bl	_roce_set_bit
	ldr	x0, [x23, #8]
Lloh197:
	adrp	x8, _V2_RC_SEND_WQE_BYTE_4_OWNER_S@GOTPAGE
Lloh198:
	ldr	x8, [x8, _V2_RC_SEND_WQE_BYTE_4_OWNER_S@GOTPAGEOFF]
Lloh199:
	ldr	w1, [x8]
	mov	x2, x19
	bl	_roce_set_bit
	add	x19, x23, #128
	ldr	w8, [x20, #4]
	sub	w8, w8, #128
	cmp	w8, #11
	b.hi	LBB0_50
; %bb.48:                               ;   in Loop: Header=BB0_11 Depth=1
Lloh200:
	adrp	x11, lJTI0_0@PAGE
Lloh201:
	add	x11, x11, lJTI0_0@PAGEOFF
	adr	x9, LBB0_49
	ldrb	w10, [x11, x8]
	add	x9, x9, x10, lsl #2
	br	x9
LBB0_49:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh202:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_SEND_WITH_INV@GOTPAGE
Lloh203:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_SEND_WITH_INV@GOTPAGEOFF]
	b	LBB0_60
LBB0_50:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh204:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_MASK@GOTPAGE
Lloh205:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_MASK@GOTPAGEOFF]
	b	LBB0_60
LBB0_51:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh206:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_SEND_WITH_IMM@GOTPAGE
Lloh207:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_SEND_WITH_IMM@GOTPAGEOFF]
	b	LBB0_60
LBB0_52:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh208:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_SEND@GOTPAGE
Lloh209:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_SEND@GOTPAGEOFF]
	b	LBB0_60
LBB0_53:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh210:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_FAST_REG_PMR@GOTPAGE
Lloh211:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_FAST_REG_PMR@GOTPAGEOFF]
Lloh212:
	ldr	w28, [x8]
	mov	x0, x20
	bl	_reg_wr
	mov	x2, x0
	mov	x0, x23
	mov	x1, x19
	bl	_set_frmr_seg
	b	LBB0_66
LBB0_54:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh213:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_RDMA_WRITE_WITH_IMM@GOTPAGE
Lloh214:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_RDMA_WRITE_WITH_IMM@GOTPAGEOFF]
	b	LBB0_57
LBB0_55:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh215:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_RDMA_WRITE@GOTPAGE
Lloh216:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_RDMA_WRITE@GOTPAGEOFF]
	b	LBB0_57
LBB0_56:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh217:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_RDMA_READ@GOTPAGE
Lloh218:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_RDMA_READ@GOTPAGEOFF]
LBB0_57:                                ;   in Loop: Header=BB0_11 Depth=1
	ldr	w28, [x8]
	mov	x0, x20
	bl	_rdma_wr
	ldr	w0, [x0]
	bl	_cpu_to_le32
	str	x0, [x23, #24]
	mov	x0, x20
	bl	_rdma_wr
	b	LBB0_65
LBB0_58:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh219:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_ATOM_MSK_FETCH_AND_ADD@GOTPAGE
Lloh220:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_ATOM_MSK_FETCH_AND_ADD@GOTPAGEOFF]
	b	LBB0_60
LBB0_59:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh221:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_ATOM_MSK_CMP_AND_SWAP@GOTPAGE
Lloh222:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_ATOM_MSK_CMP_AND_SWAP@GOTPAGEOFF]
LBB0_60:                                ;   in Loop: Header=BB0_11 Depth=1
	ldr	w28, [x8]
	b	LBB0_66
LBB0_61:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh223:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_LOCAL_INV@GOTPAGE
Lloh224:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_LOCAL_INV@GOTPAGEOFF]
Lloh225:
	ldr	w28, [x8]
	ldr	x0, [x23, #8]
Lloh226:
	adrp	x8, _V2_RC_SEND_WQE_BYTE_4_SO_S@GOTPAGE
Lloh227:
	ldr	x8, [x8, _V2_RC_SEND_WQE_BYTE_4_SO_S@GOTPAGEOFF]
Lloh228:
	ldr	w1, [x8]
	mov	w2, #1
	bl	_roce_set_bit
	ldr	w0, [x20, #24]
	bl	_cpu_to_le32
	str	x0, [x23, #32]
	b	LBB0_66
LBB0_62:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh229:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_ATOM_FETCH_AND_ADD@GOTPAGE
Lloh230:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_ATOM_FETCH_AND_ADD@GOTPAGEOFF]
	b	LBB0_64
LBB0_63:                                ;   in Loop: Header=BB0_11 Depth=1
Lloh231:
	adrp	x8, _HNS_ROCE_V2_WQE_OP_ATOM_CMP_AND_SWAP@GOTPAGE
Lloh232:
	ldr	x8, [x8, _HNS_ROCE_V2_WQE_OP_ATOM_CMP_AND_SWAP@GOTPAGEOFF]
LBB0_64:                                ;   in Loop: Header=BB0_11 Depth=1
	ldr	w28, [x8]
	mov	x0, x20
	bl	_atomic_wr
	ldr	w0, [x0]
	bl	_cpu_to_le32
	str	x0, [x23, #24]
	mov	x0, x20
	bl	_atomic_wr
LBB0_65:                                ;   in Loop: Header=BB0_11 Depth=1
	ldr	w0, [x0, #4]
	bl	_cpu_to_le64
	str	x0, [x23, #16]
LBB0_66:                                ;   in Loop: Header=BB0_11 Depth=1
	ldr	x25, [sp, #48]                  ; 8-byte Folded Reload
	ldr	x0, [x23, #8]
Lloh233:
	adrp	x8, _V2_RC_SEND_WQE_BYTE_4_OPCODE_M@GOTPAGE
Lloh234:
	ldr	x8, [x8, _V2_RC_SEND_WQE_BYTE_4_OPCODE_M@GOTPAGEOFF]
Lloh235:
	ldr	w1, [x8]
Lloh236:
	adrp	x8, _V2_RC_SEND_WQE_BYTE_4_OPCODE_S@GOTPAGE
Lloh237:
	ldr	x8, [x8, _V2_RC_SEND_WQE_BYTE_4_OPCODE_S@GOTPAGEOFF]
Lloh238:
	ldr	w2, [x8]
	mov	x3, x28
	bl	_roce_set_field
	ldr	w8, [x20, #4]
	sub	w9, w8, #138
	cmp	w9, #2
	b.lo	LBB0_9
; %bb.67:                               ;   in Loop: Header=BB0_11 Depth=1
	cmp	w8, #131
Lloh239:
	adrp	x28, _IB_QPT_GSI@GOTPAGE
Lloh240:
	ldr	x28, [x28, _IB_QPT_GSI@GOTPAGEOFF]
	b.eq	LBB0_10
; %bb.68:                               ;   in Loop: Header=BB0_11 Depth=1
	add	x4, sp, #68
	mov	x0, x24
	mov	x1, x20
	mov	x2, x23
	mov	x3, x19
	ldr	x5, [sp, #32]                   ; 8-byte Folded Reload
	bl	_set_rwqe_data_seg
	cbz	w0, LBB0_10
; %bb.69:
	mov	x19, x0
	b	LBB0_75
LBB0_70:
	mov	w26, #0
LBB0_71:
	mov	w19, #0
	b	LBB0_75
LBB0_72:
Lloh241:
	adrp	x8, _ENOMEM@GOTPAGE
Lloh242:
	ldr	x8, [x8, _ENOMEM@GOTPAGEOFF]
	b	LBB0_74
LBB0_73:
	ldrsw	x2, [x20]
	ldr	w8, [x25]
	str	x8, [sp]
Lloh243:
	adrp	x1, l_.str.2@PAGE
Lloh244:
	add	x1, x1, l_.str.2@PAGEOFF
	ldr	x0, [sp, #16]                   ; 8-byte Folded Reload
	bl	_dev_err
Lloh245:
	adrp	x8, _EINVAL@GOTPAGE
Lloh246:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
LBB0_74:
	ldr	w8, [x8]
	neg	w19, w8
	ldr	x8, [sp, #32]                   ; 8-byte Folded Reload
	str	x20, [x8]
LBB0_75:
	ldr	x23, [sp, #24]                  ; 8-byte Folded Reload
	mov	x0, x26
	bl	_likely
	cbz	x0, LBB0_79
; %bb.76:
	ldr	w8, [x21, #48]
	add	w8, w8, w26
	str	w8, [x21, #48]
	bl	_wmb
Lloh247:
	adrp	x8, _V2_DB_BYTE_4_TAG_M@GOTPAGE
Lloh248:
	ldr	x8, [x8, _V2_DB_BYTE_4_TAG_M@GOTPAGEOFF]
	stp	xzr, xzr, [sp, #80]
Lloh249:
	ldr	w1, [x8]
Lloh250:
	adrp	x8, _V2_DB_BYTE_4_TAG_S@GOTPAGE
Lloh251:
	ldr	x8, [x8, _V2_DB_BYTE_4_TAG_S@GOTPAGEOFF]
Lloh252:
	ldr	w2, [x8]
	ldr	w3, [x21, #28]
	mov	x0, #0
	bl	_roce_set_field
Lloh253:
	adrp	x8, _V2_DB_BYTE_4_CMD_M@GOTPAGE
Lloh254:
	ldr	x8, [x8, _V2_DB_BYTE_4_CMD_M@GOTPAGEOFF]
Lloh255:
	ldr	w1, [x8]
Lloh256:
	adrp	x8, _V2_DB_BYTE_4_CMD_S@GOTPAGE
Lloh257:
	ldr	x8, [x8, _V2_DB_BYTE_4_CMD_S@GOTPAGEOFF]
Lloh258:
	ldr	w2, [x8]
Lloh259:
	adrp	x8, _HNS_ROCE_V2_SQ_DB@GOTPAGE
Lloh260:
	ldr	x8, [x8, _HNS_ROCE_V2_SQ_DB@GOTPAGEOFF]
Lloh261:
	ldr	w3, [x8]
	mov	x0, #0
	bl	_roce_set_field
Lloh262:
	adrp	x8, _V2_DB_PARAMETER_IDX_M@GOTPAGE
Lloh263:
	ldr	x8, [x8, _V2_DB_PARAMETER_IDX_M@GOTPAGEOFF]
Lloh264:
	ldr	w1, [x8]
Lloh265:
	adrp	x8, _V2_DB_PARAMETER_IDX_S@GOTPAGE
Lloh266:
	ldr	x8, [x8, _V2_DB_PARAMETER_IDX_S@GOTPAGEOFF]
Lloh267:
	ldr	w2, [x8]
	ldp	w9, w8, [x21, #44]
	lsl	w9, w9, #1
	sub	w9, w9, #1
	and	w3, w9, w8
	mov	x0, #0
	bl	_roce_set_field
Lloh268:
	adrp	x8, _V2_DB_PARAMETER_SL_M@GOTPAGE
Lloh269:
	ldr	x8, [x8, _V2_DB_PARAMETER_SL_M@GOTPAGEOFF]
Lloh270:
	ldr	w1, [x8]
Lloh271:
	adrp	x8, _V2_DB_PARAMETER_SL_S@GOTPAGE
Lloh272:
	ldr	x8, [x8, _V2_DB_PARAMETER_SL_S@GOTPAGEOFF]
Lloh273:
	ldr	w2, [x8]
	ldr	w3, [x21, #32]
	mov	x0, #0
	bl	_roce_set_field
	ldr	w2, [x21, #56]
	add	x1, sp, #80
	ldr	x0, [sp, #56]                   ; 8-byte Folded Reload
	bl	_hns_roce_write64
	ldr	w8, [sp, #68]
	stp	w22, w8, [x21, #8]
	ldr	x3, [x21]
Lloh274:
	adrp	x8, _IB_QPS_ERR@GOTPAGE
Lloh275:
	ldr	x8, [x8, _IB_QPS_ERR@GOTPAGEOFF]
Lloh276:
	ldr	x8, [x8]
	cmp	x3, x8
	b.ne	LBB0_79
; %bb.77:
Lloh277:
	adrp	x8, _IB_QP_STATE@GOTPAGE
Lloh278:
	ldr	x8, [x8, _IB_QP_STATE@GOTPAGEOFF]
Lloh279:
	ldr	w2, [x8]
	str	x3, [sp, #72]
	add	x0, x21, #72
	add	x1, sp, #72
	mov	x4, x3
	bl	_hns_roce_v2_modify_qp
	mov	x19, x0
	cbz	w0, LBB0_79
; %bb.78:
	mov	x0, x23
	bl	_spin_unlock_irqrestore
	ldr	x8, [sp, #32]                   ; 8-byte Folded Reload
	str	x20, [x8]
	b	LBB0_6
LBB0_79:
	mov	x0, x23
	bl	_spin_unlock_irqrestore
	b	LBB0_6
LBB0_80:
Lloh280:
	adrp	x1, l_.str.3@PAGE
Lloh281:
	add	x1, x1, l_.str.3@PAGEOFF
	ldr	x0, [sp, #16]                   ; 8-byte Folded Reload
	bl	_dev_err
	ldr	x0, [sp, #24]                   ; 8-byte Folded Reload
	bl	_spin_unlock_irqrestore
	ldr	x8, [sp, #32]                   ; 8-byte Folded Reload
	str	x20, [x8]
	b	LBB0_2
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGot	Lloh23, Lloh24
	.loh AdrpAdd	Lloh21, Lloh22
	.loh AdrpLdrGot	Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh78, Lloh79, Lloh80
	.loh AdrpLdrGotLdr	Lloh75, Lloh76, Lloh77
	.loh AdrpLdrGotLdr	Lloh72, Lloh73, Lloh74
	.loh AdrpLdrGotLdr	Lloh69, Lloh70, Lloh71
	.loh AdrpLdrGotLdr	Lloh66, Lloh67, Lloh68
	.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	Lloh81, Lloh82, Lloh83
	.loh AdrpLdrGotLdr	Lloh120, Lloh121, Lloh122
	.loh AdrpLdrGotLdr	Lloh117, Lloh118, Lloh119
	.loh AdrpLdrGotLdr	Lloh114, Lloh115, Lloh116
	.loh AdrpLdrGotLdr	Lloh111, Lloh112, Lloh113
	.loh AdrpLdrGotLdr	Lloh108, Lloh109, Lloh110
	.loh AdrpLdrGotLdr	Lloh105, Lloh106, Lloh107
	.loh AdrpLdrGotLdr	Lloh102, Lloh103, Lloh104
	.loh AdrpLdrGotLdr	Lloh99, Lloh100, Lloh101
	.loh AdrpLdrGotLdr	Lloh96, Lloh97, Lloh98
	.loh AdrpLdrGotLdr	Lloh93, Lloh94, Lloh95
	.loh AdrpLdrGotLdr	Lloh90, Lloh91, Lloh92
	.loh AdrpLdrGotLdr	Lloh87, Lloh88, Lloh89
	.loh AdrpLdrGotLdr	Lloh84, Lloh85, Lloh86
	.loh AdrpLdrGot	Lloh177, Lloh178
	.loh AdrpLdrGotLdr	Lloh174, Lloh175, Lloh176
	.loh AdrpLdrGotLdr	Lloh171, Lloh172, Lloh173
	.loh AdrpLdrGotLdr	Lloh168, Lloh169, Lloh170
	.loh AdrpLdrGotLdr	Lloh165, Lloh166, Lloh167
	.loh AdrpLdrGotLdr	Lloh162, Lloh163, Lloh164
	.loh AdrpLdrGotLdr	Lloh159, Lloh160, Lloh161
	.loh AdrpLdrGotLdr	Lloh156, Lloh157, Lloh158
	.loh AdrpLdrGotLdr	Lloh153, Lloh154, Lloh155
	.loh AdrpLdrGotLdr	Lloh150, Lloh151, Lloh152
	.loh AdrpLdrGotLdr	Lloh147, Lloh148, Lloh149
	.loh AdrpLdrGotLdr	Lloh144, Lloh145, Lloh146
	.loh AdrpLdrGotLdr	Lloh141, Lloh142, Lloh143
	.loh AdrpLdrGotLdr	Lloh138, Lloh139, Lloh140
	.loh AdrpLdrGotLdr	Lloh135, Lloh136, Lloh137
	.loh AdrpLdrGotLdr	Lloh132, Lloh133, Lloh134
	.loh AdrpLdrGotLdr	Lloh129, Lloh130, Lloh131
	.loh AdrpLdrGotLdr	Lloh126, Lloh127, Lloh128
	.loh AdrpLdrGotLdr	Lloh123, Lloh124, Lloh125
	.loh AdrpLdrGotLdr	Lloh197, Lloh198, Lloh199
	.loh AdrpLdrGotLdr	Lloh194, Lloh195, Lloh196
	.loh AdrpLdrGotLdr	Lloh191, Lloh192, Lloh193
	.loh AdrpLdrGotLdr	Lloh188, Lloh189, Lloh190
	.loh AdrpLdrGotLdr	Lloh185, Lloh186, Lloh187
	.loh AdrpLdrGotLdr	Lloh182, Lloh183, Lloh184
	.loh AdrpLdrGotLdr	Lloh179, Lloh180, Lloh181
	.loh AdrpAdd	Lloh200, Lloh201
	.loh AdrpLdrGot	Lloh202, Lloh203
	.loh AdrpLdrGot	Lloh204, Lloh205
	.loh AdrpLdrGot	Lloh206, Lloh207
	.loh AdrpLdrGot	Lloh208, Lloh209
	.loh AdrpLdrGotLdr	Lloh210, Lloh211, Lloh212
	.loh AdrpLdrGot	Lloh213, Lloh214
	.loh AdrpLdrGot	Lloh215, Lloh216
	.loh AdrpLdrGot	Lloh217, Lloh218
	.loh AdrpLdrGot	Lloh219, Lloh220
	.loh AdrpLdrGot	Lloh221, Lloh222
	.loh AdrpLdrGotLdr	Lloh226, Lloh227, Lloh228
	.loh AdrpLdrGotLdr	Lloh223, Lloh224, Lloh225
	.loh AdrpLdrGot	Lloh229, Lloh230
	.loh AdrpLdrGot	Lloh231, Lloh232
	.loh AdrpLdrGotLdr	Lloh236, Lloh237, Lloh238
	.loh AdrpLdrGotLdr	Lloh233, Lloh234, Lloh235
	.loh AdrpLdrGot	Lloh239, Lloh240
	.loh AdrpLdrGot	Lloh241, Lloh242
	.loh AdrpLdrGot	Lloh245, Lloh246
	.loh AdrpAdd	Lloh243, Lloh244
	.loh AdrpLdrGotLdr	Lloh274, Lloh275, Lloh276
	.loh AdrpLdrGotLdr	Lloh271, Lloh272, Lloh273
	.loh AdrpLdrGotLdr	Lloh268, Lloh269, Lloh270
	.loh AdrpLdrGotLdr	Lloh265, Lloh266, Lloh267
	.loh AdrpLdrGotLdr	Lloh262, Lloh263, Lloh264
	.loh AdrpLdrGotLdr	Lloh259, Lloh260, Lloh261
	.loh AdrpLdrGotLdr	Lloh256, Lloh257, Lloh258
	.loh AdrpLdrGotLdr	Lloh253, Lloh254, Lloh255
	.loh AdrpLdrGotLdr	Lloh250, Lloh251, Lloh252
	.loh AdrpLdrGotLdr	Lloh247, Lloh248, Lloh249
	.loh AdrpLdrGotLdr	Lloh277, Lloh278, Lloh279
	.loh AdrpAdd	Lloh280, Lloh281
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_49-LBB0_49)>>2
	.byte	(LBB0_51-LBB0_49)>>2
	.byte	(LBB0_52-LBB0_49)>>2
	.byte	(LBB0_53-LBB0_49)>>2
	.byte	(LBB0_54-LBB0_49)>>2
	.byte	(LBB0_55-LBB0_49)>>2
	.byte	(LBB0_56-LBB0_49)>>2
	.byte	(LBB0_58-LBB0_49)>>2
	.byte	(LBB0_59-LBB0_49)>>2
	.byte	(LBB0_61-LBB0_49)>>2
	.byte	(LBB0_62-LBB0_49)>>2
	.byte	(LBB0_63-LBB0_49)>>2
                                        ; -- End function
	.comm	_IB_QPT_RC,8,3                  ; @IB_QPT_RC
	.comm	_IB_QPT_GSI,8,3                 ; @IB_QPT_GSI
	.comm	_IB_QPT_UD,8,3                  ; @IB_QPT_UD
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Not supported QP(0x%x)type!\n"

	.comm	_EOPNOTSUPP,4,2                 ; @EOPNOTSUPP
	.comm	_IB_QPS_RESET,8,3               ; @IB_QPS_RESET
	.comm	_IB_QPS_INIT,8,3                ; @IB_QPS_INIT
	.comm	_IB_QPS_RTR,8,3                 ; @IB_QPS_RTR
l_.str.1:                               ; @.str.1
	.asciz	"Post WQE fail, QP state %d err!\n"

	.comm	_EINVAL,4,2                     ; @EINVAL
	.comm	_ENOMEM,4,2                     ; @ENOMEM
l_.str.2:                               ; @.str.2
	.asciz	"num_sge=%d > qp->sq.max_gs=%d\n"

	.comm	_V2_UD_SEND_WQE_DMAC_0_M,4,2    ; @V2_UD_SEND_WQE_DMAC_0_M
	.comm	_V2_UD_SEND_WQE_DMAC_0_S,4,2    ; @V2_UD_SEND_WQE_DMAC_0_S
	.comm	_V2_UD_SEND_WQE_DMAC_1_M,4,2    ; @V2_UD_SEND_WQE_DMAC_1_M
	.comm	_V2_UD_SEND_WQE_DMAC_1_S,4,2    ; @V2_UD_SEND_WQE_DMAC_1_S
	.comm	_V2_UD_SEND_WQE_DMAC_2_M,4,2    ; @V2_UD_SEND_WQE_DMAC_2_M
	.comm	_V2_UD_SEND_WQE_DMAC_2_S,4,2    ; @V2_UD_SEND_WQE_DMAC_2_S
	.comm	_V2_UD_SEND_WQE_DMAC_3_M,4,2    ; @V2_UD_SEND_WQE_DMAC_3_M
	.comm	_V2_UD_SEND_WQE_DMAC_3_S,4,2    ; @V2_UD_SEND_WQE_DMAC_3_S
	.comm	_V2_UD_SEND_WQE_BYTE_48_DMAC_4_M,4,2 ; @V2_UD_SEND_WQE_BYTE_48_DMAC_4_M
	.comm	_V2_UD_SEND_WQE_BYTE_48_DMAC_4_S,4,2 ; @V2_UD_SEND_WQE_BYTE_48_DMAC_4_S
	.comm	_V2_UD_SEND_WQE_BYTE_48_DMAC_5_M,4,2 ; @V2_UD_SEND_WQE_BYTE_48_DMAC_5_M
	.comm	_V2_UD_SEND_WQE_BYTE_48_DMAC_5_S,4,2 ; @V2_UD_SEND_WQE_BYTE_48_DMAC_5_S
	.comm	_V2_UD_SEND_WQE_BYTE_40_LBI_S,4,2 ; @V2_UD_SEND_WQE_BYTE_40_LBI_S
	.comm	_V2_UD_SEND_WQE_BYTE_4_OPCODE_M,4,2 ; @V2_UD_SEND_WQE_BYTE_4_OPCODE_M
	.comm	_V2_UD_SEND_WQE_BYTE_4_OPCODE_S,4,2 ; @V2_UD_SEND_WQE_BYTE_4_OPCODE_S
	.comm	_HNS_ROCE_V2_WQE_OP_SEND,4,2    ; @HNS_ROCE_V2_WQE_OP_SEND
	.comm	_V2_UD_SEND_WQE_BYTE_4_CQE_S,4,2 ; @V2_UD_SEND_WQE_BYTE_4_CQE_S
	.comm	_IB_SEND_SIGNALED,4,2           ; @IB_SEND_SIGNALED
	.comm	_V2_UD_SEND_WQE_BYTE_4_SE_S,4,2 ; @V2_UD_SEND_WQE_BYTE_4_SE_S
	.comm	_IB_SEND_SOLICITED,4,2          ; @IB_SEND_SOLICITED
	.comm	_V2_UD_SEND_WQE_BYTE_4_OWNER_S,4,2 ; @V2_UD_SEND_WQE_BYTE_4_OWNER_S
	.comm	_V2_UD_SEND_WQE_BYTE_16_PD_M,4,2 ; @V2_UD_SEND_WQE_BYTE_16_PD_M
	.comm	_V2_UD_SEND_WQE_BYTE_16_PD_S,4,2 ; @V2_UD_SEND_WQE_BYTE_16_PD_S
	.comm	_V2_UD_SEND_WQE_BYTE_16_SGE_NUM_M,4,2 ; @V2_UD_SEND_WQE_BYTE_16_SGE_NUM_M
	.comm	_V2_UD_SEND_WQE_BYTE_16_SGE_NUM_S,4,2 ; @V2_UD_SEND_WQE_BYTE_16_SGE_NUM_S
	.comm	_V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_M,4,2 ; @V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_M
	.comm	_V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_S,4,2 ; @V2_UD_SEND_WQE_BYTE_20_MSG_START_SGE_IDX_S
	.comm	_V2_UD_SEND_WQE_BYTE_24_UDPSPN_M,4,2 ; @V2_UD_SEND_WQE_BYTE_24_UDPSPN_M
	.comm	_V2_UD_SEND_WQE_BYTE_24_UDPSPN_S,4,2 ; @V2_UD_SEND_WQE_BYTE_24_UDPSPN_S
	.comm	_V2_UD_SEND_WQE_BYTE_32_DQPN_M,4,2 ; @V2_UD_SEND_WQE_BYTE_32_DQPN_M
	.comm	_V2_UD_SEND_WQE_BYTE_32_DQPN_S,4,2 ; @V2_UD_SEND_WQE_BYTE_32_DQPN_S
	.comm	_V2_UD_SEND_WQE_BYTE_36_VLAN_M,4,2 ; @V2_UD_SEND_WQE_BYTE_36_VLAN_M
	.comm	_V2_UD_SEND_WQE_BYTE_36_VLAN_S,4,2 ; @V2_UD_SEND_WQE_BYTE_36_VLAN_S
	.comm	_V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_M,4,2 ; @V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_M
	.comm	_V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_S,4,2 ; @V2_UD_SEND_WQE_BYTE_36_HOPLIMIT_S
	.comm	_V2_UD_SEND_WQE_BYTE_36_TCLASS_M,4,2 ; @V2_UD_SEND_WQE_BYTE_36_TCLASS_M
	.comm	_V2_UD_SEND_WQE_BYTE_36_TCLASS_S,4,2 ; @V2_UD_SEND_WQE_BYTE_36_TCLASS_S
	.comm	_V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_M,4,2 ; @V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_M
	.comm	_V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_S,4,2 ; @V2_UD_SEND_WQE_BYTE_40_FLOW_LABEL_S
	.comm	_V2_UD_SEND_WQE_BYTE_40_SL_M,4,2 ; @V2_UD_SEND_WQE_BYTE_40_SL_M
	.comm	_V2_UD_SEND_WQE_BYTE_40_SL_S,4,2 ; @V2_UD_SEND_WQE_BYTE_40_SL_S
	.comm	_V2_UD_SEND_WQE_BYTE_40_PORTN_M,4,2 ; @V2_UD_SEND_WQE_BYTE_40_PORTN_M
	.comm	_V2_UD_SEND_WQE_BYTE_40_PORTN_S,4,2 ; @V2_UD_SEND_WQE_BYTE_40_PORTN_S
	.comm	_V2_UD_SEND_WQE_BYTE_40_UD_VLAN_EN_S,4,2 ; @V2_UD_SEND_WQE_BYTE_40_UD_VLAN_EN_S
	.comm	_V2_UD_SEND_WQE_BYTE_48_SGID_INDX_M,4,2 ; @V2_UD_SEND_WQE_BYTE_48_SGID_INDX_M
	.comm	_V2_UD_SEND_WQE_BYTE_48_SGID_INDX_S,4,2 ; @V2_UD_SEND_WQE_BYTE_48_SGID_INDX_S
	.comm	_GID_LEN_V2,4,2                 ; @GID_LEN_V2
	.comm	_V2_RC_SEND_WQE_BYTE_4_FENCE_S,4,2 ; @V2_RC_SEND_WQE_BYTE_4_FENCE_S
	.comm	_IB_SEND_FENCE,4,2              ; @IB_SEND_FENCE
	.comm	_V2_RC_SEND_WQE_BYTE_4_SE_S,4,2 ; @V2_RC_SEND_WQE_BYTE_4_SE_S
	.comm	_V2_RC_SEND_WQE_BYTE_4_CQE_S,4,2 ; @V2_RC_SEND_WQE_BYTE_4_CQE_S
	.comm	_V2_RC_SEND_WQE_BYTE_4_OWNER_S,4,2 ; @V2_RC_SEND_WQE_BYTE_4_OWNER_S
	.comm	_HNS_ROCE_V2_WQE_OP_RDMA_READ,4,2 ; @HNS_ROCE_V2_WQE_OP_RDMA_READ
	.comm	_HNS_ROCE_V2_WQE_OP_RDMA_WRITE,4,2 ; @HNS_ROCE_V2_WQE_OP_RDMA_WRITE
	.comm	_HNS_ROCE_V2_WQE_OP_RDMA_WRITE_WITH_IMM,4,2 ; @HNS_ROCE_V2_WQE_OP_RDMA_WRITE_WITH_IMM
	.comm	_HNS_ROCE_V2_WQE_OP_SEND_WITH_INV,4,2 ; @HNS_ROCE_V2_WQE_OP_SEND_WITH_INV
	.comm	_HNS_ROCE_V2_WQE_OP_SEND_WITH_IMM,4,2 ; @HNS_ROCE_V2_WQE_OP_SEND_WITH_IMM
	.comm	_HNS_ROCE_V2_WQE_OP_LOCAL_INV,4,2 ; @HNS_ROCE_V2_WQE_OP_LOCAL_INV
	.comm	_V2_RC_SEND_WQE_BYTE_4_SO_S,4,2 ; @V2_RC_SEND_WQE_BYTE_4_SO_S
	.comm	_HNS_ROCE_V2_WQE_OP_FAST_REG_PMR,4,2 ; @HNS_ROCE_V2_WQE_OP_FAST_REG_PMR
	.comm	_HNS_ROCE_V2_WQE_OP_ATOM_CMP_AND_SWAP,4,2 ; @HNS_ROCE_V2_WQE_OP_ATOM_CMP_AND_SWAP
	.comm	_HNS_ROCE_V2_WQE_OP_ATOM_FETCH_AND_ADD,4,2 ; @HNS_ROCE_V2_WQE_OP_ATOM_FETCH_AND_ADD
	.comm	_HNS_ROCE_V2_WQE_OP_ATOM_MSK_CMP_AND_SWAP,4,2 ; @HNS_ROCE_V2_WQE_OP_ATOM_MSK_CMP_AND_SWAP
	.comm	_HNS_ROCE_V2_WQE_OP_ATOM_MSK_FETCH_AND_ADD,4,2 ; @HNS_ROCE_V2_WQE_OP_ATOM_MSK_FETCH_AND_ADD
	.comm	_HNS_ROCE_V2_WQE_OP_MASK,4,2    ; @HNS_ROCE_V2_WQE_OP_MASK
	.comm	_V2_RC_SEND_WQE_BYTE_4_OPCODE_M,4,2 ; @V2_RC_SEND_WQE_BYTE_4_OPCODE_M
	.comm	_V2_RC_SEND_WQE_BYTE_4_OPCODE_S,4,2 ; @V2_RC_SEND_WQE_BYTE_4_OPCODE_S
	.comm	_V2_RC_SEND_WQE_BYTE_16_SGE_NUM_M,4,2 ; @V2_RC_SEND_WQE_BYTE_16_SGE_NUM_M
	.comm	_V2_RC_SEND_WQE_BYTE_16_SGE_NUM_S,4,2 ; @V2_RC_SEND_WQE_BYTE_16_SGE_NUM_S
l_.str.3:                               ; @.str.3
	.asciz	"Illegal qp_type(0x%x)\n"

	.comm	_V2_DB_BYTE_4_TAG_M,4,2         ; @V2_DB_BYTE_4_TAG_M
	.comm	_V2_DB_BYTE_4_TAG_S,4,2         ; @V2_DB_BYTE_4_TAG_S
	.comm	_V2_DB_BYTE_4_CMD_M,4,2         ; @V2_DB_BYTE_4_CMD_M
	.comm	_V2_DB_BYTE_4_CMD_S,4,2         ; @V2_DB_BYTE_4_CMD_S
	.comm	_HNS_ROCE_V2_SQ_DB,4,2          ; @HNS_ROCE_V2_SQ_DB
	.comm	_V2_DB_PARAMETER_IDX_M,4,2      ; @V2_DB_PARAMETER_IDX_M
	.comm	_V2_DB_PARAMETER_IDX_S,4,2      ; @V2_DB_PARAMETER_IDX_S
	.comm	_V2_DB_PARAMETER_SL_M,4,2       ; @V2_DB_PARAMETER_SL_M
	.comm	_V2_DB_PARAMETER_SL_S,4,2       ; @V2_DB_PARAMETER_SL_S
	.comm	_IB_QPS_ERR,8,3                 ; @IB_QPS_ERR
	.comm	_IB_QP_STATE,4,2                ; @IB_QP_STATE
	.no_dead_strip	_hns_roce_v2_post_send
.subsections_via_symbols
