	.file	"extr_drm_property.c_drm_property_change_valid_get.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	drm_property_change_valid_get
	.type	drm_property_change_valid_get, @function
drm_property_change_valid_get:
.LFB0:
	.cfi_startproc
	endbr64
	mov	eax, DWORD PTR [rdi]
	test	DWORD PTR DRM_MODE_PROP_IMMUTABLE[rip], eax
	je	.L2
	xor	eax, eax
	ret
	.p2align 4,,10
	.p2align 3
.L2:
	push	r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	mov	r12, rdx
	push	rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	mov	rbp, rsi
	mov	esi, DWORD PTR DRM_MODE_PROP_RANGE[rip]
	push	rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	mov	rbx, rdi
	mov	QWORD PTR [rdx], 0
	call	drm_property_type_is@PLT
	test	rax, rax
	je	.L4
	mov	rax, QWORD PTR 8[rbx]
	cmp	QWORD PTR [rax], rbp
	ja	.L5
	cmp	QWORD PTR 8[rax], rbp
	setnb	al
	movzx	eax, al
.L1:
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	pop	rbp
	.cfi_def_cfa_offset 16
	pop	r12
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L4:
	.cfi_restore_state
	mov	esi, DWORD PTR DRM_MODE_PROP_SIGNED_RANGE[rip]
	mov	rdi, rbx
	call	drm_property_type_is@PLT
	test	rax, rax
	je	.L6
	mov	rdi, rbp
	call	U642I64@PLT
	mov	rbp, rax
	mov	rax, QWORD PTR 8[rbx]
	mov	rdi, QWORD PTR [rax]
	call	U642I64@PLT
	cmp	rax, rbp
	jle	.L30
.L5:
	xor	eax, eax
.L32:
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	pop	rbp
	.cfi_def_cfa_offset 16
	pop	r12
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L6:
	.cfi_restore_state
	mov	esi, DWORD PTR DRM_MODE_PROP_BITMASK[rip]
	mov	rdi, rbx
	call	drm_property_type_is@PLT
	test	rax, rax
	je	.L7
	mov	eax, DWORD PTR 16[rbx]
	test	eax, eax
	jle	.L8
	mov	rcx, QWORD PTR 8[rbx]
	lea	edx, -1[rax]
	mov	esi, 1
	lea	rax, 8[rcx]
	lea	rdi, [rax+rdx*8]
	xor	edx, edx
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L31:
	add	rax, 8
.L9:
	mov	rcx, QWORD PTR [rcx]
	mov	rbx, rsi
	sal	rbx, cl
	mov	rcx, rax
	or	rdx, rbx
	cmp	rdi, rax
	jne	.L31
	not	rdx
	and	rbp, rdx
.L8:
	xor	eax, eax
	test	rbp, rbp
	sete	al
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L30:
	mov	rax, QWORD PTR 8[rbx]
	mov	rdi, QWORD PTR 8[rax]
	call	U642I64@PLT
	cmp	rax, rbp
	setge	al
	movzx	eax, al
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L7:
	mov	esi, DWORD PTR DRM_MODE_PROP_BLOB[rip]
	mov	rdi, rbx
	call	drm_property_type_is@PLT
	test	rax, rax
	je	.L10
	test	rbp, rbp
	je	.L28
	mov	edi, DWORD PTR 20[rbx]
	mov	rsi, rbp
	call	drm_property_lookup_blob@PLT
	test	rax, rax
	je	.L5
	mov	QWORD PTR [r12], rax
.L28:
	mov	eax, 1
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L10:
	mov	esi, DWORD PTR DRM_MODE_PROP_OBJECT[rip]
	mov	rdi, rbx
	call	drm_property_type_is@PLT
	test	rax, rax
	jne	.L12
	mov	edx, DWORD PTR 16[rbx]
	test	edx, edx
	jle	.L5
	mov	rax, QWORD PTR 8[rbx]
	sub	edx, 1
	lea	rdx, 8[rax+rdx*8]
	.p2align 4,,10
	.p2align 3
.L15:
	cmp	QWORD PTR [rax], rbp
	je	.L28
	add	rax, 8
	cmp	rdx, rax
	jne	.L15
	xor	eax, eax
	jmp	.L32
.L12:
	test	rbp, rbp
	je	.L28
	mov	rax, QWORD PTR 8[rbx]
	mov	edi, DWORD PTR 20[rbx]
	xor	esi, esi
	mov	rdx, rbp
	mov	rcx, QWORD PTR [rax]
	call	__drm_mode_object_find@PLT
	test	rax, rax
	mov	QWORD PTR [r12], rax
	setne	al
	movzx	eax, al
	jmp	.L1
	.cfi_endproc
.LFE0:
	.size	drm_property_change_valid_get, .-drm_property_change_valid_get
	.comm	DRM_MODE_PROP_SIGNED_RANGE,4,4
	.comm	DRM_MODE_PROP_RANGE,4,4
	.comm	DRM_MODE_PROP_OBJECT,4,4
	.comm	DRM_MODE_PROP_IMMUTABLE,4,4
	.comm	DRM_MODE_PROP_BLOB,4,4
	.comm	DRM_MODE_PROP_BITMASK,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_drm_property.c_drm_property_change_valid_get.c"
	.text
	.align	2
	.global	drm_property_change_valid_get
	.syntax unified
	.arm
	.fpu softvfp
	.type	drm_property_change_valid_get, %function
