	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function dr_matcher_set_ste_builders
_dr_matcher_set_ste_builders:           ## @dr_matcher_set_ste_builders
	.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	$72, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %rbx
	movq	%rdi, %r12
	movq	32(%rsi), %rax
	movq	(%rax), %rsi
	movq	24(%rdi), %rax
	movq	(%rax), %rdi
	xorps	%xmm0, %xmm0
	movaps	%xmm0, -64(%rbp)
	movl	$0, -48(%rbp)
	xorl	%eax, %eax
	movl	%edx, -92(%rbp)                 ## 4-byte Spill
	testl	%edx, %edx
	sete	-65(%rbp)                       ## 1-byte Folded Spill
	setne	%cl
	movq	(%rsi), %rdx
	movq	_MLX5DR_STE_TYPE_RX@GOTPCREL(%rip), %rsi
	cmpq	(%rsi), %rdx
	sete	%r13b
	movl	(%r12), %esi
	movq	_DR_MATCHER_CRITERIA_OUTER@GOTPCREL(%rip), %r14
	testl	%esi, (%r14)
	je	LBB0_2
## %bb.1:
	movl	20(%r12), %edx
	movl	%edx, -48(%rbp)
LBB0_2:
	movq	_DR_MATCHER_CRITERIA_MISC@GOTPCREL(%rip), %rdx
	testl	%esi, (%rdx)
	je	LBB0_4
## %bb.3:
	movl	16(%r12), %edx
	movl	%edx, -52(%rbp)
LBB0_4:
	movq	_DR_MATCHER_CRITERIA_INNER@GOTPCREL(%rip), %rdx
	testl	%esi, (%rdx)
	je	LBB0_6
## %bb.5:
	movl	12(%r12), %edx
	movl	%edx, -56(%rbp)
LBB0_6:
	movb	%cl, %al
	movq	_DR_MATCHER_CRITERIA_MISC2@GOTPCREL(%rip), %rcx
	testl	%esi, (%rcx)
	je	LBB0_8
## %bb.7:
	movl	8(%r12), %ecx
	movl	%ecx, -64(%rbp)
LBB0_8:
	movq	_DR_MATCHER_CRITERIA_MISC3@GOTPCREL(%rip), %rcx
	testl	%esi, (%rcx)
	je	LBB0_10
## %bb.9:
	movl	4(%r12), %ecx
	movl	%ecx, -60(%rbp)
LBB0_10:
	movq	%rbx, -104(%rbp)                ## 8-byte Spill
	movq	16(%rbx,%rax,8), %rbx
	leaq	4(%r12), %rdx
	xorl	%r15d, %r15d
	movq	%rdi, -80(%rbp)                 ## 8-byte Spill
	xorl	%ecx, %ecx
	callq	_mlx5dr_ste_build_pre_check
	testl	%eax, %eax
	jne	LBB0_118
## %bb.11:
	xorl	%eax, %eax
	movb	%r13b, %al
	movl	%eax, %r13d
	movq	_DR_MATCHER_CRITERIA_MISC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	(%r14), %eax
	movq	_DR_MATCHER_CRITERIA_MISC2@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_DR_MATCHER_CRITERIA_MISC3@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	testl	%eax, (%r12)
	je	LBB0_65
## %bb.12:
	leaq	-64(%rbp), %rdi
	callq	_dr_mask_is_wqe_metadata_set
	testq	%rax, %rax
	je	LBB0_13
## %bb.14:
	leaq	-64(%rbp), %rsi
	movq	%rbx, %rdi
	xorl	%edx, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_general_purpose
	movl	$1, %r15d
	jmp	LBB0_15
LBB0_13:
	xorl	%r15d, %r15d
LBB0_15:
	leaq	-64(%rbp), %rdi
	callq	_dr_mask_is_reg_c_0_3_set
	testq	%rax, %rax
	je	LBB0_17
## %bb.16:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_register_0
LBB0_17:
	leaq	-64(%rbp), %rdi
	callq	_dr_mask_is_reg_c_4_7_set
	testq	%rax, %rax
	je	LBB0_19
## %bb.18:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_register_1
LBB0_19:
	leaq	-52(%rbp), %rdi
	callq	_dr_mask_is_gvmi_or_qpn_set
	testq	%rax, %rax
	je	LBB0_24
## %bb.20:
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	movq	(%rax), %rax
	movq	_MLX5DR_DOMAIN_TYPE_FDB@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_22
## %bb.21:
	movq	_MLX5DR_DOMAIN_TYPE_NIC_RX@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_24
LBB0_22:
	movl	%r15d, %eax
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movq	-80(%rbp), %rdx                 ## 8-byte Reload
	xorl	%ecx, %ecx
	movl	%r13d, %r14d
	movl	%r13d, %r8d
	callq	_mlx5dr_ste_build_src_gvmi_qpn
	testl	%eax, %eax
	jne	LBB0_118
## %bb.23:
	incl	%r15d
	movl	%r14d, %r13d
LBB0_24:
	leaq	-48(%rbp), %r14
	movq	%r14, %rdi
	callq	_dr_mask_is_smac_set
	testq	%rax, %rax
	je	LBB0_28
## %bb.25:
	movq	%r14, %rdi
	callq	_dr_mask_is_dmac_set
	testq	%rax, %rax
	je	LBB0_28
## %bb.26:
	movl	%r15d, %eax
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r13d, %r14d
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l2_src_des
	testl	%eax, %eax
	jne	LBB0_118
