	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function dr_ste_build_eth_l2_tnl_tag
_dr_ste_build_eth_l2_tnl_tag:           ## @dr_ste_build_eth_l2_tnl_tag
	.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	%r12
	pushq	%rbx
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r15
	leaq	32(%rdi), %rbx
	cmpq	$0, (%rsi)
	leaq	8(%rdi), %rax
	cmoveq	%rax, %rbx
	movq	(%rdx), %r14
	movq	_eth_l2_tnl@GOTPCREL(%rip), %r12
	movl	(%r12), %edi
	movq	_dmac_47_16@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r14, %rsi
	movq	%rbx, %rcx
	movl	%edx, %r8d
	callq	_DR_STE_SET_TAG
	movl	(%r12), %edi
	movq	_dmac_15_0@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r14, %rsi
	movq	%rbx, %rcx
	movl	%edx, %r8d
	callq	_DR_STE_SET_TAG
	movl	(%r12), %edi
	movq	_first_vlan_id@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_first_vid@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	movq	%r14, %rsi
	movq	%rbx, %rcx
	callq	_DR_STE_SET_TAG
	movl	(%r12), %edi
	movq	_first_cfi@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r14, %rsi
	movq	%rbx, %rcx
	movl	%edx, %r8d
	callq	_DR_STE_SET_TAG
	movl	(%r12), %edi
	movq	_ip_fragmented@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_frag@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	movq	%r14, %rsi
	movq	%rbx, %rcx
	callq	_DR_STE_SET_TAG
	movl	(%r12), %edi
	movq	_first_priority@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_first_prio@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	movq	%r14, %rsi
	movq	%rbx, %rcx
	callq	_DR_STE_SET_TAG
	movl	(%r12), %edi
	movq	_l3_ethertype@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_ethertype@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	movq	%r14, %rsi
	movq	%rbx, %rcx
	callq	_DR_STE_SET_TAG
	movl	(%r15), %ecx
	testl	%ecx, %ecx
	je	LBB0_2
## %bb.1:
	movq	_ste_eth_l2_tnl@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_l2_tunneling_network_id@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	shll	$8, %ecx
	movq	%r14, %rsi
	callq	_MLX5_SET
	movl	$0, (%r15)
LBB0_2:
	cmpq	$0, 16(%rbx)
	je	LBB0_4
## %bb.3:
	leaq	16(%rbx), %r15
	movq	_DR_STE_CVLAN@GOTPCREL(%rip), %rax
	jmp	LBB0_6
LBB0_4:
	cmpq	$0, 8(%rbx)
	je	LBB0_7
## %bb.5:
	leaq	8(%rbx), %r15
	movq	_DR_STE_SVLAN@GOTPCREL(%rip), %rax
LBB0_6:
	movq	_ste_eth_l2_tnl@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	movq	_first_vlan_qualifier@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	movl	(%rax), %ecx
	movq	%r14, %rsi
	callq	_MLX5_SET
	movq	$0, (%r15)
LBB0_7:
	movq	(%rbx), %rax
	xorl	%r15d, %r15d
	testq	%rax, %rax
	je	LBB0_14
## %bb.8:
	movq	_IP_VERSION_IPV4@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_11
## %bb.9:
	movq	_ste_eth_l2_tnl@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_l3_type@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_STE_IPV4@GOTPCREL(%rip), %rax
	jmp	LBB0_10
LBB0_11:
	movq	_IP_VERSION_IPV6@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_13
## %bb.12:
	movq	_ste_eth_l2_tnl@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_l3_type@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_STE_IPV6@GOTPCREL(%rip), %rax
LBB0_10:
	movl	(%rax), %ecx
	movq	%r14, %rsi
	callq	_MLX5_SET
	movq	$0, (%rbx)
	jmp	LBB0_14
LBB0_13:
	movq	_EINVAL@GOTPCREL(%rip), %rax
	xorl	%r15d, %r15d
	subl	(%rax), %r15d
