	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function ac3_downmix_5_to_2_symmetric_c_fixed
LCPI0_0:
	.long	2048                            ## 0x800
	.long	2048                            ## 0x800
	.long	2048                            ## 0x800
	.long	2048                            ## 0x800
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_ac3_downmix_5_to_2_symmetric_c_fixed:  ## @ac3_downmix_5_to_2_symmetric_c_fixed
	.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
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	testl	%edx, %edx
	jle	LBB0_14
## %bb.1:
	movq	(%rsi), %rax
	movl	(%rax), %r9d
	movl	4(%rax), %r8d
	movl	12(%rax), %r12d
	movq	(%rdi), %r14
	movq	8(%rdi), %rax
	movq	24(%rdi), %r10
	movq	16(%rdi), %r11
	movq	32(%rdi), %r13
	movl	%edx, %r15d
	cmpl	$4, %edx
	jae	LBB0_3
## %bb.2:
	xorl	%edx, %edx
	jmp	LBB0_13
LBB0_3:
	leaq	(%r14,%r15,4), %rbx
	leaq	(%rax,%r15,4), %rdx
	leaq	(%r10,%r15,4), %rsi
	leaq	(%r11,%r15,4), %rcx
	leaq	(,%r15,4), %rdi
	addq	%r13, %rdi
	cmpq	%rdx, %r14
	setb	-51(%rbp)                       ## 1-byte Folded Spill
	cmpq	%rbx, %rax
	setb	-50(%rbp)                       ## 1-byte Folded Spill
	cmpq	%rsi, %r14
	setb	-49(%rbp)                       ## 1-byte Folded Spill
	cmpq	%rbx, %r10
	setb	-48(%rbp)                       ## 1-byte Folded Spill
	cmpq	%rcx, %r14
	setb	-47(%rbp)                       ## 1-byte Folded Spill
	cmpq	%rbx, %r11
	setb	-46(%rbp)                       ## 1-byte Folded Spill
	cmpq	%rdi, %r14
	setb	-45(%rbp)                       ## 1-byte Folded Spill
	cmpq	%rbx, %r13
	setb	-44(%rbp)                       ## 1-byte Folded Spill
	cmpq	%rsi, %rax
	setb	%bl
	cmpq	%rdx, %r10
	setb	-43(%rbp)                       ## 1-byte Folded Spill
	cmpq	%rcx, %rax
	setb	-42(%rbp)                       ## 1-byte Folded Spill
	cmpq	%rdx, %r11
	setb	-41(%rbp)                       ## 1-byte Folded Spill
	cmpq	%rdi, %rax
	setb	%sil
	cmpq	%rdx, %r13
	setb	%dil
	xorl	%edx, %edx
	movb	-50(%rbp), %cl                  ## 1-byte Reload
	testb	%cl, -51(%rbp)                  ## 1-byte Folded Reload
	jne	LBB0_13
## %bb.4:
	movb	-48(%rbp), %cl                  ## 1-byte Reload
	andb	%cl, -49(%rbp)                  ## 1-byte Folded Spill
	jne	LBB0_13
## %bb.5:
	movb	-46(%rbp), %cl                  ## 1-byte Reload
	andb	%cl, -47(%rbp)                  ## 1-byte Folded Spill
	jne	LBB0_13
## %bb.6:
	movb	-44(%rbp), %cl                  ## 1-byte Reload
	andb	%cl, -45(%rbp)                  ## 1-byte Folded Spill
	jne	LBB0_13
## %bb.7:
	andb	-43(%rbp), %bl                  ## 1-byte Folded Reload
	jne	LBB0_13
## %bb.8:
	movb	-41(%rbp), %cl                  ## 1-byte Reload
	andb	%cl, -42(%rbp)                  ## 1-byte Folded Spill
	jne	LBB0_13
## %bb.9:
	andb	%dil, %sil
	jne	LBB0_13
## %bb.10:
	movl	%r15d, %edx
	andl	$-4, %edx
	movd	%r9d, %xmm0
	pshufd	$0, %xmm0, %xmm0                ## xmm0 = xmm0[0,0,0,0]
	movd	%r8d, %xmm1
	pshufd	$0, %xmm1, %xmm1                ## xmm1 = xmm1[0,0,0,0]
	movd	%r12d, %xmm2
	pshufd	$0, %xmm2, %xmm2                ## xmm2 = xmm2[0,0,0,0]
	leaq	(,%r15,4), %rcx
	andq	$-16, %rcx
	xorl	%ebx, %ebx
	movdqa	LCPI0_0(%rip), %xmm3            ## xmm3 = [2048,2048,2048,2048]
	.p2align	4, 0x90
LBB0_11:                                ## =>This Inner Loop Header: Depth=1
	movdqu	(%r14,%rbx), %xmm4
	pmulld	%xmm0, %xmm4
	movdqu	(%rax,%rbx), %xmm5
	pmulld	%xmm1, %xmm5
	paddd	%xmm3, %xmm5
	movdqu	(%r10,%rbx), %xmm6
	pmulld	%xmm2, %xmm6
	paddd	%xmm4, %xmm6
	movdqu	(%r11,%rbx), %xmm4
	pmulld	%xmm0, %xmm4
	movdqu	(%r13,%rbx), %xmm7
	pmulld	%xmm2, %xmm7
	paddd	%xmm4, %xmm7
	paddd	%xmm5, %xmm6
	psrad	$12, %xmm6
	movdqu	%xmm6, (%r14,%rbx)
	paddd	%xmm5, %xmm7
	psrad	$12, %xmm7
	movdqu	%xmm7, (%rax,%rbx)
	addq	$16, %rbx
	cmpq	%rbx, %rcx
	jne	LBB0_11
