	.file	"extr_h264qpel_msa.c_ff_put_h264_qpel16_mc10_msa.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	ff_put_h264_qpel16_mc10_msa
	.type	ff_put_h264_qpel16_mc10_msa, @function
ff_put_h264_qpel16_mc10_msa:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	mov	r15d, edx
	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, rsi
	sub	rsp, 136
	.cfi_def_cfa_offset 192
	mov	QWORD PTR 104[rsp], rdi
	mov	edi, -5
	mov	DWORD PTR 124[rsp], edx
	call	__msa_ldi_b@PLT
	mov	edi, 20
	mov	QWORD PTR 24[rsp], rax
	call	__msa_ldi_b@PLT
	mov	rdx, r13
	mov	r8, rbp
	mov	rcx, r12
	mov	rdi, QWORD PTR luma_mask_arr[rip]
	mov	esi, 16
	mov	QWORD PTR 32[rsp], rax
	call	LD_SB3@PLT
	lea	rax, 8[r13]
	movsx	rdx, r15d
	mov	DWORD PTR 120[rsp], 4
	mov	QWORD PTR 8[rsp], rax
	mov	QWORD PTR 40[rsp], rax
	mov	QWORD PTR 48[rsp], rax
	lea	rax, -8[rbx]
	mov	QWORD PTR 96[rsp], rax
	lea	rax, 0[0+rdx*4]
	mov	QWORD PTR 112[rsp], rax
	lea	eax, 0[0+r15*4]
	cdqe
	sal	rax, 2
	mov	QWORD PTR 88[rsp], rax
	lea	rax, -8[rbx+rdx*8]
	mov	QWORD PTR 16[rsp], rax
