	.file	"extr_rt1011.c_rt1011_validate_bq_drc_coeff.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	rt1011_validate_bq_drc_coeff, @function
rt1011_validate_bq_drc_coeff:
.LFB0:
	.cfi_startproc
	endbr64
	cmp	WORD PTR RT1011_DAC_SET_1[rip], di
	push	r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	push	r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	push	r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	push	rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	sete	bpl
	push	rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	xor	ebx, ebx
	cmp	WORD PTR RT1011_ADC_SET[rip], di
	ja	.L2
	cmp	WORD PTR RT1011_ADC_SET_1[rip], di
	setnb	bl
.L2:
	cmp	WORD PTR RT1011_ADC_SET_4[rip], di
	sete	al
	cmp	WORD PTR RT1011_ADC_SET_5[rip], di
	sete	cl
	cmp	WORD PTR RT1011_MIXER_1[rip], di
	sete	r14b
	cmp	WORD PTR RT1011_A_TIMING_1[rip], di
	sete	dl
	xor	r11d, r11d
	cmp	WORD PTR RT1011_POWER_7[rip], di
	ja	.L3
	xor	r11d, r11d
	cmp	WORD PTR RT1011_POWER_8[rip], di
	setnb	r11b
.L3:
	cmp	WORD PTR RT1011_CLASS_D_POS[rip], di
	sete	r13b
	cmp	WORD PTR RT1011_ANALOG_CTRL[rip], di
	sete	r12b
	or	ebp, eax
	xor	eax, eax
	cmp	WORD PTR RT1011_SPK_TEMP_PROTECT_0[rip], di
	ja	.L4
	xor	eax, eax
	cmp	WORD PTR RT1011_SPK_TEMP_PROTECT_6[rip], di
	setnb	al
.L4:
	xor	r10d, r10d
	cmp	WORD PTR RT1011_SPK_PRO_DC_DET_5[rip], di
	ja	.L5
	xor	r10d, r10d
	cmp	WORD PTR RT1011_BAT_GAIN_1[rip], di
	setnb	r10b
.L5:
	xor	r9d, r9d
	cmp	WORD PTR RT1011_RT_DRC_CROSS[rip], di
	ja	.L6
	xor	r9d, r9d
	cmp	WORD PTR RT1011_RT_DRC_POS_8[rip], di
	setnb	r9b
.L6:
	xor	r8d, r8d
	cmp	WORD PTR RT1011_CROSS_BQ_SET_1[rip], di
	ja	.L7
	xor	r8d, r8d
	cmp	WORD PTR RT1011_BQ_10_A2_15_0[rip], di
	setnb	r8b
.L7:
	xor	esi, esi
	cmp	WORD PTR RT1011_SMART_BOOST_TIMING_1[rip], di
	ja	.L8
	xor	esi, esi
	cmp	WORD PTR RT1011_SMART_BOOST_TIMING_36[rip], di
	setnb	sil
.L8:
	or	ecx, ebp
	or	ecx, r14d
	or	edx, ecx
	or	edx, r13d
	or	edx, r12d
	cmp	WORD PTR RT1011_SINE_GEN_REG_1[rip], di
	sete	cl
	or	edx, ecx
	or	edx, ebx
	movzx	edx, dl
	or	edx, r11d
	or	eax, edx
	or	eax, r10d
	or	eax, r9d
	or	eax, r8d
	or	eax, esi
	cmp	WORD PTR RT1011_STP_ALPHA_RECIPROCAL_MSB[rip], di
	ja	.L9
	xor	edx, edx
	cmp	WORD PTR RT1011_BQ_6_PARAMS_CHECK_5[rip], di
	setnb	dl
	or	eax, edx
.L9:
	cmp	WORD PTR RT1011_BQ_7_PARAMS_CHECK_1[rip], di
	ja	.L1
	cmp	WORD PTR RT1011_BQ_10_PARAMS_CHECK_5[rip], di
	mov	edx, 1
	cmovnb	eax, edx
.L1:
	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
	.cfi_endproc
