	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_ff_vp8_idct_add_msa            ## -- Begin function ff_vp8_idct_add_msa
	.p2align	4, 0x90
_ff_vp8_idct_add_msa:                   ## @ff_vp8_idct_add_msa
	.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	%rbx
	subq	$968, %rsp                      ## imm = 0x3C8
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%edx, %ebx
	movq	%rsi, %r14
	movq	%rdi, %r15
	xorps	%xmm0, %xmm0
	movaps	%xmm0, -48(%rbp)
	movaps	%xmm0, -64(%rbp)
	movaps	%xmm0, -80(%rbp)
	movaps	%xmm0, -96(%rbp)
	movq	%rsi, %rdi
	movl	$8, %esi
	callq	_LD_SH2
	callq	_UNPCK_SH_SW
	callq	_UNPCK_SH_SW
	callq	_VP8_IDCT_1D_W
	callq	_TRANSPOSE4x4_SW_SW
	callq	_VP8_IDCT_1D_W
	movl	$3, %r8d
	callq	_SRARI_W4_SW
	callq	_TRANSPOSE4x4_SW_SW
	movups	-288(%rbp), %xmm0
	movups	-272(%rbp), %xmm1
	movups	-256(%rbp), %xmm2
	movups	-240(%rbp), %xmm3
	movups	%xmm3, 240(%rsp)
	movups	%xmm2, 224(%rsp)
	movups	%xmm1, 208(%rsp)
	movups	%xmm0, 192(%rsp)
	movups	-352(%rbp), %xmm0
	movups	-336(%rbp), %xmm1
	movups	-320(%rbp), %xmm2
	movups	-304(%rbp), %xmm3
	movups	%xmm3, 176(%rsp)
	movups	%xmm2, 160(%rsp)
	movups	%xmm1, 144(%rsp)
	movups	%xmm0, 128(%rsp)
	movups	-416(%rbp), %xmm0
	movups	-400(%rbp), %xmm1
	movups	-384(%rbp), %xmm2
	movups	-368(%rbp), %xmm3
	movups	%xmm3, 112(%rsp)
	movups	%xmm2, 96(%rsp)
	movups	%xmm1, 80(%rsp)
	movups	%xmm0, 64(%rsp)
	movups	-480(%rbp), %xmm0
	movups	-464(%rbp), %xmm1
	movups	-448(%rbp), %xmm2
	movups	-432(%rbp), %xmm3
	movups	%xmm3, 48(%rsp)
	movups	%xmm2, 32(%rsp)
	movups	%xmm1, 16(%rsp)
	movups	%xmm0, (%rsp)
	movq	%r15, %rdi
	movl	%ebx, %esi
	callq	_LD_SB4
	movups	-288(%rbp), %xmm0
	movups	-272(%rbp), %xmm1
	movups	-256(%rbp), %xmm2
	movups	-240(%rbp), %xmm3
	movups	%xmm3, 496(%rsp)
	movups	%xmm2, 480(%rsp)
	movups	%xmm1, 464(%rsp)
	movups	%xmm0, 448(%rsp)
	movaps	-96(%rbp), %xmm0
	movaps	-80(%rbp), %xmm1
	movaps	-64(%rbp), %xmm2
	movaps	-48(%rbp), %xmm3
	movups	%xmm3, 432(%rsp)
	movups	%xmm2, 416(%rsp)
	movups	%xmm1, 400(%rsp)
	movups	%xmm0, 384(%rsp)
	movups	-352(%rbp), %xmm4
	movups	-336(%rbp), %xmm5
	movups	-320(%rbp), %xmm6
	movups	-304(%rbp), %xmm7
	movups	%xmm7, 368(%rsp)
	movups	%xmm6, 352(%rsp)
	movups	%xmm5, 336(%rsp)
	movups	%xmm4, 320(%rsp)
	movups	%xmm3, 304(%rsp)
	movups	%xmm2, 288(%rsp)
	movups	%xmm1, 272(%rsp)
	movups	%xmm0, 256(%rsp)
	movups	-416(%rbp), %xmm4
	movups	-400(%rbp), %xmm5
	movups	-384(%rbp), %xmm6
	movups	-368(%rbp), %xmm7
	movups	%xmm7, 240(%rsp)
	movups	%xmm6, 224(%rsp)
	movups	%xmm5, 208(%rsp)
	movups	%xmm4, 192(%rsp)
	movups	%xmm3, 176(%rsp)
	movups	%xmm2, 160(%rsp)
	movups	%xmm1, 144(%rsp)
	movups	%xmm0, 128(%rsp)
	movups	-480(%rbp), %xmm4
	movups	-464(%rbp), %xmm5
	movups	-448(%rbp), %xmm6
	movups	-432(%rbp), %xmm7
	movups	%xmm7, 112(%rsp)
	movups	%xmm6, 96(%rsp)
	movups	%xmm5, 80(%rsp)
	movups	%xmm4, 64(%rsp)
	movups	%xmm3, 48(%rsp)
	movups	%xmm2, 32(%rsp)
	movups	%xmm1, 16(%rsp)
	movups	%xmm0, (%rsp)
	callq	_ILVR_B4_SW
	movaps	-96(%rbp), %xmm0
	movaps	-80(%rbp), %xmm1
	movaps	-64(%rbp), %xmm2
	movaps	-48(%rbp), %xmm3
	movups	%xmm3, 240(%rsp)
	movups	%xmm2, 224(%rsp)
	movups	%xmm1, 208(%rsp)
	movups	%xmm0, 192(%rsp)
	movups	%xmm3, 176(%rsp)
	movups	%xmm2, 160(%rsp)
	movups	%xmm1, 144(%rsp)
	movups	%xmm0, 128(%rsp)
	movups	%xmm3, 112(%rsp)
	movups	%xmm2, 96(%rsp)
	movups	%xmm1, 80(%rsp)
	movups	%xmm0, 64(%rsp)
	movups	%xmm3, 48(%rsp)
	movups	%xmm2, 32(%rsp)
	movups	%xmm1, 16(%rsp)
	movups	%xmm0, (%rsp)
	callq	_ILVR_H4_SW
	callq	_ADD4
	callq	_CLIP_SW4_0_255
	movups	-160(%rbp), %xmm0
	movups	-144(%rbp), %xmm1
	movups	-128(%rbp), %xmm2
	movups	-112(%rbp), %xmm3
	movups	%xmm3, 240(%rsp)
	movups	%xmm2, 224(%rsp)
	movups	%xmm1, 208(%rsp)
	movups	%xmm0, 192(%rsp)
	movups	-224(%rbp), %xmm0
	movups	-208(%rbp), %xmm1
	movups	-192(%rbp), %xmm2
	movups	-176(%rbp), %xmm3
	movups	%xmm3, 176(%rsp)
	movups	%xmm2, 160(%rsp)
	movups	%xmm1, 144(%rsp)
	movups	%xmm0, 128(%rsp)
	movups	l___const.ff_vp8_idct_add_msa.mask+48(%rip), %xmm0
	movups	%xmm0, 112(%rsp)
	movups	l___const.ff_vp8_idct_add_msa.mask+32(%rip), %xmm1
	movups	%xmm1, 96(%rsp)
	movups	l___const.ff_vp8_idct_add_msa.mask+16(%rip), %xmm2
	movups	%xmm2, 80(%rsp)
	movups	l___const.ff_vp8_idct_add_msa.mask(%rip), %xmm3
	movups	%xmm3, 64(%rsp)
	movups	%xmm0, 48(%rsp)
	movups	%xmm1, 32(%rsp)
	movups	%xmm2, 16(%rsp)
	movups	%xmm3, (%rsp)
	callq	_VSHF_B2_SB
	movups	-224(%rbp), %xmm0
	movups	-208(%rbp), %xmm1
	movups	-192(%rbp), %xmm2
	movups	-176(%rbp), %xmm3
	movups	%xmm3, 48(%rsp)
	movups	%xmm2, 32(%rsp)
	movups	%xmm1, 16(%rsp)
	movups	%xmm0, (%rsp)
	xorl	%edi, %edi
	movl	$1, %esi
	movq	%r15, %rdx
	movl	%ebx, %ecx
	callq	_ST_W2
	leal	(%rbx,%rbx), %eax
	cltq
	leaq	(%r15,%rax,4), %rdx
	movups	-160(%rbp), %xmm0
	movups	-144(%rbp), %xmm1
	movups	-128(%rbp), %xmm2
	movups	-112(%rbp), %xmm3
	movups	%xmm3, 48(%rsp)
	movups	%xmm2, 32(%rsp)
	movups	%xmm1, 16(%rsp)
	movups	%xmm0, (%rsp)
	xorl	%edi, %edi
	movl	$1, %esi
	movl	%ebx, %ecx
	callq	_ST_W2
	movq	%r14, %rdi
	xorl	%esi, %esi
	movl	$64, %edx
	addq	$968, %rsp                      ## imm = 0x3C8
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_memset                         ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__const
	.p2align	3                               ## @__const.ff_vp8_idct_add_msa.mask
