	.file	"extr_ad5360.c_ad5360_write_raw.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	ad5360_write_raw, @function
ad5360_write_raw:
.LFB0:
	.cfi_startproc
	endbr64
	push	r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	mov	r13, rdi
	push	r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	mov	r12d, edx
	push	rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	mov	rbp, rsi
	push	rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	mov	rbx, r8
	sub	rsp, 8
	.cfi_def_cfa_offset 48
	call	iio_priv@PLT
	mov	ecx, DWORD PTR 4[rbp]
	mov	edx, 1
	sal	edx, cl
	cmp	rbx, 130
	je	.L2
	jg	.L3
	cmp	rbx, 128
	je	.L4
	cmp	rbx, 129
	jne	.L6
	neg	edx
	cmp	edx, r12d
	jge	.L6
	test	r12d, r12d
	jg	.L6
	mov	esi, DWORD PTR 0[rbp]
	sub	ecx, 14
	mov	rdi, rax
	neg	r12d
	sar	r12d, cl
	call	ad5360_get_channel_vref_index@PLT
	mov	edi, eax
	call	AD5360_REG_SF_OFS@PLT
	mov	esi, DWORD PTR AD5360_CMD_SPECIAL_FUNCTION[rip]
	xor	r8d, r8d
	mov	ecx, r12d
	mov	edx, eax
	jmp	.L13
	.p2align 4,,10
	.p2align 3
.L3:
	cmp	rbx, 131
	jne	.L6
	cmp	edx, r12d
	jg	.L15
.L6:
	mov	eax, DWORD PTR EINVAL[rip]
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	neg	eax
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L4:
	.cfi_restore_state
	cmp	edx, r12d
	jle	.L6
	test	r12d, r12d
	js	.L6
	mov	edx, DWORD PTR 12[rbp]
	mov	r8d, DWORD PTR 8[rbp]
	mov	ecx, r12d
	mov	esi, DWORD PTR AD5360_CMD_WRITE_DATA[rip]
	jmp	.L13
	.p2align 4,,10
	.p2align 3
.L2:
	cmp	edx, r12d
	jle	.L6
	test	r12d, r12d
	js	.L6
	mov	edx, DWORD PTR 12[rbp]
	mov	r8d, DWORD PTR 8[rbp]
	mov	ecx, r12d
	mov	esi, DWORD PTR AD5360_CMD_WRITE_GAIN[rip]
.L13:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	mov	rdi, r13
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	jmp	ad5360_write@PLT
	.p2align 4,,10
	.p2align 3
.L15:
	.cfi_restore_state
	test	r12d, r12d
	js	.L6
	mov	edx, DWORD PTR 12[rbp]
	mov	r8d, DWORD PTR 8[rbp]
	mov	ecx, r12d
	mov	esi, DWORD PTR AD5360_CMD_WRITE_OFFSET[rip]
	jmp	.L13
	.cfi_endproc
.LFE0:
	.size	ad5360_write_raw, .-ad5360_write_raw
	.comm	EINVAL,4,4
	.comm	AD5360_CMD_WRITE_OFFSET,4,4
	.comm	AD5360_CMD_WRITE_GAIN,4,4
	.comm	AD5360_CMD_WRITE_DATA,4,4
	.comm	AD5360_CMD_SPECIAL_FUNCTION,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_ad5360.c_ad5360_write_raw.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ad5360_write_raw, %function
ad5360_write_raw:
	@ args = 4, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, lr}
	mov	r6, r1
	mov	r7, r2
	ldr	r4, [sp, #24]
	mov	r5, r0
	bl	iio_priv
	mov	ip, #1
	ldr	r2, [r6, #4]
	sub	r3, r4, #128
	lsl	ip, ip, r2
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L2
.L4:
	.word	.L7
	.word	.L6
	.word	.L5
	.word	.L3
.L3:
	cmp	ip, r7
	movgt	ip, #0
	movle	ip, #1
	orrs	r3, ip, r7, lsr #31
	beq	.L14
.L2:
	ldr	r3, .L15
	ldr	r0, [r3]
	rsb	r0, r0, #0
	pop	{r4, r5, r6, r7, r8, pc}
.L5:
	cmp	ip, r7
	movgt	ip, #0
	movle	ip, #1
	orrs	r3, ip, r7, lsr #31
	bne	.L2
	ldr	r1, .L15+4
	b	.L12
.L6:
	rsb	ip, ip, #0
	cmp	r7, #0
	cmple	ip, r7
	movge	r4, #1
	movlt	r4, #0
	bge	.L2
	ldr	r1, [r6]
	sub	r2, r2, #14
	rsb	r7, r7, #0
	asr	r7, r7, r2
	bl	ad5360_get_channel_vref_index
	ldr	r3, .L15+8
	ldr	r6, [r3]
	bl	AD5360_REG_SF_OFS
	mov	r3, r7
	mov	r2, r0
	mov	r1, r6
	mov	r0, r5
	str	r4, [sp, #24]
	pop	{r4, r5, r6, r7, r8, lr}
	b	ad5360_write
.L7:
	cmp	ip, r7
	movgt	ip, #0
	movle	ip, #1
	orrs	r3, ip, r7, lsr #31
	bne	.L2
	ldr	r1, .L15+12
.L12:
	ldr	r2, [r6, #8]
	ldr	r1, [r1]
	str	r2, [sp, #24]
	mov	r3, r7
	mov	r0, r5
	ldr	r2, [r6, #12]
	pop	{r4, r5, r6, r7, r8, lr}
	b	ad5360_write
.L14:
	ldr	r1, .L15+16
	b	.L12
.L16:
	.align	2
.L15:
	.word	EINVAL
	.word	AD5360_CMD_WRITE_GAIN
	.word	AD5360_CMD_SPECIAL_FUNCTION
	.word	AD5360_CMD_WRITE_DATA
	.word	AD5360_CMD_WRITE_OFFSET
	.size	ad5360_write_raw, .-ad5360_write_raw
	.comm	EINVAL,4,4
	.comm	AD5360_CMD_WRITE_OFFSET,4,4
	.comm	AD5360_CMD_WRITE_GAIN,4,4
	.comm	AD5360_CMD_WRITE_DATA,4,4
	.comm	AD5360_CMD_SPECIAL_FUNCTION,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