## %bb.27:
	incl	%r15d
	movl	%r14d, %r13d
	leaq	-48(%rbp), %r14
LBB0_28:
	movq	%r14, %rdi
	callq	_dr_mask_is_smac_set
	testq	%rax, %rax
	je	LBB0_30
## %bb.29:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l2_src
LBB0_30:
	movl	-52(%rbp), %esi
	movl	-48(%rbp), %edi
	movq	_outer@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	callq	_DR_MASK_IS_L2_DST
	testq	%rax, %rax
	je	LBB0_32
## %bb.31:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l2_dst
LBB0_32:
	cmpl	$0, -92(%rbp)                   ## 4-byte Folded Reload
	movq	%rbx, -88(%rbp)                 ## 8-byte Spill
	movq	%r14, %rdi
	je	LBB0_40
## %bb.33:
	callq	_dr_mask_is_dst_addr_set
	testq	%rax, %rax
	je	LBB0_35
## %bb.34:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l3_ipv6_dst
LBB0_35:
	movq	%r14, %rdi
	callq	_dr_mask_is_src_addr_set
	testq	%rax, %rax
	je	LBB0_36
## %bb.37:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r13d, %r14d
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l3_ipv6_src
	jmp	LBB0_38
LBB0_40:
	callq	_dr_mask_is_ipv4_5_tuple_set
	testq	%rax, %rax
	je	LBB0_42
## %bb.41:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l3_ipv4_5_tuple
LBB0_42:
	movq	%r14, %rdi
	callq	_dr_mask_is_ttl_set
	testq	%rax, %rax
	je	LBB0_43
## %bb.44:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r13d, %r14d
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l3_ipv4_misc
	jmp	LBB0_45
LBB0_36:
	movl	%r13d, %r14d
LBB0_38:
	movq	_outer@GOTPCREL(%rip), %rbx
	movl	-52(%rbp), %esi
	movl	-48(%rbp), %edi
	movl	(%rbx), %edx
	callq	_DR_MASK_IS_ETH_L4_SET
	testq	%rax, %rax
	je	LBB0_46
