LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_get_ip
static void _asm_get_ip(
	ASMGeneratorGas32Context *ctx
) {
	ResizableString rstr_memref;
	rstr_init(&rstr_memref);
	_asm_inst_memref_base_disp(
		ctx,
		&rstr_memref,
		_ASM_REG_NAME_EBP,
		_FUNC_IP_STACK_OFFSET_STR
	);

	_asm_inst_mov_x_x(
		ctx,
		ctx->body,
		BE_TYPE_UINT32,
		_ASM_IP_REG,
		RSTR_CSTR(&rstr_memref)
	);

	rstr_free(&rstr_memref);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x8c90
movq -0x8(%rbp), %rdi
leaq -0x18(%rbp), %rsi
leaq 0x5569d(%rip), %rdx     # 0x76561
leaq 0x5569b(%rip), %rcx     # 0x76566
callq 0x10e00
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x20ef8
leaq 0x5504d(%rip), %rax     # 0x75f3f
movq %rax, -0x30(%rbp)
jmp 0x20f00
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %r8
movl $0x8, %edx
leaq 0x552fc(%rip), %rcx     # 0x76214
callq 0x20f30
leaq -0x18(%rbp), %rdi
callq 0x9310
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_mov_x_x
static void _asm_inst_mov_x_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	uint8_t type,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	ResizableString rstr_mnemonic;
	rstr_init_with_cstr(&rstr_mnemonic, "mov");
	rstr_append_with_char(
		&rstr_mnemonic,
		_asm_inst_type_suffix(ctx, type)
	);

	_asm_inst2(
		ctx,
		rstr,
		RSTR_CSTR(&rstr_mnemonic),
		source,
		target
	);

	rstr_free(&rstr_mnemonic);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x20f56
jmp 0x20f75
leaq 0x5f204(%rip), %rdi     # 0x80161
leaq 0x54994(%rip), %rsi     # 0x758f8
movl $0x2c0, %edx            # imm = 0x2C0
leaq 0x555f9(%rip), %rcx     # 0x76569
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x20f7e
jmp 0x20f9d
leaq 0x52b88(%rip), %rdi     # 0x73b0d
leaq 0x5496c(%rip), %rsi     # 0x758f8
movl $0x2c1, %edx            # imm = 0x2C1
leaq 0x555d1(%rip), %rcx     # 0x76569
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x20fa6
jmp 0x20fc5
leaq 0x5e387(%rip), %rdi     # 0x7f334
leaq 0x54944(%rip), %rsi     # 0x758f8
movl $0x2c2, %edx            # imm = 0x2C2
leaq 0x555a9(%rip), %rcx     # 0x76569
callq 0x30a0
cmpq $0x0, -0x28(%rbp)
je 0x20fce
jmp 0x20fed
leaq 0x5b25f(%rip), %rdi     # 0x7c234
leaq 0x5491c(%rip), %rsi     # 0x758f8
movl $0x2c3, %edx            # imm = 0x2C3
leaq 0x55581(%rip), %rcx     # 0x76569
callq 0x30a0
leaq -0x38(%rbp), %rdi
leaq 0x555dc(%rip), %rsi     # 0x765d4
callq 0x8cf0
movq -0x8(%rbp), %rdi
movzbl -0x11(%rbp), %esi
callq 0x21070
leaq -0x38(%rbp), %rdi
movsbl %al, %esi
callq 0x8ea0
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x2103a
leaq 0x54f0b(%rip), %rax     # 0x75f3f
movq %rax, -0x50(%rbp)
jmp 0x21042
movq -0x30(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %r8
callq 0x21140
leaq -0x38(%rbp), %rdi
callq 0x9310
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_type_suffix
static char _asm_inst_type_suffix(
	ASMGeneratorGas32Context *ctx,
	uint8_t type
) {
	assert(ctx);

	switch (type) {
		case BE_TYPE_CHAR:
		case BE_TYPE_INT8:
		case BE_TYPE_UINT8: {
			return 'b';
		}
		case BE_TYPE_INT16:
		case BE_TYPE_UINT16: {
			return 'w';
		}
		case BE_TYPE_INT32:
		case BE_TYPE_UINT32:
		case BE_TYPE_INT64:
		case BE_TYPE_UINT64:
		case BE_TYPE_FLOAT:
		case BE_TYPE_DOUBLE:
		case BE_TYPE_POINTER: {
			return 'l';
		}
		default: {
			assert(0);
			return '\0';
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2108b
jmp 0x210aa
leaq 0x5f0cf(%rip), %rdi     # 0x80161
leaq 0x5485f(%rip), %rsi     # 0x758f8
movl $0x131, %edx            # imm = 0x131
leaq 0x55533(%rip), %rcx     # 0x765d8
callq 0x30a0
movzbl -0x11(%rbp), %eax
movl %eax, -0x18(%rbp)
decl %eax
subl $0x2, %eax
jb 0x210fc
jmp 0x210ba
movl -0x18(%rbp), %eax
subl $0x3, %eax
je 0x21102
jmp 0x210c4
movl -0x18(%rbp), %eax
addl $-0x4, %eax
subl $0x2, %eax
jb 0x21108
jmp 0x210d1
movl -0x18(%rbp), %eax
subl $0x6, %eax
je 0x210fc
jmp 0x210db
movl -0x18(%rbp), %eax
subl $0x7, %eax
je 0x21102
jmp 0x210e5
movl -0x18(%rbp), %eax
addl $-0x8, %eax
subl $0x4, %eax
jb 0x21108
jmp 0x210f2
movl -0x18(%rbp), %eax
subl $0x10, %eax
je 0x21108
jmp 0x2110e
movb $0x62, -0x1(%rbp)
jmp 0x2112d
movb $0x77, -0x1(%rbp)
jmp 0x2112d
movb $0x6c, -0x1(%rbp)
jmp 0x2112d
leaq 0x52345(%rip), %rdi     # 0x7345a
leaq 0x547dc(%rip), %rsi     # 0x758f8
movl $0x147, %edx            # imm = 0x147
leaq 0x554b0(%rip), %rcx     # 0x765d8
callq 0x30a0
movb -0x1(%rbp), %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst2
static void _asm_inst2(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	const char *mnemonic,
	const char *arg1,
	const char *arg2
) {
	assert(ctx);
	assert(rstr);
	assert(mnemonic);
	assert(arg1);
	assert(arg2);

	rstr_appendf(
		rstr,
		"%s %s, %s\n",
		mnemonic,
		arg1,
		arg2
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x21165
jmp 0x21184
leaq 0x5eff5(%rip), %rdi     # 0x80161
leaq 0x54785(%rip), %rsi     # 0x758f8
movl $0x227, %edx            # imm = 0x227
leaq 0x55499(%rip), %rcx     # 0x76618
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x2118d
jmp 0x211ac
leaq 0x52979(%rip), %rdi     # 0x73b0d
leaq 0x5475d(%rip), %rsi     # 0x758f8
movl $0x228, %edx            # imm = 0x228
leaq 0x55471(%rip), %rcx     # 0x76618
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x211b5
jmp 0x211d4
leaq 0x554c5(%rip), %rdi     # 0x76681
leaq 0x54735(%rip), %rsi     # 0x758f8
movl $0x229, %edx            # imm = 0x229
leaq 0x55449(%rip), %rcx     # 0x76618
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x211dd
jmp 0x211fc
leaq 0x554a6(%rip), %rdi     # 0x7668a
leaq 0x5470d(%rip), %rsi     # 0x758f8
movl $0x22a, %edx            # imm = 0x22A
leaq 0x55421(%rip), %rcx     # 0x76618
callq 0x30a0
cmpq $0x0, -0x28(%rbp)
je 0x21205
jmp 0x21224
leaq 0x55483(%rip), %rdi     # 0x7668f
leaq 0x546e5(%rip), %rsi     # 0x758f8
movl $0x22b, %edx            # imm = 0x22B
leaq 0x553f9(%rip), %rcx     # 0x76618
callq 0x30a0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
leaq 0x55459(%rip), %rsi     # 0x76694
movb $0x0, %al
callq 0x94d0
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_mov_x_sym
static void _asm_inst_mov_x_sym(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	const char *target,
	ParserSymbol *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	_asm_inst_mov_x_x(
		ctx,
		rstr,
		BE_VAR_SYMBOL_GET_TYPE(source),
		target,
		RSTR_CSTR(BE_VAR_SYMBOL_GET_CODE_GEN_NAME(source))
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x21271
jmp 0x21290
leaq 0x5eee9(%rip), %rdi     # 0x80161
leaq 0x54679(%rip), %rsi     # 0x758f8
movl $0x2f1, %edx            # imm = 0x2F1
leaq 0x554d1(%rip), %rcx     # 0x7675c
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x21299
jmp 0x212b8
leaq 0x5286d(%rip), %rdi     # 0x73b0d
leaq 0x54651(%rip), %rsi     # 0x758f8
movl $0x2f2, %edx            # imm = 0x2F2
leaq 0x554a9(%rip), %rcx     # 0x7675c
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x212c1
jmp 0x212e0
leaq 0x5e06c(%rip), %rdi     # 0x7f334
leaq 0x54629(%rip), %rsi     # 0x758f8
movl $0x2f3, %edx            # imm = 0x2F3
leaq 0x55481(%rip), %rcx     # 0x7675c
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x212e9
jmp 0x21308
leaq 0x5af44(%rip), %rdi     # 0x7c234
leaq 0x54601(%rip), %rsi     # 0x758f8
movl $0x2f4, %edx            # imm = 0x2F4
leaq 0x55459(%rip), %rcx     # 0x7675c
callq 0x30a0
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rax
movb 0x30(%rax), %al
movb %al, -0x29(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x21342
leaq 0x54c03(%rip), %rax     # 0x75f3f
movq %rax, -0x48(%rbp)
jmp 0x2134e
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x28(%rbp), %rcx
movb -0x29(%rbp), %al
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %r8
movzbl %al, %edx
callq 0x20f30
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_lea_x_x
static void _asm_inst_lea_x_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "leal";

	_asm_inst2(
		ctx,
		rstr,
		mnemonic,
		source,
		target
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x21391
jmp 0x213b0
leaq 0x5edc9(%rip), %rdi     # 0x80161
leaq 0x54559(%rip), %rsi     # 0x758f8
movl $0x339, %edx            # imm = 0x339
leaq 0x554e0(%rip), %rcx     # 0x7688b
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x213b9
jmp 0x213d8
leaq 0x5274d(%rip), %rdi     # 0x73b0d
leaq 0x54531(%rip), %rsi     # 0x758f8
movl $0x33a, %edx            # imm = 0x33A
leaq 0x554b8(%rip), %rcx     # 0x7688b
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x213e1
jmp 0x21400
leaq 0x5df4c(%rip), %rdi     # 0x7f334
leaq 0x54509(%rip), %rsi     # 0x758f8
movl $0x33b, %edx            # imm = 0x33B
leaq 0x55490(%rip), %rcx     # 0x7688b
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x21409
jmp 0x21428
leaq 0x5ae24(%rip), %rdi     # 0x7c234
leaq 0x544e1(%rip), %rsi     # 0x758f8
movl $0x33c, %edx            # imm = 0x33C
leaq 0x55468(%rip), %rcx     # 0x7688b
callq 0x30a0
leaq 0x554be(%rip), %rax     # 0x768ed
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %r8
callq 0x21140
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_uint_const
static void _asm_inst_uint_const(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	uint64_t val
) {
	rstr_appendf(
		rstr,
		"$%llu",
		val
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x54bcf(%rip), %rsi     # 0x76a72
movb $0x0, %al
callq 0x94d0
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: out_literal_string
static void _out_literal_string(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	ParserASTNode *node
) {
	assert(ctx);
	assert(rstr);
	assert(node);
	assert(node->type == BE_NODE_LITERAL_STRING);
	
	ResizableString unescaped_str;
	rstr_init(&unescaped_str);
	be_lexer_unescape_string(
		ctx->psrctx->lexctx,
		&unescaped_str,
		node->token->content + 1,
		node->token->len - 2
	);

	rstr_append_with_cstr(
		rstr,
		RSTR_CSTR(&unescaped_str)
	);

	rstr_free(&unescaped_str);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2200d
jmp 0x2202c
leaq 0x5e14d(%rip), %rdi     # 0x80161
leaq 0x538dd(%rip), %rsi     # 0x758f8
movl $0x111b, %edx           # imm = 0x111B
leaq 0x54c0b(%rip), %rcx     # 0x76c32
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x22035
jmp 0x22054
leaq 0x51ad1(%rip), %rdi     # 0x73b0d
leaq 0x538b5(%rip), %rsi     # 0x758f8
movl $0x111c, %edx           # imm = 0x111C
leaq 0x54be3(%rip), %rcx     # 0x76c32
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x2205d
jmp 0x2207c
leaq 0x544f8(%rip), %rdi     # 0x7655c
leaq 0x5388d(%rip), %rsi     # 0x758f8
movl $0x111d, %edx           # imm = 0x111D
leaq 0x54bbb(%rip), %rcx     # 0x76c32
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0x303, (%rax)          # imm = 0x303
jne 0x2208a
jmp 0x220a9
leaq 0x54bfa(%rip), %rdi     # 0x76c8b
leaq 0x53860(%rip), %rsi     # 0x758f8
movl $0x111e, %edx           # imm = 0x111E
leaq 0x54b8e(%rip), %rcx     # 0x76c32
callq 0x30a0
leaq -0x28(%rbp), %rdi
callq 0x8c90
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
addq $0x1, %rdx
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x4(%rax), %eax
subl $0x2, %eax
movslq %eax, %rcx
leaq -0x28(%rbp), %rsi
callq 0x395e0
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x22102
leaq 0x53e43(%rip), %rax     # 0x75f3f
movq %rax, -0x38(%rbp)
jmp 0x2210a
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x8d70
leaq -0x28(%rbp), %rdi
callq 0x9310
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_push_x
static void _asm_inst_push_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	uint8_t type,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(source);

	ResizableString rstr_mnemonic;
	rstr_init_with_cstr(&rstr_mnemonic, "push");
	rstr_append_with_char(
		&rstr_mnemonic,
		_asm_inst_type_suffix(ctx, type)
	);

	_asm_inst1(
		ctx,
		rstr,
		RSTR_CSTR(&rstr_mnemonic),
		source
	);

	rstr_free(&rstr_mnemonic);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x221d2
jmp 0x221f1
leaq 0x5df88(%rip), %rdi     # 0x80161
leaq 0x53718(%rip), %rsi     # 0x758f8
movl $0x70d, %edx            # imm = 0x70D
leaq 0x54b96(%rip), %rcx     # 0x76d82
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x221fa
jmp 0x22219
leaq 0x5190c(%rip), %rdi     # 0x73b0d
leaq 0x536f0(%rip), %rsi     # 0x758f8
movl $0x70e, %edx            # imm = 0x70E
leaq 0x54b6e(%rip), %rcx     # 0x76d82
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x22222
jmp 0x22241
leaq 0x5a00b(%rip), %rdi     # 0x7c234
leaq 0x536c8(%rip), %rsi     # 0x758f8
movl $0x70f, %edx            # imm = 0x70F
leaq 0x54b46(%rip), %rcx     # 0x76d82
callq 0x30a0
leaq -0x30(%rbp), %rdi
leaq 0x54b92(%rip), %rsi     # 0x76dde
callq 0x8cf0
movq -0x8(%rbp), %rdi
movzbl -0x11(%rbp), %esi
callq 0x21070
leaq -0x30(%rbp), %rdi
movsbl %al, %esi
callq 0x8ea0
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x2228e
leaq 0x53cb7(%rip), %rax     # 0x75f3f
movq %rax, -0x48(%rbp)
jmp 0x22296
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x223d0
leaq -0x30(%rbp), %rdi
callq 0x9310
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_pop_x
static void _asm_inst_pop_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	uint8_t type,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	ResizableString rstr_mnemonic;
	rstr_init_with_cstr(&rstr_mnemonic, "pop");
	rstr_append_with_char(
		&rstr_mnemonic,
		_asm_inst_type_suffix(ctx, type)
	);

	_asm_inst1(
		ctx,
		rstr,
		RSTR_CSTR(&rstr_mnemonic),
		target
	);

	rstr_free(&rstr_mnemonic);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x222e2
jmp 0x22301
leaq 0x5de78(%rip), %rdi     # 0x80161
leaq 0x53608(%rip), %rsi     # 0x758f8
movl $0x72c, %edx            # imm = 0x72C
leaq 0x54b49(%rip), %rcx     # 0x76e45
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x2230a
jmp 0x22329
leaq 0x517fc(%rip), %rdi     # 0x73b0d
leaq 0x535e0(%rip), %rsi     # 0x758f8
movl $0x72d, %edx            # imm = 0x72D
leaq 0x54b21(%rip), %rcx     # 0x76e45
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x22332
jmp 0x22351
leaq 0x5cffb(%rip), %rdi     # 0x7f334
leaq 0x535b8(%rip), %rsi     # 0x758f8
movl $0x72e, %edx            # imm = 0x72E
leaq 0x54af9(%rip), %rcx     # 0x76e45
callq 0x30a0
leaq -0x30(%rbp), %rdi
leaq 0x54b44(%rip), %rsi     # 0x76ea0
callq 0x8cf0
movq -0x8(%rbp), %rdi
movzbl -0x11(%rbp), %esi
callq 0x21070
leaq -0x30(%rbp), %rdi
movsbl %al, %esi
callq 0x8ea0
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x2239e
leaq 0x53ba7(%rip), %rax     # 0x75f3f
movq %rax, -0x48(%rbp)
jmp 0x223a6
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x223d0
leaq -0x30(%rbp), %rdi
callq 0x9310
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst1
static void _asm_inst1(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	const char *mnemonic,
	const char *arg1
) {
	assert(ctx);
	assert(rstr);
	assert(mnemonic);
	assert(arg1);

	rstr_appendf(
		rstr,
		"%s %s\n",
		mnemonic,
		arg1
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x223f1
jmp 0x22410
leaq 0x5dd69(%rip), %rdi     # 0x80161
leaq 0x534f9(%rip), %rsi     # 0x758f8
movl $0x213, %edx            # imm = 0x213
leaq 0x549d8(%rip), %rcx     # 0x76de3
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x22419
jmp 0x22438
leaq 0x516ed(%rip), %rdi     # 0x73b0d
leaq 0x534d1(%rip), %rsi     # 0x758f8
movl $0x214, %edx            # imm = 0x214
leaq 0x549b0(%rip), %rcx     # 0x76de3
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x22441
jmp 0x22460
leaq 0x54239(%rip), %rdi     # 0x76681
leaq 0x534a9(%rip), %rsi     # 0x758f8
movl $0x215, %edx            # imm = 0x215
leaq 0x54988(%rip), %rcx     # 0x76de3
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x22469
jmp 0x22488
leaq 0x5421a(%rip), %rdi     # 0x7668a
leaq 0x53481(%rip), %rsi     # 0x758f8
movl $0x216, %edx            # imm = 0x216
leaq 0x54960(%rip), %rcx     # 0x76de3
callq 0x30a0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq 0x549a3(%rip), %rsi     # 0x76e3e
movb $0x0, %al
callq 0x94d0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: out_label
static void _out_label(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	const char *prefix,
	ParserASTNode *node_id
) {
	assert(ctx);
	assert(rstr);
	assert(node_id);

	ResizableString rstr_id;
	rstr_init_with_raw(&rstr_id, node_id->token->content, node_id->token->len);
	__out_label(ctx, rstr, prefix, RSTR_CSTR(&rstr_id));
	rstr_free(&rstr_id);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x224d1
jmp 0x224f0
leaq 0x5dc89(%rip), %rdi     # 0x80161
leaq 0x53419(%rip), %rsi     # 0x758f8
movl $0x271, %edx            # imm = 0x271
leaq 0x54adb(%rip), %rcx     # 0x76fc6
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x224f9
jmp 0x22518
leaq 0x5160d(%rip), %rdi     # 0x73b0d
leaq 0x533f1(%rip), %rsi     # 0x758f8
movl $0x272, %edx            # imm = 0x272
leaq 0x54ab3(%rip), %rcx     # 0x76fc6
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x22521
jmp 0x22540
leaq 0x54afc(%rip), %rdi     # 0x77024
leaq 0x533c9(%rip), %rsi     # 0x758f8
movl $0x273, %edx            # imm = 0x273
leaq 0x54a8b(%rip), %rcx     # 0x76fc6
callq 0x30a0
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x4(%rax), %edx
leaq -0x30(%rbp), %rdi
callq 0x8ee0
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x2258c
leaq 0x539b9(%rip), %rax     # 0x75f3f
movq %rax, -0x50(%rbp)
jmp 0x22594
movq -0x28(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x38(%rbp), %rdx
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rcx
callq 0x118c0
leaq -0x30(%rbp), %rdi
callq 0x9310
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_jmp_x
static void _asm_inst_jmp_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "jmp";

	_asm_inst1(ctx, rstr, mnemonic, target);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x225dd
jmp 0x225fc
leaq 0x5db7d(%rip), %rdi     # 0x80161
leaq 0x5330d(%rip), %rsi     # 0x758f8
movl $0x3fd, %edx            # imm = 0x3FD
leaq 0x54a92(%rip), %rcx     # 0x77089
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x22605
jmp 0x22624
leaq 0x51501(%rip), %rdi     # 0x73b0d
leaq 0x532e5(%rip), %rsi     # 0x758f8
movl $0x3fe, %edx            # imm = 0x3FE
leaq 0x54a6a(%rip), %rcx     # 0x77089
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x2262d
jmp 0x2264c
leaq 0x5cd00(%rip), %rdi     # 0x7f334
leaq 0x532bd(%rip), %rsi     # 0x758f8
movl $0x3ff, %edx            # imm = 0x3FF
leaq 0x54a42(%rip), %rcx     # 0x77089
callq 0x30a0
leaq 0x54a88(%rip), %rax     # 0x770db
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x223d0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_cmp_sym_x
static void _asm_inst_cmp_sym_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	ParserSymbol *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	_asm_inst_cmp_x_x(
		ctx,
		rstr,
		BE_VAR_SYMBOL_GET_TYPE(target),
		RSTR_CSTR(BE_VAR_SYMBOL_GET_CODE_GEN_NAME(target)),
		source
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x227e1
jmp 0x22800
leaq 0x5d979(%rip), %rdi     # 0x80161
leaq 0x53109(%rip), %rsi     # 0x758f8
movl $0x474, %edx            # imm = 0x474
leaq 0x54a19(%rip), %rcx     # 0x77214
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x22809
jmp 0x22828
leaq 0x512fd(%rip), %rdi     # 0x73b0d
leaq 0x530e1(%rip), %rsi     # 0x758f8
movl $0x475, %edx            # imm = 0x475
leaq 0x549f1(%rip), %rcx     # 0x77214
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x22831
jmp 0x22850
leaq 0x5cafc(%rip), %rdi     # 0x7f334
leaq 0x530b9(%rip), %rsi     # 0x758f8
movl $0x476, %edx            # imm = 0x476
leaq 0x549c9(%rip), %rcx     # 0x77214
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x22859
jmp 0x22878
leaq 0x599d4(%rip), %rdi     # 0x7c234
leaq 0x53091(%rip), %rsi     # 0x758f8
movl $0x477, %edx            # imm = 0x477
leaq 0x549a1(%rip), %rcx     # 0x77214
callq 0x30a0
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movb 0x30(%rax), %al
movb %al, -0x21(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x228aa
leaq 0x5369b(%rip), %rax     # 0x75f3f
movq %rax, -0x40(%rbp)
jmp 0x228b6
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x40(%rbp)
movb -0x21(%rbp), %al
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %r8
movzbl %al, %edx
callq 0x228e0
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_jz_x
static void _asm_inst_jz_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "jz";

	_asm_inst1(ctx, rstr, mnemonic, target);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x22a7d
jmp 0x22a9c
leaq 0x5d6dd(%rip), %rdi     # 0x80161
leaq 0x52e6d(%rip), %rsi     # 0x758f8
movl $0x419, %edx            # imm = 0x419
leaq 0x54852(%rip), %rcx     # 0x772e9
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x22aa5
jmp 0x22ac4
leaq 0x51061(%rip), %rdi     # 0x73b0d
leaq 0x52e45(%rip), %rsi     # 0x758f8
movl $0x41a, %edx            # imm = 0x41A
leaq 0x5482a(%rip), %rcx     # 0x772e9
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x22acd
jmp 0x22aec
leaq 0x5c860(%rip), %rdi     # 0x7f334
leaq 0x52e1d(%rip), %rsi     # 0x758f8
movl $0x41b, %edx            # imm = 0x41B
leaq 0x54802(%rip), %rcx     # 0x772e9
callq 0x30a0
leaq 0x54847(%rip), %rax     # 0x7733a
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x223d0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_jnz_x
static void _asm_inst_jnz_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "jnz";

	_asm_inst1(ctx, rstr, mnemonic, target);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x22b3d
jmp 0x22b5c
leaq 0x5d61d(%rip), %rdi     # 0x80161
leaq 0x52dad(%rip), %rsi     # 0x758f8
movl $0x435, %edx            # imm = 0x435
leaq 0x547e6(%rip), %rcx     # 0x7733d
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x22b65
jmp 0x22b84
leaq 0x50fa1(%rip), %rdi     # 0x73b0d
leaq 0x52d85(%rip), %rsi     # 0x758f8
movl $0x436, %edx            # imm = 0x436
leaq 0x547be(%rip), %rcx     # 0x7733d
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x22b8d
jmp 0x22bac
leaq 0x5c7a0(%rip), %rdi     # 0x7f334
leaq 0x52d5d(%rip), %rsi     # 0x758f8
movl $0x437, %edx            # imm = 0x437
leaq 0x54796(%rip), %rcx     # 0x7733d
callq 0x30a0
leaq 0x547dc(%rip), %rax     # 0x7738f
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x223d0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_lea_sym_sym
static void _asm_inst_lea_sym_sym(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	ParserSymbol *target,
	ParserSymbol *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);
	assert(BE_VAR_SYMBOL_GET_TYPE(target) == BE_TYPE_POINTER);

	const char *reg = _ASM_REG_NAME_EAX;

	_asm_inst_lea_x_sym(ctx, rstr, reg, source);
	_asm_inst_mov_sym_x(ctx, rstr, target, reg);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x22c01
jmp 0x22c20
leaq 0x5d559(%rip), %rdi     # 0x80161
leaq 0x52ce9(%rip), %rsi     # 0x758f8
movl $0x362, %edx            # imm = 0x362
leaq 0x5488d(%rip), %rcx     # 0x774a8
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x22c29
jmp 0x22c48
leaq 0x50edd(%rip), %rdi     # 0x73b0d
leaq 0x52cc1(%rip), %rsi     # 0x758f8
movl $0x363, %edx            # imm = 0x363
leaq 0x54865(%rip), %rcx     # 0x774a8
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x22c51
jmp 0x22c70
leaq 0x5c6dc(%rip), %rdi     # 0x7f334
leaq 0x52c99(%rip), %rsi     # 0x758f8
movl $0x364, %edx            # imm = 0x364
leaq 0x5483d(%rip), %rcx     # 0x774a8
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x22c79
jmp 0x22c98
leaq 0x595b4(%rip), %rdi     # 0x7c234
leaq 0x52c71(%rip), %rsi     # 0x758f8
movl $0x365, %edx            # imm = 0x365
leaq 0x54815(%rip), %rcx     # 0x774a8
callq 0x30a0
movq -0x18(%rbp), %rax
movzbl 0x30(%rax), %eax
cmpl $0x10, %eax
jne 0x22ca7
jmp 0x22cc6
leaq 0x54864(%rip), %rdi     # 0x77512
leaq 0x52c43(%rip), %rsi     # 0x758f8
movl $0x366, %edx            # imm = 0x366
leaq 0x547e7(%rip), %rcx     # 0x774a8
callq 0x30a0
leaq 0x53718(%rip), %rax     # 0x763e5
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x22d10
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x20080
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_lea_x_sym
static void _asm_inst_lea_x_sym(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	const char *target,
	ParserSymbol *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	_asm_inst_lea_x_x(
		ctx,
		rstr,
		target,
		RSTR_CSTR(BE_VAR_SYMBOL_GET_CODE_GEN_NAME(source))
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x22d31
jmp 0x22d50
leaq 0x5d429(%rip), %rdi     # 0x80161
leaq 0x52bb9(%rip), %rsi     # 0x758f8
movl $0x34f, %edx            # imm = 0x34F
leaq 0x547f9(%rip), %rcx     # 0x77544
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x22d59
jmp 0x22d78
leaq 0x50dad(%rip), %rdi     # 0x73b0d
leaq 0x52b91(%rip), %rsi     # 0x758f8
movl $0x350, %edx            # imm = 0x350
leaq 0x547d1(%rip), %rcx     # 0x77544
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x22d81
jmp 0x22da0
leaq 0x5c5ac(%rip), %rdi     # 0x7f334
leaq 0x52b69(%rip), %rsi     # 0x758f8
movl $0x351, %edx            # imm = 0x351
leaq 0x547a9(%rip), %rcx     # 0x77544
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x22da9
jmp 0x22dc8
leaq 0x59484(%rip), %rdi     # 0x7c234
leaq 0x52b41(%rip), %rsi     # 0x758f8
movl $0x352, %edx            # imm = 0x352
leaq 0x54781(%rip), %rcx     # 0x77544
callq 0x30a0
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x22df8
leaq 0x5314d(%rip), %rax     # 0x75f3f
movq %rax, -0x40(%rbp)
jmp 0x22e04
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rcx
callq 0x21370
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_movsx_x_x
static void _asm_inst_movsx_x_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	uint8_t target_type,
	const char *target,
	uint8_t source_type,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	ResizableString rstr_mnemonic;
	rstr_init_with_cstr(&rstr_mnemonic, "movs");
	rstr_append_with_char(
		&rstr_mnemonic,
		_asm_inst_type_suffix(ctx, source_type)
	);
	rstr_append_with_char(
		&rstr_mnemonic,
		_asm_inst_type_suffix(ctx, target_type)
	);

	_asm_inst2(
		ctx,
		rstr,
		RSTR_CSTR(&rstr_mnemonic),
		source,
		target
	);

	rstr_free(&rstr_mnemonic);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movb %r8b, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %dl, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
movb %al, -0x21(%rbp)
movq %r9, -0x30(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x22e4a
jmp 0x22e69
leaq 0x5d310(%rip), %rdi     # 0x80161
leaq 0x52aa0(%rip), %rsi     # 0x758f8
movl $0x48e, %edx            # imm = 0x48E
leaq 0x5494e(%rip), %rcx     # 0x777b2
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x22e72
jmp 0x22e91
leaq 0x50c94(%rip), %rdi     # 0x73b0d
leaq 0x52a78(%rip), %rsi     # 0x758f8
movl $0x48f, %edx            # imm = 0x48F
leaq 0x54926(%rip), %rcx     # 0x777b2
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x22e9a
jmp 0x22eb9
leaq 0x5c493(%rip), %rdi     # 0x7f334
leaq 0x52a50(%rip), %rsi     # 0x758f8
movl $0x490, %edx            # imm = 0x490
leaq 0x548fe(%rip), %rcx     # 0x777b2
callq 0x30a0
cmpq $0x0, -0x30(%rbp)
je 0x22ec2
jmp 0x22ee1
leaq 0x5936b(%rip), %rdi     # 0x7c234
leaq 0x52a28(%rip), %rsi     # 0x758f8
movl $0x491, %edx            # imm = 0x491
leaq 0x548d6(%rip), %rcx     # 0x777b2
callq 0x30a0
leaq -0x40(%rbp), %rdi
leaq 0x5493c(%rip), %rsi     # 0x77828
callq 0x8cf0
movq -0x8(%rbp), %rdi
movzbl -0x21(%rbp), %esi
callq 0x21070
leaq -0x40(%rbp), %rdi
movsbl %al, %esi
callq 0x8ea0
movq -0x8(%rbp), %rdi
movzbl -0x11(%rbp), %esi
callq 0x21070
leaq -0x40(%rbp), %rdi
movsbl %al, %esi
callq 0x8ea0
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x22f47
leaq 0x52ffe(%rip), %rax     # 0x75f3f
movq %rax, -0x58(%rbp)
jmp 0x22f4f
movq -0x38(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
movq -0x58(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %r8
callq 0x21140
leaq -0x40(%rbp), %rdi
callq 0x9310
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_memref_base
static void _asm_inst_memref_base(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	const char *base
) {
	assert(ctx);
	assert(rstr);
	assert(base);

	rstr_appendf(
		rstr,
		"(%s)",
		base
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2321d
jmp 0x2323c
leaq 0x5cf3d(%rip), %rdi     # 0x80161
leaq 0x526cd(%rip), %rsi     # 0x758f8
movl $0x1ca, %edx            # imm = 0x1CA
leaq 0x54743(%rip), %rcx     # 0x7797a
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x23245
jmp 0x23264
leaq 0x508c1(%rip), %rdi     # 0x73b0d
leaq 0x526a5(%rip), %rsi     # 0x758f8
movl $0x1cb, %edx            # imm = 0x1CB
leaq 0x5471b(%rip), %rcx     # 0x7797a
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x2326d
jmp 0x2328c
leaq 0x52dc2(%rip), %rdi     # 0x76036
leaq 0x5267d(%rip), %rsi     # 0x758f8
movl $0x1cc, %edx            # imm = 0x1CC
leaq 0x546f3(%rip), %rcx     # 0x7797a
callq 0x30a0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x52da7(%rip), %rsi     # 0x76042
movb $0x0, %al
callq 0x94d0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_cvtsi2ss_x_x
static void _asm_inst_cvtsi2ss_x_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	uint8_t type,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(type == BE_TYPE_INT32 || type == BE_TYPE_INT64);
	assert(target);
	assert(source);

	ResizableString rstr_mnemonic;
	rstr_init_with_cstr(&rstr_mnemonic, "cvtsi2ss");
	rstr_append_with_char(
		&rstr_mnemonic,
		_asm_inst_type_suffix(ctx, type)
	);

	_asm_inst2(
		ctx,
		rstr,
		RSTR_CSTR(&rstr_mnemonic),
		source,
		target
	);

	rstr_free(&rstr_mnemonic);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x232d6
jmp 0x232f5
leaq 0x5ce84(%rip), %rdi     # 0x80161
leaq 0x52614(%rip), %rsi     # 0x758f8
movl $0x4db, %edx            # imm = 0x4DB
leaq 0x546e2(%rip), %rcx     # 0x779d2
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x232fe
jmp 0x2331d
leaq 0x50808(%rip), %rdi     # 0x73b0d
leaq 0x525ec(%rip), %rsi     # 0x758f8
movl $0x4dc, %edx            # imm = 0x4DC
leaq 0x546ba(%rip), %rcx     # 0x779d2
callq 0x30a0
movzbl -0x11(%rbp), %eax
cmpl $0x4, %eax
je 0x2332f
movzbl -0x11(%rbp), %eax
cmpl $0x5, %eax
jne 0x23331
jmp 0x23350
leaq 0x5470a(%rip), %rdi     # 0x77a42
leaq 0x525b9(%rip), %rsi     # 0x758f8
movl $0x4dd, %edx            # imm = 0x4DD
leaq 0x54687(%rip), %rcx     # 0x779d2
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x23359
jmp 0x23378
leaq 0x5bfd4(%rip), %rdi     # 0x7f334
leaq 0x52591(%rip), %rsi     # 0x758f8
movl $0x4de, %edx            # imm = 0x4DE
leaq 0x5465f(%rip), %rcx     # 0x779d2
callq 0x30a0
cmpq $0x0, -0x28(%rbp)
je 0x23381
jmp 0x233a0
leaq 0x58eac(%rip), %rdi     # 0x7c234
leaq 0x52569(%rip), %rsi     # 0x758f8
movl $0x4df, %edx            # imm = 0x4DF
leaq 0x54637(%rip), %rcx     # 0x779d2
callq 0x30a0
leaq -0x38(%rbp), %rdi
leaq 0x546c6(%rip), %rsi     # 0x77a71
callq 0x8cf0
movq -0x8(%rbp), %rdi
movzbl -0x11(%rbp), %esi
callq 0x21070
leaq -0x38(%rbp), %rdi
movsbl %al, %esi
callq 0x8ea0
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x233ed
leaq 0x52b58(%rip), %rax     # 0x75f3f
movq %rax, -0x50(%rbp)
jmp 0x233f5
movq -0x30(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %r8
callq 0x21140
leaq -0x38(%rbp), %rdi
callq 0x9310
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_movss_sym_x
static void _asm_inst_movss_sym_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	ParserSymbol *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	_asm_inst_movss_x_x(
		ctx,
		rstr,
		RSTR_CSTR(BE_VAR_SYMBOL_GET_CODE_GEN_NAME(target)),
		source
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x23441
jmp 0x23460
leaq 0x5cd19(%rip), %rdi     # 0x80161
leaq 0x524a9(%rip), %rsi     # 0x758f8
movl $0x536, %edx            # imm = 0x536
leaq 0x5461f(%rip), %rcx     # 0x77a7a
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x23469
jmp 0x23488
leaq 0x5069d(%rip), %rdi     # 0x73b0d
leaq 0x52481(%rip), %rsi     # 0x758f8
movl $0x537, %edx            # imm = 0x537
leaq 0x545f7(%rip), %rcx     # 0x77a7a
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x23491
jmp 0x234b0
leaq 0x5be9c(%rip), %rdi     # 0x7f334
leaq 0x52459(%rip), %rsi     # 0x758f8
movl $0x538, %edx            # imm = 0x538
leaq 0x545cf(%rip), %rcx     # 0x77a7a
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x234b9
jmp 0x234d8
leaq 0x58d74(%rip), %rdi     # 0x7c234
leaq 0x52431(%rip), %rsi     # 0x758f8
movl $0x539, %edx            # imm = 0x539
leaq 0x545a7(%rip), %rcx     # 0x77a7a
callq 0x30a0
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x23500
leaq 0x52a45(%rip), %rax     # 0x75f3f
movq %rax, -0x38(%rbp)
jmp 0x2350c
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rsi
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x237b0
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_cvtsi2sd_x_x
static void _asm_inst_cvtsi2sd_x_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	uint8_t type,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(type == BE_TYPE_INT32 || type == BE_TYPE_INT64);
	assert(target);
	assert(source);

	ResizableString rstr_mnemonic;
	rstr_init_with_cstr(&rstr_mnemonic, "cvtsi2sd");
	rstr_append_with_char(
		&rstr_mnemonic,
		_asm_inst_type_suffix(ctx, type)
	);

	_asm_inst2(
		ctx,
		rstr,
		RSTR_CSTR(&rstr_mnemonic),
		source,
		target
	);

	rstr_free(&rstr_mnemonic);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x23556
jmp 0x23575
leaq 0x5cc04(%rip), %rdi     # 0x80161
leaq 0x52394(%rip), %rsi     # 0x758f8
movl $0x4fe, %edx            # imm = 0x4FE
leaq 0x545dc(%rip), %rcx     # 0x77b4c
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x2357e
jmp 0x2359d
leaq 0x50588(%rip), %rdi     # 0x73b0d
leaq 0x5236c(%rip), %rsi     # 0x758f8
movl $0x4ff, %edx            # imm = 0x4FF
leaq 0x545b4(%rip), %rcx     # 0x77b4c
callq 0x30a0
movzbl -0x11(%rbp), %eax
cmpl $0x4, %eax
je 0x235af
movzbl -0x11(%rbp), %eax
cmpl $0x5, %eax
jne 0x235b1
jmp 0x235d0
leaq 0x5448a(%rip), %rdi     # 0x77a42
leaq 0x52339(%rip), %rsi     # 0x758f8
movl $0x500, %edx            # imm = 0x500
leaq 0x54581(%rip), %rcx     # 0x77b4c
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x235d9
jmp 0x235f8
leaq 0x5bd54(%rip), %rdi     # 0x7f334
leaq 0x52311(%rip), %rsi     # 0x758f8
movl $0x501, %edx            # imm = 0x501
leaq 0x54559(%rip), %rcx     # 0x77b4c
callq 0x30a0
cmpq $0x0, -0x28(%rbp)
je 0x23601
jmp 0x23620
leaq 0x58c2c(%rip), %rdi     # 0x7c234
leaq 0x522e9(%rip), %rsi     # 0x758f8
movl $0x502, %edx            # imm = 0x502
leaq 0x54531(%rip), %rcx     # 0x77b4c
callq 0x30a0
leaq -0x38(%rbp), %rdi
leaq 0x54591(%rip), %rsi     # 0x77bbc
callq 0x8cf0
movq -0x8(%rbp), %rdi
movzbl -0x11(%rbp), %esi
callq 0x21070
leaq -0x38(%rbp), %rdi
movsbl %al, %esi
callq 0x8ea0
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x2366d
leaq 0x528d8(%rip), %rax     # 0x75f3f
movq %rax, -0x50(%rbp)
jmp 0x23675
movq -0x30(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %r8
callq 0x21140
leaq -0x38(%rbp), %rdi
callq 0x9310
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_movsd_sym_x
static void _asm_inst_movsd_sym_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	ParserSymbol *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	_asm_inst_movsd_x_x(
		ctx,
		rstr,
		RSTR_CSTR(BE_VAR_SYMBOL_GET_CODE_GEN_NAME(target)),
		source
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x236c1
jmp 0x236e0
leaq 0x5ca99(%rip), %rdi     # 0x80161
leaq 0x52229(%rip), %rsi     # 0x758f8
movl $0x576, %edx            # imm = 0x576
leaq 0x544ea(%rip), %rcx     # 0x77bc5
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x236e9
jmp 0x23708
leaq 0x5041d(%rip), %rdi     # 0x73b0d
leaq 0x52201(%rip), %rsi     # 0x758f8
movl $0x577, %edx            # imm = 0x577
leaq 0x544c2(%rip), %rcx     # 0x77bc5
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x23711
jmp 0x23730
leaq 0x5bc1c(%rip), %rdi     # 0x7f334
leaq 0x521d9(%rip), %rsi     # 0x758f8
movl $0x578, %edx            # imm = 0x578
leaq 0x5449a(%rip), %rcx     # 0x77bc5
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x23739
jmp 0x23758
leaq 0x58af4(%rip), %rdi     # 0x7c234
leaq 0x521b1(%rip), %rsi     # 0x758f8
movl $0x579, %edx            # imm = 0x579
leaq 0x54472(%rip), %rcx     # 0x77bc5
callq 0x30a0
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x23780
leaq 0x527c5(%rip), %rax     # 0x75f3f
movq %rax, -0x38(%rbp)
jmp 0x2378c
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rsi
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x238a0
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_movss_x_x
static void _asm_inst_movss_x_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "movss";

	_asm_inst2(
		ctx,
		rstr,
		mnemonic,
		source,
		target
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x237d1
jmp 0x237f0
leaq 0x5c989(%rip), %rdi     # 0x80161
leaq 0x52119(%rip), %rsi     # 0x758f8
movl $0x520, %edx            # imm = 0x520
leaq 0x542f7(%rip), %rcx     # 0x77ae2
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x237f9
jmp 0x23818
leaq 0x5030d(%rip), %rdi     # 0x73b0d
leaq 0x520f1(%rip), %rsi     # 0x758f8
movl $0x521, %edx            # imm = 0x521
leaq 0x542cf(%rip), %rcx     # 0x77ae2
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x23821
jmp 0x23840
leaq 0x5bb0c(%rip), %rdi     # 0x7f334
leaq 0x520c9(%rip), %rsi     # 0x758f8
movl $0x522, %edx            # imm = 0x522
leaq 0x542a7(%rip), %rcx     # 0x77ae2
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x23849
jmp 0x23868
leaq 0x589e4(%rip), %rdi     # 0x7c234
leaq 0x520a1(%rip), %rsi     # 0x758f8
movl $0x523, %edx            # imm = 0x523
leaq 0x5427f(%rip), %rcx     # 0x77ae2
callq 0x30a0
leaq 0x542d7(%rip), %rax     # 0x77b46
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %r8
callq 0x21140
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas32.c
// Function: asm_inst_movsd_x_x
static void _asm_inst_movsd_x_x(
	ASMGeneratorGas32Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "movsd";

	_asm_inst2(
		ctx,
		rstr,
		mnemonic,
		source,
		target
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x238c1
jmp 0x238e0
leaq 0x5c899(%rip), %rdi     # 0x80161
leaq 0x52029(%rip), %rsi     # 0x758f8
movl $0x560, %edx            # imm = 0x560
leaq 0x54352(%rip), %rcx     # 0x77c2d
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x238e9
jmp 0x23908
leaq 0x5021d(%rip), %rdi     # 0x73b0d
leaq 0x52001(%rip), %rsi     # 0x758f8
movl $0x561, %edx            # imm = 0x561
leaq 0x5432a(%rip), %rcx     # 0x77c2d
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x23911
jmp 0x23930
leaq 0x5ba1c(%rip), %rdi     # 0x7f334
leaq 0x51fd9(%rip), %rsi     # 0x758f8
movl $0x562, %edx            # imm = 0x562
leaq 0x54302(%rip), %rcx     # 0x77c2d
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x23939
jmp 0x23958
leaq 0x588f4(%rip), %rdi     # 0x7c234
leaq 0x51fb1(%rip), %rsi     # 0x758f8
movl $0x563, %edx            # imm = 0x563
leaq 0x542da(%rip), %rcx     # 0x77c2d
callq 0x30a0
leaq 0x54332(%rip), %rax     # 0x77c91
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %r8
callq 0x21140
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)