// File: /workspace/github_c_makefile_star2_O2/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 0x368ef(%rip), %rbx     # 0x5e740
leaq 0x32708(%rip), %rax     # 0x5a560
movl (%rax), %eax
cmpq $0x3, %rax
ja 0x27f4c
leaq 0x18c99(%rip), %rcx     # 0x40b04
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x4, 0x3689a(%rip)     # 0x5e718
pushq $0x30
jmp 0x27ed3
movl $0x20, 0x36880(%rip)    # 0x5e70c
leaq 0x3dfa5(%rip), %rax     # 0x65e38
movq %rax, 0x36786(%rip)     # 0x5e620
leaq 0x3ddd7(%rip), %rcx     # 0x65c78
movq %rcx, 0x36780(%rip)     # 0x5e628
movq %rcx, 0x36791(%rip)     # 0x5e640
movq %rax, 0x36792(%rip)     # 0x5e648
movq %rcx, 0x36773(%rip)     # 0x5e630
movq %rax, 0x36774(%rip)     # 0x5e638
movq 0x40(%rbx), %rax
testq %rax, %rax
cmovneq %rax, %rbx
jmp 0x27f4c
pushq $0x38
popq %rax
movq (%rbx,%rax), %rax
testq %rax, %rax
cmovneq %rax, %rbx
pushq $0x20
popq %rax
movl %eax, 0x36824(%rip)     # 0x5e70c
movl %eax, 0x3683e(%rip)     # 0x5e72c
movl $0x4, 0x36838(%rip)     # 0x5e730
leaq 0x3d9f9(%rip), %rax     # 0x658f8
movq %rax, 0x3671a(%rip)     # 0x5e620
leaq 0x3d82b(%rip), %rax     # 0x65738
movq %rax, 0x36714(%rip)     # 0x5e628
leaq 0x3dd5d(%rip), %rax     # 0x65c78
movq %rax, 0x3671e(%rip)     # 0x5e640
leaq 0x3df0f(%rip), %rcx     # 0x65e38
movq %rcx, 0x36718(%rip)     # 0x5e648
movq %rax, 0x366f9(%rip)     # 0x5e630
movq %rcx, 0x366fa(%rip)     # 0x5e638
movq %rax, 0x3679b(%rip)     # 0x5e6e0
movq %rcx, 0x3679c(%rip)     # 0x5e6e8
movq %rbx, 0x367ed(%rip)     # 0x5e740
leaq 0x38e76(%rip), %rax     # 0x60dd0
movl (%rax), %eax
leaq 0x38e69(%rip), %rcx     # 0x60dcc
cmpl (%rcx), %eax
jle 0x27f69
movl %eax, (%rcx)
movq 0x18(%rbx), %rax
testq %rax, %rax
je 0x27f79
movq %rax, 0x366e7(%rip)     # 0x5e660
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x27f89
movq %rax, 0x366df(%rip)     # 0x5e668
movl 0x28(%rbx), %eax
testl %eax, %eax
je 0x27f96
movl %eax, 0x3678e(%rip)     # 0x5e724
movl 0x2c(%rbx), %eax
testl %eax, %eax
je 0x27fa3
movl %eax, 0x36785(%rip)     # 0x5e728
movq 0x50(%rbx), %rax
testq %rax, %rax
je 0x27fb1
movq %rbx, %rdi
callq *%rax
leaq 0x38de8(%rip), %rax     # 0x60da0
cmpl $0x0, (%rax)
jne 0x27fc3
testb $0x4, 0x8(%rbx)
je 0x27fdf
leaq 0x3dbce(%rip), %rax     # 0x65b98
movq %rax, 0x3664f(%rip)     # 0x5e620
leaq 0x3da00(%rip), %rax     # 0x659d8
movq %rax, 0x36649(%rip)     # 0x5e628
leaq 0x38dee(%rip), %rax     # 0x60dd4
cmpl $0x0, (%rax)
je 0x27ff9
leaq 0x3d666(%rip), %rax     # 0x65658
movq %rax, 0x36667(%rip)     # 0x5e660
popq %rbx
retq
nop