	.file	"extr_cxd2880_top.c_cxd2880_pre_bit_err_t.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	cxd2880_pre_bit_err_t, @function
cxd2880_pre_bit_err_t:
.LFB0:
	.cfi_startproc
	endbr64
	push	r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	push	r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	mov	r13, rdx
	push	r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	push	rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	push	rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	sub	rsp, 16
	.cfi_def_cfa_offset 64
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 8[rsp], rax
	xor	eax, eax
	test	rsi, rsi
	sete	dl
	test	r13, r13
	sete	al
	or	dl, al
	jne	.L5
	mov	rbp, rdi
	test	rdi, rdi
	je	.L5
	mov	rax, QWORD PTR CXD2880_TNRDMD_DIVERMODE_SUB[rip]
	cmp	QWORD PTR [rdi], rax
	je	.L5
	mov	rax, QWORD PTR CXD2880_TNRDMD_STATE_ACTIVE[rip]
	cmp	QWORD PTR 8[rdi], rax
	jne	.L5
	mov	rax, QWORD PTR CXD2880_DTV_SYS_DVBT[rip]
	cmp	QWORD PTR 16[rdi], rax
	je	.L17
	.p2align 4,,10
	.p2align 3
.L5:
	mov	r12d, DWORD PTR EINVAL[rip]
	neg	r12d
