	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_build_conditional_expr         ## -- Begin function build_conditional_expr
	.p2align	4, 0x90
_build_conditional_expr:                ## @build_conditional_expr
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$72, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdx, %r15
	movq	%rsi, %r13
	movq	%rdi, %r14
	movq	%rsi, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_TREE_CODE
	movq	_VOID_TYPE@GOTPCREL(%rip), %r12
	movq	%r13, %rcx
	cmpq	(%r12), %rax
	je	LBB0_2
## %bb.1:
	movq	%r13, %rdi
	callq	_default_conversion
	movq	%rax, %rcx
LBB0_2:
	movq	%rcx, -48(%rbp)                 ## 8-byte Spill
	movq	%r15, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_TREE_CODE
	movq	%r15, %rcx
	cmpq	(%r12), %rax
	je	LBB0_4
## %bb.3:
	movq	%r15, %rdi
	callq	_default_conversion
	movq	%rax, %rcx
LBB0_4:
	movq	%rcx, -80(%rbp)                 ## 8-byte Spill
	movq	%r14, %rdi
	callq	_TREE_CODE
	movq	_ERROR_MARK@GOTPCREL(%rip), %rbx
	cmpq	(%rbx), %rax
	je	LBB0_16
## %bb.5:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_TREE_CODE
	cmpq	(%rbx), %rax
	je	LBB0_16
## %bb.6:
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_TREE_CODE
	cmpq	(%rbx), %rax
	je	LBB0_16
## %bb.7:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_TYPE
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	movq	%rax, %rdi
	callq	_TREE_CODE
	movq	%rax, %rbx
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_TYPE
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movq	%rax, %rdi
	callq	_TREE_CODE
	movq	_ARRAY_TYPE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movq	%rbx, -88(%rbp)                 ## 8-byte Spill
	cmpl	%ebx, %ecx
	je	LBB0_14
## %bb.8:
	cmpl	%eax, %ecx
	je	LBB0_14