LBB0_14:
	movl	%r15d, %eax
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_eth_l2_tnl,4,2                 ## @eth_l2_tnl
	.comm	_dmac_47_16,4,2                 ## @dmac_47_16
	.comm	_dmac_15_0,4,2                  ## @dmac_15_0
	.comm	_first_vlan_id,4,2              ## @first_vlan_id
	.comm	_first_vid,4,2                  ## @first_vid
	.comm	_first_cfi,4,2                  ## @first_cfi
	.comm	_ip_fragmented,4,2              ## @ip_fragmented
	.comm	_frag,4,2                       ## @frag
	.comm	_first_priority,4,2             ## @first_priority
	.comm	_first_prio,4,2                 ## @first_prio
	.comm	_l3_ethertype,4,2               ## @l3_ethertype
	.comm	_ethertype,4,2                  ## @ethertype
	.comm	_ste_eth_l2_tnl,4,2             ## @ste_eth_l2_tnl
	.comm	_l2_tunneling_network_id,4,2    ## @l2_tunneling_network_id
	.comm	_first_vlan_qualifier,4,2       ## @first_vlan_qualifier
	.comm	_DR_STE_CVLAN,4,2               ## @DR_STE_CVLAN
	.comm	_DR_STE_SVLAN,4,2               ## @DR_STE_SVLAN
	.comm	_IP_VERSION_IPV4,8,3            ## @IP_VERSION_IPV4
	.comm	_l3_type,4,2                    ## @l3_type
	.comm	_STE_IPV4,4,2                   ## @STE_IPV4
	.comm	_IP_VERSION_IPV6,8,3            ## @IP_VERSION_IPV6
	.comm	_STE_IPV6,4,2                   ## @STE_IPV6
	.comm	_EINVAL,4,2                     ## @EINVAL
	.no_dead_strip	_dr_ste_build_eth_l2_tnl_tag
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function dr_ste_build_eth_l2_tnl_tag
_dr_ste_build_eth_l2_tnl_tag:           ; @dr_ste_build_eth_l2_tnl_tag
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.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
	mov	x21, x0
	ldr	x8, [x1]
	add	x9, x0, #32
	add	x10, x0, #8
	cmp	x8, #0
	csel	x19, x10, x9, eq
	ldr	x20, [x2]
Lloh0:
	adrp	x22, _eth_l2_tnl@GOTPAGE
Lloh1:
	ldr	x22, [x22, _eth_l2_tnl@GOTPAGEOFF]
	ldr	w0, [x22]
Lloh2:
	adrp	x8, _dmac_47_16@GOTPAGE
Lloh3:
	ldr	x8, [x8, _dmac_47_16@GOTPAGEOFF]
Lloh4:
	ldr	w2, [x8]
	mov	x1, x20
	mov	x3, x19
	mov	x4, x2
	bl	_DR_STE_SET_TAG
	ldr	w0, [x22]
Lloh5:
	adrp	x8, _dmac_15_0@GOTPAGE
Lloh6:
	ldr	x8, [x8, _dmac_15_0@GOTPAGEOFF]
Lloh7:
	ldr	w2, [x8]
	mov	x1, x20
	mov	x3, x19
	mov	x4, x2
	bl	_DR_STE_SET_TAG
	ldr	w0, [x22]
Lloh8:
	adrp	x8, _first_vlan_id@GOTPAGE
Lloh9:
	ldr	x8, [x8, _first_vlan_id@GOTPAGEOFF]
Lloh10:
	ldr	w2, [x8]
Lloh11:
	adrp	x8, _first_vid@GOTPAGE
Lloh12:
	ldr	x8, [x8, _first_vid@GOTPAGEOFF]
Lloh13:
	ldr	w4, [x8]
	mov	x1, x20
	mov	x3, x19
	bl	_DR_STE_SET_TAG
	ldr	w0, [x22]
Lloh14:
	adrp	x8, _first_cfi@GOTPAGE
Lloh15:
	ldr	x8, [x8, _first_cfi@GOTPAGEOFF]
