// File: /workspace/github_c_makefile_star2_O0/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 %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq 0x48781(%rip), %rax     # 0x8a710
movq %rax, -0x8(%rbp)
leaq 0x42846(%rip), %rax     # 0x847e0
movl (%rax), %eax
movq %rax, -0x10(%rbp)
subq $0x3, %rax
ja 0x42101
movq -0x10(%rbp), %rax
leaq 0x276d7(%rip), %rcx     # 0x6968c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x41fd5
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x41ffa
movl $0x4, 0x48707(%rip)     # 0x8a6e8
movq -0x8(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0x41ff8
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x41ffa
movl $0x20, 0x486d8(%rip)    # 0x8a6dc
movl $0x20, 0x486ee(%rip)    # 0x8a6fc
movl $0x4, 0x486e8(%rip)     # 0x8a700
leaq 0x4fcb9(%rip), %rax     # 0x91cd8
movq %rax, 0x485ca(%rip)     # 0x8a5f0
leaq 0x4faeb(%rip), %rax     # 0x91b18
movq %rax, 0x485c4(%rip)     # 0x8a5f8
leaq 0x5001d(%rip), %rax     # 0x92058
movq %rax, 0x485ce(%rip)     # 0x8a610
leaq 0x501cf(%rip), %rax     # 0x92218
movq %rax, 0x485c8(%rip)     # 0x8a618
leaq 0x50001(%rip), %rax     # 0x92058
movq %rax, 0x485a2(%rip)     # 0x8a600
leaq 0x501b3(%rip), %rax     # 0x92218
movq %rax, 0x4859c(%rip)     # 0x8a608
leaq 0x4ffe5(%rip), %rax     # 0x92058
movq %rax, 0x48636(%rip)     # 0x8a6b0
leaq 0x50197(%rip), %rax     # 0x92218
movq %rax, 0x48630(%rip)     # 0x8a6b8
jmp 0x42101
movl $0x20, 0x48648(%rip)    # 0x8a6dc
leaq 0x5017d(%rip), %rax     # 0x92218
movq %rax, 0x4854e(%rip)     # 0x8a5f0
leaq 0x4ffaf(%rip), %rax     # 0x92058
movq %rax, 0x48548(%rip)     # 0x8a5f8
leaq 0x4ffa1(%rip), %rax     # 0x92058
movq %rax, 0x48552(%rip)     # 0x8a610
leaq 0x50153(%rip), %rax     # 0x92218
movq %rax, 0x4854c(%rip)     # 0x8a618
leaq 0x4ff85(%rip), %rax     # 0x92058
movq %rax, 0x48526(%rip)     # 0x8a600
leaq 0x50137(%rip), %rax     # 0x92218
movq %rax, 0x48520(%rip)     # 0x8a608
movq -0x8(%rbp), %rax
cmpq $0x0, 0x40(%rax)
je 0x420ff
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x42101
movq -0x8(%rbp), %rax
movq %rax, 0x48604(%rip)     # 0x8a710
leaq 0x4b09d(%rip), %rax     # 0x8d1b0
movl (%rax), %eax
leaq 0x4b090(%rip), %rcx     # 0x8d1ac
cmpl (%rcx), %eax
jle 0x42132
leaq 0x4b089(%rip), %rax     # 0x8d1b0
movl (%rax), %ecx
leaq 0x4b07c(%rip), %rax     # 0x8d1ac
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x4214c
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x484e4(%rip)     # 0x8a630
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x42166
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x484d2(%rip)     # 0x8a638
movq -0x8(%rbp), %rax
cmpl $0x0, 0x28(%rax)
je 0x4217d
movq -0x8(%rbp), %rax
movl 0x28(%rax), %eax
movl %eax, 0x48577(%rip)     # 0x8a6f4
movq -0x8(%rbp), %rax
cmpl $0x0, 0x2c(%rax)
je 0x42194
movq -0x8(%rbp), %rax
movl 0x2c(%rax), %eax
movl %eax, 0x48564(%rip)     # 0x8a6f8
movq -0x8(%rbp), %rax
cmpq $0x0, 0x50(%rax)
je 0x421ad
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rax
movq -0x8(%rbp), %rdi
callq *%rax
leaq 0x4afcc(%rip), %rax     # 0x8d180
cmpl $0x0, (%rax)
jne 0x421cd
movq -0x8(%rbp), %rax
movb 0x8(%rax), %al
shrb $0x2, %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
je 0x421e9
leaq 0x4fda4(%rip), %rax     # 0x91f78
movq %rax, 0x48415(%rip)     # 0x8a5f0
leaq 0x4fbd6(%rip), %rax     # 0x91db8
movq %rax, 0x4840f(%rip)     # 0x8a5f8
leaq 0x4afc4(%rip), %rax     # 0x8d1b4
cmpl $0x0, (%rax)
je 0x42203
leaq 0x4f83c(%rip), %rax     # 0x91a38
movq %rax, 0x4842d(%rip)     # 0x8a630
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)