// File: /workspace/github_c_makefile_star2_O0/lucvoo[P]sparse-dev/target-riscv.c
// Function: predefine_riscv
static void predefine_riscv(const struct target *self)
{
	static const char *cmodels[CMODEL_LAST] = {
		[CMODEL_MEDANY] = "medany",
		[CMODEL_MEDLOW] = "medlow",
		[CMODEL_PIC]    = "pic",
	};
	const char *cmodel = cmodels[arch_cmodel];

	predefine("__riscv", 1, "1");
	predefine("__riscv_xlen", 1, "%d", ptr_ctype.bit_size);

	if (riscv_flags & RISCV_ATOMIC)
		predefine("__riscv_atomic", 1, "1");
	if (riscv_flags & RISCV_COMP)
		predefine("__riscv_compressed", 1, "1");
	if (riscv_flags & RISCV_DIV)
		predefine("__riscv_div", 1, "1");
	if (riscv_flags & RISCV_EMBD)
		predefine("__riscv_32e", 1, "1");
	if (riscv_flags & RISCV_FPU)
		predefine("__riscv_flen", 1, "%d", (riscv_flags & RISCV_DOUBLE) ? 64 : 32);
	if (riscv_flags & RISCV_FDIV)
		predefine("__riscv_fdiv", 1, "1");
	if (riscv_flags & RISCV_FDIV)
		predefine("__riscv_fsqrt", 1, "1");
	if (riscv_flags & RISCV_MUL)
		predefine("__riscv_mul", 1, "1");
	if ((riscv_flags & RISCV_MUL) && (riscv_flags & RISCV_DIV))
		predefine("__riscv_muldiv", 1, "1");
	if (riscv_flags & RISCV_ZICSR)
		predefine("__riscv_zicsr", 1, "1");
	if (riscv_flags & RISCV_ZIFENCEI)
		predefine("__riscv_zifencei", 1, "1");
	if (riscv_flags & RISCV_ZICBOM)
		predefine("__riscv_zicbom", 1, "1");
	if (riscv_flags & RISCV_ZIHINTPAUSE)
		predefine("__riscv_zihintpause", 1, "1");

	if (cmodel)
		predefine_strong("__riscv_cmodel_%s", cmodel);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x49ee9(%rip), %rax     # 0x8d17c
movslq (%rax), %rcx
leaq 0x47683(%rip), %rax     # 0x8a920
movq (%rax,%rcx,8), %rax
movq %rax, -0x10(%rbp)
leaq 0x26930(%rip), %rdi     # 0x69bdc
movl $0x1, %esi
leaq 0x29cbf(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
leaq 0x4f652(%rip), %rax     # 0x92918
movl 0x50(%rax), %ecx
leaq 0x26914(%rip), %rdi     # 0x69be4
movl $0x1, %esi
leaq 0x2034f(%rip), %rdx     # 0x6362b
movb $0x0, %al
callq 0x2b3a0
movl 0x5108f(%rip), %eax     # 0x94378
andl $0x10, %eax
cmpl $0x0, %eax
je 0x4330b
leaq 0x268f9(%rip), %rdi     # 0x69bf1
movl $0x1, %esi
leaq 0x29c73(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
movl 0x51067(%rip), %eax     # 0x94378
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x43335
leaq 0x268de(%rip), %rdi     # 0x69c00
movl $0x1, %esi
leaq 0x29c49(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
movl 0x5103d(%rip), %eax     # 0x94378
andl $0x8, %eax
cmpl $0x0, %eax
je 0x4335d
leaq 0x268c9(%rip), %rdi     # 0x69c13
movl $0x1, %esi
leaq 0x29c21(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
movl 0x51015(%rip), %eax     # 0x94378
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x43387
leaq 0x268ab(%rip), %rdi     # 0x69c1f
movl $0x1, %esi
leaq 0x29bf7(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
movl 0x50feb(%rip), %eax     # 0x94378
andl $0xe0, %eax
cmpl $0x0, %eax
je 0x433ca
movl 0x50fdb(%rip), %edx     # 0x94378
andl $0x40, %edx
movl $0x20, %ecx
movl $0x40, %eax
cmpl $0x0, %edx
cmovnel %eax, %ecx
leaq 0x26874(%rip), %rdi     # 0x69c2b
movl $0x1, %esi
leaq 0x20268(%rip), %rdx     # 0x6362b
movb $0x0, %al
callq 0x2b3a0
movl 0x50fa8(%rip), %eax     # 0x94378
andl $0x80, %eax
cmpl $0x0, %eax
je 0x433f4
leaq 0x26857(%rip), %rdi     # 0x69c38
movl $0x1, %esi
leaq 0x29b8a(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
movl 0x50f7e(%rip), %eax     # 0x94378
andl $0x80, %eax
cmpl $0x0, %eax
je 0x4341e
leaq 0x2683a(%rip), %rdi     # 0x69c45
movl $0x1, %esi
leaq 0x29b60(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
movl 0x50f54(%rip), %eax     # 0x94378
andl $0x4, %eax
cmpl $0x0, %eax
je 0x43446
leaq 0x26820(%rip), %rdi     # 0x69c53
movl $0x1, %esi
leaq 0x29b38(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
movl 0x50f2c(%rip), %eax     # 0x94378
andl $0x4, %eax
cmpl $0x0, %eax
je 0x4347c
movl 0x50f1e(%rip), %eax     # 0x94378
andl $0x8, %eax
cmpl $0x0, %eax
je 0x4347c
leaq 0x267f6(%rip), %rdi     # 0x69c5f
movl $0x1, %esi
leaq 0x29b02(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
movl 0x50ef6(%rip), %eax     # 0x94378
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x434a6
leaq 0x267db(%rip), %rdi     # 0x69c6e
movl $0x1, %esi
leaq 0x29ad8(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
movl 0x50ecc(%rip), %eax     # 0x94378
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x434d0
leaq 0x267bf(%rip), %rdi     # 0x69c7c
movl $0x1, %esi
leaq 0x29aae(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
movl 0x50ea2(%rip), %eax     # 0x94378
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x434fa
leaq 0x267a6(%rip), %rdi     # 0x69c8d
movl $0x1, %esi
leaq 0x29a84(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
movl 0x50e78(%rip), %eax     # 0x94378
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x43524
leaq 0x2678b(%rip), %rdi     # 0x69c9c
movl $0x1, %esi
leaq 0x29a5a(%rip), %rdx     # 0x6cf77
movb $0x0, %al
callq 0x2b3a0
cmpq $0x0, -0x10(%rbp)
je 0x4353d
movq -0x10(%rbp), %rsi
leaq 0x2677a(%rip), %rdi     # 0x69cb0
movb $0x0, %al
callq 0x2b7e0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)