l___const.ff_vp8_idct_add_msa.mask:
	.long	0                               ## 0x0
	.long	4                               ## 0x4
	.long	8                               ## 0x8
	.long	12                              ## 0xc
	.long	16                              ## 0x10
	.long	20                              ## 0x14
	.long	24                              ## 0x18
	.long	28                              ## 0x1c
	.long	0                               ## 0x0
	.long	0                               ## 0x0
	.long	0                               ## 0x0
	.long	0                               ## 0x0
	.long	0                               ## 0x0
	.long	0                               ## 0x0
	.long	0                               ## 0x0
	.long	0                               ## 0x0

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_ff_vp8_idct_add_msa            ; -- Begin function ff_vp8_idct_add_msa
	.p2align	2
_ff_vp8_idct_add_msa:                   ; @ff_vp8_idct_add_msa
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.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
	sub	sp, sp, #528
	mov	x20, x2
	mov	x19, x1
	mov	x21, x0
	mov	x0, x1
	mov	w1, #8
	bl	_LD_SH2
	bl	_UNPCK_SH_SW
	bl	_UNPCK_SH_SW
	bl	_VP8_IDCT_1D_W
	bl	_TRANSPOSE4x4_SW_SW
	bl	_VP8_IDCT_1D_W
	mov	w4, #3
	bl	_SRARI_W4_SW
	bl	_TRANSPOSE4x4_SW_SW
	sub	x2, x29, #96
	sub	x3, x29, #160
	sub	x4, x29, #224
	add	x5, sp, #272
	mov	x0, x21
	mov	x1, x20
	bl	_LD_SB4
	movi.2d	v0, #0000000000000000
	stp	q0, q0, [x29, #-64]
	stp	q0, q0, [x29, #-96]
	stp	q0, q0, [x29, #-192]
	stp	q0, q0, [x29, #-224]
	stp	q0, q0, [sp, #240]
	stp	q0, q0, [sp, #208]
	stp	q0, q0, [sp, #112]
	stp	q0, q0, [sp, #80]
	sub	x0, x29, #96
	sub	x1, x29, #160
	sub	x2, x29, #224
	add	x3, sp, #272
	add	x4, sp, #208
	add	x5, sp, #144
	add	x6, sp, #80
	add	x7, sp, #16
	bl	_ILVR_B4_SW
	movi.2d	v0, #0000000000000000
	stp	q0, q0, [x29, #-64]
	stp	q0, q0, [x29, #-96]
	stp	q0, q0, [x29, #-128]
	stp	q0, q0, [x29, #-160]
	stp	q0, q0, [x29, #-192]
	stp	q0, q0, [x29, #-224]
	stp	q0, q0, [sp, #304]
	stp	q0, q0, [sp, #272]
	sub	x0, x29, #96
	sub	x2, x29, #160
	sub	x4, x29, #224
	add	x6, sp, #272
	bl	_ILVR_H4_SW
	bl	_ADD4
	bl	_CLIP_SW4_0_255
Lloh0:
	adrp	x8, l___const.ff_vp8_idct_add_msa.mask@PAGE
Lloh1:
	add	x8, x8, l___const.ff_vp8_idct_add_msa.mask@PAGEOFF
	ldp	q0, q1, [x8]
	stp	q0, q1, [x29, #-96]
	ldp	q2, q3, [x8, #32]
	stp	q2, q3, [x29, #-64]
	stp	q0, q1, [x29, #-160]
	stp	q2, q3, [x29, #-128]
	sub	x4, x29, #96
	sub	x5, x29, #160
	sub	x6, x29, #224
	add	x7, sp, #272
	bl	_VSHF_B2_SB
	sub	x0, x29, #96
	mov	w1, #0
	mov	w2, #1
	mov	x3, x21
	mov	x4, x20
	bl	_ST_W2
	lsl	w8, w20, #1
	add	x3, x21, w8, sxtw #2
	sub	x0, x29, #96
	mov	w1, #0
	mov	w2, #1
	mov	x4, x20
	bl	_ST_W2
	mov	x0, x19
	mov	w1, #0
	mov	w2, #64
	bl	_memset
	add	sp, sp, #528
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	ret
	.loh AdrpAdd	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__const
	.p2align	2                               ; @__const.ff_vp8_idct_add_msa.mask
l___const.ff_vp8_idct_add_msa.mask:
	.long	0                               ; 0x0
	.long	4                               ; 0x4
	.long	8                               ; 0x8
	.long	12                              ; 0xc
	.long	16                              ; 0x10
	.long	20                              ; 0x14
	.long	24                              ; 0x18
	.long	28                              ; 0x1c
	.long	0                               ; 0x0
	.long	0                               ; 0x0
	.long	0                               ; 0x0
	.long	0                               ; 0x0
	.long	0                               ; 0x0
	.long	0                               ; 0x0
	.long	0                               ; 0x0
	.long	0                               ; 0x0

.subsections_via_symbols
