	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function pcm_set_config
LCPI0_0:
	.long	2                               ## 0x2
	.long	48000                           ## 0xbb80
	.long	1024                            ## 0x400
	.long	4                               ## 0x4
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_pcm_set_config:                        ## @pcm_set_config
	.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	$104, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	testq	%rdi, %rdi
	je	LBB0_1
## %bb.2:
	movq	%rsi, %r15
	movq	%rdi, %r14
	leaq	32(%rdi), %rax
	testq	%rsi, %rsi
	je	LBB0_4
## %bb.3:
	movq	32(%r15), %rcx
	movq	%rcx, 32(%rax)
	movups	(%r15), %xmm0
	movups	16(%r15), %xmm1
	movups	%xmm1, 16(%rax)
	movups	%xmm0, (%rax)
	jmp	LBB0_5
LBB0_1:
	movq	_EFAULT@GOTPCREL(%rip), %rax
	xorl	%ebx, %ebx
	jmp	LBB0_34
LBB0_4:
	movaps	LCPI0_0(%rip), %xmm0            ## xmm0 = [2,48000,1024,4]
	movups	%xmm0, 32(%r14)
	movq	_PCM_FORMAT_S16_LE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movl	%ecx, 64(%r14)
	movabsq	$17592186048512, %rcx           ## imm = 0x100000001000
	movq	%rcx, 48(%r14)
	movq	$0, 56(%r14)
	movq	%rax, %r15
LBB0_5:
	leaq	-136(%rbp), %r12
	movq	%r12, %rdi
	callq	_param_init
	movq	_SNDRV_PCM_HW_PARAM_FORMAT@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	movl	32(%r15), %edi
	callq	_pcm_format_to_alsa
	movq	%r12, %rdi
	movl	%ebx, %esi
	movl	%eax, %edx
	callq	_param_set_mask
	movq	_SNDRV_PCM_HW_PARAM_SUBFORMAT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_SNDRV_PCM_SUBFORMAT_STD@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r12, %rdi
	callq	_param_set_mask
	movq	_SNDRV_PCM_HW_PARAM_PERIOD_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	8(%r15), %edx
	movq	%r12, %rdi
	callq	_param_set_min
	movq	_SNDRV_PCM_HW_PARAM_SAMPLE_BITS@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	movl	32(%r15), %edi
	callq	_pcm_format_to_bits
	movq	%r12, %rdi
	movl	%ebx, %esi
	movl	%eax, %edx
	callq	_param_set_int
	movq	_SNDRV_PCM_HW_PARAM_FRAME_BITS@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	movl	32(%r15), %edi
	callq	_pcm_format_to_bits
	imull	(%r15), %eax
	movq	%r12, %rdi
	movl	%ebx, %esi
	movl	%eax, %edx
	callq	_param_set_int
	movq	_SNDRV_PCM_HW_PARAM_CHANNELS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	(%r15), %edx
	movq	%r12, %rdi
	callq	_param_set_int
	movq	_SNDRV_PCM_HW_PARAM_PERIODS@GOTPCREL(%rip), %r13
	movl	(%r13), %esi
	movl	12(%r15), %edx
	movq	%r12, %rdi
	callq	_param_set_int
	movq	_SNDRV_PCM_HW_PARAM_RATE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	4(%r15), %edx
	movq	%r12, %rdi
	callq	_param_set_int
	movl	(%r14), %eax
	movq	_PCM_NOIRQ@GOTPCREL(%rip), %rdx
	movq	_PCM_MMAP@GOTPCREL(%rip), %r12
	movl	(%r12), %ecx
	testl	%eax, (%rdx)
	je	LBB0_9
## %bb.6:
	testl	%eax, %ecx
	je	LBB0_7
## %bb.8:
	movq	_SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	orl	%edx, -92(%rbp)
	movslq	4(%r15), %rdx
	imulq	$274877907, %rdx, %rdx          ## imm = 0x10624DD3
	movq	%rdx, %rsi
	shrq	$63, %rsi
	sarq	$38, %rdx
	addl	%esi, %edx
	movl	%edx, 4(%r14)
LBB0_9:
	movq	_SNDRV_PCM_HW_PARAM_ACCESS@GOTPCREL(%rip), %rdx
	movl	(%rdx), %esi
	testl	%eax, %ecx
	jne	LBB0_10