## %bb.9:
	movq	%rax, -104(%rbp)                ## 8-byte Spill
	movq	%r14, -56(%rbp)                 ## 8-byte Spill
	movq	-64(%rbp), %r14                 ## 8-byte Reload
	movq	-72(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_TYPE_MAIN_VARIANT
	movq	%rax, -112(%rbp)                ## 8-byte Spill
	movq	%r14, %rdi
	callq	_TYPE_MAIN_VARIANT
	cmpq	%rax, -112(%rbp)                ## 8-byte Folded Reload
	jne	LBB0_18
## %bb.10:
	cmpq	%r14, %rbx
	movq	%rbx, %r13
	je	LBB0_13
## %bb.11:
	movq	%r13, %rdi
	callq	_TYPE_MAIN_VARIANT
LBB0_12:
	movq	%rax, %r13
LBB0_13:
	movq	-56(%rbp), %r14                 ## 8-byte Reload
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	jmp	LBB0_62
LBB0_14:
	leaq	L_.str(%rip), %rdi
LBB0_15:
	callq	_error
LBB0_16:
	movq	_error_mark_node@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
LBB0_17:
	addq	$72, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_18:
	movq	_INTEGER_TYPE@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	movq	_REAL_TYPE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	movq	_COMPLEX_TYPE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movq	-88(%rbp), %rdi                 ## 8-byte Reload
	cmpl	%edi, %r8d
	movq	-104(%rbp), %rax                ## 8-byte Reload
	je	LBB0_21
## %bb.19:
	cmpl	%edi, %edx
	je	LBB0_21
## %bb.20:
	cmpl	%edi, %ecx
	jne	LBB0_24
LBB0_21:
	cmpl	%eax, %r8d
	je	LBB0_38
## %bb.22:
	cmpl	%eax, %edx
	je	LBB0_38
## %bb.23:
	cmpl	%eax, %ecx
	je	LBB0_38
LBB0_24:
	movl	%edi, %ecx
	movq	(%r12), %rdx
	movl	%eax, %esi
	cmpq	%rdx, %rcx
	je	LBB0_34
## %bb.25:
	cmpq	%rdx, %rsi
	je	LBB0_34
## %bb.26:
	movq	_POINTER_TYPE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	movq	_BLOCK_POINTER_TYPE@GOTPCREL(%rip), %r14
	movl	(%r14), %ecx
	cmpl	%edi, %edx
	je	LBB0_28
## %bb.27:
	cmpl	%edi, %ecx
	jne	LBB0_30
LBB0_28:
	cmpl	%eax, %edx
	je	LBB0_46
## %bb.29:
	cmpl	%eax, %ecx
	je	LBB0_46
LBB0_30:
	cmpl	%edi, %edx
	jne	LBB0_42
## %bb.31:
	cmpl	%eax, %r8d
	jne	LBB0_42
## %bb.32:
	movq	%r15, %rdi
	callq	_null_pointer_constant_p
	testq	%rax, %rax
	movq	-56(%rbp), %r14                 ## 8-byte Reload
	je	LBB0_59
## %bb.33:
	movq	_null_pointer_node@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	jmp	LBB0_60
LBB0_34:
	xorq	%rdx, %rsi
	xorq	%rdx, %rcx
	movq	_pedantic@GOTPCREL(%rip), %rdx
	orq	%rsi, %rcx
	sete	%al
	cmpq	$0, (%rdx)
	movq	-56(%rbp), %r14                 ## 8-byte Reload
	je	LBB0_37
## %bb.35:
	testb	%al, %al
	jne	LBB0_37
## %bb.36:
	leaq	L_.str.2(%rip), %rdi
	callq	_pedwarn
LBB0_37:
	movq	_void_type_node@GOTPCREL(%rip), %rax
	movq	(%rax), %r13
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	jmp	LBB0_62
LBB0_38:
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	movq	-64(%rbp), %rsi                 ## 8-byte Reload
	callq	_c_common_type
	movq	%rax, %r12
	movq	_warn_sign_compare@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	movq	-56(%rbp), %r14                 ## 8-byte Reload
	je	LBB0_41
## %bb.39:
	movq	_skip_evaluation@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	jne	LBB0_41
## %bb.40:
	movq	%r13, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_TYPE_UNSIGNED
	movl	%eax, %ebx
	movq	%r15, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_TYPE_UNSIGNED
	cmpl	%eax, %ebx
	jne	LBB0_52
LBB0_41:
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%r12, %r13
	jmp	LBB0_62
LBB0_42:
	cmpl	%eax, %edx
	movq	-56(%rbp), %r14                 ## 8-byte Reload
	jne	LBB0_48
## %bb.43:
	cmpl	%edi, %r8d
	jne	LBB0_48
## %bb.44:
	movq	%r13, %rdi
	callq	_null_pointer_constant_p
	testq	%rax, %rax
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	je	LBB0_81
## %bb.45:
	movq	_null_pointer_node@GOTPCREL(%rip), %rax
	movq	(%rax), %rbx
	movq	-64(%rbp), %r13                 ## 8-byte Reload
	jmp	LBB0_62
LBB0_46:
	movq	-72(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	movq	-64(%rbp), %r12                 ## 8-byte Reload
	movq	%r12, %rsi
	callq	_comp_target_types
	testq	%rax, %rax
	je	LBB0_75
## %bb.47:
	movq	%rbx, %rdi
	movq	%r12, %rsi
	callq	_common_pointer_type
	jmp	LBB0_12
LBB0_48:
	cmpl	%edi, %ecx
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	jne	LBB0_77
## %bb.49:
	cmpl	%eax, %r8d
	jne	LBB0_77
## %bb.50:
	movq	%r15, %rdi
	callq	_null_pointer_constant_p
	testq	%rax, %rax
	je	LBB0_82
## %bb.51:
	movq	_null_pointer_node@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movq	-72(%rbp), %r13                 ## 8-byte Reload
	movq	%r13, %rdi
	callq	_convert
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	jmp	LBB0_62
LBB0_52:
	movl	%eax, %r15d
	movq	%r12, %r13
	movq	%r12, %rdi
	callq	_TYPE_UNSIGNED
	testl	%eax, %eax
	je	LBB0_58
## %bb.53:
	testl	%r15d, %r15d
	je	LBB0_55
## %bb.54:
	leaq	-92(%rbp), %rsi
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_tree_expr_nonnegative_warnv_p
	testq	%rax, %rax
	jne	LBB0_58
LBB0_55:
	testl	%ebx, %ebx
	je	LBB0_57
## %bb.56:
	leaq	-92(%rbp), %rsi
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	callq	_tree_expr_nonnegative_warnv_p
	testq	%rax, %rax
	jne	LBB0_58
LBB0_57:
	leaq	L_.str.1(%rip), %rsi
	xorl	%edi, %edi
	callq	_warning
LBB0_58:
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	jmp	LBB0_62
LBB0_59:
	leaq	L_.str.5(%rip), %rdi
	callq	_pedwarn
LBB0_60:
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
LBB0_61:
	movq	-72(%rbp), %r13                 ## 8-byte Reload
LBB0_62:
	testq	%r13, %r13
	jne	LBB0_65
LBB0_63:
	movq	_flag_cond_mismatch@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_74
## %bb.64:
	movq	_void_type_node@GOTPCREL(%rip), %rax
	movq	(%rax), %r13
LBB0_65:
	movq	%rbx, %rdi
	callq	_TREE_READONLY
	movl	$1, %r15d
	movq	%rbx, %r12
	movl	$1, %ebx
	testq	%rax, %rax
	jne	LBB0_67
## %bb.66:
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_READONLY
	xorl	%ebx, %ebx
	testq	%rax, %rax
	setne	%bl
LBB0_67:
	movq	%r12, %rdi
	callq	_TREE_THIS_VOLATILE
	testq	%rax, %rax
	jne	LBB0_69
## %bb.68:
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_THIS_VOLATILE
	xorl	%r15d, %r15d
	testq	%rax, %rax
	setne	%r15b
LBB0_69:
	movq	%r13, %rdi
	movl	%ebx, %esi
	movl	%r15d, %edx
	callq	_build_type_variant
	movq	%rax, %r15
	movq	%r12, %rdi
	callq	_TREE_TYPE
	cmpq	%rax, %r15
	je	LBB0_71
## %bb.70:
	movq	%r15, %rdi
	movq	%r12, %rsi
	callq	_convert_and_check
	movq	%rax, %r12
LBB0_71:
	movq	-80(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_TREE_TYPE
	cmpq	%rax, %r15
	je	LBB0_73
## %bb.72:
	movq	%r15, %rdi
	movq	%rbx, %rsi
	callq	_convert_and_check
	movq	%rax, %rbx
LBB0_73:
	movq	_COND_EXPR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r15, %rsi
	movq	%r14, %rdx
	movq	%r12, %rcx
	movq	%rbx, %r8
	callq	_fold_build3
	jmp	LBB0_17
LBB0_74:
	leaq	L_.str.7(%rip), %rdi
	jmp	LBB0_15
LBB0_75:
	movq	%r13, %rdi
	callq	_null_pointer_constant_p
	testq	%rax, %rax
	je	LBB0_83
## %bb.76:
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	movq	-72(%rbp), %rsi                 ## 8-byte Reload
	jmp	LBB0_85
LBB0_77:
	cmpl	%eax, %ecx
	jne	LBB0_63
## %bb.78:
	cmpl	-88(%rbp), %r8d                 ## 4-byte Folded Reload
	jne	LBB0_63
## %bb.79:
	movq	%r13, %rdi
	callq	_null_pointer_constant_p
	testq	%rax, %rax
	je	LBB0_86
## %bb.80:
	movq	_null_pointer_node@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movq	-64(%rbp), %r13                 ## 8-byte Reload
	movq	%r13, %rdi
	callq	_convert
	movq	%rax, %rbx
	jmp	LBB0_62
LBB0_81:
	leaq	L_.str.5(%rip), %rdi
	callq	_pedwarn
	movq	-64(%rbp), %r13                 ## 8-byte Reload
	jmp	LBB0_62
LBB0_82:
	leaq	L_.str.6(%rip), %rdi
	callq	_error
	jmp	LBB0_61
LBB0_83:
	movq	%r15, %rdi
	callq	_null_pointer_constant_p
	testq	%rax, %rax
	movq	-72(%rbp), %r13                 ## 8-byte Reload
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	je	LBB0_87
## %bb.84:
	movq	%r13, %rdi
	movq	%rbx, %rsi
LBB0_85:
	callq	_qualify_type
	jmp	LBB0_12
LBB0_86:
	leaq	L_.str.6(%rip), %rdi
	callq	_error
	movq	-64(%rbp), %r13                 ## 8-byte Reload
	jmp	LBB0_62
LBB0_87:
	movl	(%r14), %eax
	cmpl	-104(%rbp), %eax                ## 4-byte Folded Reload
	jne	LBB0_91
## %bb.88:
	movq	%r13, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_VOID_TYPE_P
	testq	%rax, %rax
	je	LBB0_90
## %bb.89:
	movq	%rbx, %r13
	jmp	LBB0_13
LBB0_90:
	movl	(%r14), %eax
	movq	-72(%rbp), %r13                 ## 8-byte Reload
LBB0_91:
	cmpl	-88(%rbp), %eax                 ## 4-byte Folded Reload
	jne	LBB0_93
## %bb.92:
	movq	%rbx, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_VOID_TYPE_P
	testq	%rax, %rax
	jne	LBB0_13
LBB0_93:
	movq	%r13, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_VOID_TYPE_P
	testq	%rax, %rax
	je	LBB0_98
## %bb.94:
	movq	_pedantic@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_97
## %bb.95:
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_TREE_CODE
	movq	_FUNCTION_TYPE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_97
## %bb.96:
	leaq	L_.str.3(%rip), %rdi
	callq	_pedwarn
LBB0_97:
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_TYPE
	movq	%rax, %r14
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	jmp	LBB0_103
LBB0_98:
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_VOID_TYPE_P
	testq	%rax, %rax
	je	LBB0_105
## %bb.99:
	movq	_pedantic@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_102
## %bb.100:
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_TREE_CODE
	movq	_FUNCTION_TYPE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_102
## %bb.101:
	leaq	L_.str.3(%rip), %rdi
	callq	_pedwarn
LBB0_102:
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_TYPE
	movq	%rax, %r14
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
LBB0_103:
	callq	_TREE_TYPE
	movq	%r14, %rdi
	movq	%rax, %rsi
	callq	_qualify_type
	movq	%rax, %rdi
LBB0_104:
	callq	_build_pointer_type
	jmp	LBB0_12
LBB0_105:
	leaq	L_.str.4(%rip), %rdi
	callq	_pedwarn
	movq	_void_type_node@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	jmp	LBB0_104
	.cfi_endproc
                                        ## -- End function
	.comm	_VOID_TYPE,8,3                  ## @VOID_TYPE
	.comm	_ERROR_MARK,8,3                 ## @ERROR_MARK
	.comm	_error_mark_node,8,3            ## @error_mark_node
	.comm	_ARRAY_TYPE,4,2                 ## @ARRAY_TYPE
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"non-lvalue array in conditional expression"

	.comm	_INTEGER_TYPE,4,2               ## @INTEGER_TYPE
	.comm	_REAL_TYPE,4,2                  ## @REAL_TYPE
	.comm	_COMPLEX_TYPE,4,2               ## @COMPLEX_TYPE
	.comm	_warn_sign_compare,8,3          ## @warn_sign_compare
	.comm	_skip_evaluation,4,2            ## @skip_evaluation
L_.str.1:                               ## @.str.1
	.asciz	"signed and unsigned type in conditional expression"

	.comm	_pedantic,8,3                   ## @pedantic
L_.str.2:                               ## @.str.2
	.asciz	"ISO C forbids conditional expr with only one void side"

	.comm	_void_type_node,8,3             ## @void_type_node
	.comm	_POINTER_TYPE,4,2               ## @POINTER_TYPE
	.comm	_BLOCK_POINTER_TYPE,4,2         ## @BLOCK_POINTER_TYPE
	.comm	_FUNCTION_TYPE,8,3              ## @FUNCTION_TYPE
L_.str.3:                               ## @.str.3
	.asciz	"ISO C forbids conditional expr between %<void *%> and function pointer"

L_.str.4:                               ## @.str.4
	.asciz	"pointer type mismatch in conditional expression"

L_.str.5:                               ## @.str.5
	.asciz	"pointer/integer type mismatch in conditional expression"

	.comm	_null_pointer_node,8,3          ## @null_pointer_node
L_.str.6:                               ## @.str.6
	.asciz	"block pointer/integer type mismatch in conditional expression"

	.comm	_flag_cond_mismatch,8,3         ## @flag_cond_mismatch
L_.str.7:                               ## @.str.7
	.asciz	"type mismatch in conditional expression"

	.comm	_COND_EXPR,4,2                  ## @COND_EXPR
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_build_conditional_expr         ; -- Begin function build_conditional_expr
	.p2align	2
_build_conditional_expr:                ; @build_conditional_expr
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #128
	.cfi_def_cfa_offset 128
	stp	x28, x27, [sp, #32]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #48]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #64]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #80]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #96]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #112]            ; 16-byte Folded Spill
	add	x29, sp, #112
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x24, x2
	mov	x25, x1
	mov	x19, x0
	mov	x0, x1
	bl	_TREE_TYPE
	bl	_TREE_CODE
Lloh0:
	adrp	x22, _VOID_TYPE@GOTPAGE
Lloh1:
	ldr	x22, [x22, _VOID_TYPE@GOTPAGEOFF]
	ldr	x8, [x22]
	mov	x20, x25
	cmp	x0, x8
	b.eq	LBB0_2
; %bb.1:
	mov	x0, x25
	bl	_default_conversion
	mov	x20, x0
LBB0_2:
	mov	x0, x24
	bl	_TREE_TYPE
	bl	_TREE_CODE
	ldr	x8, [x22]
	mov	x21, x24
	cmp	x0, x8
	b.eq	LBB0_4
; %bb.3:
	mov	x0, x24
	bl	_default_conversion
	mov	x21, x0
LBB0_4:
	mov	x0, x19
	bl	_TREE_CODE
Lloh2:
	adrp	x23, _ERROR_MARK@GOTPAGE
Lloh3:
	ldr	x23, [x23, _ERROR_MARK@GOTPAGEOFF]
	ldr	x8, [x23]
	cmp	x0, x8
	b.eq	LBB0_14
; %bb.5:
	mov	x0, x20
	bl	_TREE_TYPE
	bl	_TREE_CODE
	ldr	x8, [x23]
	cmp	x0, x8
	b.eq	LBB0_14
; %bb.6:
	mov	x0, x21
	bl	_TREE_TYPE
	bl	_TREE_CODE
	ldr	x8, [x23]
	cmp	x0, x8
	b.eq	LBB0_14
; %bb.7:
	mov	x0, x20
	bl	_TREE_TYPE
	mov	x28, x0
	bl	_TREE_CODE
	mov	x26, x0
	mov	x0, x21
	bl	_TREE_TYPE
	mov	x23, x0
	bl	_TREE_CODE
Lloh4:
	adrp	x8, _ARRAY_TYPE@GOTPAGE
Lloh5:
	ldr	x8, [x8, _ARRAY_TYPE@GOTPAGEOFF]
Lloh6:
	ldr	w8, [x8]
	cmp	w8, w26
	b.eq	LBB0_12
; %bb.8:
	cmp	w8, w0
	b.eq	LBB0_12
; %bb.9:
	str	x0, [sp, #16]                   ; 8-byte Folded Spill
	mov	x0, x28
	bl	_TYPE_MAIN_VARIANT
	mov	x27, x0
	mov	x0, x23
	bl	_TYPE_MAIN_VARIANT
	cmp	x27, x0
	b.ne	LBB0_16
; %bb.10:
	cmp	x28, x23
	b.eq	LBB0_36
; %bb.11:
	mov	x0, x28
	bl	_TYPE_MAIN_VARIANT
	mov	x28, x0
	b	LBB0_36
LBB0_12:
Lloh7:
	adrp	x0, l_.str@PAGE
Lloh8:
	add	x0, x0, l_.str@PAGEOFF
LBB0_13:
	bl	_error
LBB0_14:
Lloh9:
	adrp	x8, _error_mark_node@GOTPAGE
Lloh10:
	ldr	x8, [x8, _error_mark_node@GOTPAGEOFF]
Lloh11:
	ldr	x0, [x8]
LBB0_15:
	ldp	x29, x30, [sp, #112]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #96]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #80]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #64]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #48]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #128
	ret
LBB0_16:
	str	x28, [sp, #8]                   ; 8-byte Folded Spill
Lloh12:
	adrp	x8, _INTEGER_TYPE@GOTPAGE
Lloh13:
	ldr	x8, [x8, _INTEGER_TYPE@GOTPAGEOFF]
Lloh14:
	adrp	x9, _REAL_TYPE@GOTPAGE
Lloh15:
	ldr	x9, [x9, _REAL_TYPE@GOTPAGEOFF]
Lloh16:
	ldr	w8, [x8]
Lloh17:
	ldr	w10, [x9]
Lloh18:
	adrp	x9, _COMPLEX_TYPE@GOTPAGE
Lloh19:
	ldr	x9, [x9, _COMPLEX_TYPE@GOTPAGEOFF]
Lloh20:
	ldr	w9, [x9]
	cmp	w8, w26
	ldr	x12, [sp, #16]                  ; 8-byte Folded Reload
	b.eq	LBB0_19
; %bb.17:
	cmp	w10, w26
	b.eq	LBB0_19
; %bb.18:
	cmp	w9, w26
	b.ne	LBB0_22
LBB0_19:
	cmp	w8, w12
	b.eq	LBB0_51
; %bb.20:
	cmp	w10, w12
	b.eq	LBB0_51
; %bb.21:
	cmp	w9, w12
	b.eq	LBB0_51
LBB0_22:
	and	x11, x26, #0xffffffff
	ldr	x9, [x22]
	and	x10, x12, #0xffffffff
	cmp	x11, x9
	ldr	x28, [sp, #8]                   ; 8-byte Folded Reload
	b.eq	LBB0_32
; %bb.23:
	cmp	x10, x9
	b.eq	LBB0_32
; %bb.24:
	mov	x22, x23
Lloh21:
	adrp	x9, _POINTER_TYPE@GOTPAGE
Lloh22:
	ldr	x9, [x9, _POINTER_TYPE@GOTPAGEOFF]
Lloh23:
	ldr	w10, [x9]
Lloh24:
	adrp	x27, _BLOCK_POINTER_TYPE@GOTPAGE
Lloh25:
	ldr	x27, [x27, _BLOCK_POINTER_TYPE@GOTPAGEOFF]
	ldr	w9, [x27]
	cmp	w10, w26
	b.eq	LBB0_26
; %bb.25:
	cmp	w9, w26
	b.ne	LBB0_28
LBB0_26:
	cmp	w10, w12
	b.eq	LBB0_64
; %bb.27:
	cmp	w9, w12
	b.eq	LBB0_64
LBB0_28:
	cmp	w10, w26
	b.ne	LBB0_60
; %bb.29:
	cmp	w8, w12
	b.ne	LBB0_60
; %bb.30:
	mov	x0, x24
	bl	_null_pointer_constant_p
	cbz	x0, LBB0_70
; %bb.31:
Lloh26:
	adrp	x8, _null_pointer_node@GOTPAGE
Lloh27:
	ldr	x8, [x8, _null_pointer_node@GOTPAGEOFF]
Lloh28:
	ldr	x21, [x8]
	b	LBB0_36
LBB0_32:
	cmp	x11, x9
Lloh29:
	adrp	x8, _pedantic@GOTPAGE
Lloh30:
	ldr	x8, [x8, _pedantic@GOTPAGEOFF]
Lloh31:
	ldr	x11, [x8]
	ccmp	x10, x9, #0, eq
	cset	w8, eq
	cbz	x11, LBB0_35
; %bb.33:
	tbnz	w8, #0, LBB0_35
; %bb.34:
Lloh32:
	adrp	x0, l_.str.2@PAGE
Lloh33:
	add	x0, x0, l_.str.2@PAGEOFF
	bl	_pedwarn
LBB0_35:
Lloh34:
	adrp	x8, _void_type_node@GOTPAGE
Lloh35:
	ldr	x8, [x8, _void_type_node@GOTPAGEOFF]
Lloh36:
	ldr	x28, [x8]
LBB0_36:
	cbnz	x28, LBB0_39
LBB0_37:
Lloh37:
	adrp	x8, _flag_cond_mismatch@GOTPAGE
Lloh38:
	ldr	x8, [x8, _flag_cond_mismatch@GOTPAGEOFF]
Lloh39:
	ldr	x8, [x8]
	cbz	x8, LBB0_50
; %bb.38:
Lloh40:
	adrp	x8, _void_type_node@GOTPAGE
Lloh41:
	ldr	x8, [x8, _void_type_node@GOTPAGEOFF]
Lloh42:
	ldr	x28, [x8]
LBB0_39:
	mov	x0, x20
	bl	_TREE_READONLY
	cbz	x0, LBB0_41
; %bb.40:
	mov	w23, #1
	b	LBB0_42
LBB0_41:
	mov	x0, x21
	bl	_TREE_READONLY
	cmp	x0, #0
	cset	w23, ne
LBB0_42:
	mov	x0, x20
	bl	_TREE_THIS_VOLATILE
	cbz	x0, LBB0_44
; %bb.43:
	mov	w2, #1
	b	LBB0_45
LBB0_44:
	mov	x0, x21
	bl	_TREE_THIS_VOLATILE
	cmp	x0, #0
	cset	w2, ne
LBB0_45:
	mov	x0, x28
	mov	x1, x23
	bl	_build_type_variant
	mov	x22, x0
	mov	x0, x20
	bl	_TREE_TYPE
	cmp	x22, x0
	b.eq	LBB0_47
; %bb.46:
	mov	x0, x22
	mov	x1, x20
	bl	_convert_and_check
	mov	x20, x0
LBB0_47:
	mov	x0, x21
	bl	_TREE_TYPE
	cmp	x22, x0
	b.eq	LBB0_49
; %bb.48:
	mov	x0, x22
	mov	x1, x21
	bl	_convert_and_check
	mov	x21, x0
LBB0_49:
Lloh43:
	adrp	x8, _COND_EXPR@GOTPAGE
Lloh44:
	ldr	x8, [x8, _COND_EXPR@GOTPAGEOFF]
Lloh45:
	ldr	w0, [x8]
	mov	x1, x22
	mov	x2, x19
	mov	x3, x20
	mov	x4, x21
	bl	_fold_build3
	b	LBB0_15
LBB0_50:
Lloh46:
	adrp	x0, l_.str.7@PAGE
Lloh47:
	add	x0, x0, l_.str.7@PAGEOFF
	b	LBB0_13
LBB0_51:
	ldr	x0, [sp, #8]                    ; 8-byte Folded Reload
	mov	x1, x23
	bl	_c_common_type
	mov	x28, x0
Lloh48:
	adrp	x8, _warn_sign_compare@GOTPAGE
Lloh49:
	ldr	x8, [x8, _warn_sign_compare@GOTPAGEOFF]
Lloh50:
	ldr	x8, [x8]
	cbz	x8, LBB0_36
; %bb.52:
Lloh51:
	adrp	x8, _skip_evaluation@GOTPAGE
Lloh52:
	ldr	x8, [x8, _skip_evaluation@GOTPAGEOFF]
Lloh53:
	ldr	w8, [x8]
	cbnz	w8, LBB0_36
; %bb.53:
	mov	x0, x25
	bl	_TREE_TYPE
	bl	_TYPE_UNSIGNED
	mov	x23, x0
	mov	x0, x24
	bl	_TREE_TYPE
	bl	_TYPE_UNSIGNED
	cmp	w23, w0
	b.eq	LBB0_36
; %bb.54:
	mov	x24, x0
	mov	x0, x28
	bl	_TYPE_UNSIGNED
	cbz	w0, LBB0_36
; %bb.55:
	cbz	w24, LBB0_57
; %bb.56:
	add	x1, sp, #28
	mov	x0, x20
	bl	_tree_expr_nonnegative_warnv_p
	cbnz	x0, LBB0_36
LBB0_57:
	cbz	w23, LBB0_59
; %bb.58:
	add	x1, sp, #28
	mov	x0, x21
	bl	_tree_expr_nonnegative_warnv_p
	cbnz	x0, LBB0_36
LBB0_59:
Lloh54:
	adrp	x1, l_.str.1@PAGE
Lloh55:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	w0, #0
	bl	_warning
	b	LBB0_36
LBB0_60:
	cmp	w10, w12
	b.ne	LBB0_66
; %bb.61:
	cmp	w8, w26
	b.ne	LBB0_66
; %bb.62:
	mov	x0, x25
	bl	_null_pointer_constant_p
	cbz	x0, LBB0_77
; %bb.63:
Lloh56:
	adrp	x8, _null_pointer_node@GOTPAGE
Lloh57:
	ldr	x8, [x8, _null_pointer_node@GOTPAGEOFF]
Lloh58:
	ldr	x20, [x8]
	b	LBB0_83
LBB0_64:
	mov	x0, x28
	mov	x1, x22
	bl	_comp_target_types
	cbz	x0, LBB0_71
; %bb.65:
	mov	x0, x28
	mov	x1, x22
	bl	_common_pointer_type
	mov	x28, x0
	b	LBB0_36
LBB0_66:
	cmp	w9, w26
	b.ne	LBB0_73
; %bb.67:
	cmp	w8, w12
	b.ne	LBB0_73
; %bb.68:
	mov	x0, x24
	bl	_null_pointer_constant_p
	cbz	x0, LBB0_78
; %bb.69:
Lloh59:
	adrp	x8, _null_pointer_node@GOTPAGE
Lloh60:
	ldr	x8, [x8, _null_pointer_node@GOTPAGEOFF]
Lloh61:
	ldr	x1, [x8]
	mov	x0, x28
	bl	_convert
	mov	x21, x0
	b	LBB0_36
LBB0_70:
Lloh62:
	adrp	x0, l_.str.5@PAGE
Lloh63:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_pedwarn
	b	LBB0_36
LBB0_71:
	mov	x0, x25
	bl	_null_pointer_constant_p
	cbz	x0, LBB0_79
; %bb.72:
	mov	x0, x22
	mov	x1, x28
	b	LBB0_81
LBB0_73:
	cmp	w9, w12
	b.ne	LBB0_37
; %bb.74:
	cmp	w8, w26
	b.ne	LBB0_37
; %bb.75:
	mov	x0, x25
	bl	_null_pointer_constant_p
	cbz	x0, LBB0_82
; %bb.76:
Lloh64:
	adrp	x8, _null_pointer_node@GOTPAGE
Lloh65:
	ldr	x8, [x8, _null_pointer_node@GOTPAGEOFF]
Lloh66:
	ldr	x1, [x8]
	mov	x0, x22
	bl	_convert
	mov	x20, x0
	b	LBB0_83
LBB0_77:
Lloh67:
	adrp	x0, l_.str.5@PAGE
Lloh68:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_pedwarn
	b	LBB0_83
LBB0_78:
Lloh69:
	adrp	x0, l_.str.6@PAGE
Lloh70:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_error
	b	LBB0_36
LBB0_79:
	mov	x0, x24
	bl	_null_pointer_constant_p
	cbz	x0, LBB0_84
; %bb.80:
	mov	x0, x28
	mov	x1, x22
LBB0_81:
	bl	_qualify_type
	mov	x28, x0
	b	LBB0_36
LBB0_82:
Lloh71:
	adrp	x0, l_.str.6@PAGE
Lloh72:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_error
LBB0_83:
	mov	x28, x22
	b	LBB0_36
LBB0_84:
	ldr	w8, [x27]
	ldr	x9, [sp, #16]                   ; 8-byte Folded Reload
	cmp	w8, w9
	b.ne	LBB0_87
; %bb.85:
	mov	x0, x28
	bl	_TREE_TYPE
	bl	_VOID_TYPE_P
	cbnz	x0, LBB0_83
; %bb.86:
	ldr	w8, [x27]
	ldr	x28, [sp, #8]                   ; 8-byte Folded Reload
LBB0_87:
	cmp	w8, w26
	b.ne	LBB0_89
; %bb.88:
	mov	x0, x22
	bl	_TREE_TYPE
	bl	_VOID_TYPE_P
	cbnz	x0, LBB0_36
LBB0_89:
	mov	x0, x28
	bl	_TREE_TYPE
	bl	_VOID_TYPE_P
	cbz	x0, LBB0_94
; %bb.90:
Lloh73:
	adrp	x8, _pedantic@GOTPAGE
Lloh74:
	ldr	x8, [x8, _pedantic@GOTPAGEOFF]
Lloh75:
	ldr	x8, [x8]
	cbz	x8, LBB0_93
; %bb.91:
	mov	x0, x23
	bl	_TREE_TYPE
	bl	_TREE_CODE
Lloh76:
	adrp	x8, _FUNCTION_TYPE@GOTPAGE
Lloh77:
	ldr	x8, [x8, _FUNCTION_TYPE@GOTPAGEOFF]
Lloh78:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_93
; %bb.92:
Lloh79:
	adrp	x0, l_.str.3@PAGE
Lloh80:
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_pedwarn
LBB0_93:
	ldr	x0, [sp, #8]                    ; 8-byte Folded Reload
	bl	_TREE_TYPE
	mov	x22, x0
	mov	x0, x23
	bl	_TREE_TYPE
	mov	x1, x0
	mov	x0, x22
	b	LBB0_99
LBB0_94:
	mov	x0, x23
	bl	_TREE_TYPE
	bl	_VOID_TYPE_P
	cbz	x0, LBB0_101
; %bb.95:
Lloh81:
	adrp	x8, _pedantic@GOTPAGE
Lloh82:
	ldr	x8, [x8, _pedantic@GOTPAGEOFF]
Lloh83:
	ldr	x8, [x8]
	cbz	x8, LBB0_98
; %bb.96:
	ldr	x0, [sp, #8]                    ; 8-byte Folded Reload
	bl	_TREE_TYPE
	bl	_TREE_CODE
Lloh84:
	adrp	x8, _FUNCTION_TYPE@GOTPAGE
Lloh85:
	ldr	x8, [x8, _FUNCTION_TYPE@GOTPAGEOFF]
Lloh86:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_98
; %bb.97:
Lloh87:
	adrp	x0, l_.str.3@PAGE
Lloh88:
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_pedwarn
LBB0_98:
	mov	x0, x23
	bl	_TREE_TYPE
	mov	x23, x0
	ldr	x0, [sp, #8]                    ; 8-byte Folded Reload
	bl	_TREE_TYPE
	mov	x1, x0
	mov	x0, x23
LBB0_99:
	bl	_qualify_type
LBB0_100:
	bl	_build_pointer_type
	mov	x28, x0
	b	LBB0_36
LBB0_101:
Lloh89:
	adrp	x0, l_.str.4@PAGE
Lloh90:
	add	x0, x0, l_.str.4@PAGEOFF
	bl	_pedwarn
Lloh91:
	adrp	x8, _void_type_node@GOTPAGE
Lloh92:
	ldr	x8, [x8, _void_type_node@GOTPAGEOFF]
Lloh93:
	ldr	x0, [x8]
	b	LBB0_100
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpAdd	Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh16
	.loh AdrpLdrGot	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpAdd	Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpAdd	Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpAdd	Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpAdd	Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.loh AdrpAdd	Lloh67, Lloh68
	.loh AdrpAdd	Lloh69, Lloh70
	.loh AdrpAdd	Lloh71, Lloh72
	.loh AdrpLdrGotLdr	Lloh73, Lloh74, Lloh75
	.loh AdrpLdrGotLdr	Lloh76, Lloh77, Lloh78
	.loh AdrpAdd	Lloh79, Lloh80
	.loh AdrpLdrGotLdr	Lloh81, Lloh82, Lloh83
	.loh AdrpLdrGotLdr	Lloh84, Lloh85, Lloh86
	.loh AdrpAdd	Lloh87, Lloh88
	.loh AdrpLdrGotLdr	Lloh91, Lloh92, Lloh93
	.loh AdrpAdd	Lloh89, Lloh90
	.cfi_endproc
                                        ; -- End function
	.comm	_VOID_TYPE,8,3                  ; @VOID_TYPE
	.comm	_ERROR_MARK,8,3                 ; @ERROR_MARK
	.comm	_error_mark_node,8,3            ; @error_mark_node
	.comm	_ARRAY_TYPE,4,2                 ; @ARRAY_TYPE
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"non-lvalue array in conditional expression"

	.comm	_INTEGER_TYPE,4,2               ; @INTEGER_TYPE
	.comm	_REAL_TYPE,4,2                  ; @REAL_TYPE
	.comm	_COMPLEX_TYPE,4,2               ; @COMPLEX_TYPE
	.comm	_warn_sign_compare,8,3          ; @warn_sign_compare
	.comm	_skip_evaluation,4,2            ; @skip_evaluation
l_.str.1:                               ; @.str.1
	.asciz	"signed and unsigned type in conditional expression"

	.comm	_pedantic,8,3                   ; @pedantic
l_.str.2:                               ; @.str.2
	.asciz	"ISO C forbids conditional expr with only one void side"

	.comm	_void_type_node,8,3             ; @void_type_node
	.comm	_POINTER_TYPE,4,2               ; @POINTER_TYPE
	.comm	_BLOCK_POINTER_TYPE,4,2         ; @BLOCK_POINTER_TYPE
	.comm	_FUNCTION_TYPE,8,3              ; @FUNCTION_TYPE
l_.str.3:                               ; @.str.3
	.asciz	"ISO C forbids conditional expr between %<void *%> and function pointer"

l_.str.4:                               ; @.str.4
	.asciz	"pointer type mismatch in conditional expression"

l_.str.5:                               ; @.str.5
	.asciz	"pointer/integer type mismatch in conditional expression"

	.comm	_null_pointer_node,8,3          ; @null_pointer_node
l_.str.6:                               ; @.str.6
	.asciz	"block pointer/integer type mismatch in conditional expression"

	.comm	_flag_cond_mismatch,8,3         ; @flag_cond_mismatch
l_.str.7:                               ; @.str.7
	.asciz	"type mismatch in conditional expression"

	.comm	_COND_EXPR,4,2                  ; @COND_EXPR
.subsections_via_symbols