.LFE0:
	.size	rt1011_validate_bq_drc_coeff, .-rt1011_validate_bq_drc_coeff
	.comm	RT1011_STP_ALPHA_RECIPROCAL_MSB,2,2
	.comm	RT1011_SPK_TEMP_PROTECT_6,2,2
	.comm	RT1011_SPK_TEMP_PROTECT_0,2,2
	.comm	RT1011_SPK_PRO_DC_DET_5,2,2
	.comm	RT1011_SMART_BOOST_TIMING_36,2,2
	.comm	RT1011_SMART_BOOST_TIMING_1,2,2
	.comm	RT1011_SINE_GEN_REG_1,2,2
	.comm	RT1011_RT_DRC_POS_8,2,2
	.comm	RT1011_RT_DRC_CROSS,2,2
	.comm	RT1011_POWER_8,2,2
	.comm	RT1011_POWER_7,2,2
	.comm	RT1011_MIXER_1,2,2
	.comm	RT1011_DAC_SET_1,2,2
	.comm	RT1011_CROSS_BQ_SET_1,2,2
	.comm	RT1011_CLASS_D_POS,2,2
	.comm	RT1011_BQ_7_PARAMS_CHECK_1,2,2
	.comm	RT1011_BQ_6_PARAMS_CHECK_5,2,2
	.comm	RT1011_BQ_10_PARAMS_CHECK_5,2,2
	.comm	RT1011_BQ_10_A2_15_0,2,2
	.comm	RT1011_BAT_GAIN_1,2,2
	.comm	RT1011_A_TIMING_1,2,2
	.comm	RT1011_ANALOG_CTRL,2,2
	.comm	RT1011_ADC_SET_5,2,2
	.comm	RT1011_ADC_SET_4,2,2
	.comm	RT1011_ADC_SET_1,2,2
	.comm	RT1011_ADC_SET,2,2
	.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_rt1011.c_rt1011_validate_bq_drc_coeff.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	rt1011_validate_bq_drc_coeff, %function
rt1011_validate_bq_drc_coeff:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	ldr	r1, .L21
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldrh	ip, [r1]
	ldr	r2, .L21+4
	sub	r4, ip, r0
	clz	r4, r4
	ldrh	r2, [r2]
	mov	r3, r0
	cmp	r2, r0
	movhi	r2, #0
	lsr	r4, r4, #5
	bhi	.L2
	ldr	r2, .L21+8
	ldrh	r2, [r2]
	cmp	r2, r0
	movcc	r2, #0
	movcs	r2, #1
.L2:
	ldr	r5, .L21+12
	ldr	r0, .L21+16
	ldr	lr, .L21+20
	ldr	ip, .L21+24
	ldrh	fp, [r5]
	ldrh	r10, [r0]
	ldrh	lr, [lr]
	ldrh	ip, [ip]
	sub	lr, lr, r3
	sub	r0, ip, r3
	sub	fp, fp, r3
	sub	r10, r10, r3
	clz	lr, lr
	clz	r0, r0
	clz	fp, fp
	clz	r10, r10
	ldr	r1, .L21+28
	lsr	lr, lr, #5
	ldrh	r5, [r1]
	lsr	r0, r0, #5
	cmp	r5, r3
	movhi	r8, #0
	lsr	fp, fp, #5
	lsr	r10, r10, #5
	bhi	.L3
	ldr	r1, .L21+32
	ldrh	r8, [r1]
	cmp	r8, r3
	movcc	r8, #0
	movcs	r8, #1
.L3:
	ldr	ip, .L21+36
	ldr	r1, .L21+40
	ldrh	ip, [ip]
	ldrh	r1, [r1]
	sub	r9, ip, r3
	sub	r1, r1, r3
	clz	r9, r9
	clz	r1, r1
	ldr	r5, .L21+44
	lsr	r9, r9, #5
	ldrh	r5, [r5]
	lsr	r1, r1, #5
	cmp	r5, r3
	movhi	r7, #0
	orr	ip, r4, lr
	bhi	.L4
	ldr	lr, .L21+48
	ldrh	r7, [lr]
	cmp	r7, r3
	movcc	r7, #0
	movcs	r7, #1
.L4:
	ldr	lr, .L21+52
	ldrh	lr, [lr]
	cmp	lr, r3
	movhi	r6, #0
	bhi	.L5
	ldr	lr, .L21+56
	ldrh	r6, [lr]
	cmp	r6, r3
	movcc	r6, #0
	movcs	r6, #1
.L5:
	ldr	lr, .L21+60
	ldrh	lr, [lr]
	cmp	lr, r3
	movhi	r5, #0
	bhi	.L6
	ldr	lr, .L21+64
	ldrh	r5, [lr]
	cmp	r5, r3
	movcc	r5, #0
	movcs	r5, #1
.L6:
	ldr	lr, .L21+68
	ldrh	lr, [lr]
	cmp	lr, r3
	movhi	r4, #0
	bhi	.L7
	ldr	lr, .L21+72
	ldrh	r4, [lr]
	cmp	r4, r3
	movcc	r4, #0
	movcs	r4, #1