drm_property_change_valid_get:
	@ args = 4, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, lr}
	mov	r6, r2
	ldr	r2, .L28
	ldr	r1, [r0]
	ldr	r2, [r2]
	sub	sp, sp, #12
	ands	r1, r1, r2
	beq	.L2
.L5:
	mov	r0, #0
.L1:
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, pc}
.L2:
	ldr	r2, [sp, #32]
	mov	r7, r3
	ldr	r3, .L28+4
	str	r1, [r2]
	ldr	r1, [r3]
	mov	r4, r0
	bl	drm_property_type_is
	cmp	r0, #0
	beq	.L4
	ldr	r3, [r4, #4]
	ldmia	r3, {r0-r1}
	cmp	r1, r7
	cmpeq	r0, r6
	bhi	.L5
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r3, r7
	cmpeq	r2, r6
	movcs	r0, #1
	movcc	r0, #0
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, pc}
.L4:
	ldr	r3, .L28+8
	mov	r0, r4
	ldr	r1, [r3]
	bl	drm_property_type_is
	subs	r5, r0, #0
	beq	.L6
	mov	r1, r7
	mov	r0, r6
	bl	U642I64
	ldr	r3, [r4, #4]
	mov	r5, r0
	ldmia	r3, {r0-r1}
	bl	U642I64
	cmp	r0, r5
	bgt	.L5
	ldr	r3, [r4, #4]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	bl	U642I64
	cmp	r0, r5
	movlt	r0, #0
	movge	r0, #1
	b	.L1
.L6:
	ldr	r3, .L28+12
	mov	r0, r4
	ldr	r1, [r3]
	bl	drm_property_type_is
	cmp	r0, #0
	beq	.L7
	ldr	r3, [r4, #8]
	cmp	r3, #0
	ble	.L8
	mov	ip, #1
	ldr	r1, [r4, #4]
	mov	r0, r5
	mov	lr, r5
	add	r5, r1, r3, lsl #3
.L9:
	ldr	r2, [r1], #8
	sub	r3, r2, #32
	lsl	r3, ip, r3
	rsb	r4, r2, #32
	orr	r3, r3, ip, lsr r4
	cmp	r5, r1
	orr	r0, r0, ip, lsl r2
	orr	lr, r3, lr
	bne	.L9
	bic	r0, r6, r0
	bic	lr, r7, lr
	mov	r6, r0
	mov	r7, lr
.L8:
	orrs	r3, r6, r7
	moveq	r0, #1
	movne	r0, #0
	b	.L1
.L7:
	ldr	r3, .L28+16
	mov	r0, r4
	ldr	r1, [r3]
	bl	drm_property_type_is
	subs	r5, r0, #0
	beq	.L10
	orrs	r3, r6, r7
	beq	.L25
	mov	r2, r6
	mov	r3, r7
	ldr	r0, [r4, #12]
	bl	drm_property_lookup_blob
	cmp	r0, #0
	beq	.L5
	ldr	r3, [sp, #32]
	str	r0, [r3]
.L25:
	mov	r0, #1
	b	.L1
.L10:
	ldr	r3, .L28+20
	mov	r0, r4
	ldr	r1, [r3]
	bl	drm_property_type_is
	subs	r3, r0, #0
	bne	.L12
	ldr	ip, [r4, #8]
	cmp	ip, #0
	ldrgt	r2, [r4, #4]
	bgt	.L15
	b	.L5
.L27:
	cmp	r3, ip
	beq	.L5
.L15:
	ldmia	r2!, {r0-r1}
	cmp	r1, r7
	cmpeq	r0, r6
	add	r3, r3, #1
	bne	.L27
	b	.L25
.L12:
	orrs	r3, r6, r7
	beq	.L25
	ldr	r1, [r4, #4]
	mov	r3, r7
	mov	r2, r6
	ldmia	r1, {r6-r7}
	ldr	r0, [r4, #12]
	mov	r1, r5
	stm	sp, {r6-r7}
	bl	__drm_mode_object_find
	ldr	r3, [sp, #32]
	str	r0, [r3]
	subs	r0, r0, #0
	movne	r0, #1
	b	.L1
.L29:
	.align	2
.L28:
	.word	DRM_MODE_PROP_IMMUTABLE
	.word	DRM_MODE_PROP_RANGE
	.word	DRM_MODE_PROP_SIGNED_RANGE
	.word	DRM_MODE_PROP_BITMASK
	.word	DRM_MODE_PROP_BLOB
	.word	DRM_MODE_PROP_OBJECT
	.size	drm_property_change_valid_get, .-drm_property_change_valid_get
	.comm	DRM_MODE_PROP_SIGNED_RANGE,4,4
	.comm	DRM_MODE_PROP_RANGE,4,4
	.comm	DRM_MODE_PROP_OBJECT,4,4
	.comm	DRM_MODE_PROP_IMMUTABLE,4,4
	.comm	DRM_MODE_PROP_BLOB,4,4
	.comm	DRM_MODE_PROP_BITMASK,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
