// File: /workspace/github_c_makefile_star2_O1/lucvoo[P]sparse-dev/target.c
// Function: target_init
void target_init(void)
{
	const struct target *target = arch_target;

	switch (arch_m64) {
	case ARCH_X32:
		if (target->target_x32bit)
			target = target->target_x32bit;
		goto case_32bit;

	case ARCH_LP32:
		max_int_alignment = 4;
		if (target->target_32bit)
			target = target->target_32bit;
		/* fallthrough */
	case_32bit:
		bits_in_long = 32;
		bits_in_pointer = 32;
		pointer_alignment = 4;
		size_t_ctype = &uint_ctype;
		ssize_t_ctype = &int_ctype;
		int64_ctype = &llong_ctype;
		uint64_ctype = &ullong_ctype;
		intmax_ctype = &llong_ctype;
		uintmax_ctype = &ullong_ctype;
		fast64_ctype = &llong_ctype;
		ufast64_ctype = &ullong_ctype;
		break;

	case ARCH_LLP64:
		bits_in_long = 32;
		size_t_ctype = &ullong_ctype;
		ssize_t_ctype = &llong_ctype;
		int64_ctype = &llong_ctype;
		uint64_ctype = &ullong_ctype;
		intmax_ctype = &llong_ctype;
		uintmax_ctype = &ullong_ctype;
		/* fallthrough */
	case ARCH_LP64:
		if (target->target_64bit)
			target = target->target_64bit;
		break;
	}
	arch_target = target;

	if (fpie > fpic)
		fpic = fpie;

	if (target->wchar)
		wchar_ctype = target->wchar;
	if (target->wint)
		wint_ctype = target->wint;
	if (target->bits_in_longdouble)
		bits_in_longdouble = target->bits_in_longdouble;
	if (target->max_fp_alignment)
		max_fp_alignment = target->max_fp_alignment;

	if (target->init)
		target->init(target);

	if (arch_msize_long || target->size_t_long) {
		size_t_ctype = &ulong_ctype;
		ssize_t_ctype = &long_ctype;
	}
	if (fshort_wchar)
		wchar_ctype = &ushort_ctype;
}

// Assembly:
pushq %rbx
movq 0x38993(%rip), %rbx     # 0x65740
leaq 0x347ac(%rip), %rax     # 0x61560
movl (%rax), %eax
cmpq $0x3, %rax
ja 0x2ceaf
leaq 0x1bbed(%rip), %rcx     # 0x489b4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x4, 0x3893e(%rip)     # 0x65718
movl $0x30, %eax
jmp 0x2ce35
movl $0x20, 0x38921(%rip)    # 0x6570c
leaq 0x40046(%rip), %rax     # 0x6ce38
movq %rax, 0x38827(%rip)     # 0x65620
leaq 0x3fe78(%rip), %rcx     # 0x6cc78
movq %rcx, 0x38821(%rip)     # 0x65628
movq %rcx, 0x38832(%rip)     # 0x65640
movq %rax, 0x38833(%rip)     # 0x65648
movq %rcx, 0x38814(%rip)     # 0x65630
movq %rax, 0x38815(%rip)     # 0x65638
movq 0x40(%rbx), %rax
testq %rax, %rax
cmovneq %rax, %rbx
jmp 0x2ceaf
movl $0x38, %eax
movq (%rbx,%rax), %rax
testq %rax, %rax
cmovneq %rax, %rbx
movl $0x20, %eax
movl %eax, 0x388c1(%rip)     # 0x6570c
movl %eax, 0x388db(%rip)     # 0x6572c
movl $0x4, 0x388d5(%rip)     # 0x65730
leaq 0x3fa96(%rip), %rax     # 0x6c8f8
movq %rax, 0x387b7(%rip)     # 0x65620
leaq 0x3f8c8(%rip), %rax     # 0x6c738
movq %rax, 0x387b1(%rip)     # 0x65628
leaq 0x3fdfa(%rip), %rax     # 0x6cc78
movq %rax, 0x387bb(%rip)     # 0x65640
leaq 0x3ffac(%rip), %rcx     # 0x6ce38
movq %rcx, 0x387b5(%rip)     # 0x65648
movq %rax, 0x38796(%rip)     # 0x65630
movq %rcx, 0x38797(%rip)     # 0x65638
movq %rax, 0x38838(%rip)     # 0x656e0
movq %rcx, 0x38839(%rip)     # 0x656e8
movq %rbx, 0x3888a(%rip)     # 0x65740
leaq 0x3af13(%rip), %rax     # 0x67dd0
movl (%rax), %eax
leaq 0x3af06(%rip), %rcx     # 0x67dcc
cmpl (%rcx), %eax
jle 0x2cecc
movl %eax, (%rcx)
movq 0x18(%rbx), %rax
testq %rax, %rax
je 0x2cedc
movq %rax, 0x38784(%rip)     # 0x65660
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x2ceec
movq %rax, 0x3877c(%rip)     # 0x65668
movl 0x28(%rbx), %eax
testl %eax, %eax
je 0x2cef9
movl %eax, 0x3882b(%rip)     # 0x65724
movl 0x2c(%rbx), %eax
testl %eax, %eax
je 0x2cf06
movl %eax, 0x38822(%rip)     # 0x65728
movq 0x50(%rbx), %rax
testq %rax, %rax
je 0x2cf14
movq %rbx, %rdi
callq *%rax
leaq 0x3ae85(%rip), %rax     # 0x67da0
cmpl $0x0, (%rax)
jne 0x2cf26
testb $0x4, 0x8(%rbx)
je 0x2cf42
leaq 0x3fc6b(%rip), %rax     # 0x6cb98
movq %rax, 0x386ec(%rip)     # 0x65620
leaq 0x3fa9d(%rip), %rax     # 0x6c9d8
movq %rax, 0x386e6(%rip)     # 0x65628
leaq 0x3ae8b(%rip), %rax     # 0x67dd4
cmpl $0x0, (%rax)
je 0x2cf5c
leaq 0x3f703(%rip), %rax     # 0x6c658
movq %rax, 0x38704(%rip)     # 0x65660
popq %rbx
retq
nop