.L2:
	mov	r14, QWORD PTR 96[rsp]
	xor	r10d, r10d
	xor	r11d, r11d
	mov	esi, 16
	mov	rcx, r10
	mov	rdx, r11
	xor	r15d, r15d
	xor	r12d, r12d
	mov	rdi, r14
	xor	r13d, r13d
	call	LD_SB2@PLT
	mov	rbx, QWORD PTR 112[rsp]
	xor	ecx, ecx
	mov	rdx, r15
	mov	esi, 16
	mov	rax, rbx
	add	rax, r14
	mov	rdi, rax
	call	LD_SB2@PLT
	mov	rbp, QWORD PTR 16[rsp]
	xor	ecx, ecx
	mov	rdx, r12
	mov	esi, 16
	mov	rdi, rbp
	add	rbx, rbp
	call	LD_SB2@PLT
	mov	QWORD PTR 16[rsp], rbp
	xor	ebp, ebp
	mov	rdi, rbx
	xor	ecx, ecx
	mov	rdx, rbp
	mov	esi, 16
	call	LD_SB2@PLT
	mov	rbx, QWORD PTR 88[rsp]
	xor	r10d, r10d
	xor	r11d, r11d
	xor	r9d, r9d
	mov	r8, r12
	xor	ecx, ecx
	mov	rdx, r15
	add	r14, rbx
	mov	rsi, r10
	mov	rdi, r11
	mov	QWORD PTR 96[rsp], r14
	xor	r14d, r14d
	push	0
	.cfi_def_cfa_offset 200
	push	rbp
	.cfi_def_cfa_offset 208
	call	XORI_B8_128_SB@PLT
	push	0
	.cfi_def_cfa_offset 216
	xor	r11d, r11d
	xor	r10d, r10d
	push	0
	.cfi_def_cfa_offset 224
	mov	rbx, QWORD PTR 40[rsp]
	mov	rcx, r10
	mov	rdx, r11
	mov	rsi, r11
	mov	rdi, r11
	mov	r8, r14
	mov	r9, rbx
	call	VSHF_B2_SB@PLT
	add	rsp, 32
	.cfi_def_cfa_offset 192
	mov	r9, rbx
	mov	r8, r14
	push	0
	.cfi_def_cfa_offset 200
	xor	ecx, ecx
	mov	rdx, r15
	mov	rsi, r15
	push	0
	.cfi_def_cfa_offset 208
	mov	rdi, r15
	mov	QWORD PTR 24[rsp], rbx
	call	VSHF_B2_SB@PLT
	push	0
	.cfi_def_cfa_offset 216
	xor	r11d, r11d
	xor	r10d, r10d
	push	0
	.cfi_def_cfa_offset 224
	mov	rbx, QWORD PTR 72[rsp]
	mov	rcx, r10
	mov	rdx, r11
	mov	rsi, r11
	mov	rdi, r11
	mov	r8, r13
	mov	r9, rbx
	call	VSHF_B2_SB@PLT
	add	rsp, 32
	.cfi_def_cfa_offset 192
	mov	r9, rbx
	xor	ecx, ecx
	push	0
	.cfi_def_cfa_offset 200
	mov	r8, r13
	mov	rdx, r15
	mov	rsi, r15
	push	0
	.cfi_def_cfa_offset 208
	mov	rdi, r15
	mov	QWORD PTR 56[rsp], rbx
	xor	ebx, ebx
	call	VSHF_B2_SB@PLT
	push	0
	.cfi_def_cfa_offset 216
	xor	r11d, r11d
	xor	r10d, r10d
	push	0
	.cfi_def_cfa_offset 224
	mov	r9, QWORD PTR 80[rsp]
	mov	rcx, r10
	mov	rdx, r11
	mov	rsi, r11
	mov	rdi, r11
	mov	r8, rbx
	call	VSHF_B2_SB@PLT
	add	rsp, 32
	.cfi_def_cfa_offset 192
	mov	r8, rbx
	xor	ecx, ecx
	push	0
	.cfi_def_cfa_offset 200
	mov	rdx, r15
	mov	rsi, r15
	mov	rdi, r15
	push	0
	.cfi_def_cfa_offset 208
	mov	r9, QWORD PTR 64[rsp]
	call	VSHF_B2_SB@PLT
	push	0
	.cfi_def_cfa_offset 216
	xor	r9d, r9d
	xor	r8d, r8d
	push	0
	.cfi_def_cfa_offset 224
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	xor	edi, edi
	call	HADD_SB4_SH@PLT
	add	rsp, 32
	.cfi_def_cfa_offset 192
	xor	ecx, ecx
	xor	edx, edx
	push	0
	.cfi_def_cfa_offset 200
	xor	esi, esi
	xor	edi, edi
	push	0
	.cfi_def_cfa_offset 208
	push	0
	.cfi_def_cfa_offset 216
	push	0
	.cfi_def_cfa_offset 224
	mov	rax, QWORD PTR 56[rsp]
	push	rax
	.cfi_def_cfa_offset 232
	mov	r9, rax
	mov	r8, rax
	push	rax
	.cfi_def_cfa_offset 240
	mov	QWORD PTR 72[rsp], rax
	call	DPADD_SB4_SH@PLT
	add	rsp, 48
	.cfi_def_cfa_offset 192
	xor	ecx, ecx
	xor	edx, edx
	push	0
	.cfi_def_cfa_offset 200
	xor	esi, esi
	xor	edi, edi
	push	0
	.cfi_def_cfa_offset 208
	push	0
	.cfi_def_cfa_offset 216
	push	0
	.cfi_def_cfa_offset 224
	mov	rax, QWORD PTR 64[rsp]
	push	rax
	.cfi_def_cfa_offset 232
	mov	r9, rax
	mov	r8, rax
	push	rax
	.cfi_def_cfa_offset 240
	mov	QWORD PTR 80[rsp], rax
	call	DPADD_SB4_SH@PLT
	add	rsp, 48
	.cfi_def_cfa_offset 192
	mov	r8, r14
	xor	ecx, ecx
	push	0
	.cfi_def_cfa_offset 200
	mov	rdx, r12
	mov	rsi, r12
	mov	rdi, r12
	push	0
	.cfi_def_cfa_offset 208
	mov	r9, QWORD PTR 24[rsp]
	call	VSHF_B2_SB@PLT
	push	0
	.cfi_def_cfa_offset 216
	mov	r8, r14
	mov	rdx, rbp
	push	0
	.cfi_def_cfa_offset 224
	mov	r9, QWORD PTR 40[rsp]
	mov	rsi, rbp
	mov	rdi, rbp
	xor	ecx, ecx
	call	VSHF_B2_SB@PLT
	add	rsp, 32
	.cfi_def_cfa_offset 192
	mov	r8, r13
	xor	ecx, ecx
	push	0
	.cfi_def_cfa_offset 200
	mov	rdx, r12
	mov	rsi, r12
	mov	rdi, r12
	push	0
	.cfi_def_cfa_offset 208
	mov	r14, QWORD PTR 56[rsp]
	mov	r9, r14
	call	VSHF_B2_SB@PLT
	push	0
	.cfi_def_cfa_offset 216
	mov	r9, r14
	mov	r8, r13
	push	0
	.cfi_def_cfa_offset 224
	xor	ecx, ecx
	mov	rdx, rbp
	mov	rsi, rbp
	mov	rdi, rbp
	call	VSHF_B2_SB@PLT
	add	rsp, 32
	.cfi_def_cfa_offset 192
	mov	r8, rbx
	xor	ecx, ecx
	push	0
	.cfi_def_cfa_offset 200
	mov	rdx, r12
	mov	rsi, r12
	mov	rdi, r12
	push	0
	.cfi_def_cfa_offset 208
	mov	r14, QWORD PTR 64[rsp]
	mov	r9, r14
	call	VSHF_B2_SB@PLT
	push	0
	.cfi_def_cfa_offset 216
	mov	r9, r14
	mov	r8, rbx
	push	0
	.cfi_def_cfa_offset 224
	xor	ecx, ecx
	mov	rdx, rbp
	mov	rsi, rbp
	mov	rdi, rbp
	xor	r14d, r14d
	call	VSHF_B2_SB@PLT
	add	rsp, 32
	.cfi_def_cfa_offset 192
	mov	r9d, r13d
	mov	r8d, r14d
	push	0
	.cfi_def_cfa_offset 200
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	push	rbx
	.cfi_def_cfa_offset 208
	xor	edi, edi
	call	HADD_SB4_SH@PLT
	push	0
	.cfi_def_cfa_offset 216
	xor	ecx, ecx
	xor	edx, edx
	push	rbx
	.cfi_def_cfa_offset 224
	xor	esi, esi
	xor	edi, edi
	push	r13
	.cfi_def_cfa_offset 232
	push	r14
	.cfi_def_cfa_offset 240
	mov	rax, QWORD PTR 72[rsp]
	push	rax
	.cfi_def_cfa_offset 248
	mov	r9, rax
	mov	r8, rax
	push	rax
	.cfi_def_cfa_offset 256
	call	DPADD_SB4_SH@PLT
	add	rsp, 64
	.cfi_def_cfa_offset 192
	xor	ecx, ecx
	xor	esi, esi
	push	0
	.cfi_def_cfa_offset 200
	xor	edi, edi
	xor	edx, edx
	push	rbx
	.cfi_def_cfa_offset 208
	push	r13
	.cfi_def_cfa_offset 216
	push	r14
	.cfi_def_cfa_offset 224
	mov	r9, QWORD PTR 64[rsp]
	push	r9
	.cfi_def_cfa_offset 232
	mov	r8, r9
	push	r9
	.cfi_def_cfa_offset 240
	call	DPADD_SB4_SH@PLT
	add	rsp, 40
	.cfi_def_cfa_offset 200
	xor	r11d, r11d
	xor	r8d, r8d
	push	rbp
	.cfi_def_cfa_offset 208
	xor	edx, edx
	xor	r10d, r10d
	mov	rsi, r11
	push	r12
	.cfi_def_cfa_offset 216
	mov	rdi, r10
	mov	r9, r12
	mov	rcx, r15
	push	r15
	.cfi_def_cfa_offset 224
	push	r11
	.cfi_def_cfa_offset 232
	push	2
	.cfi_def_cfa_offset 240
	push	rbp
	.cfi_def_cfa_offset 248
	push	0
	.cfi_def_cfa_offset 256
	call	SLDI_B4_SB@PLT
	add	rsp, 64
	.cfi_def_cfa_offset 192
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	xor	edi, edi
	mov	r8d, 5
	call	SRARI_H4_SH@PLT
	xor	ecx, ecx
	mov	edx, ebx
	mov	esi, r13d
	mov	edi, r14d
	mov	r8d, 5
	call	SRARI_H4_SH@PLT
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	xor	edi, edi
	mov	r8d, 7
	call	SAT_SH4_SH@PLT
	xor	ecx, ecx
	mov	edx, ebx
	mov	esi, r13d
	mov	edi, r14d
	mov	r8d, 7
	call	SAT_SH4_SH@PLT
	mov	r9, QWORD PTR 64[rsp]
	xor	ecx, ecx
	xor	edx, edx
	mov	r8, QWORD PTR 56[rsp]
	xor	esi, esi
	xor	edi, edi
	call	PCKEV_B2_SB@PLT
	mov	r9, QWORD PTR 80[rsp]
	mov	ecx, ebx
	xor	edx, edx
	mov	r8, QWORD PTR 72[rsp]
	mov	esi, r14d
	mov	edi, r13d
	call	PCKEV_B2_SB@PLT
	xor	r11d, r11d
	mov	rdi, QWORD PTR 56[rsp]
	mov	rsi, r11
	call	__msa_aver_s_b@PLT
	mov	rdi, QWORD PTR 64[rsp]
	mov	rsi, r15
	mov	r14, rax
	mov	QWORD PTR 56[rsp], rax
	call	__msa_aver_s_b@PLT
	mov	rdi, QWORD PTR 72[rsp]
	mov	rsi, r12
	mov	r13, rax
	mov	QWORD PTR 64[rsp], rax
	call	__msa_aver_s_b@PLT
	mov	rdi, QWORD PTR 80[rsp]
	mov	rsi, rbp
	mov	r12, rax
	mov	QWORD PTR 72[rsp], rax
	call	__msa_aver_s_b@PLT
	mov	rdx, r12
	mov	rsi, r13
	mov	rdi, r14
	mov	rcx, rax
	mov	rbp, rax
	mov	QWORD PTR 80[rsp], rax
	call	XORI_B4_128_SB@PLT
	mov	r15, QWORD PTR 104[rsp]
	mov	rcx, rbp
	mov	rdx, r12
	mov	r9d, DWORD PTR 124[rsp]
	mov	rsi, r13
	mov	rdi, r14
	mov	r8, r15
	call	ST_SB4@PLT
	mov	rbx, QWORD PTR 88[rsp]
	mov	rcx, r15
	add	rcx, rbx
	add	QWORD PTR 16[rsp], rbx
	sub	DWORD PTR 120[rsp], 1
	mov	QWORD PTR 104[rsp], rcx
	jne	.L2
	add	rsp, 136
	.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	ff_put_h264_qpel16_mc10_msa, .-ff_put_h264_qpel16_mc10_msa
	.comm	luma_mask_arr,8,8
	.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_h264qpel_msa.c_ff_put_h264_qpel16_mc10_msa.c"
	.text
	.align	2
	.global	ff_put_h264_qpel16_mc10_msa
	.syntax unified
	.arm
	.fpu softvfp
	.type	ff_put_h264_qpel16_mc10_msa, %function