.L7:
	ldr	lr, .L21+76
	ldrh	lr, [lr]
	cmp	lr, r3
	movhi	lr, #0
	bhi	.L8
	ldr	lr, .L21+80
	ldrh	lr, [lr]
	cmp	lr, r3
	movcc	lr, #0
	movcs	lr, #1
.L8:
	orr	ip, r0, ip
	orr	ip, fp, ip
	ldr	r0, .L21+84
	orr	ip, r10, ip
	ldrh	r0, [r0]
	orr	ip, r9, ip
	orr	r1, r1, ip
	cmp	r0, r3
	orreq	r1, r1, #1
	orr	r2, r2, r1
	orr	r2, r2, r8
	ldr	r1, .L21+88
	orr	r0, r2, r7
	orr	r0, r0, r6
	ldrh	r2, [r1]
	orr	r0, r0, r5
	orr	r0, r0, r4
	cmp	r2, r3
	orr	r0, r0, lr
	bhi	.L9
	ldr	r2, .L21+92
	ldrh	r2, [r2]
	cmp	r2, r3
	orrcs	r0, r0, #1
.L9:
	ldr	r2, .L21+96
	ldrh	r2, [r2]
	cmp	r2, r3
	pophi	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
	ldr	r2, .L21+100
	ldrh	r2, [r2]
	cmp	r2, r3
	movcs	r0, #1
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L22:
	.align	2
.L21:
	.word	RT1011_DAC_SET_1
	.word	RT1011_ADC_SET
	.word	RT1011_ADC_SET_1
	.word	RT1011_MIXER_1
	.word	RT1011_A_TIMING_1
	.word	RT1011_ADC_SET_4
	.word	RT1011_ADC_SET_5
	.word	RT1011_POWER_7
	.word	RT1011_POWER_8
	.word	RT1011_CLASS_D_POS
	.word	RT1011_ANALOG_CTRL
	.word	RT1011_SPK_TEMP_PROTECT_0
	.word	RT1011_SPK_TEMP_PROTECT_6
	.word	RT1011_SPK_PRO_DC_DET_5
	.word	RT1011_BAT_GAIN_1
	.word	RT1011_RT_DRC_CROSS
	.word	RT1011_RT_DRC_POS_8
	.word	RT1011_CROSS_BQ_SET_1
	.word	RT1011_BQ_10_A2_15_0
	.word	RT1011_SMART_BOOST_TIMING_1
	.word	RT1011_SMART_BOOST_TIMING_36
	.word	RT1011_SINE_GEN_REG_1
	.word	RT1011_STP_ALPHA_RECIPROCAL_MSB
	.word	RT1011_BQ_6_PARAMS_CHECK_5
	.word	RT1011_BQ_7_PARAMS_CHECK_1
	.word	RT1011_BQ_10_PARAMS_CHECK_5
	.size	rt1011_validate_bq_drc_coeff, .-rt1011_validate_bq_drc_coeff
	.comm	RT1011_STP_ALPHA_RECIPROCAL_MSB,2,2
	.comm	RT1011_SPK_TEMP_PROTECT_6,2,2
	.comm	RT1011_SPK_TEMP_PROTECT_0,2,2
	.comm	RT1011_SPK_PRO_DC_DET_5,2,2
	.comm	RT1011_SMART_BOOST_TIMING_36,2,2
	.comm	RT1011_SMART_BOOST_TIMING_1,2,2
	.comm	RT1011_SINE_GEN_REG_1,2,2
	.comm	RT1011_RT_DRC_POS_8,2,2
	.comm	RT1011_RT_DRC_CROSS,2,2
	.comm	RT1011_POWER_8,2,2
	.comm	RT1011_POWER_7,2,2
	.comm	RT1011_MIXER_1,2,2
	.comm	RT1011_DAC_SET_1,2,2
	.comm	RT1011_CROSS_BQ_SET_1,2,2
	.comm	RT1011_CLASS_D_POS,2,2
	.comm	RT1011_BQ_7_PARAMS_CHECK_1,2,2
	.comm	RT1011_BQ_6_PARAMS_CHECK_5,2,2
	.comm	RT1011_BQ_10_PARAMS_CHECK_5,2,2
	.comm	RT1011_BQ_10_A2_15_0,2,2
	.comm	RT1011_BAT_GAIN_1,2,2
	.comm	RT1011_A_TIMING_1,2,2
	.comm	RT1011_ANALOG_CTRL,2,2
	.comm	RT1011_ADC_SET_5,2,2
	.comm	RT1011_ADC_SET_4,2,2
	.comm	RT1011_ADC_SET_1,2,2
	.comm	RT1011_ADC_SET,2,2
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
