	.file	"extr_qpeldsp_msa.c_vert_mc_qpel_avg_dst_aver_src0_8x8_msa.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	vert_mc_qpel_avg_dst_aver_src0_8x8_msa, @function
vert_mc_qpel_avg_dst_aver_src0_8x8_msa:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	mov	r15d, esi
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	xor	r13d, r13d
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	xor	r12d, r12d
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	xor	ebp, ebp
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	rbx, rdi
	mov	edi, 20
	sub	rsp, 88
	.cfi_def_cfa_offset 144
	mov	QWORD PTR 56[rsp], rdx
	mov	DWORD PTR 36[rsp], ecx
	call	__msa_ldi_b@PLT
	mov	edi, 6
	mov	QWORD PTR 8[rsp], rax
	call	__msa_ldi_b@PLT
	mov	edi, 3
	mov	QWORD PTR 16[rsp], rax
	call	__msa_ldi_b@PLT
	xor	r9d, r9d
	mov	r8, r12
	mov	rcx, r13
	mov	rdx, rbp
	mov	esi, r15d
	mov	rdi, rbx
	mov	QWORD PTR 24[rsp], rax
	call	LD_UB4@PLT
	lea	eax, 0[0+r15*4]
	xor	ecx, ecx
	mov	esi, r15d
	cdqe
	lea	r14, [rbx+rax*4]
	xor	ebx, ebx
	mov	rdx, rbx
	mov	rdi, r14
	call	LD_UB2@PLT
	lea	r11d, [r15+r15]
	sub	rsp, 8
	.cfi_def_cfa_offset 152
	mov	r9, r12
	movsx	r11, r11d
	mov	r8, r13
	mov	rcx, r12
	mov	rdx, r13
	lea	rsi, 0[0+r11*4]
	mov	rdi, rbp
	add	r14, rsi
	mov	QWORD PTR 48[rsp], rsi
	mov	rsi, rbp
	mov	QWORD PTR 56[rsp], r14
	push	QWORD PTR 32[rsp]
	.cfi_def_cfa_offset 160
	push	QWORD PTR 32[rsp]
	.cfi_def_cfa_offset 168
	push	QWORD PTR 32[rsp]
	.cfi_def_cfa_offset 176
	push	0
	.cfi_def_cfa_offset 184
	push	rbx
	.cfi_def_cfa_offset 192
	push	0
	.cfi_def_cfa_offset 200
	push	r12
	.cfi_def_cfa_offset 208
	push	r13
	.cfi_def_cfa_offset 216
	push	rbp
	.cfi_def_cfa_offset 224
	push	rbp
	.cfi_def_cfa_offset 232
	push	r13
	.cfi_def_cfa_offset 240
	push	rbx
	.cfi_def_cfa_offset 248
	push	0
	.cfi_def_cfa_offset 256
	call	APPLY_VERT_QPEL_FILTER_8BYTE@PLT
	add	rsp, 112
	.cfi_def_cfa_offset 144
	mov	esi, r15d
	xor	r10d, r10d
	mov	r15, QWORD PTR 48[rsp]
	xor	r11d, r11d
	mov	rcx, r10
	mov	r14, rax
	mov	rdx, r11
	mov	rdi, r15
	call	LD_UB2@PLT
	mov	rax, QWORD PTR 40[rsp]
	xor	r11d, r11d
	xor	r10d, r10d
	mov	r9, rbx
	xor	r8d, r8d
	mov	rcx, rbp
	mov	rdx, rbp
	add	rax, r15
	mov	rsi, r13
	mov	rdi, r12
	mov	QWORD PTR 64[rsp], rax
	sub	rsp, 8
	.cfi_def_cfa_offset 152
	push	QWORD PTR 32[rsp]
	.cfi_def_cfa_offset 160
	push	QWORD PTR 32[rsp]
	.cfi_def_cfa_offset 168
	push	QWORD PTR 32[rsp]
	.cfi_def_cfa_offset 176
	push	r10
	.cfi_def_cfa_offset 184
	push	r11
	.cfi_def_cfa_offset 192
	push	0
	.cfi_def_cfa_offset 200
	push	rbx
	.cfi_def_cfa_offset 208
	push	rbp
	.cfi_def_cfa_offset 216
	push	r13
	.cfi_def_cfa_offset 224
	push	r12
	.cfi_def_cfa_offset 232
	push	0
	.cfi_def_cfa_offset 240
	push	r11
	.cfi_def_cfa_offset 248
	push	0
	.cfi_def_cfa_offset 256
	call	APPLY_VERT_QPEL_FILTER_8BYTE@PLT
	mov	esi, DWORD PTR 148[rsp]
	xor	ecx, ecx
	xor	edx, edx
	add	rsp, 112
	.cfi_def_cfa_offset 144
	mov	rdi, QWORD PTR 56[rsp]
	xor	r9d, r9d
	xor	r8d, r8d
	mov	r15, rax
	call	LD_UB4@PLT
	mov	edx, r13d
	mov	edi, ebp
	mov	esi, 1
	call	__msa_insve_d@PLT
	xor	edx, edx
	mov	edi, r12d
	mov	esi, 1
	mov	rbp, rax
	call	__msa_insve_d@PLT
	xor	edx, edx
	xor	edi, edi
	mov	esi, 1
	mov	QWORD PTR 72[rsp], rax
	call	__msa_insve_d@PLT
	xor	r8d, r8d
	xor	edx, edx
	mov	esi, 1
	mov	edi, r8d
	mov	QWORD PTR 40[rsp], rax
	call	__msa_insve_d@PLT
	mov	rcx, QWORD PTR 72[rsp]
	mov	r9, r15
	mov	r8, r14
	mov	rdx, r15
	mov	rsi, rbp
	mov	rdi, r14
	mov	QWORD PTR 48[rsp], rax
	call	AVER_UB2_UB@PLT
	mov	rdx, QWORD PTR 48[rsp]
	mov	r9, r15
	mov	r8, r14
	mov	rdi, QWORD PTR 40[rsp]
	mov	rcx, r15
	mov	rsi, r14
	call	AVER_UB2_UB@PLT
	mov	ebp, DWORD PTR 36[rsp]
	xor	r8d, r8d
	xor	edx, edx
	mov	rsi, r15
	mov	r9d, 1
	mov	rdi, r14
	mov	ecx, 1
	push	rbp
	.cfi_def_cfa_offset 152
	mov	r15d, ebp
	push	QWORD PTR 64[rsp]
	.cfi_def_cfa_offset 160
	call	ST_D4@PLT
	mov	rcx, QWORD PTR 72[rsp]
	mov	rdi, QWORD PTR 80[rsp]
	lea	eax, 0[0+rbp*4]
	cdqe
	lea	rbp, [rcx+rax*4]
	call	LD_UB@PLT
	xor	r10d, r10d
	xor	r11d, r11d
	xor	r8d, r8d
	mov	r14, rax
	pop	rax
	.cfi_def_cfa_offset 152
	push	QWORD PTR 32[rsp]
	.cfi_def_cfa_offset 160
	mov	r9, r11
	push	QWORD PTR 32[rsp]
	.cfi_def_cfa_offset 168
	mov	rcx, r13
	mov	rdx, r12
	xor	esi, esi
	push	QWORD PTR 32[rsp]
	.cfi_def_cfa_offset 176
	mov	rdi, rbx
	push	r14
	.cfi_def_cfa_offset 184
	push	r14
	.cfi_def_cfa_offset 192
	push	r10
	.cfi_def_cfa_offset 200
	push	r11
	.cfi_def_cfa_offset 208
	push	r12
	.cfi_def_cfa_offset 216
	push	0
	.cfi_def_cfa_offset 224
	push	rbx
	.cfi_def_cfa_offset 232
	push	0
	.cfi_def_cfa_offset 240
	push	r14
	.cfi_def_cfa_offset 248
	push	r10
	.cfi_def_cfa_offset 256
	call	APPLY_VERT_QPEL_FILTER_8BYTE@PLT
	add	rsp, 104
	.cfi_def_cfa_offset 152
	xor	r10d, r10d
	xor	r11d, r11d
	push	QWORD PTR 32[rsp]
	.cfi_def_cfa_offset 160
	mov	r8, r10
	mov	rdi, r11
	mov	r9, r14
	push	QWORD PTR 32[rsp]
	.cfi_def_cfa_offset 168
	xor	ecx, ecx
	mov	rdx, rbx
	xor	esi, esi
	push	QWORD PTR 32[rsp]
	.cfi_def_cfa_offset 176
	mov	r12, rax
	push	r11
	.cfi_def_cfa_offset 184
	push	r10
	.cfi_def_cfa_offset 192
	push	r14
	.cfi_def_cfa_offset 200
	push	r14
	.cfi_def_cfa_offset 208
	push	rbx
	.cfi_def_cfa_offset 216
	push	0
	.cfi_def_cfa_offset 224
	push	r11
	.cfi_def_cfa_offset 232
	push	r10
	.cfi_def_cfa_offset 240
	push	r10
	.cfi_def_cfa_offset 248
	push	r14
	.cfi_def_cfa_offset 256
	call	APPLY_VERT_QPEL_FILTER_8BYTE@PLT
	add	rsp, 112
	.cfi_def_cfa_offset 144
	mov	r8, QWORD PTR 48[rsp]
	xor	ecx, ecx
	mov	rdx, QWORD PTR 40[rsp]
	xor	r9d, r9d
	mov	esi, r15d
	mov	rdi, rbp
	mov	r13, rax
	mov	DWORD PTR 36[rsp], r15d
	call	LD_UB4@PLT
	xor	edx, edx
	mov	edi, ebx
	mov	esi, 1
	call	__msa_insve_d@PLT
	xor	r10d, r10d
	xor	r11d, r11d
	mov	esi, 1
	mov	edx, r10d
	mov	edi, r11d
	mov	r14, rax
	call	__msa_insve_d@PLT
	mov	edi, DWORD PTR 40[rsp]
	xor	edx, edx
	mov	esi, 1
	mov	QWORD PTR 8[rsp], rax
	call	__msa_insve_d@PLT
	mov	edi, DWORD PTR 48[rsp]
	xor	edx, edx
	mov	esi, 1
	mov	r15, rax
	call	__msa_insve_d@PLT
	mov	rcx, QWORD PTR 8[rsp]
	mov	r9, r13
	mov	r8, r12
	mov	rbx, rax
	mov	rdx, r13
	mov	rsi, r14
	mov	rdi, r12
	call	AVER_UB2_UB@PLT
	mov	r9, r13
	mov	r8, r12
	mov	rcx, r13
	mov	rdx, rbx
	mov	rsi, r12
	mov	rdi, r15
	call	AVER_UB2_UB@PLT
	mov	r15d, DWORD PTR 36[rsp]
	mov	rsi, r13
	mov	rdi, r12
	mov	r9d, 1
	xor	r8d, r8d
	mov	ecx, 1
	xor	edx, edx
	push	r15
	.cfi_def_cfa_offset 152
	push	rbp
	.cfi_def_cfa_offset 160
	call	ST_D4@PLT
	add	rsp, 104
	.cfi_def_cfa_offset 56
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE0:
	.size	vert_mc_qpel_avg_dst_aver_src0_8x8_msa, .-vert_mc_qpel_avg_dst_aver_src0_8x8_msa
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_qpeldsp_msa.c_vert_mc_qpel_avg_dst_aver_src0_8x8_msa.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vert_mc_qpel_avg_dst_aver_src0_8x8_msa, %function
vert_mc_qpel_avg_dst_aver_src0_8x8_msa:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r7, r0
	sub	sp, sp, #116
	mov	r0, #20
	mov	r4, r1
	str	r2, [sp, #96]
	str	r3, [sp, #72]
	bl	__msa_ldi_b
	mov	r3, r0
	mov	r0, #6
	str	r3, [sp, #76]
	bl	__msa_ldi_b
	mov	r5, #0
	mov	r3, r0
	mov	r0, #3
	mov	fp, r5
	str	r3, [sp, #80]
	bl	__msa_ldi_b
	stm	sp, {r5, fp}
	mov	r1, r4
	mov	r3, r5
	mov	r2, r5
	str	r0, [sp, #84]
	mov	r0, r7
	add	r7, r7, r4, lsl #4
	bl	LD_UB4
	mov	r1, r4
	mov	r3, r5
	mov	r2, r5
	mov	r0, r7
	bl	LD_UB2
	ldr	r0, [sp, #84]
	ldr	ip, [sp, #80]
	ldr	r1, [sp, #76]
	stmib	sp, {r5, fp}
	mov	r3, r5
	mov	r2, r5
	str	r0, [sp, #56]
	str	ip, [sp, #52]
	str	r1, [sp, #48]
	str	r5, [sp, #44]
	mov	r1, r5
	str	r5, [sp, #40]
	str	r5, [sp, #36]
	str	r5, [sp, #32]
	str	r5, [sp, #28]
	str	r5, [sp, #24]
	str	r5, [sp, #20]
	str	r5, [sp, #16]
	str	r5, [sp, #12]
	str	r5, [sp]
	mov	r0, r5
	bl	APPLY_VERT_QPEL_FILTER_8BYTE
	mov	ip, r0
	add	r7, r7, r4, lsl #3
	mov	r1, r4
	mov	r3, r5
	mov	r2, r5
	mov	r0, r7
	mov	r9, r5
	mov	r8, r5
	str	r7, [sp, #100]
	str	ip, [sp, #64]
	bl	LD_UB2
	mov	r1, r5
	ldr	ip, [sp, #80]
	ldr	r3, [sp, #76]
	ldr	r7, [sp, #84]
	stm	sp, {r1, r8, r9, fp}
	mov	r2, r5
	str	ip, [sp, #52]
	str	r3, [sp, #48]
	str	r5, [sp, #44]
	mov	r3, r5
	str	r5, [sp, #40]
	str	r5, [sp, #36]
	str	r5, [sp, #32]
	str	r5, [sp, #28]
	str	r5, [sp, #24]
	str	r5, [sp, #20]
	str	r5, [sp, #16]
	mov	r0, r5
	str	r7, [sp, #56]
	bl	APPLY_VERT_QPEL_FILTER_8BYTE
	mov	ip, r0
	mov	r3, r5
	mov	r2, r5
	ldr	r1, [sp, #72]
	str	r5, [sp, #4]
	str	r5, [sp]
	ldr	r0, [sp, #96]
	str	ip, [sp, #68]
	bl	LD_UB4
	mov	r2, r5
	mov	r0, r5
	mov	r1, #1
	bl	__msa_insve_d
	mov	r3, r0
	mov	r2, r5
	mov	r0, r5
	mov	r1, #1
	str	r3, [sp, #104]
	bl	__msa_insve_d
	mov	r3, r0
	mov	r2, r5
	mov	r0, r5
	mov	r1, #1
	str	r3, [sp, #108]
	bl	__msa_insve_d
	mov	ip, r0
	mov	r2, r5
	mov	r0, r5
	mov	r1, #1
	str	ip, [sp, #88]
	bl	__msa_insve_d
	mov	r7, #1
	ldr	lr, [sp, #64]
	ldr	r2, [sp, #68]
	str	r0, [sp, #92]
	ldr	r0, [sp, #100]
	lsl	r4, r4, #3
	ldr	r3, [sp, #108]
	ldr	r1, [sp, #104]
	str	r2, [sp, #4]
	str	lr, [sp]
	add	r4, r0, r4
	mov	r0, lr
	bl	AVER_UB2_UB
	ldr	r2, [sp, #68]
	ldr	lr, [sp, #64]
	mov	r3, r2
	mov	r1, lr
	str	r2, [sp, #4]
	str	lr, [sp]
	ldr	r2, [sp, #92]
	ldr	r0, [sp, #88]
	bl	AVER_UB2_UB
	ldr	ip, [sp, #72]
	ldr	lr, [sp, #96]
	mov	r3, r7
	mov	r2, r5
	ldr	r1, [sp, #68]
	str	ip, [sp, #12]
	str	lr, [sp, #8]
	str	r5, [sp]
	ldr	r0, [sp, #64]
	str	r7, [sp, #4]
	bl	ST_D4
	mov	r0, r4
	bl	LD_UB
	ldr	ip, [sp, #80]
	ldr	r1, [sp, #76]
	ldr	lr, [sp, #84]
	mov	r4, r0
	stm	sp, {r9, fp}
	mov	r3, r5
	mov	r2, r5
	str	ip, [sp, #52]
	str	r1, [sp, #48]
	str	r0, [sp, #44]
	mov	r1, r5
	str	r0, [sp, #40]
	str	r0, [sp, #12]
	str	r5, [sp, #36]
	str	r5, [sp, #32]
	str	r5, [sp, #28]
	str	r5, [sp, #24]
	str	r5, [sp, #20]
	str	r5, [sp, #16]
	str	r5, [sp, #8]
	mov	r0, r5
	str	lr, [sp, #56]
	bl	APPLY_VERT_QPEL_FILTER_8BYTE
	mov	ip, r0
	ldr	lr, [sp, #84]
	mov	r3, r5
	str	lr, [sp, #56]
	ldr	lr, [sp, #80]
	mov	r2, r5
	str	lr, [sp, #52]
	ldr	lr, [sp, #76]
	mov	r1, r5
	str	lr, [sp, #48]
	str	r4, [sp, #36]
	str	r4, [sp, #32]
	str	r4, [sp, #8]
	str	r4, [sp, #4]
	str	r5, [sp, #44]
	str	r5, [sp, #40]
	str	r5, [sp, #28]
	str	r5, [sp, #24]
	str	r5, [sp, #20]
	str	r5, [sp, #16]
	str	r5, [sp, #12]
	str	r5, [sp]
	mov	r0, r5
	mov	r4, ip
	mov	r10, r5
	bl	APPLY_VERT_QPEL_FILTER_8BYTE
	ldr	lr, [sp, #96]
	ldr	r1, [sp, #72]
	ldr	r2, [sp, #92]
	add	r6, lr, r1, lsl #4
	mov	r5, r0
	mov	r3, r10
	str	r2, [sp]
	mov	r0, r6
	ldr	r2, [sp, #88]
	str	r10, [sp, #4]
	bl	LD_UB4
	mov	r2, r10
	mov	r1, r7
	mov	r0, r10
	bl	__msa_insve_d
	mov	r2, r10
	mov	r8, r0
	mov	r1, r7
	mov	r0, r10
	bl	__msa_insve_d
	mov	r3, r0
	mov	r2, r10
	mov	r1, r7
	ldr	r0, [sp, #88]
	str	r3, [sp, #64]
	bl	__msa_insve_d
	mov	r2, r10
	mov	r9, r0
	mov	r1, r7
	ldr	r0, [sp, #92]
	bl	__msa_insve_d
	mov	fp, r0
	mov	r1, r8
	mov	r2, r5
	ldr	r3, [sp, #64]
	mov	r0, r4
	stm	sp, {r4, r5}
	bl	AVER_UB2_UB
	mov	r2, fp
	mov	r3, r5
	mov	r1, r4
	mov	r0, r9
	stm	sp, {r4, r5}
	bl	AVER_UB2_UB
	ldr	r1, [sp, #72]
	mov	r0, r4
	str	r1, [sp, #12]
	mov	r3, r7
	mov	r1, r5
	mov	r2, r10
	str	r6, [sp, #8]
	str	r7, [sp, #4]
	str	r10, [sp]
	bl	ST_D4
	add	sp, sp, #116
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
	.size	vert_mc_qpel_avg_dst_aver_src0_8x8_msa, .-vert_mc_qpel_avg_dst_aver_src0_8x8_msa
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