## %bb.11:
	movq	_SNDRV_PCM_ACCESS_RW_INTERLEAVED@GOTPCREL(%rip), %rax
	jmp	LBB0_12
LBB0_10:
	movq	_SNDRV_PCM_ACCESS_MMAP_INTERLEAVED@GOTPCREL(%rip), %rax
LBB0_12:
	movl	(%rax), %edx
	leaq	-136(%rbp), %rbx
	movq	%rbx, %rdi
	callq	_param_set_mask
	movl	28(%r14), %edi
	movq	_SNDRV_PCM_IOCTL_HW_PARAMS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdx
	callq	_ioctl
	testq	%rax, %rax
	je	LBB0_14
## %bb.13:
	leaq	L_.str.1(%rip), %rdi
	jmp	LBB0_32
LBB0_14:
	movq	_SNDRV_PCM_HW_PARAM_PERIOD_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	-136(%rbp), %rbx
	movq	%rbx, %rdi
	callq	_param_get_int
	movl	%eax, 40(%r14)
	movl	(%r13), %esi
	movq	%rbx, %rdi
	callq	_param_get_int
	movl	%eax, 44(%r14)
	movl	8(%r15), %esi
	imull	12(%r15), %esi
	movl	%esi, 8(%r14)
	movl	(%r12), %eax
	testl	%eax, (%r14)
	je	LBB0_17
## %bb.15:
	movq	%r14, %rdi
	callq	_pcm_frames_to_bytes
	movq	_PROT_READ@GOTPCREL(%rip), %rcx
	movq	_PROT_WRITE@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	orl	(%rcx), %edx
	movq	_MAP_FILE@GOTPCREL(%rip), %rsi
	movq	_MAP_SHARED@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rsi), %ecx
	movl	28(%r14), %r8d
	xorl	%ebx, %ebx
	xorl	%edi, %edi
	movl	%eax, %esi
	xorl	%r9d, %r9d
	callq	_mmap
	movq	%rax, 16(%r14)
	movq	_MAP_FAILED@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_17
## %bb.16:
	movl	8(%r14), %esi
	movq	%r14, %rdi
	callq	_pcm_frames_to_bytes
	leaq	L_.str.2(%rip), %rdi
	movl	%eax, %esi
	xorl	%eax, %eax
	callq	_RARCH_ERR
	jmp	LBB0_33
LBB0_7:
	leaq	L_.str(%rip), %rdi
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_RARCH_ERR
	movq	_EINVAL@GOTPCREL(%rip), %rax
	jmp	LBB0_34
LBB0_17:
	leaq	-88(%rbp), %rdi
	xorl	%esi, %esi
	movl	$48, %edx
	callq	_memset
	movq	_SNDRV_PCM_TSTAMP_ENABLE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -48(%rbp)
	movabsq	$4294967297, %rax               ## imm = 0x100000001
	movq	%rax, -88(%rbp)
	movl	16(%r15), %eax
	testl	%eax, %eax
	je	LBB0_18
## %bb.21:
	movl	%eax, -80(%rbp)
	jmp	LBB0_22
LBB0_18:
	movq	_PCM_IN@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r14)
	je	LBB0_20
## %bb.19:
	movl	$1, -80(%rbp)
	movl	$1, 48(%r14)
	jmp	LBB0_22
LBB0_20:
	movl	8(%r15), %eax
	imull	12(%r15), %eax
	movl	%eax, %ecx
	shrl	$31, %ecx
	addl	%eax, %ecx
	sarl	%ecx
	movl	%ecx, -80(%rbp)
	movl	%ecx, 48(%r14)
LBB0_22:
	movl	20(%r15), %eax
	testl	%eax, %eax
	je	LBB0_23
## %bb.26:
	movl	%eax, -76(%rbp)
	movl	8(%r15), %eax
	jmp	LBB0_27
LBB0_23:
	movq	_PCM_IN@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	8(%r15), %eax
	movl	12(%r15), %ecx
	testl	%edx, (%r14)
	je	LBB0_25
## %bb.24:
	imull	%eax, %ecx
	addl	%ecx, %ecx
	leal	(%rcx,%rcx,4), %ecx
	movl	%ecx, -76(%rbp)
	movl	%ecx, 52(%r14)
	jmp	LBB0_27