## %bb.39:
	movl	%r15d, %eax
	incl	%r15d
	movq	-88(%rbp), %rcx                 ## 8-byte Reload
	leaq	(%rcx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r14d, %ecx
	callq	_mlx5dr_ste_build_ipv6_l3_l4
	jmp	LBB0_46
LBB0_43:
	movl	%r13d, %r14d
LBB0_45:
	movq	_outer@GOTPCREL(%rip), %rbx
LBB0_46:
	leaq	-60(%rbp), %rdi
	callq	_dr_mask_is_flex_parser_tnl_set
	testq	%rax, %rax
	je	LBB0_49
## %bb.47:
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	callq	_dr_matcher_supp_flex_parser_vxlan_gpe
	testq	%rax, %rax
	je	LBB0_49
## %bb.48:
	movl	%r15d, %eax
	incl	%r15d
	movq	-88(%rbp), %rcx                 ## 8-byte Reload
	leaq	(%rcx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r14d, %ecx
	callq	_mlx5dr_ste_build_flex_parser_tnl
LBB0_49:
	movl	(%rbx), %esi
	movl	-60(%rbp), %edi
	callq	_DR_MASK_IS_ETH_L4_MISC_SET
	testq	%rax, %rax
	je	LBB0_51
## %bb.50:
	movl	%r15d, %eax
	incl	%r15d
	movq	-88(%rbp), %rcx                 ## 8-byte Reload
	leaq	(%rcx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r14d, %ecx
	callq	_mlx5dr_ste_build_eth_l4_misc
LBB0_51:
	movl	-64(%rbp), %edi
	movl	(%rbx), %esi
	callq	_DR_MASK_IS_FIRST_MPLS_SET
	testq	%rax, %rax
	je	LBB0_52
## %bb.53:
	movl	%r15d, %eax
	incl	%r15d
	movq	-88(%rbp), %r13                 ## 8-byte Reload
	leaq	(,%rax,4), %rdi
	addq	%r13, %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r14d, %ecx
	callq	_mlx5dr_ste_build_mpls
	jmp	LBB0_54
LBB0_52:
	movq	-88(%rbp), %r13                 ## 8-byte Reload
LBB0_54:
	leaq	-60(%rbp), %rbx
	movl	-64(%rbp), %edi
	callq	_DR_MASK_IS_FLEX_PARSER_0_SET
	testq	%rax, %rax
	je	LBB0_56
## %bb.55:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(,%rax,4), %rdi
	addq	%r13, %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r14d, %ecx
	callq	_mlx5dr_ste_build_flex_parser_0
LBB0_56:
	movq	%rbx, %rdi
	callq	_DR_MASK_IS_FLEX_PARSER_ICMPV4_SET
	testq	%rax, %rax
	je	LBB0_58
## %bb.57:
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	leaq	8(%rax), %rdi
	callq	_mlx5dr_matcher_supp_flex_parser_icmp_v4
	testq	%rax, %rax
	jne	LBB0_60
LBB0_58:
	movq	%rbx, %rdi
	callq	_dr_mask_is_flex_parser_icmpv6_set
	testq	%rax, %rax
	je	LBB0_62
## %bb.59:
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	leaq	8(%rax), %rdi
	callq	_mlx5dr_matcher_supp_flex_parser_icmp_v6
	testq	%rax, %rax
	je	LBB0_62
LBB0_60:
	movl	%r15d, %eax
	leaq	(,%rax,4), %rdi
	addq	%r13, %rdi
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	leaq	8(%rax), %rdx
	leaq	-64(%rbp), %rsi
	xorl	%ecx, %ecx
	movl	%r14d, %ebx
	movl	%r14d, %r8d
	callq	_mlx5dr_ste_build_flex_parser_1
	testl	%eax, %eax
	jne	LBB0_118
## %bb.61:
	incl	%r15d
	movl	%ebx, %r14d
LBB0_62:
	leaq	-52(%rbp), %rdi
	callq	_dr_mask_is_gre_set
	testq	%rax, %rax
	je	LBB0_63
## %bb.64:
	movl	%r15d, %eax
	incl	%r15d
	movq	%r13, %rbx
	leaq	(,%rax,4), %rdi
	addq	%r13, %rdi
	leaq	-64(%rbp), %rsi
	xorl	%edx, %edx
	movl	%r14d, %r13d
	movl	%r14d, %ecx
	callq	_mlx5dr_ste_build_gre
	jmp	LBB0_65
LBB0_63:
	movq	%r13, %rbx
	movl	%r14d, %r13d
LBB0_65:
	movq	_DR_MATCHER_CRITERIA_MISC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_DR_MATCHER_CRITERIA_INNER@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_DR_MATCHER_CRITERIA_MISC2@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_DR_MATCHER_CRITERIA_MISC3@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	testl	%eax, (%r12)
	je	LBB0_93
## %bb.66:
	leaq	-52(%rbp), %rdi
	callq	_dr_mask_is_eth_l2_tnl_set
	testq	%rax, %rax
	je	LBB0_68
## %bb.67:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movl	$1, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l2_tnl
LBB0_68:
	leaq	-56(%rbp), %r14
	movq	%r14, %rdi
	callq	_dr_mask_is_smac_set
	testq	%rax, %rax
	je	LBB0_72
## %bb.69:
	movq	%r14, %rdi
	callq	_dr_mask_is_dmac_set
	testq	%rax, %rax
	je	LBB0_72
## %bb.70:
	movl	%r15d, %eax
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movl	$1, %edx
	movq	%rbx, %r14
	movl	%r13d, %ebx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l2_src_des
	testl	%eax, %eax
	jne	LBB0_118
## %bb.71:
	incl	%r15d
	movl	%ebx, %r13d
	movq	%r14, %rbx
	leaq	-56(%rbp), %r14
LBB0_72:
	movq	%r14, %rdi
	callq	_dr_mask_is_smac_set
	testq	%rax, %rax
	je	LBB0_74
## %bb.73:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movl	$1, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l2_src
LBB0_74:
	movl	-56(%rbp), %edi
	movl	-52(%rbp), %esi
	movl	$1, %edx
	callq	_DR_MASK_IS_L2_DST
	testq	%rax, %rax
	je	LBB0_76
## %bb.75:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movl	$1, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l2_dst
LBB0_76:
	cmpl	$0, -92(%rbp)                   ## 4-byte Folded Reload
	je	LBB0_83
## %bb.77:
	movq	%r14, %rdi
	callq	_dr_mask_is_dst_addr_set
	testq	%rax, %rax
	je	LBB0_79
## %bb.78:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movl	$1, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l3_ipv6_dst
LBB0_79:
	movq	%r14, %rdi
	callq	_dr_mask_is_src_addr_set
	testq	%rax, %rax
	je	LBB0_81
## %bb.80:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movl	$1, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l3_ipv6_src
LBB0_81:
	movl	-56(%rbp), %edi
	movl	-52(%rbp), %esi
	movl	$1, %edx
	callq	_DR_MASK_IS_ETH_L4_SET
	testq	%rax, %rax
	je	LBB0_87
## %bb.82:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movl	$1, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_ipv6_l3_l4
	jmp	LBB0_87
LBB0_83:
	movq	%r14, %rdi
	callq	_dr_mask_is_ipv4_5_tuple_set
	testq	%rax, %rax
	je	LBB0_85
## %bb.84:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movl	$1, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l3_ipv4_5_tuple
LBB0_85:
	movq	%r14, %rdi
	callq	_dr_mask_is_ttl_set
	testq	%rax, %rax
	je	LBB0_87
## %bb.86:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movl	$1, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l3_ipv4_misc
LBB0_87:
	movl	-60(%rbp), %edi
	movl	$1, %esi
	callq	_DR_MASK_IS_ETH_L4_MISC_SET
	testq	%rax, %rax
	je	LBB0_89
## %bb.88:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movl	$1, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_eth_l4_misc
LBB0_89:
	movl	-64(%rbp), %edi
	movl	$1, %esi
	callq	_DR_MASK_IS_FIRST_MPLS_SET
	testq	%rax, %rax
	je	LBB0_91
## %bb.90:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movl	$1, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_mpls
LBB0_91:
	movl	-64(%rbp), %edi
	callq	_DR_MASK_IS_FLEX_PARSER_0_SET
	testq	%rax, %rax
	je	LBB0_93
## %bb.92:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	leaq	-64(%rbp), %rsi
	movl	$1, %edx
	movl	%r13d, %ecx
	callq	_mlx5dr_ste_build_flex_parser_0
LBB0_93:
	movl	(%r12), %eax
	movq	_DR_MATCHER_CRITERIA_EMPTY@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_95
## %bb.94:
	movl	%r15d, %eax
	incl	%r15d
	leaq	(%rbx,%rax,4), %rdi
	movl	%r13d, %esi
	callq	_mlx5dr_ste_build_empty_always_hit
	jmp	LBB0_96
LBB0_95:
	testl	%r15d, %r15d
	je	LBB0_119
LBB0_96:
	movq	-64(%rbp), %rax
	orq	-56(%rbp), %rax
	jne	LBB0_116
## %bb.97:
	cmpq	$0, -48(%rbp)
	jne	LBB0_116
## %bb.98:
	cmpq	$0, -40(%rbp)
	jne	LBB0_116
## %bb.99:
	cmpq	$0, -32(%rbp)
	jne	LBB0_116
## %bb.100:
	cmpq	$0, -24(%rbp)
	jne	LBB0_116
## %bb.101:
	cmpq	$0, -16(%rbp)
	jne	LBB0_116
## %bb.102:
	cmpq	$0, -8(%rbp)
	jne	LBB0_116
## %bb.103:
	cmpq	$0, (%rbp)
	jne	LBB0_116
## %bb.104:
	cmpq	$0, 8(%rbp)
	jne	LBB0_116
## %bb.105:
	cmpq	$0, 16(%rbp)
	jne	LBB0_116
## %bb.106:
	cmpq	$0, 24(%rbp)
	jne	LBB0_116
## %bb.107:
	cmpq	$0, 32(%rbp)
	jne	LBB0_116
## %bb.108:
	cmpq	$0, 40(%rbp)
	jne	LBB0_116
## %bb.109:
	cmpq	$0, 48(%rbp)
	jne	LBB0_116
## %bb.110:
	cmpq	$0, 56(%rbp)
	jne	LBB0_116
## %bb.111:
	cmpq	$0, 64(%rbp)
	jne	LBB0_116
## %bb.112:
	cmpq	$0, 72(%rbp)
	jne	LBB0_116
## %bb.113:
	cmpq	$0, 80(%rbp)
	jne	LBB0_116
## %bb.114:
	cmpq	$0, 88(%rbp)
	je	LBB0_115
LBB0_116:
	leaq	L_.str.1(%rip), %rsi
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	callq	_mlx5dr_info
	movq	_EOPNOTSUPP@GOTPCREL(%rip), %rcx
LBB0_117:
	xorl	%eax, %eax
	subl	(%rcx), %eax
LBB0_118:
	addq	$72, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_119:
	leaq	L_.str(%rip), %rsi
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	callq	_mlx5dr_dbg
	movq	_EINVAL@GOTPCREL(%rip), %rcx
	jmp	LBB0_117
LBB0_115:
	xorl	%edx, %edx
	movb	-65(%rbp), %al                  ## 1-byte Reload
	movb	%al, %dl
	shlq	$3, %rdx
	movl	%r15d, %eax
	movq	-104(%rbp), %rcx                ## 8-byte Reload
	movq	%rax, (%rcx,%rdx)
	xorl	%eax, %eax
	jmp	LBB0_118
	.cfi_endproc
                                        ## -- End function
	.comm	_MLX5DR_STE_TYPE_RX,8,3         ## @MLX5DR_STE_TYPE_RX
	.comm	_DR_MATCHER_CRITERIA_OUTER,4,2  ## @DR_MATCHER_CRITERIA_OUTER
	.comm	_DR_MATCHER_CRITERIA_MISC,4,2   ## @DR_MATCHER_CRITERIA_MISC
	.comm	_DR_MATCHER_CRITERIA_INNER,4,2  ## @DR_MATCHER_CRITERIA_INNER
	.comm	_DR_MATCHER_CRITERIA_MISC2,4,2  ## @DR_MATCHER_CRITERIA_MISC2
	.comm	_DR_MATCHER_CRITERIA_MISC3,4,2  ## @DR_MATCHER_CRITERIA_MISC3
	.comm	_MLX5DR_DOMAIN_TYPE_FDB,8,3     ## @MLX5DR_DOMAIN_TYPE_FDB
	.comm	_MLX5DR_DOMAIN_TYPE_NIC_RX,8,3  ## @MLX5DR_DOMAIN_TYPE_NIC_RX
	.comm	_outer,4,2                      ## @outer
	.comm	_DR_MATCHER_CRITERIA_EMPTY,4,2  ## @DR_MATCHER_CRITERIA_EMPTY
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Cannot generate any valid rules from mask\n"

	.comm	_EINVAL,4,2                     ## @EINVAL
L_.str.1:                               ## @.str.1
	.asciz	"Mask contains unsupported parameters\n"

	.comm	_EOPNOTSUPP,4,2                 ## @EOPNOTSUPP
	.no_dead_strip	_dr_matcher_set_ste_builders
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function dr_matcher_set_ste_builders
_dr_matcher_set_ste_builders:           ; @dr_matcher_set_ste_builders
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #144
	.cfi_def_cfa_offset 144
	stp	x28, x27, [sp, #48]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #64]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #80]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #96]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #112]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #128]            ; 16-byte Folded Spill
	add	x29, sp, #128
	.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	x24, x2
	mov	x19, x1
	mov	x21, x0
	ldr	x8, [x1, #32]
	ldr	x9, [x8]
	ldr	x8, [x0, #24]
	ldr	x20, [x8]
	stp	xzr, xzr, [sp, #24]
	str	wzr, [sp, #40]
	cmp	w2, #0
	cset	w8, eq
	str	x8, [sp, #16]                   ; 8-byte Folded Spill
	mov	w8, #24
	mov	w10, #16
	csel	x8, x10, x8, eq
	ldr	x9, [x9]
Lloh0:
	adrp	x10, _MLX5DR_STE_TYPE_RX@GOTPAGE
Lloh1:
	ldr	x10, [x10, _MLX5DR_STE_TYPE_RX@GOTPAGEOFF]
Lloh2:
	ldr	x10, [x10]
	cmp	x9, x10
	cset	w22, eq
	ldr	w1, [x0]
Lloh3:
	adrp	x26, _DR_MATCHER_CRITERIA_OUTER@GOTPAGE
Lloh4:
	ldr	x26, [x26, _DR_MATCHER_CRITERIA_OUTER@GOTPAGEOFF]
	ldr	w9, [x26]
	tst	w9, w1
	b.eq	LBB0_2
; %bb.1:
	ldr	w9, [x21, #20]
	str	w9, [sp, #40]
LBB0_2:
Lloh5:
	adrp	x25, _DR_MATCHER_CRITERIA_MISC@GOTPAGE
Lloh6:
	ldr	x25, [x25, _DR_MATCHER_CRITERIA_MISC@GOTPAGEOFF]
	ldr	w9, [x25]
	tst	w9, w1
	b.eq	LBB0_4
; %bb.3:
	ldr	w9, [x21, #16]
	str	w9, [sp, #36]
LBB0_4:
Lloh7:
	adrp	x9, _DR_MATCHER_CRITERIA_INNER@GOTPAGE
Lloh8:
	ldr	x9, [x9, _DR_MATCHER_CRITERIA_INNER@GOTPAGEOFF]
Lloh9:
	ldr	w9, [x9]
	tst	w9, w1
	b.eq	LBB0_6
; %bb.5:
	ldr	w9, [x21, #12]
	str	w9, [sp, #32]
LBB0_6:
Lloh10:
	adrp	x9, _DR_MATCHER_CRITERIA_MISC2@GOTPAGE
Lloh11:
	ldr	x9, [x9, _DR_MATCHER_CRITERIA_MISC2@GOTPAGEOFF]
Lloh12:
	ldr	w9, [x9]
	tst	w9, w1
	b.eq	LBB0_8
; %bb.7:
	ldr	w9, [x21, #8]
	str	w9, [sp, #24]
LBB0_8:
Lloh13:
	adrp	x27, _DR_MATCHER_CRITERIA_MISC3@GOTPAGE
Lloh14:
	ldr	x27, [x27, _DR_MATCHER_CRITERIA_MISC3@GOTPAGEOFF]
	ldr	w9, [x27]
	tst	w9, w1
	b.eq	LBB0_10
; %bb.9:
	ldr	w9, [x21, #4]
	str	w9, [sp, #28]
LBB0_10:
	ldr	x23, [x19, x8]
	add	x2, x21, #4
	mov	x0, x20
	mov	x3, #0
	bl	_mlx5dr_ste_build_pre_check
	cbnz	w0, LBB0_115
; %bb.11:
	ldr	w8, [x21]
	ldr	w9, [x26]
	ldr	w10, [x25]
	orr	w9, w10, w9
Lloh15:
	adrp	x10, _DR_MATCHER_CRITERIA_MISC2@GOTPAGE
Lloh16:
	ldr	x10, [x10, _DR_MATCHER_CRITERIA_MISC2@GOTPAGEOFF]
Lloh17:
	ldr	w10, [x10]
	orr	w9, w9, w10
	ldr	w10, [x27]
	orr	w9, w9, w10
	tst	w9, w8
	b.eq	LBB0_14
; %bb.12:
	add	x0, sp, #24
	bl	_dr_mask_is_wqe_metadata_set
	cbz	x0, LBB0_15
; %bb.13:
	add	x1, sp, #24
	mov	x0, x23
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_general_purpose
	mov	w28, #1
	b	LBB0_16
LBB0_14:
	mov	w28, #0
	b	LBB0_62
LBB0_15:
	mov	w28, #0
LBB0_16:
	add	x0, sp, #24
	bl	_dr_mask_is_reg_c_0_3_set
	cbz	x0, LBB0_18
; %bb.17:
	add	w26, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_register_0
	mov	x28, x26
LBB0_18:
	add	x26, sp, #24
	add	x0, sp, #24
	bl	_dr_mask_is_reg_c_4_7_set
	cbz	x0, LBB0_20
; %bb.19:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_register_1
	mov	x28, x25
LBB0_20:
	add	x25, x26, #12
	mov	x0, x25
	bl	_dr_mask_is_gvmi_or_qpn_set
	str	x25, [sp, #8]                   ; 8-byte Folded Spill
	cbz	x0, LBB0_25
; %bb.21:
	ldr	x8, [x20]
Lloh18:
	adrp	x9, _MLX5DR_DOMAIN_TYPE_FDB@GOTPAGE
Lloh19:
	ldr	x9, [x9, _MLX5DR_DOMAIN_TYPE_FDB@GOTPAGEOFF]
Lloh20:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_23
; %bb.22:
Lloh21:
	adrp	x9, _MLX5DR_DOMAIN_TYPE_NIC_RX@GOTPAGE
Lloh22:
	ldr	x9, [x9, _MLX5DR_DOMAIN_TYPE_NIC_RX@GOTPAGEOFF]
Lloh23:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_25
LBB0_23:
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	x2, x20
	mov	w3, #0
	mov	x4, x22
	bl	_mlx5dr_ste_build_src_gvmi_qpn
	cbnz	w0, LBB0_115
; %bb.24:
	add	w28, w28, #1
LBB0_25:
	add	x8, sp, #24
	add	x26, x8, #16
	mov	x0, x26
	bl	_dr_mask_is_smac_set
	cbz	x0, LBB0_29
; %bb.26:
	mov	x0, x26
	bl	_dr_mask_is_dmac_set
	cbz	x0, LBB0_29
; %bb.27:
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l2_src_des
	cbnz	w0, LBB0_115
; %bb.28:
	add	w28, w28, #1
LBB0_29:
	mov	x0, x26
	bl	_dr_mask_is_smac_set
	cbz	x0, LBB0_31
; %bb.30:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l2_src
	mov	x28, x25
LBB0_31:
	ldp	w1, w0, [sp, #36]
Lloh24:
	adrp	x8, _outer@GOTPAGE
Lloh25:
	ldr	x8, [x8, _outer@GOTPAGEOFF]
Lloh26:
	ldr	w2, [x8]
	bl	_DR_MASK_IS_L2_DST
	cbz	x0, LBB0_33
; %bb.32:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l2_dst
	mov	x28, x25
LBB0_33:
	mov	x0, x26
	cbz	w24, LBB0_40
; %bb.34:
	bl	_dr_mask_is_dst_addr_set
	cbz	x0, LBB0_36
; %bb.35:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l3_ipv6_dst
	mov	x28, x25
LBB0_36:
	mov	x0, x26
	bl	_dr_mask_is_src_addr_set
	cbz	x0, LBB0_38
; %bb.37:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l3_ipv6_src
	mov	x28, x25
LBB0_38:
	ldp	w1, w0, [sp, #36]
Lloh27:
	adrp	x8, _outer@GOTPAGE
Lloh28:
	ldr	x8, [x8, _outer@GOTPAGEOFF]
Lloh29:
	ldr	w2, [x8]
	bl	_DR_MASK_IS_ETH_L4_SET
	cbz	x0, LBB0_45
; %bb.39:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_ipv6_l3_l4
	b	LBB0_44
LBB0_40:
	bl	_dr_mask_is_ipv4_5_tuple_set
	cbz	x0, LBB0_42
; %bb.41:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l3_ipv4_5_tuple
	mov	x28, x25
LBB0_42:
	mov	x0, x26
	bl	_dr_mask_is_ttl_set
	cbz	x0, LBB0_45
; %bb.43:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l3_ipv4_misc
LBB0_44:
	mov	x28, x25
LBB0_45:
	add	x8, sp, #24
	orr	x26, x8, #0x4
	mov	x0, x26
	bl	_dr_mask_is_flex_parser_tnl_set
	cbz	x0, LBB0_48
; %bb.46:
	mov	x0, x20
	bl	_dr_matcher_supp_flex_parser_vxlan_gpe
	cbz	x0, LBB0_48
; %bb.47:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_flex_parser_tnl
	mov	x28, x25
LBB0_48:
Lloh30:
	adrp	x8, _outer@GOTPAGE
Lloh31:
	ldr	x8, [x8, _outer@GOTPAGEOFF]
Lloh32:
	ldr	w1, [x8]
	ldr	w0, [sp, #28]
	bl	_DR_MASK_IS_ETH_L4_MISC_SET
	cbz	x0, LBB0_50
; %bb.49:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l4_misc
	mov	x28, x25
LBB0_50:
	ldr	w0, [sp, #24]
Lloh33:
	adrp	x8, _outer@GOTPAGE
Lloh34:
	ldr	x8, [x8, _outer@GOTPAGEOFF]
Lloh35:
	ldr	w1, [x8]
	bl	_DR_MASK_IS_FIRST_MPLS_SET
	cbz	x0, LBB0_52
; %bb.51:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_mpls
	mov	x28, x25
LBB0_52:
	ldr	w0, [sp, #24]
	bl	_DR_MASK_IS_FLEX_PARSER_0_SET
	cbz	x0, LBB0_54
; %bb.53:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_flex_parser_0
	mov	x28, x25
LBB0_54:
Lloh36:
	adrp	x25, _DR_MATCHER_CRITERIA_MISC@GOTPAGE
Lloh37:
	ldr	x25, [x25, _DR_MATCHER_CRITERIA_MISC@GOTPAGEOFF]
	mov	x0, x26
	bl	_DR_MASK_IS_FLEX_PARSER_ICMPV4_SET
	cbz	x0, LBB0_56
; %bb.55:
	add	x0, x20, #8
	bl	_mlx5dr_matcher_supp_flex_parser_icmp_v4
	cbnz	x0, LBB0_58
LBB0_56:
	mov	x0, x26
	bl	_dr_mask_is_flex_parser_icmpv6_set
	cbz	x0, LBB0_60
; %bb.57:
	add	x0, x20, #8
	bl	_mlx5dr_matcher_supp_flex_parser_icmp_v6
	cbz	x0, LBB0_60
LBB0_58:
	add	x0, x23, w28, uxtw #2
	add	x2, x20, #8
	add	x1, sp, #24
	mov	w3, #0
	mov	x4, x22
	bl	_mlx5dr_ste_build_flex_parser_1
	cbnz	w0, LBB0_115
; %bb.59:
	add	w28, w28, #1
LBB0_60:
	ldr	x0, [sp, #8]                    ; 8-byte Folded Reload
	bl	_dr_mask_is_gre_set
	cbz	x0, LBB0_62
; %bb.61:
	add	w25, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #0
	mov	x3, x22
	bl	_mlx5dr_ste_build_gre
	mov	x28, x25
Lloh38:
	adrp	x25, _DR_MATCHER_CRITERIA_MISC@GOTPAGE
Lloh39:
	ldr	x25, [x25, _DR_MATCHER_CRITERIA_MISC@GOTPAGEOFF]
LBB0_62:
	ldr	w8, [x21]
Lloh40:
	adrp	x9, _DR_MATCHER_CRITERIA_INNER@GOTPAGE
Lloh41:
	ldr	x9, [x9, _DR_MATCHER_CRITERIA_INNER@GOTPAGEOFF]
Lloh42:
	ldr	w9, [x9]
	ldr	w10, [x25]
	orr	w9, w10, w9
Lloh43:
	adrp	x10, _DR_MATCHER_CRITERIA_MISC2@GOTPAGE
Lloh44:
	ldr	x10, [x10, _DR_MATCHER_CRITERIA_MISC2@GOTPAGEOFF]
Lloh45:
	ldr	w10, [x10]
	orr	w9, w9, w10
	ldr	w10, [x27]
	orr	w9, w9, w10
	tst	w9, w8
	b.eq	LBB0_91
; %bb.63:
	add	x25, sp, #24
	add	x0, x25, #12
	bl	_dr_mask_is_eth_l2_tnl_set
	cbz	x0, LBB0_65
; %bb.64:
	add	w26, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #1
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l2_tnl
	mov	x28, x26
LBB0_65:
	add	x25, x25, #8
	mov	x0, x25
	bl	_dr_mask_is_smac_set
	cbz	x0, LBB0_69
; %bb.66:
	mov	x0, x25
	bl	_dr_mask_is_dmac_set
	cbz	x0, LBB0_69
; %bb.67:
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #1
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l2_src_des
	cbnz	w0, LBB0_115
; %bb.68:
	add	w28, w28, #1
LBB0_69:
	mov	x0, x25
	bl	_dr_mask_is_smac_set
	cbz	x0, LBB0_71
; %bb.70:
	add	w26, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #1
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l2_src
	mov	x28, x26
LBB0_71:
	ldp	w0, w1, [sp, #32]
	mov	w2, #1
	bl	_DR_MASK_IS_L2_DST
	cbz	x0, LBB0_73
; %bb.72:
	add	w26, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #1
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l2_dst
	mov	x28, x26
LBB0_73:
	mov	x0, x25
	cbz	w24, LBB0_80
; %bb.74:
	bl	_dr_mask_is_dst_addr_set
	cbz	x0, LBB0_76
; %bb.75:
	add	w24, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #1
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l3_ipv6_dst
	mov	x28, x24
LBB0_76:
	mov	x0, x25
	bl	_dr_mask_is_src_addr_set
	cbz	x0, LBB0_78
; %bb.77:
	add	w24, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #1
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l3_ipv6_src
	mov	x28, x24
LBB0_78:
	ldp	w0, w1, [sp, #32]
	mov	w2, #1
	bl	_DR_MASK_IS_ETH_L4_SET
	cbz	x0, LBB0_85
; %bb.79:
	add	w24, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #1
	mov	x3, x22
	bl	_mlx5dr_ste_build_ipv6_l3_l4
	b	LBB0_84
LBB0_80:
	bl	_dr_mask_is_ipv4_5_tuple_set
	cbz	x0, LBB0_82
; %bb.81:
	add	w24, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #1
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l3_ipv4_5_tuple
	mov	x28, x24
LBB0_82:
	mov	x0, x25
	bl	_dr_mask_is_ttl_set
	cbz	x0, LBB0_85
; %bb.83:
	add	w24, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #1
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l3_ipv4_misc
LBB0_84:
	mov	x28, x24
LBB0_85:
	ldr	w0, [sp, #28]
	mov	w1, #1
	bl	_DR_MASK_IS_ETH_L4_MISC_SET
	cbz	x0, LBB0_87
; %bb.86:
	add	w24, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #1
	mov	x3, x22
	bl	_mlx5dr_ste_build_eth_l4_misc
	mov	x28, x24
LBB0_87:
	ldr	w0, [sp, #24]
	mov	w1, #1
	bl	_DR_MASK_IS_FIRST_MPLS_SET
	cbz	x0, LBB0_89
; %bb.88:
	add	w24, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #1
	mov	x3, x22
	bl	_mlx5dr_ste_build_mpls
	mov	x28, x24
LBB0_89:
	ldr	w0, [sp, #24]
	bl	_DR_MASK_IS_FLEX_PARSER_0_SET
	cbz	x0, LBB0_91
; %bb.90:
	add	w24, w28, #1
	add	x0, x23, w28, uxtw #2
	add	x1, sp, #24
	mov	w2, #1
	mov	x3, x22
	bl	_mlx5dr_ste_build_flex_parser_0
	mov	x28, x24
LBB0_91:
	ldr	w8, [x21]
Lloh46:
	adrp	x9, _DR_MATCHER_CRITERIA_EMPTY@GOTPAGE
Lloh47:
	ldr	x9, [x9, _DR_MATCHER_CRITERIA_EMPTY@GOTPAGEOFF]
Lloh48:
	ldr	w9, [x9]
	cmp	w8, w9
	b.ne	LBB0_93
; %bb.92:
	add	w21, w28, #1
	add	x0, x23, w28, uxtw #2
	mov	x1, x22
	bl	_mlx5dr_ste_build_empty_always_hit
	mov	x28, x21
	b	LBB0_94
LBB0_93:
	cbz	w28, LBB0_116
LBB0_94:
	ldp	x8, x9, [sp, #24]
	orr	x8, x8, x9
	cbnz	x8, LBB0_113
; %bb.95:
	ldr	x8, [sp, #40]
	cbnz	x8, LBB0_113
; %bb.96:
	ldr	x8, [sp, #48]
	cbnz	x8, LBB0_113
; %bb.97:
	ldr	x8, [sp, #56]
	cbnz	x8, LBB0_113
; %bb.98:
	ldr	x8, [sp, #64]
	cbnz	x8, LBB0_113
; %bb.99:
	ldr	x8, [sp, #72]
	cbnz	x8, LBB0_113
; %bb.100:
	ldr	x8, [sp, #80]
	cbnz	x8, LBB0_113
; %bb.101:
	ldr	x8, [sp, #88]
	cbnz	x8, LBB0_113
; %bb.102:
	ldr	x8, [sp, #96]
	cbnz	x8, LBB0_113
; %bb.103:
	ldr	x8, [sp, #104]
	cbnz	x8, LBB0_113
; %bb.104:
	ldr	x8, [sp, #112]
	cbnz	x8, LBB0_113
; %bb.105:
	ldr	x8, [sp, #120]
	cbnz	x8, LBB0_113
; %bb.106:
	ldr	x8, [sp, #128]
	cbnz	x8, LBB0_113
; %bb.107:
	ldr	x8, [sp, #136]
	cbnz	x8, LBB0_113
; %bb.108:
	ldr	x8, [sp, #144]
	cbnz	x8, LBB0_113
; %bb.109:
	ldr	x8, [sp, #152]
	cbnz	x8, LBB0_113
; %bb.110:
	ldr	x8, [sp, #160]
	cbnz	x8, LBB0_113
; %bb.111:
	ldr	x8, [sp, #168]
	cbnz	x8, LBB0_113
; %bb.112:
	ldr	x8, [sp, #176]
	cbz	x8, LBB0_117
LBB0_113:
Lloh49:
	adrp	x1, l_.str.1@PAGE
Lloh50:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x0, x20
	bl	_mlx5dr_info
Lloh51:
	adrp	x8, _EOPNOTSUPP@GOTPAGE
Lloh52:
	ldr	x8, [x8, _EOPNOTSUPP@GOTPAGEOFF]
LBB0_114:
	ldr	w8, [x8]
	neg	w0, w8
LBB0_115:
	ldp	x29, x30, [sp, #128]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #112]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #96]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #80]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #64]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #144
	ret
LBB0_116:
Lloh53:
	adrp	x1, l_.str@PAGE
Lloh54:
	add	x1, x1, l_.str@PAGEOFF
	mov	x0, x20
	bl	_mlx5dr_dbg
Lloh55:
	adrp	x8, _EINVAL@GOTPAGE
Lloh56:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
	b	LBB0_114
LBB0_117:
	mov	w0, #0
	ldr	x8, [sp, #16]                   ; 8-byte Folded Reload
	lsl	x8, x8, #3
	mov	w9, w28
	str	x9, [x19, x8]
	b	LBB0_115
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGot	Lloh36, Lloh37
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGot	Lloh51, Lloh52
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpLdrGot	Lloh55, Lloh56
	.loh AdrpAdd	Lloh53, Lloh54
	.cfi_endproc
                                        ; -- End function
	.comm	_MLX5DR_STE_TYPE_RX,8,3         ; @MLX5DR_STE_TYPE_RX
	.comm	_DR_MATCHER_CRITERIA_OUTER,4,2  ; @DR_MATCHER_CRITERIA_OUTER
	.comm	_DR_MATCHER_CRITERIA_MISC,4,2   ; @DR_MATCHER_CRITERIA_MISC
	.comm	_DR_MATCHER_CRITERIA_INNER,4,2  ; @DR_MATCHER_CRITERIA_INNER
	.comm	_DR_MATCHER_CRITERIA_MISC2,4,2  ; @DR_MATCHER_CRITERIA_MISC2
	.comm	_DR_MATCHER_CRITERIA_MISC3,4,2  ; @DR_MATCHER_CRITERIA_MISC3
	.comm	_MLX5DR_DOMAIN_TYPE_FDB,8,3     ; @MLX5DR_DOMAIN_TYPE_FDB
	.comm	_MLX5DR_DOMAIN_TYPE_NIC_RX,8,3  ; @MLX5DR_DOMAIN_TYPE_NIC_RX
	.comm	_outer,4,2                      ; @outer
	.comm	_DR_MATCHER_CRITERIA_EMPTY,4,2  ; @DR_MATCHER_CRITERIA_EMPTY
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Cannot generate any valid rules from mask\n"

	.comm	_EINVAL,4,2                     ; @EINVAL
l_.str.1:                               ; @.str.1
	.asciz	"Mask contains unsupported parameters\n"

	.comm	_EOPNOTSUPP,4,2                 ; @EOPNOTSUPP
	.no_dead_strip	_dr_matcher_set_ste_builders
.subsections_via_symbols
