	.file	"extr_hwdrv_apci3120.c_i_APCI3120_CommandTestAnalogInput.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	i_APCI3120_CommandTestAnalogInput
	.type	i_APCI3120_CommandTestAnalogInput, @function
i_APCI3120_CommandTestAnalogInput:
.LFB0:
	.cfi_startproc
	endbr64
	mov	eax, DWORD PTR [rdx]
	mov	edi, DWORD PTR TRIG_TIMER[rip]
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	mov	r14d, DWORD PTR TRIG_FOLLOW[rip]
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r8d, DWORD PTR 4[rdx]
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	mov	r12d, DWORD PTR TRIG_EXT[rip]
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	ebp, DWORD PTR TRIG_NOW[rip]
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	esi, ebp
	or	esi, r12d
	and	esi, eax
	cmp	esi, eax
	mov	DWORD PTR [rdx], esi
	setne	al
	test	esi, esi
	sete	cl
	or	eax, ecx
	mov	ecx, edi
	or	ecx, r14d
	movzx	eax, al
	and	ecx, r8d
	mov	DWORD PTR 4[rdx], ecx
	cmp	ecx, r8d
	jne	.L27
	test	ecx, ecx
	jne	.L2
.L27:
	add	eax, 1
.L2:
	mov	r8d, DWORD PTR TRIG_COUNT[rip]
	mov	r9d, DWORD PTR 12[rdx]
	mov	r10d, edi
	mov	r13d, DWORD PTR 8[rdx]
	mov	r15d, DWORD PTR TRIG_NONE[rip]
	mov	ebx, r8d
	and	r10d, r13d
	and	ebx, r9d
	mov	DWORD PTR -4[rsp], r15d
	sete	r11b
	cmp	r9d, ebx
	mov	DWORD PTR 8[rdx], r10d
	setne	r9b
	mov	DWORD PTR 12[rdx], ebx
	or	r11d, r9d
	mov	r9d, r15d
	mov	r15d, DWORD PTR 16[rdx]
	or	r9d, r8d
	and	r9d, r15d
	test	r10d, r10d
	je	.L6
	cmp	r10d, r13d
	je	.L4
.L6:
	mov	DWORD PTR 16[rdx], r9d
.L54:
	mov	eax, 1
.L1:
	pop	rbx
	.cfi_remember_state
	.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
	.p2align 4,,10
	.p2align 3
.L4:
	.cfi_restore_state
	test	r11b, r11b
	jne	.L6
	test	r9d, r9d
	mov	DWORD PTR 16[rdx], r9d
	sete	r11b
	cmp	r9d, r15d
	setne	r13b
	or	r11b, r13b
	jne	.L54
	test	eax, eax
	jne	.L54
	cmp	r12d, esi
	setne	al
	cmp	ebp, esi
	setne	sil
	movzx	esi, sil
	and	eax, esi
	cmp	edi, ecx
	je	.L9
	cmp	r14d, ecx
	setne	sil
	cmp	sil, 1
	sbb	eax, -1
.L9:
	xor	esi, esi
	cmp	edi, r10d
	setne	sil
	add	eax, esi
	cmp	r8d, ebx
	je	.L11
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 48
	mov	eax, 2
	pop	rbp
	.cfi_def_cfa_offset 40
	mov	DWORD PTR 12[rdx], r8d
	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
	.p2align 4,,10
	.p2align 3
.L11:
	.cfi_restore_state
	cmp	r9d, r8d
	je	.L29
	cmp	r9d, DWORD PTR -4[rsp]
	jne	.L25
.L29:
	test	eax, eax
	jne	.L25
	cmp	QWORD PTR 24[rdx], 0
	je	.L13
	mov	QWORD PTR 24[rdx], 0
	mov	eax, 1
.L13:
	mov	r11, QWORD PTR this_board[rip]
	cmp	edi, ecx
	je	.L56
	cmp	edi, r10d
	je	.L57
.L16:
	mov	esi, DWORD PTR 40[rdx]
	test	esi, esi
	jne	.L17
	mov	DWORD PTR 40[rdx], 1
	add	eax, 1
	mov	esi, 1
.L17:
	mov	r11d, DWORD PTR 8[r11]
	cmp	r11d, esi
	jge	.L18
	mov	DWORD PTR 40[rdx], r11d
	add	eax, 1