LBB0_25:
	imull	%eax, %ecx
	movl	%ecx, -76(%rbp)
	movl	%ecx, 52(%r14)
LBB0_27:
	movl	%eax, %ecx
	shrl	$31, %ecx
	addl	%eax, %ecx
	sarl	%ecx
	movl	%ecx, -72(%rbp)
	movq	$0, -56(%rbp)
	movq	24(%r15), %rax
	movq	%rax, -64(%rbp)
	movl	8(%r14), %eax
	movl	%eax, -68(%rbp)
	movq	_INT_MAX@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	subl	%eax, %ecx
	.p2align	4, 0x90
LBB0_28:                                ## =>This Inner Loop Header: Depth=1
	movl	%eax, %edx
	leal	(%rdx,%rdx), %eax
	cmpl	%ecx, %eax
	jle	LBB0_28
## %bb.29:
	movl	%edx, 24(%r14)
	movl	28(%r14), %edi
	movq	_SNDRV_PCM_IOCTL_SW_PARAMS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	-88(%rbp), %rdx
	callq	_ioctl
	testq	%rax, %rax
	je	LBB0_30
## %bb.31:
	leaq	L_.str.3(%rip), %rdi
LBB0_32:
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_RARCH_ERR
LBB0_33:
	movq	_errno@GOTPCREL(%rip), %rax
LBB0_34:
	subl	(%rax), %ebx
LBB0_35:
	movl	%ebx, %eax
	addq	$104, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_30:
	xorl	%ebx, %ebx
	jmp	LBB0_35
	.cfi_endproc
                                        ## -- End function
	.comm	_EFAULT,4,2                     ## @EFAULT
	.comm	_PCM_FORMAT_S16_LE,4,2          ## @PCM_FORMAT_S16_LE
	.comm	_SNDRV_PCM_HW_PARAM_FORMAT,4,2  ## @SNDRV_PCM_HW_PARAM_FORMAT
	.comm	_SNDRV_PCM_HW_PARAM_SUBFORMAT,4,2 ## @SNDRV_PCM_HW_PARAM_SUBFORMAT
	.comm	_SNDRV_PCM_SUBFORMAT_STD,4,2    ## @SNDRV_PCM_SUBFORMAT_STD
	.comm	_SNDRV_PCM_HW_PARAM_PERIOD_SIZE,4,2 ## @SNDRV_PCM_HW_PARAM_PERIOD_SIZE
	.comm	_SNDRV_PCM_HW_PARAM_SAMPLE_BITS,4,2 ## @SNDRV_PCM_HW_PARAM_SAMPLE_BITS
	.comm	_SNDRV_PCM_HW_PARAM_FRAME_BITS,4,2 ## @SNDRV_PCM_HW_PARAM_FRAME_BITS
	.comm	_SNDRV_PCM_HW_PARAM_CHANNELS,4,2 ## @SNDRV_PCM_HW_PARAM_CHANNELS
	.comm	_SNDRV_PCM_HW_PARAM_PERIODS,4,2 ## @SNDRV_PCM_HW_PARAM_PERIODS
	.comm	_SNDRV_PCM_HW_PARAM_RATE,4,2    ## @SNDRV_PCM_HW_PARAM_RATE
	.comm	_PCM_NOIRQ,4,2                  ## @PCM_NOIRQ
	.comm	_PCM_MMAP,4,2                   ## @PCM_MMAP
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"[TINYALSA]: noirq only currently supported with mmap()."

	.comm	_EINVAL,4,2                     ## @EINVAL
	.comm	_SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP,4,2 ## @SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP
	.comm	_SNDRV_PCM_HW_PARAM_ACCESS,4,2  ## @SNDRV_PCM_HW_PARAM_ACCESS
	.comm	_SNDRV_PCM_ACCESS_MMAP_INTERLEAVED,4,2 ## @SNDRV_PCM_ACCESS_MMAP_INTERLEAVED
	.comm	_SNDRV_PCM_ACCESS_RW_INTERLEAVED,4,2 ## @SNDRV_PCM_ACCESS_RW_INTERLEAVED
	.comm	_SNDRV_PCM_IOCTL_HW_PARAMS,4,2  ## @SNDRV_PCM_IOCTL_HW_PARAMS