Lloh16:
	ldr	w2, [x8]
	mov	x1, x20
	mov	x3, x19
	mov	x4, x2
	bl	_DR_STE_SET_TAG
	ldr	w0, [x22]
Lloh17:
	adrp	x8, _ip_fragmented@GOTPAGE
Lloh18:
	ldr	x8, [x8, _ip_fragmented@GOTPAGEOFF]
Lloh19:
	ldr	w2, [x8]
Lloh20:
	adrp	x8, _frag@GOTPAGE
Lloh21:
	ldr	x8, [x8, _frag@GOTPAGEOFF]
Lloh22:
	ldr	w4, [x8]
	mov	x1, x20
	mov	x3, x19
	bl	_DR_STE_SET_TAG
	ldr	w0, [x22]
Lloh23:
	adrp	x8, _first_priority@GOTPAGE
Lloh24:
	ldr	x8, [x8, _first_priority@GOTPAGEOFF]
Lloh25:
	ldr	w2, [x8]
Lloh26:
	adrp	x8, _first_prio@GOTPAGE
Lloh27:
	ldr	x8, [x8, _first_prio@GOTPAGEOFF]
Lloh28:
	ldr	w4, [x8]
	mov	x1, x20
	mov	x3, x19
	bl	_DR_STE_SET_TAG
	ldr	w0, [x22]
Lloh29:
	adrp	x8, _l3_ethertype@GOTPAGE
Lloh30:
	ldr	x8, [x8, _l3_ethertype@GOTPAGEOFF]
Lloh31:
	ldr	w2, [x8]
Lloh32:
	adrp	x8, _ethertype@GOTPAGE
Lloh33:
	ldr	x8, [x8, _ethertype@GOTPAGEOFF]
Lloh34:
	ldr	w4, [x8]
	mov	x1, x20
	mov	x3, x19
	bl	_DR_STE_SET_TAG
	ldr	w8, [x21]
Lloh35:
	adrp	x22, _ste_eth_l2_tnl@GOTPAGE
Lloh36:
	ldr	x22, [x22, _ste_eth_l2_tnl@GOTPAGEOFF]
	cbz	w8, LBB0_2
; %bb.1:
	ldr	w0, [x22]
Lloh37:
	adrp	x9, _l2_tunneling_network_id@GOTPAGE
Lloh38:
	ldr	x9, [x9, _l2_tunneling_network_id@GOTPAGEOFF]
Lloh39:
	ldr	w2, [x9]
	lsl	w3, w8, #8
	mov	x1, x20
	bl	_MLX5_SET
	str	wzr, [x21]