.L18:
	mov	esi, DWORD PTR 44[rdx]
	cmp	r9d, r8d
	je	.L58
	test	esi, esi
	je	.L20
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 48
	mov	eax, 3
	pop	rbp
	.cfi_def_cfa_offset 40
	mov	DWORD PTR 44[rdx], 0
	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
	.p2align 4,,10
	.p2align 3
.L20:
	.cfi_restore_state
	test	eax, eax
	jne	.L26
	cmp	edi, r10d
	jne	.L1
	cmp	edi, ecx
	jne	.L1
	mov	ecx, DWORD PTR 36[rdx]
	imul	ecx, DWORD PTR 48[rdx]
	cmp	DWORD PTR 32[rdx], ecx
	jge	.L1
	mov	DWORD PTR 32[rdx], ecx
	mov	eax, 4
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L58:
	test	esi, esi
	jne	.L20
	mov	DWORD PTR 44[rdx], 1
	mov	eax, 3
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L56:
	mov	esi, DWORD PTR [r11]
	cmp	DWORD PTR 32[rdx], esi
	jge	.L15
	mov	DWORD PTR 32[rdx], esi
	add	eax, 1
.L15:
	cmp	edi, r10d
	jne	.L16
	mov	esi, DWORD PTR 36[rdx]
	test	esi, esi
	je	.L16
	mov	ebx, DWORD PTR 4[r11]
	cmp	esi, ebx
	jge	.L16
	mov	DWORD PTR 36[rdx], ebx
	add	eax, 1
	jmp	.L16
	.p2align 4,,10
	.p2align 3
.L57:
	mov	esi, DWORD PTR 4[r11]
	cmp	DWORD PTR 36[rdx], esi
	jge	.L16
	mov	DWORD PTR 36[rdx], esi
	add	eax, 1
	jmp	.L16
.L26:
	mov	eax, 3
	jmp	.L1
.L25:
	mov	eax, 2
	jmp	.L1
	.cfi_endproc
.LFE0:
	.size	i_APCI3120_CommandTestAnalogInput, .-i_APCI3120_CommandTestAnalogInput
	.comm	this_board,8,8
	.comm	TRIG_TIMER,4,4
	.comm	TRIG_NOW,4,4
	.comm	TRIG_NONE,4,4
	.comm	TRIG_FOLLOW,4,4
	.comm	TRIG_EXT,4,4
	.comm	TRIG_COUNT,4,4
	.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_hwdrv_apci3120.c_i_APCI3120_CommandTestAnalogInput.c"
	.text
	.align	2
	.global	i_APCI3120_CommandTestAnalogInput
	.syntax unified
	.arm
	.fpu softvfp
	.type	i_APCI3120_CommandTestAnalogInput, %function
