	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function hil_mlc_find_free_di
_hil_mlc_find_free_di:                  ## @hil_mlc_find_free_di
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_HIL_MLC_DEVMEM@GOTPCREL(%rip), %rax
	movl	(%rax), %r11d
	testl	%r11d, %r11d
	jle	LBB0_1
## %bb.2:
	movq	(%rdi), %rax
	movdqu	(%rax), %xmm0
	movl	16(%rax), %r8d
	movl	20(%rax), %r9d
	movl	24(%rax), %r10d
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_3:                                 ## =>This Inner Loop Header: Depth=1
	movd	%eax, %xmm1
	pshufd	$0, %xmm1, %xmm1                ## xmm1 = xmm1[0,0,0,0]
	pcmpeqd	%xmm0, %xmm1
	xorl	%edx, %edx
	cmpl	%eax, %r8d
	sete	%dl
	xorl	%esi, %esi
	cmpl	%eax, %r9d
	sete	%sil
	movmskps	%xmm1, %edi
	movl	%edi, %ecx
	shrb	%cl
	andb	$5, %cl
	subb	%cl, %dil
	movl	%edi, %ecx
	andb	$51, %cl
	shrb	$2, %dil
	andb	$51, %dil
	addb	%cl, %dil
	movl	%edi, %ecx
	shrb	$4, %cl
	addb	%dil, %cl
	andb	$15, %cl
	movzbl	%cl, %ecx
	addl	%edx, %ecx
	addl	%esi, %ecx
	xorl	%edx, %edx
	cmpl	%eax, %r10d
	sete	%dl
	negl	%edx
	cmpl	%edx, %ecx
	je	LBB0_6
## %bb.4:                               ##   in Loop: Header=BB0_3 Depth=1
	incl	%eax
	cmpl	%eax, %r11d
	jne	LBB0_3
## %bb.5:
	movl	%r11d, %eax
LBB0_6:
	popq	%rbp
	retq
LBB0_1:
	xorl	%eax, %eax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_HIL_MLC_DEVMEM,4,2             ## @HIL_MLC_DEVMEM
	.no_dead_strip	_hil_mlc_find_free_di
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function hil_mlc_find_free_di
_hil_mlc_find_free_di:                  ; @hil_mlc_find_free_di
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #16
	.cfi_def_cfa_offset 16
Lloh0:
	adrp	x9, _HIL_MLC_DEVMEM@GOTPAGE
Lloh1:
	ldr	x9, [x9, _HIL_MLC_DEVMEM@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x9]
	cmp	w9, #1
	b.lt	LBB0_6
; %bb.1:
	mov	x8, x0
	mov	w0, #0
	ldr	x11, [x8]
	ldr	q0, [x11]
	ldp	w8, w10, [x11, #16]
	ldr	w11, [x11, #24]
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	dup.4s	v1, w0
	cmeq.4s	v1, v0, v1
	xtn.4h	v1, v1
	umov.h	w12, v1[0]
	umov.h	w13, v1[1]
	and	w13, w13, #0x1
	umov.h	w14, v1[2]
	bfi	w12, w13, #1, #1
	and	w13, w14, #0x1
	bfi	w12, w13, #2, #1
	umov.h	w13, v1[3]
	bfi	w12, w13, #3, #29
	and	w12, w12, #0xf
	fmov	d1, x12
	cnt.8b	v1, v1
	uaddlv.8b	h1, v1
	fmov	w12, s1
	cmp	w8, w0
	cinc	w12, w12, eq
	cmp	w10, w0
	cinc	w12, w12, eq
	cmp	w11, w0
	csetm	w13, eq
	cmp	w12, w13
	b.eq	LBB0_5
; %bb.3:                                ;   in Loop: Header=BB0_2 Depth=1
	add	w0, w0, #1
	cmp	w9, w0
	b.ne	LBB0_2
; %bb.4:
	mov	x0, x9
LBB0_5:
	add	sp, sp, #16
	ret
LBB0_6:
	mov	w0, #0
	add	sp, sp, #16
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_HIL_MLC_DEVMEM,4,2             ; @HIL_MLC_DEVMEM
	.no_dead_strip	_hil_mlc_find_free_di
.subsections_via_symbols