LBB0_2:
	mov	x21, x19
	ldr	x8, [x21, #16]!
	cbz	x8, LBB0_4
; %bb.3:
Lloh40:
	adrp	x8, _DR_STE_CVLAN@GOTPAGE
Lloh41:
	ldr	x8, [x8, _DR_STE_CVLAN@GOTPAGEOFF]
	b	LBB0_6
LBB0_4:
	mov	x21, x19
	ldr	x8, [x21, #8]!
	cbz	x8, LBB0_7
; %bb.5:
Lloh42:
	adrp	x8, _DR_STE_SVLAN@GOTPAGE
Lloh43:
	ldr	x8, [x8, _DR_STE_SVLAN@GOTPAGEOFF]
LBB0_6:
	ldr	w0, [x22]
Lloh44:
	adrp	x9, _first_vlan_qualifier@GOTPAGE
Lloh45:
	ldr	x9, [x9, _first_vlan_qualifier@GOTPAGEOFF]
Lloh46:
	ldr	w2, [x9]
	ldr	w3, [x8]
	mov	x1, x20
	bl	_MLX5_SET
	str	xzr, [x21]
LBB0_7:
	ldr	x8, [x19]
	cbz	x8, LBB0_10
; %bb.8:
Lloh47:
	adrp	x9, _IP_VERSION_IPV4@GOTPAGE
Lloh48:
	ldr	x9, [x9, _IP_VERSION_IPV4@GOTPAGEOFF]
Lloh49:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_11
; %bb.9:
	ldr	w0, [x22]
Lloh50:
	adrp	x8, _l3_type@GOTPAGE
Lloh51:
	ldr	x8, [x8, _l3_type@GOTPAGEOFF]
Lloh52:
	ldr	w2, [x8]
Lloh53:
	adrp	x8, _STE_IPV4@GOTPAGE
Lloh54:
	ldr	x8, [x8, _STE_IPV4@GOTPAGEOFF]
	b	LBB0_13
LBB0_10:
	mov	w0, #0
	b	LBB0_15
LBB0_11:
Lloh55:
	adrp	x9, _IP_VERSION_IPV6@GOTPAGE
Lloh56:
	ldr	x9, [x9, _IP_VERSION_IPV6@GOTPAGEOFF]
Lloh57:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_14
; %bb.12:
	ldr	w0, [x22]
Lloh58:
	adrp	x8, _l3_type@GOTPAGE
Lloh59:
	ldr	x8, [x8, _l3_type@GOTPAGEOFF]
Lloh60:
	ldr	w2, [x8]
Lloh61:
	adrp	x8, _STE_IPV6@GOTPAGE
Lloh62:
	ldr	x8, [x8, _STE_IPV6@GOTPAGEOFF]
LBB0_13:
	ldr	w3, [x8]
	mov	x1, x20
	bl	_MLX5_SET
	mov	w0, #0
	str	xzr, [x19]
	b	LBB0_15
LBB0_14:
Lloh63:
	adrp	x8, _EINVAL@GOTPAGE
Lloh64:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
Lloh65:
	ldr	w8, [x8]
	neg	w0, w8
LBB0_15:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGot	Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGot	Lloh40, Lloh41
	.loh AdrpLdrGot	Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGot	Lloh53, Lloh54
	.loh AdrpLdrGotLdr	Lloh50, Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpLdrGot	Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh58, Lloh59, Lloh60
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.cfi_endproc
                                        ; -- End function
	.comm	_eth_l2_tnl,4,2                 ; @eth_l2_tnl
	.comm	_dmac_47_16,4,2                 ; @dmac_47_16
	.comm	_dmac_15_0,4,2                  ; @dmac_15_0
	.comm	_first_vlan_id,4,2              ; @first_vlan_id
	.comm	_first_vid,4,2                  ; @first_vid
	.comm	_first_cfi,4,2                  ; @first_cfi
	.comm	_ip_fragmented,4,2              ; @ip_fragmented
	.comm	_frag,4,2                       ; @frag
	.comm	_first_priority,4,2             ; @first_priority
	.comm	_first_prio,4,2                 ; @first_prio
	.comm	_l3_ethertype,4,2               ; @l3_ethertype
	.comm	_ethertype,4,2                  ; @ethertype
	.comm	_ste_eth_l2_tnl,4,2             ; @ste_eth_l2_tnl
	.comm	_l2_tunneling_network_id,4,2    ; @l2_tunneling_network_id
	.comm	_first_vlan_qualifier,4,2       ; @first_vlan_qualifier
	.comm	_DR_STE_CVLAN,4,2               ; @DR_STE_CVLAN
	.comm	_DR_STE_SVLAN,4,2               ; @DR_STE_SVLAN
	.comm	_IP_VERSION_IPV4,8,3            ; @IP_VERSION_IPV4
	.comm	_l3_type,4,2                    ; @l3_type
	.comm	_STE_IPV4,4,2                   ; @STE_IPV4
	.comm	_IP_VERSION_IPV6,8,3            ; @IP_VERSION_IPV6
	.comm	_STE_IPV6,4,2                   ; @STE_IPV6
	.comm	_EINVAL,4,2                     ; @EINVAL
	.no_dead_strip	_dr_ste_build_eth_l2_tnl_tag
.subsections_via_symbols