i_APCI3120_CommandTestAnalogInput:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldr	r1, .L46
	ldr	r3, .L46+4
	ldr	lr, [r1]
	ldr	r3, [r3]
	ldr	r5, [r2, #4]
	sub	sp, sp, #12
	ldr	ip, .L46+8
	orr	r1, lr, r3
	str	r3, [sp, #4]
	ldr	r3, .L46+12
	and	r1, r1, r5
	ldr	r8, [ip]
	ldr	r9, [r3]
	clz	r0, r1
	ldr	r4, [r2]
	orr	r3, r8, r9
	and	r3, r3, r4
	clz	ip, r3
	lsr	r0, r0, #5
	cmp	r1, r5
	orrne	r0, r0, #1
	lsr	ip, ip, #5
	cmp	r3, r4
	orrne	ip, ip, #1
	cmp	r0, #0
	ldr	r0, .L46+16
	ldr	r6, [r2, #12]
	ldr	r4, [r0]
	addne	ip, ip, #1
	ands	r7, r4, r6
	moveq	fp, #1
	movne	fp, #0
	ldr	r0, [r2, #8]
	ldr	r10, .L46+20
	and	r5, lr, r0
	subs	r0, r5, r0
	movne	r0, #1
	cmp	r5, #0
	moveq	r0, #1
	cmp	r6, r7
	orrne	fp, fp, #1
	ldr	r10, [r10]
	ldr	r6, [r2, #16]
	str	fp, [sp]
	cmp	r0, #0
	orr	fp, r4, r10
	str	r1, [r2, #4]
	str	r3, [r2]
	str	r5, [r2, #8]
	and	fp, fp, r6
	beq	.L3
	ldr	r3, [sp]
	str	r7, [r2, #12]
	cmp	r3, #0
	beq	.L4
.L6:
	mov	r0, #1
	str	fp, [r2, #16]
.L1:
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L3:
	ldr	r0, [sp]
	str	r7, [r2, #12]
	cmp	r0, #0
	bne	.L6
	subs	r6, fp, r6
	movne	r6, #1
	cmp	fp, #0
	moveq	r6, #1
	cmp	ip, #0
	moveq	ip, r6
	movne	ip, #1
	cmp	ip, #0
	str	fp, [r2, #16]
	bne	.L20
	cmp	r9, r3
	cmpne	r8, r3
	ldr	r0, [sp, #4]
	movne	r3, #1
	moveq	r3, #0
	cmp	lr, r1
	cmpne	r0, r1
	addne	r3, r3, #1
	cmp	lr, r5
	addne	r3, r3, #1
	cmp	r4, r7
	beq	.L9
	mov	r0, #2
	str	r4, [r2, #12]
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L9:
	cmp	fp, r4
	cmpne	fp, r10
	bne	.L22
	cmp	r3, #0
	bne	.L22
	ldr	r0, [r2, #20]
	cmp	r0, #0
	strne	r3, [r2, #20]
	ldr	r3, .L46+24
	movne	r0, #1
	cmp	lr, r1
	ldr	ip, [r3]
	beq	.L44
	cmp	lr, r5
	bne	.L13
	ldr	r3, [ip, #4]
	ldr	r6, [r2, #28]
	cmp	r6, r3
	strlt	r3, [r2, #28]
	addlt	r0, r0, #1
.L13:
	ldr	r3, [r2, #32]
	ldr	ip, [ip, #8]
	cmp	r3, #0
	moveq	r6, #1
	moveq	r3, r6
	streq	r6, [r2, #32]
	addeq	r0, r0, r3
	cmp	ip, r3
	strlt	ip, [r2, #32]
	addlt	r0, r0, #1
	cmp	fp, r4
	ldr	r3, [r2, #36]
	beq	.L45
	cmp	r3, #0
	beq	.L17
	mov	r3, #0
	mov	r0, #3
	str	r3, [r2, #36]
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L17:
	cmp	r0, #0
	bne	.L23
	cmp	lr, r5
	cmpeq	lr, r1
	bne	.L1
	ldr	r3, [r2, #28]
	ldr	ip, [r2, #40]
	ldr	r1, [r2, #24]
	mul	r3, ip, r3
	cmp	r1, r3
	movlt	r0, #4
	strlt	r3, [r2, #24]
	b	.L1
.L45:
	cmp	r3, #0
	bne	.L17
	mov	r3, #1
	mov	r0, #3
	str	r3, [r2, #36]
	b	.L1
.L44:
	ldr	r3, [ip]
	ldr	r6, [r2, #24]
	cmp	r6, r3
	strlt	r3, [r2, #24]
	addlt	r0, r0, #1
	cmp	lr, r5
	bne	.L13
	ldr	r3, [r2, #28]
	cmp	r3, #0
	beq	.L13
	ldr	r6, [ip, #4]
	cmp	r3, r6
	strlt	r6, [r2, #28]
	addlt	r0, r0, #1
	b	.L13
.L23:
	mov	r0, #3
	b	.L1
.L4:
	mov	r0, #1
	str	fp, [r2, #16]
	b	.L1
.L22:
	mov	r0, #2
	b	.L1
.L20:
	mov	r0, #1
	b	.L1
.L47:
	.align	2
.L46:
	.word	TRIG_TIMER
	.word	TRIG_FOLLOW
	.word	TRIG_NOW
	.word	TRIG_EXT
	.word	TRIG_COUNT
	.word	TRIG_NONE
	.word	this_board
	.size	i_APCI3120_CommandTestAnalogInput, .-i_APCI3120_CommandTestAnalogInput
	.comm	this_board,4,4
	.comm	TRIG_TIMER,4,4
	.comm	TRIG_NOW,4,4
	.comm	TRIG_NONE,4,4
	.comm	TRIG_FOLLOW,4,4
	.comm	TRIG_EXT,4,4
	.comm	TRIG_COUNT,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