## %bb.12:
	cmpq	%r15, %rdx
	je	LBB0_14
	.p2align	4, 0x90
LBB0_13:                                ## =>This Inner Loop Header: Depth=1
	movl	(%r14,%rdx,4), %ebx
	imull	%r9d, %ebx
	movl	(%rax,%rdx,4), %edi
	imull	%r8d, %edi
	movl	(%r10,%rdx,4), %esi
	imull	%r12d, %esi
	movl	(%r11,%rdx,4), %ecx
	addl	%edi, %ebx
	addl	$2048, %ebx                     ## imm = 0x800
	addl	%esi, %ebx
	movl	(%r13,%rdx,4), %esi
	sarl	$12, %ebx
	movl	%ebx, (%r14,%rdx,4)
	imull	%r9d, %ecx
	addl	%edi, %ecx
	addl	$2048, %ecx                     ## imm = 0x800
	imull	%r12d, %esi
	addl	%esi, %ecx
	sarl	$12, %ecx
	movl	%ecx, (%rax,%rdx,4)
	incq	%rdx
	cmpq	%rdx, %r15
	jne	LBB0_13
LBB0_14:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_ac3_downmix_5_to_2_symmetric_c_fixed
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function ac3_downmix_5_to_2_symmetric_c_fixed
_ac3_downmix_5_to_2_symmetric_c_fixed:  ; @ac3_downmix_5_to_2_symmetric_c_fixed
	.cfi_startproc
; %bb.0:
	cmp	w2, #1
	b.lt	LBB0_15
; %bb.1:
	ldr	x10, [x1]
	ldp	w8, w9, [x10]
	ldr	w10, [x10, #12]
	ldp	x11, x12, [x0]
	ldp	x15, x14, [x0, #16]
	ldr	x16, [x0, #32]
	mov	w13, w2
	cmp	w2, #4
	b.hs	LBB0_3
; %bb.2:
	mov	x17, #0
	b	LBB0_13
LBB0_3:
	mov	x17, #0
	lsl	x2, x13, #2
	add	x6, x11, x2
	add	x7, x12, x2
	add	x3, x14, x2
	cmp	x11, x3
	ccmp	x14, x6, #2, lo
	cset	w0, lo
	add	x4, x15, x2
	cmp	x11, x4
	ccmp	x15, x6, #2, lo
	cset	w1, lo
	add	x5, x16, x2
	cmp	x11, x5
	ccmp	x16, x6, #2, lo
	cset	w2, lo
	cmp	x12, x3
	ccmp	x14, x7, #2, lo
	cset	w3, lo
	cmp	x12, x4
	ccmp	x15, x7, #2, lo
	cset	w4, lo
	cmp	x12, x5
	ccmp	x16, x7, #2, lo
	cset	w5, lo
	cmp	x12, x6
	ccmp	x11, x7, #2, lo
	b.lo	LBB0_13
; %bb.4:
	tbnz	w0, #0, LBB0_13
; %bb.5:
	tbnz	w1, #0, LBB0_13
; %bb.6:
	tbnz	w2, #0, LBB0_13
; %bb.7:
	tbnz	w3, #0, LBB0_13
; %bb.8:
	tbnz	w4, #0, LBB0_13
; %bb.9:
	tbnz	w5, #0, LBB0_13
; %bb.10:
	and	x17, x13, #0xfffffffc
	dup.4s	v0, w8
	dup.4s	v1, w9
	mov	x0, x17
	mov	x1, x16
	dup.4s	v2, w10
	mov	x2, x15
	mov	x3, x14
	mov	x4, x12
	mov	x5, x11
LBB0_11:                                ; =>This Inner Loop Header: Depth=1
	ldr	q3, [x5]
	ldr	q4, [x4]
	ldr	q5, [x3], #16
	ldr	q6, [x2], #16
	ldr	q7, [x1], #16
	movi.4s	v16, #8, lsl #8
	mla.4s	v16, v4, v1
	mov.16b	v4, v16
	mla.4s	v4, v3, v0
	mla.4s	v4, v5, v2
	sshr.4s	v3, v4, #12
	str	q3, [x5], #16
	mla.4s	v16, v6, v0
	mla.4s	v16, v7, v2
	sshr.4s	v3, v16, #12
	str	q3, [x4], #16
	subs	x0, x0, #4
	b.ne	LBB0_11
; %bb.12:
	cmp	x17, x13
	b.eq	LBB0_15
LBB0_13:
	lsl	x0, x17, #2
	add	x16, x16, x0
	add	x15, x15, x0
	add	x14, x14, x0
	add	x12, x12, x0
	add	x11, x11, x0
	sub	x13, x13, x17
	orr	w17, wzr, #0x800
LBB0_14:                                ; =>This Inner Loop Header: Depth=1
	ldr	w0, [x11]
	ldr	w1, [x12]
	ldr	w2, [x14], #4
	ldr	w3, [x15], #4
	ldr	w4, [x16], #4
	madd	w1, w1, w9, w17
	madd	w0, w0, w8, w1
	madd	w0, w2, w10, w0
	asr	w0, w0, #12
	str	w0, [x11], #4
	madd	w0, w3, w8, w1
	madd	w0, w4, w10, w0
	asr	w0, w0, #12
	str	w0, [x12], #4
	subs	x13, x13, #1
	b.ne	LBB0_14
LBB0_15:
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_ac3_downmix_5_to_2_symmetric_c_fixed
.subsections_via_symbols