ff_put_h264_qpel16_mc10_msa:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 0, uses_anonymous_args = 0
	mov	r3, r0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mvn	r0, #4
	sub	sp, sp, #108
	mov	r4, r1
	mov	r8, r2
	str	r2, [sp, #100]
	str	r3, [sp, #76]
	bl	__msa_ldi_b
	mov	r3, r0
	mov	r0, #20
	str	r3, [sp, #60]
	bl	__msa_ldi_b
	mov	r5, #0
	mov	r3, #4
	mov	ip, r0
	ldr	r1, .L6
	str	r5, [sp]
	mov	r2, r5
	ldr	r0, [r1]
	str	r3, [sp, #72]
	lsl	r9, r8, #2
	mov	r3, r5
	mov	r1, #16
	str	r9, [sp, #68]
	str	ip, [sp, #64]
	bl	LD_SB3
	sub	r3, r9, #-2147483644
	add	r3, r4, r3, lsl #1
	str	r3, [sp, #40]
	sub	r3, r4, #8
	add	r2, r5, #8
	str	r3, [sp, #56]
	lsl	r3, r8, #4
	str	r2, [sp, #52]
	str	r2, [sp, #48]
	str	r2, [sp, #44]
	str	r3, [sp, #96]
.L2:
	mov	r8, #0
	mov	r5, r8
	mov	r10, r8
	mov	r3, r8
	mov	r2, r8
	mov	r1, #16
	ldr	r0, [sp, #56]
	bl	LD_SB2
	ldr	ip, [sp, #68]
	ldr	r0, [sp, #56]
	mov	r3, r8
	mov	r2, r8
	add	r0, r0, ip
	mov	r1, #16
	bl	LD_SB2
	mov	r3, r8
	mov	r2, r8
	mov	r1, #16
	ldr	r0, [sp, #40]
	bl	LD_SB2
	ldr	ip, [sp, #40]
	ldr	lr, [sp, #68]
	mov	r3, r8
	add	r0, lr, ip
	mov	r2, r8
	mov	r1, #16
	bl	LD_SB2
	mov	r3, r8
	mov	r2, r8
	mov	r1, r8
	stm	sp, {r5, r10}
	mov	r0, r8
	str	r8, [sp, #12]
	str	r8, [sp, #8]
	bl	XORI_B8_128_SB
	ldr	r0, [sp, #44]
	mov	r3, r8
	mov	r2, r8
	mov	r1, r8
	str	r0, [sp, #4]
	str	r8, [sp, #12]
	mov	r0, r8
	str	r8, [sp, #8]
	str	r8, [sp]
	bl	VSHF_B2_SB
	ldr	r0, [sp, #44]
	mov	r3, r8
	mov	r2, r8
	mov	r1, r8
	str	r8, [sp]
	str	r0, [sp, #4]
	str	r8, [sp, #12]
	mov	r0, r8
	str	r8, [sp, #8]
	bl	VSHF_B2_SB
	ldr	r3, [sp, #48]
	mov	r2, r8
	mov	r1, r8
	mov	r0, r8
	str	r3, [sp, #4]
	str	r8, [sp, #12]
	mov	r3, r8
	str	r8, [sp, #8]
	str	r8, [sp]
	bl	VSHF_B2_SB
	ldr	r3, [sp, #48]
	mov	r2, r8
	mov	r1, r8
	mov	r0, r8
	str	r8, [sp]
	str	r3, [sp, #4]
	str	r8, [sp, #12]
	mov	r3, r8
	str	r8, [sp, #8]
	bl	VSHF_B2_SB
	ldr	r2, [sp, #52]
	mov	r3, r8
	mov	r1, r8
	mov	r0, r8
	str	r2, [sp, #4]
	str	r8, [sp, #12]
	mov	r2, r8
	str	r8, [sp, #8]
	str	r8, [sp]
	bl	VSHF_B2_SB
	ldr	r2, [sp, #52]
	mov	r3, r8
	mov	r1, r8
	mov	r0, r8
	str	r8, [sp]
	str	r2, [sp, #4]
	str	r8, [sp, #12]
	mov	r2, r8
	str	r8, [sp, #8]
	bl	VSHF_B2_SB
	mov	r3, r8
	mov	r2, r8
	mov	r1, r8
	mov	r0, r8
	str	r8, [sp, #12]
	str	r8, [sp, #8]
	str	r8, [sp, #4]
	str	r8, [sp]
	bl	HADD_SB4_SH
	ldr	r3, [sp, #60]
	mov	r2, r8
	mov	r1, r8
	mov	r0, r8
	str	r8, [sp, #28]
	str	r8, [sp, #24]
	str	r8, [sp, #20]
	str	r8, [sp, #16]
	str	r3, [sp, #12]
	str	r3, [sp, #8]
	str	r3, [sp, #4]
	str	r3, [sp]
	mov	r3, r8
	bl	DPADD_SB4_SH
	ldr	r2, [sp, #64]
	mov	r3, r8
	mov	r1, r8
	mov	r0, r8
	str	r8, [sp, #28]
	str	r8, [sp, #24]
	str	r8, [sp, #20]
	str	r8, [sp, #16]
	str	r2, [sp, #12]
	str	r2, [sp, #8]
	str	r2, [sp, #4]
	str	r2, [sp]
	mov	r2, r8
	bl	DPADD_SB4_SH
	ldr	r0, [sp, #44]
	mov	r1, r8
	mov	r3, r8
	mov	r2, r8
	str	r8, [sp, #12]
	str	r8, [sp, #8]
	str	r8, [sp]
	str	r0, [sp, #4]
	mov	r0, r8
	bl	VSHF_B2_SB
	ldr	r0, [sp, #44]
	mov	r1, r8
	mov	r3, r8
	mov	r2, r8
	str	r8, [sp, #12]
	str	r8, [sp, #8]
	str	r8, [sp]
	str	r0, [sp, #4]
	mov	r0, r8
	bl	VSHF_B2_SB
	ldr	r0, [sp, #48]
	mov	r1, r8
	mov	r3, r8
	mov	r2, r8
	str	r8, [sp, #12]
	str	r8, [sp, #8]
	str	r8, [sp]
	str	r0, [sp, #4]
	mov	r0, r8
	bl	VSHF_B2_SB
	ldr	r0, [sp, #48]
	mov	r1, r8
	mov	r3, r8
	mov	r2, r8
	str	r8, [sp, #12]
	str	r8, [sp, #8]
	str	r8, [sp]
	str	r0, [sp, #4]
	mov	r0, r8
	bl	VSHF_B2_SB
	ldr	r0, [sp, #52]
	mov	r1, r8
	mov	r3, r8
	mov	r2, r8
	str	r8, [sp, #12]
	str	r8, [sp, #8]
	str	r8, [sp]
	str	r0, [sp, #4]
	mov	r0, r8
	bl	VSHF_B2_SB
	ldr	r0, [sp, #52]
	mov	r1, r8
	mov	r3, r8
	mov	r2, r8
	str	r8, [sp, #12]
	str	r8, [sp, #8]
	str	r8, [sp]
	str	r0, [sp, #4]
	mov	r0, r8
	bl	VSHF_B2_SB
	mov	r3, r8
	mov	r2, r8
	mov	r1, r8
	mov	r0, r8
	str	r8, [sp, #12]
	str	r8, [sp, #8]
	str	r8, [sp, #4]
	str	r8, [sp]
	bl	HADD_SB4_SH
	ldr	lr, [sp, #60]
	mov	r3, r8
	str	lr, [sp, #12]
	str	lr, [sp, #8]
	str	lr, [sp, #4]
	str	lr, [sp]
	mov	r2, r8
	mov	r1, r8
	mov	r0, r8
	str	r8, [sp, #28]
	str	r8, [sp, #24]
	str	r8, [sp, #20]
	str	r8, [sp, #16]
	bl	DPADD_SB4_SH
	ldr	ip, [sp, #64]
	mov	r3, r8
	str	ip, [sp, #12]
	str	ip, [sp, #8]
	str	ip, [sp, #4]
	str	ip, [sp]
	mov	r2, r8
	mov	r1, r8
	mov	r0, r8
	str	r8, [sp, #28]
	str	r8, [sp, #24]
	str	r8, [sp, #20]
	str	r8, [sp, #16]
	bl	DPADD_SB4_SH
	mov	fp, r8
	mov	r1, #2
	mov	r2, r8
	mov	r3, r8
	stmib	sp, {r5, fp}
	mov	r0, r8
	str	r8, [sp, #32]
	str	r8, [sp, #28]
	str	r8, [sp, #24]
	str	r8, [sp, #20]
	str	r8, [sp, #12]
	str	r8, [sp]
	str	r1, [sp, #16]
	mov	r1, r8
	bl	SLDI_B4_SB
	mov	r2, #5
	mov	r7, r8
	mov	r8, r2
	mov	r3, r7
	mov	r1, r7
	mov	r0, r7
	str	r2, [sp]
	mov	r2, r7
	bl	SRARI_H4_SH
	mov	r3, r7
	mov	r2, r7
	mov	r1, r7
	mov	r0, r7
	str	r8, [sp]
	bl	SRARI_H4_SH
	mov	lr, #7
	mov	r8, lr
	str	lr, [sp]
	mov	r3, r7
	mov	r2, r7
	mov	r1, r7
	mov	r0, r7
	bl	SAT_SH4_SH
	mov	r3, r7
	mov	r2, r7
	mov	r1, r7
	mov	r0, r7
	str	r8, [sp]
	bl	SAT_SH4_SH
	ldr	r8, [sp, #84]
	ldr	r9, [sp, #80]
	mov	r3, r7
	mov	r2, r7
	mov	r1, r7
	mov	r0, r7
	str	r8, [sp, #4]
	str	r9, [sp]
	bl	PCKEV_B2_SB
	ldr	r10, [sp, #92]
	ldr	fp, [sp, #88]
	mov	r2, r7
	mov	r3, r7
	mov	r1, r7
	mov	r0, r7
	str	r10, [sp, #4]
	str	fp, [sp]
	bl	PCKEV_B2_SB
	mov	r1, r7
	mov	r0, r9
	bl	__msa_aver_s_b
	mov	r3, r0
	mov	r1, r7
	mov	r0, r8
	mov	r6, r3
	str	r3, [sp, #80]
	bl	__msa_aver_s_b
	mov	r3, r0
	mov	r1, r7
	mov	r0, fp
	mov	r5, r3
	str	r3, [sp, #84]
	bl	__msa_aver_s_b
	mov	r3, r0
	mov	r1, r7
	mov	r0, r10
	mov	r7, r3
	str	r3, [sp, #88]
	bl	__msa_aver_s_b
	mov	r4, r0
	mov	r3, r0
	mov	r2, r7
	mov	r1, r5
	str	r0, [sp, #92]
	mov	r0, r6
	bl	XORI_B4_128_SB
	ldr	r2, [sp, #100]
	ldr	r8, [sp, #76]
	mov	r3, r4
	mov	r1, r5
	str	r2, [sp, #4]
	mov	r0, r6
	mov	r2, r7
	str	r8, [sp]
	bl	ST_SB4
	ldr	r2, [sp, #72]
	ldr	r3, [sp, #40]
	subs	r2, r2, #1
	str	r2, [sp, #72]
	ldr	r2, [sp, #96]
	ldr	r0, [sp, #56]
	add	r3, r3, r2
	add	r1, r2, r0
	str	r3, [sp, #40]
	add	r3, r8, r2
	str	r1, [sp, #56]
	str	r3, [sp, #76]
	bne	.L2
	add	sp, sp, #108
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L7:
	.align	2
.L6:
	.word	luma_mask_arr
	.size	ff_put_h264_qpel16_mc10_msa, .-ff_put_h264_qpel16_mc10_msa
	.comm	luma_mask_arr,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