L_.str.1:                               ## @.str.1
	.asciz	"[TINYALSA]: cannot set HW params."

	.comm	_errno,4,2                      ## @errno
	.comm	_PROT_READ,4,2                  ## @PROT_READ
	.comm	_PROT_WRITE,4,2                 ## @PROT_WRITE
	.comm	_MAP_FILE,4,2                   ## @MAP_FILE
	.comm	_MAP_SHARED,4,2                 ## @MAP_SHARED
	.comm	_MAP_FAILED,8,3                 ## @MAP_FAILED
L_.str.2:                               ## @.str.2
	.asciz	"[TINYALSA]: failed to mmap buffer %d bytes\n"

	.comm	_SNDRV_PCM_TSTAMP_ENABLE,4,2    ## @SNDRV_PCM_TSTAMP_ENABLE
	.comm	_PCM_IN,4,2                     ## @PCM_IN
	.comm	_INT_MAX,4,2                    ## @INT_MAX
	.comm	_SNDRV_PCM_IOCTL_SW_PARAMS,4,2  ## @SNDRV_PCM_IOCTL_SW_PARAMS
L_.str.3:                               ## @.str.3
	.asciz	"[TINYALSA]: Cannot set HW params.\n"

	.no_dead_strip	_pcm_set_config
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function pcm_set_config
lCPI0_0:
	.long	2                               ; 0x2
	.long	48000                           ; 0xbb80
	.long	1024                            ; 0x400
	.long	4                               ; 0x4
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_pcm_set_config:                        ; @pcm_set_config
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #176
	.cfi_def_cfa_offset 176
	stp	x24, x23, [sp, #112]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #128]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #144]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #160]            ; 16-byte Folded Spill
	add	x29, sp, #160
	.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
	cbz	x0, LBB0_3
; %bb.1:
	mov	x20, x1
	mov	x19, x0
	add	x8, x0, #32
	cbz	x1, LBB0_4
; %bb.2:
	ldp	q0, q1, [x20]
	ldr	x9, [x20, #32]
	str	x9, [x8, #32]
	stp	q0, q1, [x8]
	b	LBB0_5
LBB0_3:
Lloh0:
	adrp	x8, _EFAULT@GOTPAGE
Lloh1:
	ldr	x8, [x8, _EFAULT@GOTPAGEOFF]
	b	LBB0_30
LBB0_4:
Lloh2:
	adrp	x9, lCPI0_0@PAGE
Lloh3:
	ldr	q0, [x9, lCPI0_0@PAGEOFF]
	str	q0, [x19, #32]
Lloh4:
	adrp	x9, _PCM_FORMAT_S16_LE@GOTPAGE
Lloh5:
	ldr	x9, [x9, _PCM_FORMAT_S16_LE@GOTPAGEOFF]
Lloh6:
	ldr	w9, [x9]
	str	w9, [x19, #64]
	movi.2s	v0, #16, lsl #8
	str	d0, [x19, #48]
	str	xzr, [x19, #56]
	mov	x20, x8
LBB0_5:
	add	x0, sp, #16
	bl	_param_init
Lloh7:
	adrp	x8, _SNDRV_PCM_HW_PARAM_FORMAT@GOTPAGE
Lloh8:
	ldr	x8, [x8, _SNDRV_PCM_HW_PARAM_FORMAT@GOTPAGEOFF]
Lloh9:
	ldr	w21, [x8]
	ldr	w0, [x20, #32]
	bl	_pcm_format_to_alsa
	mov	x2, x0
	add	x0, sp, #16
	mov	x1, x21
	bl	_param_set_mask
Lloh10:
	adrp	x8, _SNDRV_PCM_HW_PARAM_SUBFORMAT@GOTPAGE
Lloh11:
	ldr	x8, [x8, _SNDRV_PCM_HW_PARAM_SUBFORMAT@GOTPAGEOFF]
Lloh12:
	ldr	w1, [x8]
Lloh13:
	adrp	x8, _SNDRV_PCM_SUBFORMAT_STD@GOTPAGE
Lloh14:
	ldr	x8, [x8, _SNDRV_PCM_SUBFORMAT_STD@GOTPAGEOFF]
Lloh15:
	ldr	w2, [x8]
	add	x0, sp, #16
	bl	_param_set_mask
Lloh16:
	adrp	x22, _SNDRV_PCM_HW_PARAM_PERIOD_SIZE@GOTPAGE
Lloh17:
	ldr	x22, [x22, _SNDRV_PCM_HW_PARAM_PERIOD_SIZE@GOTPAGEOFF]
	ldr	w1, [x22]
	ldr	w2, [x20, #8]
	add	x0, sp, #16
	bl	_param_set_min
Lloh18:
	adrp	x8, _SNDRV_PCM_HW_PARAM_SAMPLE_BITS@GOTPAGE
Lloh19:
	ldr	x8, [x8, _SNDRV_PCM_HW_PARAM_SAMPLE_BITS@GOTPAGEOFF]
Lloh20:
	ldr	w21, [x8]
	ldr	w0, [x20, #32]
	bl	_pcm_format_to_bits
	mov	x2, x0
	add	x0, sp, #16
	mov	x1, x21
	bl	_param_set_int
Lloh21:
	adrp	x8, _SNDRV_PCM_HW_PARAM_FRAME_BITS@GOTPAGE
Lloh22:
	ldr	x8, [x8, _SNDRV_PCM_HW_PARAM_FRAME_BITS@GOTPAGEOFF]
Lloh23:
	ldr	w21, [x8]
	ldr	w0, [x20, #32]
	bl	_pcm_format_to_bits
	ldr	w8, [x20]
	mul	w2, w8, w0
	add	x0, sp, #16
	mov	x1, x21
	bl	_param_set_int
Lloh24:
	adrp	x8, _SNDRV_PCM_HW_PARAM_CHANNELS@GOTPAGE
Lloh25:
	ldr	x8, [x8, _SNDRV_PCM_HW_PARAM_CHANNELS@GOTPAGEOFF]
Lloh26:
	ldr	w1, [x8]
	ldr	w2, [x20]
	add	x0, sp, #16
	bl	_param_set_int
Lloh27:
	adrp	x21, _SNDRV_PCM_HW_PARAM_PERIODS@GOTPAGE
Lloh28:
	ldr	x21, [x21, _SNDRV_PCM_HW_PARAM_PERIODS@GOTPAGEOFF]
	ldr	w1, [x21]
	ldr	w2, [x20, #12]
	add	x0, sp, #16
	bl	_param_set_int
Lloh29:
	adrp	x8, _SNDRV_PCM_HW_PARAM_RATE@GOTPAGE
Lloh30:
	ldr	x8, [x8, _SNDRV_PCM_HW_PARAM_RATE@GOTPAGEOFF]
Lloh31:
	ldr	w1, [x8]
	ldr	w2, [x20, #4]
	add	x0, sp, #16
	bl	_param_set_int
Lloh32:
	adrp	x9, _PCM_NOIRQ@GOTPAGE
Lloh33:
	ldr	x9, [x9, _PCM_NOIRQ@GOTPAGEOFF]
	ldr	w8, [x19]
Lloh34:
	ldr	w10, [x9]
Lloh35:
	adrp	x23, _PCM_MMAP@GOTPAGE
Lloh36:
	ldr	x23, [x23, _PCM_MMAP@GOTPAGEOFF]
	ldr	w9, [x23]
	tst	w10, w8
	b.eq	LBB0_8
; %bb.6:
	tst	w9, w8
	b.eq	LBB0_13
; %bb.7:
Lloh37:
	adrp	x10, _SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP@GOTPAGE
Lloh38:
	ldr	x10, [x10, _SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP@GOTPAGEOFF]
Lloh39:
	ldr	w10, [x10]
	ldr	w11, [sp, #60]
	orr	w10, w11, w10
	str	w10, [sp, #60]
	ldrsw	x10, [x20, #4]
	mov	w11, #19923
	movk	w11, #4194, lsl #16
	mul	x10, x10, x11
	lsr	x11, x10, #63
	asr	x10, x10, #38
	add	w10, w10, w11
	str	w10, [x19, #4]
LBB0_8:
Lloh40:
	adrp	x10, _SNDRV_PCM_HW_PARAM_ACCESS@GOTPAGE
Lloh41:
	ldr	x10, [x10, _SNDRV_PCM_HW_PARAM_ACCESS@GOTPAGEOFF]
Lloh42:
	adrp	x11, _SNDRV_PCM_ACCESS_RW_INTERLEAVED@GOTPAGE
Lloh43:
	ldr	x11, [x11, _SNDRV_PCM_ACCESS_RW_INTERLEAVED@GOTPAGEOFF]
Lloh44:
	ldr	w1, [x10]
Lloh45:
	adrp	x10, _SNDRV_PCM_ACCESS_MMAP_INTERLEAVED@GOTPAGE
Lloh46:
	ldr	x10, [x10, _SNDRV_PCM_ACCESS_MMAP_INTERLEAVED@GOTPAGEOFF]
	tst	w9, w8
	csel	x8, x11, x10, eq
	ldr	w2, [x8]
	add	x0, sp, #16
	bl	_param_set_mask
	ldr	w0, [x19, #28]
Lloh47:
	adrp	x8, _SNDRV_PCM_IOCTL_HW_PARAMS@GOTPAGE
Lloh48:
	ldr	x8, [x8, _SNDRV_PCM_IOCTL_HW_PARAMS@GOTPAGEOFF]
Lloh49:
	ldr	w1, [x8]
	add	x2, sp, #16
	bl	_ioctl
	cbz	x0, LBB0_10
; %bb.9:
Lloh50:
	adrp	x0, l_.str.1@PAGE
Lloh51:
	add	x0, x0, l_.str.1@PAGEOFF
	b	LBB0_29
LBB0_10:
	ldr	w1, [x22]
	add	x0, sp, #16
	bl	_param_get_int
	str	w0, [x19, #40]
	ldr	w1, [x21]
	add	x0, sp, #16
	bl	_param_get_int
	str	w0, [x19, #44]
	ldp	w9, w8, [x20, #8]
	mul	w1, w9, w8
	str	w1, [x19, #8]
	ldr	w8, [x19]
	ldr	w9, [x23]
	tst	w9, w8
	b.eq	LBB0_14
; %bb.11:
	mov	x0, x19
	bl	_pcm_frames_to_bytes
	mov	x1, x0
Lloh52:
	adrp	x8, _PROT_READ@GOTPAGE
Lloh53:
	ldr	x8, [x8, _PROT_READ@GOTPAGEOFF]
Lloh54:
	ldr	w8, [x8]
Lloh55:
	adrp	x9, _PROT_WRITE@GOTPAGE
Lloh56:
	ldr	x9, [x9, _PROT_WRITE@GOTPAGEOFF]
Lloh57:
	ldr	w9, [x9]
	orr	w2, w9, w8
Lloh58:
	adrp	x8, _MAP_FILE@GOTPAGE
Lloh59:
	ldr	x8, [x8, _MAP_FILE@GOTPAGEOFF]
Lloh60:
	ldr	w8, [x8]
Lloh61:
	adrp	x9, _MAP_SHARED@GOTPAGE
Lloh62:
	ldr	x9, [x9, _MAP_SHARED@GOTPAGEOFF]
Lloh63:
	ldr	w9, [x9]
	orr	w3, w9, w8
	ldr	w4, [x19, #28]
	mov	x0, #0
	mov	w5, #0
	bl	_mmap
	str	x0, [x19, #16]
Lloh64:
	adrp	x8, _MAP_FAILED@GOTPAGE
Lloh65:
	ldr	x8, [x8, _MAP_FAILED@GOTPAGEOFF]
Lloh66:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_14
; %bb.12:
	ldr	w1, [x19, #8]
	mov	x0, x19
	bl	_pcm_frames_to_bytes
                                        ; kill: def $w0 killed $w0 def $x0
	str	x0, [sp]
Lloh67:
	adrp	x0, l_.str.2@PAGE
Lloh68:
	add	x0, x0, l_.str.2@PAGEOFF
	b	LBB0_29
LBB0_13:
Lloh69:
	adrp	x0, l_.str@PAGE
Lloh70:
	add	x0, x0, l_.str@PAGEOFF
	bl	_RARCH_ERR
Lloh71:
	adrp	x8, _EINVAL@GOTPAGE
Lloh72:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
	b	LBB0_30
LBB0_14:
	add	x0, sp, #64
	mov	w1, #0
	mov	w2, #48
	bl	_memset
Lloh73:
	adrp	x8, _SNDRV_PCM_TSTAMP_ENABLE@GOTPAGE
Lloh74:
	ldr	x8, [x8, _SNDRV_PCM_TSTAMP_ENABLE@GOTPAGEOFF]
Lloh75:
	ldr	w8, [x8]
	str	w8, [sp, #104]
	movi.2s	v0, #1
	str	d0, [sp, #64]
	ldr	w8, [x20, #16]
	cbz	w8, LBB0_17
; %bb.15:
	str	w8, [sp, #72]
	ldr	w8, [x20, #20]
	cbz	w8, LBB0_21
LBB0_16:
	str	w8, [sp, #76]
	ldr	w8, [x20, #8]
	b	LBB0_25
LBB0_17:
	ldr	w8, [x19]
Lloh76:
	adrp	x9, _PCM_IN@GOTPAGE
Lloh77:
	ldr	x9, [x9, _PCM_IN@GOTPAGEOFF]
Lloh78:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_19
; %bb.18:
	mov	w8, #1
	b	LBB0_20
LBB0_19:
	ldp	w9, w8, [x20, #8]
	mul	w8, w9, w8
	cmp	w8, #0
	cinc	w8, w8, lt
	asr	w8, w8, #1
LBB0_20:
	str	w8, [sp, #72]
	str	w8, [x19, #48]
	ldr	w8, [x20, #20]
	cbnz	w8, LBB0_16
LBB0_21:
	ldr	w10, [x19]
Lloh79:
	adrp	x8, _PCM_IN@GOTPAGE
Lloh80:
	ldr	x8, [x8, _PCM_IN@GOTPAGEOFF]
Lloh81:
	ldr	w11, [x8]
	ldp	w8, w9, [x20, #8]
	tst	w11, w10
	b.eq	LBB0_23
; %bb.22:
	mul	w9, w9, w8
	add	w9, w9, w9, lsl #2
	lsl	w9, w9, #1
	b	LBB0_24
LBB0_23:
	mul	w9, w8, w9
LBB0_24:
	str	w9, [sp, #76]
	str	w9, [x19, #52]
LBB0_25:
	cmp	w8, #0
	cinc	w8, w8, lt
	asr	w9, w8, #1
	ldr	x8, [x20, #24]
	stp	x8, xzr, [sp, #88]
	ldr	w8, [x19, #8]
	stp	w9, w8, [sp, #80]
Lloh82:
	adrp	x9, _INT_MAX@GOTPAGE
Lloh83:
	ldr	x9, [x9, _INT_MAX@GOTPAGEOFF]
Lloh84:
	ldr	w9, [x9]
	sub	w9, w9, w8
LBB0_26:                                ; =>This Inner Loop Header: Depth=1
	mov	x10, x8
	lsl	w8, w8, #1
	cmp	w8, w9
	b.le	LBB0_26
; %bb.27:
	str	w10, [x19, #24]
	ldr	w0, [x19, #28]
Lloh85:
	adrp	x8, _SNDRV_PCM_IOCTL_SW_PARAMS@GOTPAGE
Lloh86:
	ldr	x8, [x8, _SNDRV_PCM_IOCTL_SW_PARAMS@GOTPAGEOFF]
Lloh87:
	ldr	w1, [x8]
	add	x2, sp, #64
	bl	_ioctl
	cbz	x0, LBB0_31
; %bb.28:
Lloh88:
	adrp	x0, l_.str.3@PAGE
Lloh89:
	add	x0, x0, l_.str.3@PAGEOFF
LBB0_29:
	bl	_RARCH_ERR
Lloh90:
	adrp	x8, _errno@GOTPAGE
Lloh91:
	ldr	x8, [x8, _errno@GOTPAGEOFF]
LBB0_30:
	ldr	w8, [x8]
	neg	w0, w8
LBB0_31:
	ldp	x29, x30, [sp, #160]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #144]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #128]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #112]            ; 16-byte Folded Reload
	add	sp, sp, #176
	ret
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpAdrp	Lloh2, Lloh4
	.loh AdrpLdr	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGot	Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGot	Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGot	Lloh45, Lloh46
	.loh AdrpLdrGot	Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh44
	.loh AdrpAdd	Lloh50, Lloh51
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh58, Lloh59, Lloh60
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpAdd	Lloh67, Lloh68
	.loh AdrpLdrGot	Lloh71, Lloh72
	.loh AdrpAdd	Lloh69, Lloh70
	.loh AdrpLdrGotLdr	Lloh73, Lloh74, Lloh75
	.loh AdrpLdrGotLdr	Lloh76, Lloh77, Lloh78
	.loh AdrpLdrGotLdr	Lloh79, Lloh80, Lloh81
	.loh AdrpLdrGotLdr	Lloh82, Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh85, Lloh86, Lloh87
	.loh AdrpAdd	Lloh88, Lloh89
	.loh AdrpLdrGot	Lloh90, Lloh91
	.cfi_endproc
                                        ; -- End function
	.comm	_EFAULT,4,2                     ; @EFAULT
	.comm	_PCM_FORMAT_S16_LE,4,2          ; @PCM_FORMAT_S16_LE
	.comm	_SNDRV_PCM_HW_PARAM_FORMAT,4,2  ; @SNDRV_PCM_HW_PARAM_FORMAT
	.comm	_SNDRV_PCM_HW_PARAM_SUBFORMAT,4,2 ; @SNDRV_PCM_HW_PARAM_SUBFORMAT
	.comm	_SNDRV_PCM_SUBFORMAT_STD,4,2    ; @SNDRV_PCM_SUBFORMAT_STD
	.comm	_SNDRV_PCM_HW_PARAM_PERIOD_SIZE,4,2 ; @SNDRV_PCM_HW_PARAM_PERIOD_SIZE
	.comm	_SNDRV_PCM_HW_PARAM_SAMPLE_BITS,4,2 ; @SNDRV_PCM_HW_PARAM_SAMPLE_BITS
	.comm	_SNDRV_PCM_HW_PARAM_FRAME_BITS,4,2 ; @SNDRV_PCM_HW_PARAM_FRAME_BITS
	.comm	_SNDRV_PCM_HW_PARAM_CHANNELS,4,2 ; @SNDRV_PCM_HW_PARAM_CHANNELS
	.comm	_SNDRV_PCM_HW_PARAM_PERIODS,4,2 ; @SNDRV_PCM_HW_PARAM_PERIODS
	.comm	_SNDRV_PCM_HW_PARAM_RATE,4,2    ; @SNDRV_PCM_HW_PARAM_RATE
	.comm	_PCM_NOIRQ,4,2                  ; @PCM_NOIRQ
	.comm	_PCM_MMAP,4,2                   ; @PCM_MMAP
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"[TINYALSA]: noirq only currently supported with mmap()."

	.comm	_EINVAL,4,2                     ; @EINVAL
	.comm	_SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP,4,2 ; @SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP
	.comm	_SNDRV_PCM_HW_PARAM_ACCESS,4,2  ; @SNDRV_PCM_HW_PARAM_ACCESS
	.comm	_SNDRV_PCM_ACCESS_MMAP_INTERLEAVED,4,2 ; @SNDRV_PCM_ACCESS_MMAP_INTERLEAVED
	.comm	_SNDRV_PCM_ACCESS_RW_INTERLEAVED,4,2 ; @SNDRV_PCM_ACCESS_RW_INTERLEAVED
	.comm	_SNDRV_PCM_IOCTL_HW_PARAMS,4,2  ; @SNDRV_PCM_IOCTL_HW_PARAMS
l_.str.1:                               ; @.str.1
	.asciz	"[TINYALSA]: cannot set HW params."

	.comm	_errno,4,2                      ; @errno
	.comm	_PROT_READ,4,2                  ; @PROT_READ
	.comm	_PROT_WRITE,4,2                 ; @PROT_WRITE
	.comm	_MAP_FILE,4,2                   ; @MAP_FILE
	.comm	_MAP_SHARED,4,2                 ; @MAP_SHARED
	.comm	_MAP_FAILED,8,3                 ; @MAP_FAILED
l_.str.2:                               ; @.str.2
	.asciz	"[TINYALSA]: failed to mmap buffer %d bytes\n"

	.comm	_SNDRV_PCM_TSTAMP_ENABLE,4,2    ; @SNDRV_PCM_TSTAMP_ENABLE
	.comm	_PCM_IN,4,2                     ; @PCM_IN
	.comm	_INT_MAX,4,2                    ; @INT_MAX
	.comm	_SNDRV_PCM_IOCTL_SW_PARAMS,4,2  ; @SNDRV_PCM_IOCTL_SW_PARAMS
l_.str.3:                               ; @.str.3
	.asciz	"[TINYALSA]: Cannot set HW params.\n"

	.no_dead_strip	_pcm_set_config
.subsections_via_symbols
