	.file	"extr_multi_logical_optimizer.c_AddTypeConversion.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	AddTypeConversion, @function
AddTypeConversion:
.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
	push	r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	mov	r12, rsi
	push	rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	mov	rbp, rdi
	mov	rdi, rsi
	sub	rsp, 8
	.cfi_def_cfa_offset 48
	call	exprType@PLT
	mov	rdi, rbp
	mov	r13, rax
	call	exprType@PLT
	mov	rdi, rbp
	mov	r14, rax
	call	exprTypmod@PLT
	cmp	r13, r14
	je	.L3
	mov	r8d, eax
	mov	eax, DWORD PTR COERCE_EXPLICIT_CAST[rip]
	push	-1
	.cfi_def_cfa_offset 56
	mov	rdx, r13
	mov	r9d, DWORD PTR COERCION_EXPLICIT[rip]
	mov	rcx, r14
	mov	rsi, r12
	xor	edi, edi
	push	rax
	.cfi_def_cfa_offset 64
	call	coerce_to_target_type@PLT
	xor	edi, edi
	test	rax, rax
	mov	r12, rax
	setne	dil
	call	Assert@PLT
	pop	rax
	.cfi_def_cfa_offset 56
	pop	rdx
	.cfi_def_cfa_offset 48
	mov	rax, r12
	add	rsp, 8
	.cfi_remember_state
	.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
.L3:
	.cfi_restore_state
	add	rsp, 8
	.cfi_def_cfa_offset 40
	xor	r12d, r12d
	pop	rbp
	.cfi_def_cfa_offset 32
	mov	rax, r12
	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	AddTypeConversion, .-AddTypeConversion
	.comm	COERCION_EXPLICIT,4,4
	.comm	COERCE_EXPLICIT_CAST,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_multi_logical_optimizer.c_AddTypeConversion.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	AddTypeConversion, %function
AddTypeConversion:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, lr}
	mov	r4, r0
	sub	sp, sp, #20
	mov	r0, r1
	mov	r5, r1
	bl	exprType
	mov	r6, r0
	mov	r0, r4
	bl	exprType
	mov	r3, r0
	mov	r0, r4
	mov	r4, r3
	bl	exprTypmod
	cmp	r6, r4
	moveq	r4, #0
	beq	.L1
	mvn	ip, #0
	ldr	r2, .L6
	ldr	r3, .L6+4
	ldr	r7, [r2]
	ldr	lr, [r3]
	mov	r2, r6
	mov	r3, r4
	str	r0, [sp]
	mov	r1, r5
	mov	r0, #0
	str	r7, [sp, #8]
	str	lr, [sp, #4]
	str	ip, [sp, #12]
	bl	coerce_to_target_type
	mov	r4, r0
	subs	r0, r0, #0
	movne	r0, #1
	bl	Assert
.L1:
	mov	r0, r4
	add	sp, sp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, pc}
.L7:
	.align	2
.L6:
	.word	COERCE_EXPLICIT_CAST
	.word	COERCION_EXPLICIT
	.size	AddTypeConversion, .-AddTypeConversion
	.comm	COERCION_EXPLICIT,4,4
	.comm	COERCE_EXPLICIT_CAST,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