.L1:
	mov	rax, QWORD PTR 8[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L18
	add	rsp, 16
	.cfi_remember_state
	.cfi_def_cfa_offset 48
	mov	eax, r12d
	pop	rbx
	.cfi_def_cfa_offset 40
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L17:
	.cfi_restore_state
	mov	rbx, rsi
	call	slvt_freeze_reg@PLT
	mov	r12d, eax
	test	eax, eax
	jne	.L1
	mov	rax, QWORD PTR 24[rbp]
	mov	esi, DWORD PTR CXD2880_IO_TGT_DMD[rip]
	mov	ecx, 16
	xor	edx, edx
	mov	rdi, rax
	call	[QWORD PTR [rax]]
	mov	r12d, eax
	test	eax, eax
	jne	.L15
	mov	rax, QWORD PTR 24[rbp]
	mov	r14, rsp
	mov	edx, 57
	mov	esi, DWORD PTR CXD2880_IO_TGT_DMD[rip]
	mov	r8d, 1
	mov	rcx, r14
	mov	rdi, rax
	call	[QWORD PTR 8[rax]]
	mov	r12d, eax
	test	eax, eax
	jne	.L15
	test	BYTE PTR [rsp], 1
	je	.L19
	mov	rax, QWORD PTR 24[rbp]
	mov	esi, DWORD PTR CXD2880_IO_TGT_DMD[rip]
	mov	rcx, r14
	mov	edx, 34
	mov	r8d, 2
	mov	rdi, rax
	call	[QWORD PTR 8[rax]]
	mov	r12d, eax
	test	eax, eax
	jne	.L15
	mov	eax, DWORD PTR [rsp]
	mov	r8d, 1
	mov	rcx, r14
	mov	edx, 111
	sal	eax, 8
	or	eax, DWORD PTR 4[rsp]
	mov	DWORD PTR [rbx], eax
	mov	rax, QWORD PTR 24[rbp]
	mov	esi, DWORD PTR CXD2880_IO_TGT_DMD[rip]
	mov	rdi, rax
	call	[QWORD PTR 8[rax]]
	mov	rdi, rbp
	mov	r12d, eax
	test	eax, eax
	jne	.L20
	call	slvt_unfreeze_reg@PLT
	mov	ecx, DWORD PTR [rsp]
	mov	eax, 4096
	mov	edx, 256
	and	ecx, 7
	sal	eax, cl
	test	ecx, ecx
	cmove	eax, edx
	mov	DWORD PTR 0[r13], eax
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L15:
	mov	rdi, rbp
	call	slvt_unfreeze_reg@PLT
	jmp	.L1
.L20:
	call	slvt_unfreeze_reg@PLT
	jmp	.L1
.L19:
	mov	rdi, rbp
	call	slvt_unfreeze_reg@PLT
	mov	r12d, DWORD PTR EAGAIN[rip]
	neg	r12d
	jmp	.L1
.L18:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	cxd2880_pre_bit_err_t, .-cxd2880_pre_bit_err_t
	.comm	EINVAL,4,4
	.comm	EAGAIN,4,4
	.comm	CXD2880_TNRDMD_STATE_ACTIVE,8,8
	.comm	CXD2880_TNRDMD_DIVERMODE_SUB,8,8
	.comm	CXD2880_IO_TGT_DMD,4,4
	.comm	CXD2880_DTV_SYS_DVBT,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_cxd2880_top.c_cxd2880_pre_bit_err_t.c"
	.text
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cxd2880_pre_bit_err_t, %function
cxd2880_pre_bit_err_t:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 0, uses_anonymous_args = 0
	clz	r3, r2
	cmp	r1, #0
	lsr	r3, r3, #5
	moveq	r3, #1
	cmp	r0, #0
	moveq	r3, #1
	push	{r4, r5, r6, r7, r8, r9, lr}
	cmp	r3, #0
	ldr	r3, .L20
	sub	sp, sp, #28
	ldr	r3, [r3]
	str	r3, [sp, #20]
	mov	r3,#0
	bne	.L4
	ldr	r3, .L20+4
	mov	r6, r2
	ldr	r3, [r3]
	ldr	r2, [r0]
	mov	r4, r0
	cmp	r2, r3
	beq	.L4
	ldr	r3, .L20+8
	ldr	r2, [r0, #4]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L4
	ldr	r3, .L20+12
	ldr	r2, [r0, #8]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L16
.L4:
	ldr	r3, .L20+16
	ldr	r0, [r3]
	rsb	r5, r0, #0
.L1:
	ldr	r3, .L20
	ldr	r2, [r3]
	ldr	r3, [sp, #20]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L17
	mov	r0, r5
	add	sp, sp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, pc}
.L16:
	mov	r7, r1
	bl	slvt_freeze_reg
	subs	r5, r0, #0
	bne	.L1
	ldr	r0, [r4, #12]
	ldr	r8, .L20+20
	mov	r2, r5
	mov	r3, #16
	ldr	r5, [r0]
	ldr	r1, [r8]
	blx	r5
	subs	r5, r0, #0
	bne	.L14
	mov	r9, #1
	ldr	r0, [r4, #12]
	str	r9, [sp]
	ldr	r5, [r0, #4]
	mov	r2, #57
	ldr	r1, [r8]
	add	r3, sp, #12
	blx	r5
	subs	r5, r0, #0
	bne	.L14
	ldr	r3, [sp, #12]
	tst	r3, #1
	beq	.L18
	mov	r3, #2
	ldr	r0, [r4, #12]
	str	r3, [sp]
	ldr	r5, [r0, #4]
	mov	r2, #34
	ldr	r1, [r8]
	add	r3, sp, #12
	blx	r5
	subs	r5, r0, #0
	bne	.L14
	ldr	r2, [sp, #12]
	ldr	r3, [sp, #16]
	str	r9, [sp]
	ldr	r0, [r4, #12]
	orr	r3, r3, r2, lsl #8
	str	r3, [r7]
	ldr	r5, [r0, #4]
	mov	r2, #111
	ldr	r1, [r8]
	add	r3, sp, #12
	blx	r5
	subs	r5, r0, #0
	mov	r0, r4
	bne	.L19
	bl	slvt_unfreeze_reg
	ldr	r3, [sp, #12]
	ands	r3, r3, #7
	movne	r2, #4096
	moveq	r3, #256
	lslne	r3, r2, r3
	str	r3, [r6]
	b	.L1
.L14:
	mov	r0, r4
	bl	slvt_unfreeze_reg
	b	.L1
.L19:
	bl	slvt_unfreeze_reg
	b	.L1
.L18:
	mov	r0, r4
	bl	slvt_unfreeze_reg
	ldr	r3, .L20+24
	ldr	r5, [r3]
	rsb	r5, r5, #0
	b	.L1
.L17:
	bl	__stack_chk_fail
.L21:
	.align	2
.L20:
	.word	.LC0
	.word	CXD2880_TNRDMD_DIVERMODE_SUB
	.word	CXD2880_TNRDMD_STATE_ACTIVE
	.word	CXD2880_DTV_SYS_DVBT
	.word	EINVAL
	.word	CXD2880_IO_TGT_DMD
	.word	EAGAIN
	.size	cxd2880_pre_bit_err_t, .-cxd2880_pre_bit_err_t
	.comm	EINVAL,4,4
	.comm	EAGAIN,4,4
	.comm	CXD2880_TNRDMD_STATE_ACTIVE,4,4
	.comm	CXD2880_TNRDMD_DIVERMODE_SUB,4,4
	.comm	CXD2880_IO_TGT_DMD,4,4
	.comm	CXD2880_DTV_SYS_DVBT,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
