	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function get_free_uidx
_get_free_uidx:                         ## @get_free_uidx
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_MLX5_UIDX_TABLE_SIZE@GOTPCREL(%rip), %rax
	movq	(%rax), %rcx
	testq	%rcx, %rcx
	je	LBB0_1
## %bb.6:
	movq	(%rdi), %rax
	movq	_MLX5_UIDX_TABLE_MASK@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rsi
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	cmpq	%rsi, (%rax)
	jl	LBB0_2
## %bb.8:                               ##   in Loop: Header=BB0_7 Depth=1
	incq	%rdx
	addq	$16, %rax
	cmpq	%rdx, %rcx
	jne	LBB0_7
## %bb.9:
	movq	$-1, %rax
	popq	%rbp
	retq
LBB0_1:
	xorl	%edx, %edx
LBB0_2:
	movq	$-1, %rax
	cmpq	%rcx, %rdx
	je	LBB0_17
## %bb.3:
	movq	(%rdi), %rax
	movq	%rdx, %rsi
	shlq	$4, %rsi
	cmpq	$0, (%rax,%rsi)
	je	LBB0_10
## %bb.4:
	movq	_MLX5_UIDX_TABLE_MASK@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	incq	%rcx
	jne	LBB0_11
## %bb.5:
	xorl	%eax, %eax
	jmp	LBB0_15
LBB0_10:
	movq	_MLX5_UIDX_TABLE_SHIFT@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	shlq	%cl, %rdx
	jmp	LBB0_16
LBB0_11:
	movq	8(%rax,%rsi), %rsi
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_12:                                ## =>This Inner Loop Header: Depth=1
	cmpl	$0, (%rsi,%rax,4)
	je	LBB0_15
## %bb.13:                              ##   in Loop: Header=BB0_12 Depth=1
	incq	%rax
	cmpq	%rax, %rcx
	jne	LBB0_12
## %bb.14:
	movq	%rcx, %rax
LBB0_15:
	movq	_MLX5_UIDX_TABLE_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shlq	%cl, %rdx
	orq	%rax, %rdx
LBB0_16:
	movq	%rdx, %rax
LBB0_17:
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_MLX5_UIDX_TABLE_SIZE,8,3       ## @MLX5_UIDX_TABLE_SIZE
	.comm	_MLX5_UIDX_TABLE_MASK,8,3       ## @MLX5_UIDX_TABLE_MASK
	.comm	_MLX5_UIDX_TABLE_SHIFT,8,3      ## @MLX5_UIDX_TABLE_SHIFT
	.no_dead_strip	_get_free_uidx
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function get_free_uidx
_get_free_uidx:                         ; @get_free_uidx
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _MLX5_UIDX_TABLE_SIZE@GOTPAGE
Lloh1:
	ldr	x8, [x8, _MLX5_UIDX_TABLE_SIZE@GOTPAGEOFF]
Lloh2:
	ldr	x9, [x8]
	cbz	x9, LBB0_5
; %bb.1:
	mov	x8, #0
	ldr	x10, [x0]
Lloh3:
	adrp	x11, _MLX5_UIDX_TABLE_MASK@GOTPAGE
Lloh4:
	ldr	x11, [x11, _MLX5_UIDX_TABLE_MASK@GOTPAGEOFF]
Lloh5:
	ldr	x11, [x11]
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	ldr	x12, [x10]
	cmp	x12, x11
	b.lt	LBB0_6
; %bb.3:                                ;   in Loop: Header=BB0_2 Depth=1
	add	x8, x8, #1
	add	x10, x10, #16
	cmp	x9, x8
	b.ne	LBB0_2
; %bb.4:
	mov	x0, #-1
	ret
LBB0_5:
	mov	x8, #0
LBB0_6:
	cmp	x8, x9
	b.ne	LBB0_8
; %bb.7:
	mov	x0, #-1
	ret
LBB0_8:
	ldr	x11, [x0]
	lsl	x9, x8, #4
	ldr	x9, [x11, x9]
	cbz	x9, LBB0_11
; %bb.9:
Lloh6:
	adrp	x9, _MLX5_UIDX_TABLE_MASK@GOTPAGE
Lloh7:
	ldr	x9, [x9, _MLX5_UIDX_TABLE_MASK@GOTPAGEOFF]
Lloh8:
	ldr	x9, [x9]
	adds	x10, x9, #1
	b.lo	LBB0_12
; %bb.10:
	mov	x9, #0
	b	LBB0_16
LBB0_11:
Lloh9:
	adrp	x9, _MLX5_UIDX_TABLE_SHIFT@GOTPAGE
Lloh10:
	ldr	x9, [x9, _MLX5_UIDX_TABLE_SHIFT@GOTPAGEOFF]
Lloh11:
	ldr	x9, [x9]
	lsl	x0, x8, x9
	ret
LBB0_12:
	mov	x9, #0
	add	x11, x11, x8, lsl #4
	ldr	x11, [x11, #8]
LBB0_13:                                ; =>This Inner Loop Header: Depth=1
	ldr	w12, [x11, x9, lsl #2]
	cbz	w12, LBB0_16
; %bb.14:                               ;   in Loop: Header=BB0_13 Depth=1
	add	x9, x9, #1
	cmp	x10, x9
	b.ne	LBB0_13
; %bb.15:
	mov	x9, x10
LBB0_16:
Lloh12:
	adrp	x10, _MLX5_UIDX_TABLE_SHIFT@GOTPAGE
Lloh13:
	ldr	x10, [x10, _MLX5_UIDX_TABLE_SHIFT@GOTPAGEOFF]
Lloh14:
	ldr	x10, [x10]
	lsl	x8, x8, x10
	orr	x0, x8, x9
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.cfi_endproc
                                        ; -- End function
	.comm	_MLX5_UIDX_TABLE_SIZE,8,3       ; @MLX5_UIDX_TABLE_SIZE
	.comm	_MLX5_UIDX_TABLE_MASK,8,3       ; @MLX5_UIDX_TABLE_MASK
	.comm	_MLX5_UIDX_TABLE_SHIFT,8,3      ; @MLX5_UIDX_TABLE_SHIFT
	.no_dead_strip	_get_free_uidx
.subsections_via_symbols
