~oriansj/M2-Planet

c82fb8c3530e93fd49efe60da785ffff827ea4db — Andrius Štikonas 4 months ago 754c5de master
Switch to lowercase riscv M1 defines.
4 files changed, 430 insertions(+), 430 deletions(-)

M M2libc
M cc_core.c
M test/test.answers
M test/test1000/proof.answer
M M2libc => M2libc +1 -1
@@ 1,1 1,1 @@
Subproject commit 1f4ac53d050bbd976deb40de3c9b4bd1de2782e3
Subproject commit de7c75f144176c3b9be77695d9bf94440445aeae

M cc_core.c => cc_core.c +177 -177
@@ 184,19 184,19 @@ void function_call(char* s, int bool)
	}
	else if(RISCV32 == Architecture)
	{
		emit_out("RD_SP RS1_SP !-12 ADDI\t# Allocate stack\n");
		emit_out("RS1_SP RS2_RA @4 SW\t# Protect the old return pointer\n");
		emit_out("RS1_SP RS2_FP SW\t# Protect the old frame pointer\n");
		emit_out("RS1_SP RS2_TP @8 SW\t# Protect temp register we are going to use\n");
		emit_out("RD_TP RS1_SP MV\t# The base pointer to-be\n");
		emit_out("rd_sp rs1_sp !-12 addi\t# Allocate stack\n");
		emit_out("rs1_sp rs2_ra @4 sw\t# Protect the old return pointer\n");
		emit_out("rs1_sp rs2_fp sw\t# Protect the old frame pointer\n");
		emit_out("rs1_sp rs2_tp @8 sw\t# Protect temp register we are going to use\n");
		emit_out("rd_tp rs1_sp mv\t# The base pointer to-be\n");
	}
	else if(RISCV64 == Architecture)
	{
		emit_out("RD_SP RS1_SP !-24 ADDI\t# Allocate stack\n");
		emit_out("RS1_SP RS2_RA @8 SD\t# Protect the old return pointer\n");
		emit_out("RS1_SP RS2_FP SD\t# Protect the old frame pointer\n");
		emit_out("RS1_SP RS2_TP @16 SD\t# Protect temp register we are going to use\n");
		emit_out("RD_TP RS1_SP MV\t# The base pointer to-be\n");
		emit_out("rd_sp rs1_sp !-24 addi\t# Allocate stack\n");
		emit_out("rs1_sp rs2_ra @8 sd\t# Protect the old return pointer\n");
		emit_out("rs1_sp rs2_fp sd\t# Protect the old frame pointer\n");
		emit_out("rs1_sp rs2_tp @16 sd\t# Protect temp register we are going to use\n");
		emit_out("rd_tp rs1_sp mv\t# The base pointer to-be\n");
	}

	if(global_token->s[0] != ')')


@@ 208,8 208,8 @@ void function_call(char* s, int bool)
		else if(AMD64 == Architecture) emit_out("push_rax\t#_process_expression1\n");
		else if(ARMV7L == Architecture) emit_out("{R0} PUSH_ALWAYS\t#_process_expression1\n");
		else if(AARCH64 == Architecture) emit_out("PUSH_X0\t#_process_expression1\n");
		else if(RISCV32 == Architecture) emit_out("RD_SP RS1_SP !-4 ADDI\nRS1_SP RS2_A0 SW\t#_process_expression1\n");
		else if(RISCV64 == Architecture) emit_out("RD_SP RS1_SP !-8 ADDI\nRS1_SP RS2_A0 SD\t#_process_expression1\n");
		else if(RISCV32 == Architecture) emit_out("rd_sp rs1_sp !-4 addi\nrs1_sp rs2_a0 sw\t#_process_expression1\n");
		else if(RISCV64 == Architecture) emit_out("rd_sp rs1_sp !-8 addi\nrs1_sp rs2_a0 sd\t#_process_expression1\n");
		passed = 1;

		while(global_token->s[0] == ',')


@@ 222,8 222,8 @@ void function_call(char* s, int bool)
			else if(AMD64 == Architecture) emit_out("push_rax\t#_process_expression2\n");
			else if(ARMV7L == Architecture) emit_out("{R0} PUSH_ALWAYS\t#_process_expression2\n");
			else if(AARCH64 == Architecture) emit_out("PUSH_X0\t#_process_expression2\n");
			else if(RISCV32 == Architecture) emit_out("RD_SP RS1_SP !-4 ADDI\nRS1_SP RS2_A0 SW\t#_process_expression2\n");
			else if(RISCV64 == Architecture) emit_out("RD_SP RS1_SP !-8 ADDI\nRS1_SP RS2_A0 SD\t#_process_expression2\n");
			else if(RISCV32 == Architecture) emit_out("rd_sp rs1_sp !-4 addi\nrs1_sp rs2_a0 sw\t#_process_expression2\n");
			else if(RISCV64 == Architecture) emit_out("rd_sp rs1_sp !-8 addi\nrs1_sp rs2_a0 sd\t#_process_expression2\n");
			passed = passed + 1;
		}
	}


@@ 279,21 279,21 @@ void function_call(char* s, int bool)
		}
		else if(RISCV32 == Architecture)
		{
			emit_out("RD_A0 RS1_FP !");
			emit_out("rd_a0 rs1_fp !");
			emit_out(s);
			emit_out(" ADDI\n");
			emit_out("RD_A0 RS1_A0 LW\n");
			emit_out("RD_FP RS1_TP MV\n");
			emit_out("RD_RA RS1_A0 JALR\n");
			emit_out(" addi\n");
			emit_out("rd_a0 rs1_a0 lw\n");
			emit_out("rd_fp rs1_tp mv\n");
			emit_out("rd_ra rs1_a0 jalr\n");
		}
		else if(RISCV64 == Architecture)
		{
			emit_out("RD_A0 RS1_FP !");
			emit_out("rd_a0 rs1_fp !");
			emit_out(s);
			emit_out(" ADDI\n");
			emit_out("RD_A0 RS1_A0 LD\n");
			emit_out("RD_FP RS1_TP MV\n");
			emit_out("RD_RA RS1_A0 JALR\n");
			emit_out(" addi\n");
			emit_out("rd_a0 rs1_a0 ld\n");
			emit_out("rd_fp rs1_tp mv\n");
			emit_out("rd_ra rs1_a0 jalr\n");
		}
	}
	else


@@ 338,10 338,10 @@ void function_call(char* s, int bool)
		}
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
		{
			emit_out("RD_FP RS1_TP MV\n");
			emit_out("RD_RA $FUNCTION_");
			emit_out("rd_fp rs1_tp mv\n");
			emit_out("rd_ra $FUNCTION_");
			emit_out(s);
			emit_out(" JAL\n");
			emit_out(" jal\n");
		}
	}



@@ 352,8 352,8 @@ void function_call(char* s, int bool)
		else if(AMD64 == Architecture) emit_out("pop_rbx\t# _process_expression_locals\n");
		else if(ARMV7L == Architecture) emit_out("{R1} POP_ALWAYS\t# _process_expression_locals\n");
		else if(AARCH64 == Architecture) emit_out("POP_X1\t# _process_expression_locals\n");
		else if(RISCV32 == Architecture) emit_out("RD_A1 RS1_SP LW\t# _process_expression_locals\nRD_SP RS1_SP !4 ADDI\n");
		else if(RISCV64 == Architecture) emit_out("RD_A1 RS1_SP LD\t# _process_expression_locals\nRD_SP RS1_SP !8 ADDI\n");
		else if(RISCV32 == Architecture) emit_out("rd_a1 rs1_sp lw\t# _process_expression_locals\nrd_sp rs1_sp !4 addi\n");
		else if(RISCV64 == Architecture) emit_out("rd_a1 rs1_sp ld\t# _process_expression_locals\nrd_sp rs1_sp !8 addi\n");
	}

	if((KNIGHT_POSIX == Architecture) || (KNIGHT_NATIVE == Architecture))


@@ 384,17 384,17 @@ void function_call(char* s, int bool)
	}
	else if(RISCV32 == Architecture)
	{
		emit_out("RD_FP RS1_SP LW\t# Restore old frame pointer\n");
		emit_out("RD_TP RS1_SP !8 LW\t# Restore temp register\n");
		emit_out("RD_RA RS1_SP !4 LW\t# Restore return address\n");
		emit_out("RD_SP RS1_SP !12 ADDI\t# Deallocate stack\n");
		emit_out("rd_fp rs1_sp lw\t# Restore old frame pointer\n");
		emit_out("rd_tp rs1_sp !8 lw\t# Restore temp register\n");
		emit_out("rd_ra rs1_sp !4 lw\t# Restore return address\n");
		emit_out("rd_sp rs1_sp !12 addi\t# Deallocate stack\n");
	}
	else if(RISCV64 == Architecture)
	{
		emit_out("RD_FP RS1_SP LD\t# Restore old frame pointer\n");
		emit_out("RD_TP RS1_SP !16 LD\t# Restore temp register\n");
		emit_out("RD_RA RS1_SP !8 LD\t# Restore return address\n");
		emit_out("RD_SP RS1_SP !24 ADDI\t# Deallocate stack\n");
		emit_out("rd_fp rs1_sp ld\t# Restore old frame pointer\n");
		emit_out("rd_tp rs1_sp !16 ld\t# Restore temp register\n");
		emit_out("rd_ra rs1_sp !8 ld\t# Restore return address\n");
		emit_out("rd_sp rs1_sp !24 addi\t# Deallocate stack\n");
	}
}



@@ 407,13 407,13 @@ void constant_load(struct token_list* a)
	else if(AARCH64 == Architecture) emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n%");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
	{
		emit_out("RD_A0 ~");
		emit_out("rd_a0 ~");
		emit_out(a->arguments->s);
		emit_out(" LUI\nRD_A0 RS1_A0 !");
		emit_out(" lui\nrd_a0 rs1_a0 !");
	}
	emit_out(a->arguments->s);
	if(RISCV32 == Architecture) emit_out(" ADDI\n");
	else if(RISCV64 == Architecture) emit_out(" ADDIW\n");
	if(RISCV32 == Architecture) emit_out(" addi\n");
	else if(RISCV64 == Architecture) emit_out(" addiw\n");
	emit_out("\n");
}



@@ 426,7 426,7 @@ char* load_value_signed(unsigned size)
		else if(AMD64 == Architecture) return "movsx_rax,BYTE_PTR_[rax]\n";
		else if(ARMV7L == Architecture) return "LOADS8 R0 LOAD R0 HALF_MEMORY\n";
		else if(AARCH64 == Architecture) return "LDRSB_X0_[X0]\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) return "RD_A0 RS1_A0 LB\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) return "rd_a0 rs1_a0 lb\n";
	}
	else if(size == 2)
	{


@@ 435,7 435,7 @@ char* load_value_signed(unsigned size)
		else if(AMD64 == Architecture) return "movsx_rax,WORD_PTR_[rax]\n";
		else if(ARMV7L == Architecture) return "LOADS16 R0 LOAD R0 HALF_MEMORY\n";
		else if(AARCH64 == Architecture) return "LDRSH_X0_[X0]\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) return "RD_A0 RS1_A0 LH\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) return "rd_a0 rs1_a0 lh\n";
	}
	else if(size == 4)
	{


@@ 444,13 444,13 @@ char* load_value_signed(unsigned size)
		else if(AMD64 == Architecture) return "movsx_rax,DWORD_PTR_[rax]\n";
		else if(ARMV7L == Architecture) return "!0 R0 LOAD32 R0 MEMORY\n";
		else if(AARCH64 == Architecture) return "LDR_W0_[X0]\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) return "RD_A0 RS1_A0 LW\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) return "rd_a0 rs1_a0 lw\n";
	}
	else if(size == 8)
	{
		if(AMD64 == Architecture) return "mov_rax,[rax]\n";
		else if(AARCH64 == Architecture) return "DEREF_X0\n";
		else if(RISCV64 == Architecture) return "RD_A0 RS1_A0 LD\n";
		else if(RISCV64 == Architecture) return "rd_a0 rs1_a0 ld\n";
	}
	line_error();
	fputs(" Got unsupported size ", stderr);


@@ 468,7 468,7 @@ char* load_value_unsigned(unsigned size)
		else if(AMD64 == Architecture) return "movzx_rax,BYTE_PTR_[rax]\n";
		else if(ARMV7L == Architecture) return "!0 R0 LOAD R0 MEMORY\n";
		else if(AARCH64 == Architecture) return "DEREF_X0_BYTE\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) return "RD_A0 RS1_A0 LBU\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) return "rd_a0 rs1_a0 lbu\n";
	}
	else if(size == 2)
	{


@@ 477,7 477,7 @@ char* load_value_unsigned(unsigned size)
		else if(AMD64 == Architecture) return "movzx_rax,WORD_PTR_[rax]\n";
		else if(ARMV7L == Architecture) return "NO_OFFSET R0 LOAD R0 HALF_MEMORY\n";
		else if(AARCH64 == Architecture) return "LDRH_W0_[X0]\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) return "RD_A0 RS1_A0 LHU\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) return "rd_a0 rs1_a0 lhu\n";
	}
	else if(size == 4)
	{


@@ 486,14 486,14 @@ char* load_value_unsigned(unsigned size)
		else if(AMD64 == Architecture) return "mov_eax,[rax]\n";
		else if(ARMV7L == Architecture) return "!0 R0 LOAD32 R0 MEMORY\n";
		else if(AARCH64 == Architecture) return "LDR_W0_[X0]\n";
		else if(RISCV32 == Architecture) return "RD_A0 RS1_A0 LW\n";
		else if(RISCV64 == Architecture) return "RD_A0 RS1_A0 LWU\n";
		else if(RISCV32 == Architecture) return "rd_a0 rs1_a0 lw\n";
		else if(RISCV64 == Architecture) return "rd_a0 rs1_a0 lwu\n";
	}
	else if(size == 8)
	{
		if(AMD64 == Architecture) return "mov_rax,[rax]\n";
		else if(AARCH64 == Architecture) return "DEREF_X0\n";
		else if(RISCV64 == Architecture) return "RD_A0 RS1_A0 LD\n";
		else if(RISCV64 == Architecture) return "rd_a0 rs1_a0 ld\n";
	}
	line_error();
	fputs(" Got unsupported size ", stderr);


@@ 517,8 517,8 @@ char* store_value(unsigned size)
		else if(AMD64 == Architecture) return "mov_[rbx],al\n";
		else if(ARMV7L == Architecture) return "!0 R0 STORE8 R1 MEMORY\n";
		else if(AARCH64 == Architecture) return "STR_BYTE_W0_[X1]\n";
		else if(RISCV32 == Architecture) return "RS1_A1 RS2_A0 SB\n";
		else if(RISCV64 == Architecture) return "RS1_A1 RS2_A0 SB\n";
		else if(RISCV32 == Architecture) return "rs1_a1 rs2_a0 sb\n";
		else if(RISCV64 == Architecture) return "rs1_a1 rs2_a0 sb\n";
	}
	else if(size == 2)
	{


@@ 527,7 527,7 @@ char* store_value(unsigned size)
		else if(AMD64 == Architecture) return "mov_[rbx],ax\n";
		else if(ARMV7L == Architecture) return "NO_OFFSET R0 STORE16 R1 HALF_MEMORY\n";
		else if(AARCH64 == Architecture) return "STRH_W0_[X1]\n";
		else if(RISCV32 == Architecture || RISCV64 == Architecture) return "RS1_A1 RS2_A0 SH\n";
		else if(RISCV32 == Architecture || RISCV64 == Architecture) return "rs1_a1 rs2_a0 sh\n";
	}
	else if(size == 4)
	{


@@ 536,13 536,13 @@ char* store_value(unsigned size)
		else if(AMD64 == Architecture) return "mov_[rbx],eax\n";
		else if(ARMV7L == Architecture) return "!0 R0 STORE32 R1 MEMORY\n";
		else if(AARCH64 == Architecture) return "STR_W0_[X1]\n";
		else if(RISCV32 == Architecture || RISCV64 == Architecture) return "RS1_A1 RS2_A0 SW\n";
		else if(RISCV32 == Architecture || RISCV64 == Architecture) return "rs1_a1 rs2_a0 sw\n";
	}
	else if(size == 8)
	{
		if(AMD64 == Architecture) return "mov_[rbx],rax\n";
		else if(AARCH64 == Architecture) return "STR_X0_[X1]\n";
		else if(RISCV64 == Architecture) return "RS1_A1 RS2_A0 SD\n";
		else if(RISCV64 == Architecture) return "rs1_a1 rs2_a0 sd\n";
	}
	/* Should not happen but print error message. */
	fputs("Got unsupported size ", stderr);


@@ 583,12 583,12 @@ void variable_load(struct token_list* a, int num_dereference)
	else if(AMD64 == Architecture) emit_out("lea_rax,[rbp+DWORD] %");
	else if(ARMV7L == Architecture) emit_out("!");
	else if(AARCH64 == Architecture) emit_out("SET_X0_FROM_BP\nLOAD_W1_AHEAD\nSKIP_32_DATA\n%");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 RS1_FP !");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rd_a0 rs1_fp !");

	emit_out(int2str(a->depth, 10, TRUE));
	if(ARMV7L == Architecture) emit_out(" R0 SUB BP ARITH_ALWAYS");
	else if(AARCH64 == Architecture) emit_out("\nSUB_X0_X0_X1\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" ADDI");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" addi");
	emit_out("\n");

	if(TRUE == Address_of) return;


@@ 624,21 624,21 @@ void function_load(struct token_list* a)
	else if(AMD64 == Architecture) emit_out("lea_rax,[rip+DWORD] %FUNCTION_");
	else if(ARMV7L == Architecture) emit_out("!0 R0 LOAD32 R15 MEMORY\n~0 JUMP_ALWAYS\n&FUNCTION_");
	else if(AARCH64 == Architecture) emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n&FUNCTION_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 ~FUNCTION_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rd_a0 ~FUNCTION_");
	emit_out(a->s);
	if(RISCV32 == Architecture)
	{
		emit_out(" AUIPC\n");
		emit_out("RD_A0 RS1_A0 !FUNCTION_");
		emit_out(" auipc\n");
		emit_out("rd_a0 rs1_a0 !FUNCTION_");
		emit_out(a->s);
		emit_out(" ADDI");
		emit_out(" addi");
	}
	else if(RISCV64 == Architecture)
	{
		emit_out(" AUIPC\n");
		emit_out("RD_A0 RS1_A0 !FUNCTION_");
		emit_out(" auipc\n");
		emit_out("rd_a0 rs1_a0 !FUNCTION_");
		emit_out(a->s);
		emit_out(" ADDIW");
		emit_out(" addiw");
	}
	emit_out("\n");
}


@@ 651,14 651,14 @@ void global_load(struct token_list* a)
	else if(AMD64 == Architecture) emit_out("lea_rax,[rip+DWORD] %GLOBAL_");
	else if(ARMV7L == Architecture) emit_out("!0 R0 LOAD32 R15 MEMORY\n~0 JUMP_ALWAYS\n&GLOBAL_");
	else if(AARCH64 == Architecture) emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n&GLOBAL_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 ~GLOBAL_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rd_a0 ~GLOBAL_");
	emit_out(a->s);
	if((RISCV32 == Architecture) || (RISCV64 == Architecture))
	{
		emit_out(" AUIPC\n");
		emit_out("RD_A0 RS1_A0 !GLOBAL_");
		emit_out(" auipc\n");
		emit_out("rd_a0 rs1_a0 !GLOBAL_");
		emit_out(a->s);
		emit_out(" ADDI");
		emit_out(" addi");
	}
	emit_out("\n");



@@ 703,14 703,14 @@ void primary_expr_string()
	else if(AMD64 == Architecture) emit_out("lea_rax,[rip+DWORD] %STRING_");
	else if(ARMV7L == Architecture) emit_out("!0 R0 LOAD32 R15 MEMORY\n~0 JUMP_ALWAYS\n&STRING_");
	else if(AARCH64 == Architecture) emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n&STRING_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 ~STRING_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rd_a0 ~STRING_");
	uniqueID_out(function->s, number_string);
	if((RISCV32 == Architecture) || (RISCV64 == Architecture))
	{
		emit_out("AUIPC\n");
		emit_out("RD_A0 RS1_A0 !STRING_");
		emit_out("auipc\n");
		emit_out("rd_a0 rs1_a0 !STRING_");
		uniqueID_out(function->s, number_string);
		emit_out("ADDI\n");
		emit_out("addi\n");
	}

	/* The target */


@@ 766,10 766,10 @@ void primary_expr_char()
	else if(AMD64 == Architecture) emit_out("mov_rax, %");
	else if(ARMV7L == Architecture) emit_out("!");
	else if(AARCH64 == Architecture) emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n%");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 !");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rd_a0 !");
	emit_out(int2str(escape_lookup(global_token->s + 1), 10, TRUE));
	if(ARMV7L == Architecture) emit_out(" R0 LOADI8_ALWAYS");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" ADDI");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" addi");
	emit_out("\n");
	global_token = global_token->next;
}


@@ 848,37 848,37 @@ void primary_expr_number()
		int size = strtoint(global_token->s);
		if((2047 > size) && (size > -2048))
		{
			emit_out("RD_A0 !");
			emit_out("rd_a0 !");
			emit_out(global_token->s);
			emit_out(" ADDI");
			emit_out(" addi");
		}
		else if (0 == (size >> 30))
		{
			emit_out("RD_A0 ~");
			emit_out("rd_a0 ~");
			emit_out(global_token->s);
			emit_out(" LUI\n");
			emit_out("RD_A0 RS1_A0 !");
			emit_out(" lui\n");
			emit_out("rd_a0 rs1_a0 !");
			emit_out(global_token->s);
			emit_out(" ADDI");
			emit_out(" addi");
		}
		else
		{
			int high = size >> 30;
			int low = ((size >> 30) << 30) ^ size;
			emit_out("RD_A0 ~");
			emit_out("rd_a0 ~");
			emit_out(int2str(high, 10, TRUE));
			emit_out(" LUI\n");
			emit_out("RD_A0 RS1_A0 !");
			emit_out(" lui\n");
			emit_out("rd_a0 rs1_a0 !");
			emit_out(int2str(high, 10, TRUE));
			emit_out(" ADDI\n");
			emit_out("RD_A0 RS1_A0 RS2_X30 SLLI\n");
			emit_out("RD_T1 ~");
			emit_out(" addi\n");
			emit_out("rd_a0 rs1_a0 rs2_x30 slli\n");
			emit_out("rd_t1 ~");
			emit_out(int2str(low, 10, TRUE));
			emit_out(" LUI\n");
			emit_out("RD_T1 RS1_T1 !");
			emit_out(" lui\n");
			emit_out("rd_t1 rs1_t1 !");
			emit_out(int2str(low, 10, TRUE));
			emit_out(" ADDI\n");
			emit_out("RD_A0 RS1_A0 RS2_T1 OR\n");
			emit_out(" addi\n");
			emit_out("rd_a0 rs1_a0 rs2_t1 or\n");
		}
	}
	emit_out("\n");


@@ 965,8 965,8 @@ void common_recursion(FUNCTION f)
	else if(AMD64 == Architecture) emit_out("push_rax\t#_common_recursion\n");
	else if(ARMV7L == Architecture) emit_out("{R0} PUSH_ALWAYS\t#_common_recursion\n");
	else if(AARCH64 == Architecture) emit_out("PUSH_X0\t#_common_recursion\n");
	else if(RISCV32 == Architecture) emit_out("RD_SP RS1_SP !-4 ADDI\t# _common_recursion\nRS1_SP RS2_A0 SW\n");
	else if(RISCV64 == Architecture) emit_out("RD_SP RS1_SP !-8 ADDI\t# _common_recursion\nRS1_SP RS2_A0 SD\n");
	else if(RISCV32 == Architecture) emit_out("rd_sp rs1_sp !-4 addi\t# _common_recursion\nrs1_sp rs2_a0 sw\n");
	else if(RISCV64 == Architecture) emit_out("rd_sp rs1_sp !-8 addi\t# _common_recursion\nrs1_sp rs2_a0 sd\n");

	struct type* last_type = current_target;
	global_token = global_token->next;


@@ 979,8 979,8 @@ void common_recursion(FUNCTION f)
	else if(AMD64 == Architecture) emit_out("pop_rbx\t# _common_recursion\n");
	else if(ARMV7L == Architecture) emit_out("{R1} POP_ALWAYS\t# _common_recursion\n");
	else if(AARCH64 == Architecture) emit_out("POP_X1\t# _common_recursion\n");
	else if(RISCV32 == Architecture) emit_out("RD_A1 RS1_SP LW\nRD_SP RS1_SP !4 ADDI\t# _common_recursion\n");
	else if(RISCV64 == Architecture) emit_out("RD_A1 RS1_SP LD\nRD_SP RS1_SP !8 ADDI\t# _common_recursion\n");
	else if(RISCV32 == Architecture) emit_out("rd_a1 rs1_sp lw\nrd_sp rs1_sp !4 addi\t# _common_recursion\n");
	else if(RISCV64 == Architecture) emit_out("rd_a1 rs1_sp ld\nrd_sp rs1_sp !8 addi\t# _common_recursion\n");
}

void general_recursion(FUNCTION f, char* s, char* name, FUNCTION iterate)


@@ 1072,10 1072,10 @@ void postfix_expr_arrow()
		}
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
		{
			emit_out("RD_A1 !");
			emit_out("rd_a1 !");
			emit_out(int2str(i->offset, 10, TRUE));
			emit_out(" ADDI\n");
			emit_out("RD_A0 RS1_A1 RS2_A0 ADD\n");
			emit_out(" addi\n");
			emit_out("rd_a0 rs1_a1 rs2_a0 add\n");
		}
	}



@@ 1133,10 1133,10 @@ void postfix_expr_dot()
		}
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
		{
			emit_out("RD_A1 !");
			emit_out("rd_a1 !");
			emit_out(int2str(i->offset, 10, TRUE));
			emit_out(" ADDI\n");
			emit_out("RD_A0 RS1_A1 RS2_A0 ADD\n");
			emit_out(" addi\n");
			emit_out("rd_a0 rs1_a1 rs2_a0 add\n");
		}
	}
	if(match("=", global_token->s) || is_compound_assignment(global_token->s)) return;


@@ 1166,16 1166,16 @@ void postfix_expr_array()
		else if(AMD64 == Architecture) emit_out("push_rbx\nmov_rbx, %");
		else if(ARMV7L == Architecture) emit_out("{R1} PUSH_ALWAYS\n!0 R1 LOAD32 R15 MEMORY\n~0 JUMP_ALWAYS\n%");
		else if(AARCH64 == Architecture) emit_out("PUSH_X1\nLOAD_W1_AHEAD\nSKIP_32_DATA\n%");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A2 RS1_A1 ADDI\nRD_A1 !");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rd_a2 rs1_a1 addi\nrd_a1 !");
		emit_out(int2str(current_target->type->size, 10, TRUE));
		if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" ADDI");
		if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" addi");

		if((KNIGHT_POSIX == Architecture) || (KNIGHT_NATIVE == Architecture)) emit_out("\nMULU R0 R1 R0\nPOPR R1 R15\n");
		else if(X86 == Architecture) emit_out("\nmul_ebx\npop_ebx\n");
		else if(AMD64 == Architecture) emit_out("\nmul_rbx\npop_rbx\n");
		else if(ARMV7L == Architecture) emit_out("\n'9' R0 '0' R1 MUL R0 ARITH2_ALWAYS\n{R1} POP_ALWAYS\n");
		else if(AARCH64 == Architecture) emit_out("\nMUL_X0_X1_X0\nPOP_X1\n");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("\nRD_A0 RS1_A1 RS2_A0 MUL\nRD_A1 RS1_A2 ADDI\n");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("\nrd_a0 rs1_a1 rs2_a0 mul\nrd_a1 rs1_a2 addi\n");
	}

	if((KNIGHT_POSIX == Architecture) || (KNIGHT_NATIVE == Architecture)) emit_out("ADD R0 R0 R1\n");


@@ 1183,7 1183,7 @@ void postfix_expr_array()
	else if(AMD64 == Architecture) emit_out("add_rax,rbx\n");
	else if(ARMV7L == Architecture) emit_out("'0' R0 R0 ADD R1 ARITH2_ALWAYS\n");
	else if(AARCH64 == Architecture) emit_out("ADD_X0_X1_X0\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 RS1_A1 RS2_A0 ADD\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rd_a0 rs1_a1 rs2_a0 add\n");

	require_match("ERROR in postfix_expr\nMissing ]\n", "]");
	require(NULL != global_token, "truncated array expression\n");


@@ 1221,10 1221,10 @@ void unary_expr_sizeof()
	else if(AMD64 == Architecture) emit_out("mov_rax, %");
	else if(ARMV7L == Architecture) emit_out("!");
	else if(AARCH64 == Architecture) emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n%");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 !");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rd_a0 !");
	emit_out(int2str(a->size, 10, TRUE));
	if(ARMV7L == Architecture) emit_out(" R0 LOADI8_ALWAYS");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" ADDI");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" addi");
	emit_out("\n");
}



@@ 1321,13 1321,13 @@ void additive_expr_stub()
	}
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
	{
		general_recursion(postfix_expr, "RD_A0 RS1_A1 RS2_A0 ADD\n", "+", additive_expr_stub);
		general_recursion(postfix_expr, "RD_A0 RS1_A1 RS2_A0 SUB\n", "-", additive_expr_stub);
		general_recursion(postfix_expr, "RD_A0 RS1_A1 RS2_A0 MUL\n", "*", additive_expr_stub);
		arithmetic_recursion(postfix_expr, "RD_A0 RS1_A1 RS2_A0 DIV\n", "RD_A0 RS1_A1 RS2_A0 DIVU\n", "/", additive_expr_stub);
		arithmetic_recursion(postfix_expr, "RD_A0 RS1_A1 RS2_A0 REM\n", "RD_A0 RS1_A1 RS2_A0 REMU\n", "%", additive_expr_stub);
		general_recursion(postfix_expr, "RD_A0 RS1_A1 RS2_A0 SLL\n", "<<", additive_expr_stub);
		arithmetic_recursion(postfix_expr, "RD_A0 RS1_A1 RS2_A0 SRA\n", "RD_A0 RS1_A1 RS2_A0 SRL\n", ">>", additive_expr_stub);
		general_recursion(postfix_expr, "rd_a0 rs1_a1 rs2_a0 add\n", "+", additive_expr_stub);
		general_recursion(postfix_expr, "rd_a0 rs1_a1 rs2_a0 sub\n", "-", additive_expr_stub);
		general_recursion(postfix_expr, "rd_a0 rs1_a1 rs2_a0 mul\n", "*", additive_expr_stub);
		arithmetic_recursion(postfix_expr, "rd_a0 rs1_a1 rs2_a0 div\n", "rd_a0 rs1_a1 rs2_a0 divu\n", "/", additive_expr_stub);
		arithmetic_recursion(postfix_expr, "rd_a0 rs1_a1 rs2_a0 rem\n", "rd_a0 rs1_a1 rs2_a0 remu\n", "%", additive_expr_stub);
		general_recursion(postfix_expr, "rd_a0 rs1_a1 rs2_a0 sll\n", "<<", additive_expr_stub);
		arithmetic_recursion(postfix_expr, "rd_a0 rs1_a1 rs2_a0 sra\n", "rd_a0 rs1_a1 rs2_a0 srl\n", ">>", additive_expr_stub);
	}
}



@@ 1397,12 1397,12 @@ void relational_expr_stub()
	}
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
	{
		arithmetic_recursion(additive_expr, "RD_A0 RS1_A1 RS2_A0 SLT\n", "RD_A0 RS1_A1 RS2_A0 SLTU\n", "<", relational_expr_stub);
		arithmetic_recursion(additive_expr, "RD_A0 RS1_A0 RS2_A1 SLT\nRD_A0 RS1_A0 !1 XORI\n", "RD_A0 RS1_A0 RS2_A1 SLTU\nRD_A0 RS1_A0 !1 XORI\n", "<=", relational_expr_stub);
		arithmetic_recursion(additive_expr, "RD_A0 RS1_A1 RS2_A0 SLT\nRD_A0 RS1_A0 !1 XORI\n", "RD_A0 RS1_A1 RS2_A0 SLTU\nRD_A0 RS1_A0 !1 XORI\n", ">=", relational_expr_stub);
		arithmetic_recursion(additive_expr, "RD_A0 RS1_A0 RS2_A1 SLT\n", "RD_A0 RS1_A0 RS2_A1 SLTU\n", ">", relational_expr_stub);
		general_recursion(additive_expr, "RD_A0 RS1_A0 RS2_A1 SUB\nRD_A0 RS1_A0 !1 SLTIU\n", "==", relational_expr_stub);
		general_recursion(additive_expr, "RD_A0 RS1_A0 RS2_A1 SUB\nRD_A0 RS2_A0 SLTU\n", "!=", relational_expr_stub);
		arithmetic_recursion(additive_expr, "rd_a0 rs1_a1 rs2_a0 slt\n", "rd_a0 rs1_a1 rs2_a0 sltu\n", "<", relational_expr_stub);
		arithmetic_recursion(additive_expr, "rd_a0 rs1_a0 rs2_a1 slt\nrd_a0 rs1_a0 !1 xori\n", "rd_a0 rs1_a0 rs2_a1 sltu\nrd_a0 rs1_a0 !1 xori\n", "<=", relational_expr_stub);
		arithmetic_recursion(additive_expr, "rd_a0 rs1_a1 rs2_a0 slt\nrd_a0 rs1_a0 !1 xori\n", "rd_a0 rs1_a1 rs2_a0 sltu\nrd_a0 rs1_a0 !1 xori\n", ">=", relational_expr_stub);
		arithmetic_recursion(additive_expr, "rd_a0 rs1_a0 rs2_a1 slt\n", "rd_a0 rs1_a0 rs2_a1 sltu\n", ">", relational_expr_stub);
		general_recursion(additive_expr, "rd_a0 rs1_a0 rs2_a1 sub\nrd_a0 rs1_a0 !1 sltiu\n", "==", relational_expr_stub);
		general_recursion(additive_expr, "rd_a0 rs1_a0 rs2_a1 sub\nrd_a0 rs2_a0 sltu\n", "!=", relational_expr_stub);
	}
}



@@ 1465,11 1465,11 @@ void bitwise_expr_stub()
	}
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
	{
		general_recursion(relational_expr, "RD_A0 RS1_A1 RS2_A0 AND\n", "&", bitwise_expr_stub);
		general_recursion(relational_expr, "RD_A0 RS1_A1 RS2_A0 AND\n", "&&", bitwise_expr_stub);
		general_recursion(relational_expr, "RD_A0 RS1_A1 RS2_A0 OR\n", "|", bitwise_expr_stub);
		general_recursion(relational_expr, "RD_A0 RS1_A1 RS2_A0 OR\n", "||", bitwise_expr_stub);
		general_recursion(relational_expr, "RD_A0 RS1_A1 RS2_A0 XOR\n", "^", bitwise_expr_stub);
		general_recursion(relational_expr, "rd_a0 rs1_a1 rs2_a0 and\n", "&", bitwise_expr_stub);
		general_recursion(relational_expr, "rd_a0 rs1_a1 rs2_a0 and\n", "&&", bitwise_expr_stub);
		general_recursion(relational_expr, "rd_a0 rs1_a1 rs2_a0 or\n", "|", bitwise_expr_stub);
		general_recursion(relational_expr, "rd_a0 rs1_a1 rs2_a0 or\n", "||", bitwise_expr_stub);
		general_recursion(relational_expr, "rd_a0 rs1_a1 rs2_a0 xor\n", "^", bitwise_expr_stub);
	}
}



@@ 1507,7 1507,7 @@ void primary_expr()
		else if(AMD64 == Architecture) emit_out("mov_rax, %0\n");
		else if(ARMV7L == Architecture) emit_out("!0 R0 LOADI8_ALWAYS\n");
		else if(AARCH64 == Architecture) emit_out("SET_X0_TO_0\n");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 MV\n");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rd_a0 mv\n");

		common_recursion(primary_expr);



@@ 1516,7 1516,7 @@ void primary_expr()
		else if(AMD64 == Architecture) emit_out("sub_rbx,rax\nmov_rax,rbx\n");
		else if(ARMV7L == Architecture) emit_out("'0' R0 R0 SUB R1 ARITH2_ALWAYS\n");
		else if(AARCH64 == Architecture) emit_out("SUB_X0_X1_X0\n");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 RS1_A1 RS2_A0 SUB\n");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rd_a0 rs1_a1 rs2_a0 sub\n");
	}
	else if('!' == global_token->s[0])
	{


@@ 1533,7 1533,7 @@ void primary_expr()
		else if(AMD64 == Architecture) emit_out("cmp_rbx,rax\nseta_al\nmovzx_rax,al\n");
		else if(ARMV7L == Architecture) emit_out("'0' R0 CMP R1 AUX_ALWAYS\n!0 R0 LOADI8_ALWAYS\n!1 R0 LOADI8_HI\n");
		else if(AARCH64 == Architecture) emit_out("CMP_X1_X0\nSET_X0_TO_1\nSKIP_INST_HI\nSET_X0_TO_0\n");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 RS1_A0 !1 SLTIU\n");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rd_a0 rs1_a0 !1 sltiu\n");
	}
	else if('~' == global_token->s[0])
	{


@@ 1544,7 1544,7 @@ void primary_expr()
		else if(AMD64 == Architecture) emit_out("not_rax\n");
		else if(ARMV7L == Architecture) emit_out("'0' R0 R0 MVN_ALWAYS\n");
		else if(AARCH64 == Architecture) emit_out("MVN_X0\n");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 RS1_A0 NOT\n");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rd_a0 rs1_a0 not\n");
	}
	else if(global_token->s[0] == '(')
	{


@@ 1574,7 1574,7 @@ char* compound_operation(char* operator, int is_signed)
		else if(AMD64 == Architecture) operation = "add_rax,rbx\n";
		else if(ARMV7L == Architecture) operation = "'0' R0 R0 ADD R1 ARITH2_ALWAYS\n";
		else if(AARCH64 == Architecture) operation = "ADD_X0_X1_X0\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 ADD\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "rd_a0 rs1_a1 rs2_a0 add\n";
	}
	else if(match("-=", operator))
	{


@@ 1587,7 1587,7 @@ char* compound_operation(char* operator, int is_signed)
		else if(AMD64 == Architecture) operation = "sub_rbx,rax\nmov_rax,rbx\n";
		else if(ARMV7L == Architecture) operation = "'0' R0 R0 SUB R1 ARITH2_ALWAYS\n";
		else if(AARCH64 == Architecture) operation = "SUB_X0_X1_X0\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 SUB\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "rd_a0 rs1_a1 rs2_a0 sub\n";
	}
	else if(match("*=", operator))
	{


@@ 1608,7 1608,7 @@ char* compound_operation(char* operator, int is_signed)
		}
		else if(ARMV7L == Architecture) operation = "'9' R0 '0' R1 MULS R0 ARITH2_ALWAYS\n";
		else if(AARCH64 == Architecture) operation = "MUL_X0_X1_X0\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 MUL\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "rd_a0 rs1_a1 rs2_a0 mul\n";
	}
	else if(match("/=", operator))
	{


@@ 1639,8 1639,8 @@ char* compound_operation(char* operator, int is_signed)
		}
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
		{
			if(is_signed) operation = "RD_A0 RS1_A1 RS2_A0 DIV\n";
			else operation = "RD_A0 RS1_A1 RS2_A0 DIVU\n";
			if(is_signed) operation = "rd_a0 rs1_a1 rs2_a0 div\n";
			else operation = "rd_a0 rs1_a1 rs2_a0 divu\n";
		}
	}
	else if(match("%=", operator))


@@ 1672,8 1672,8 @@ char* compound_operation(char* operator, int is_signed)
		}
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
		{
			if(is_signed) operation = "RD_A0 RS1_A1 RS2_A0 REM\n";
			else operation = "RD_A0 RS1_A1 RS2_A0 REMU\n";
			if(is_signed) operation = "rd_a0 rs1_a1 rs2_a0 rem\n";
			else operation = "rd_a0 rs1_a1 rs2_a0 remu\n";
		}
	}
	else if(match("<<=", operator))


@@ 1695,7 1695,7 @@ char* compound_operation(char* operator, int is_signed)
		}
		else if(ARMV7L == Architecture) operation = "LEFT R1 R0 R0 SHIFT AUX_ALWAYS\n";
		else if(AARCH64 == Architecture) operation = "LSHIFT_X0_X1_X0\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 SLL\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "rd_a0 rs1_a1 rs2_a0 sll\n";
	}
	else if(match(">>=", operator))
	{


@@ 1726,8 1726,8 @@ char* compound_operation(char* operator, int is_signed)
		}
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
		{
			if(is_signed) operation = "RD_A0 RS1_A1 RS2_A0 SRA\n";
			else operation = "RD_A0 RS1_A1 RS2_A0 SRL\n";
			if(is_signed) operation = "rd_a0 rs1_a1 rs2_a0 sra\n";
			else operation = "rd_a0 rs1_a1 rs2_a0 srl\n";
		}
	}
	else if(match("&=", operator))


@@ 1737,7 1737,7 @@ char* compound_operation(char* operator, int is_signed)
		else if(AMD64 == Architecture) operation = "and_rax,rbx\n";
		else if(ARMV7L == Architecture) operation = "NO_SHIFT R0 R0 AND R1 ARITH2_ALWAYS\n";
		else if(AARCH64 == Architecture) operation = "AND_X0_X1_X0\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 AND\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "rd_a0 rs1_a1 rs2_a0 and\n";
	}
	else if(match("^=", operator))
	{


@@ 1746,7 1746,7 @@ char* compound_operation(char* operator, int is_signed)
		else if(AMD64 == Architecture) operation = "xor_rax,rbx\n";
		else if(ARMV7L == Architecture) operation = "'0' R0 R0 XOR R1 ARITH2_ALWAYS\n";
		else if(AARCH64 == Architecture) operation = "XOR_X0_X1_X0\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 XOR\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "rd_a0 rs1_a1 rs2_a0 xor\n";
	}
	else if(match("|=", operator))
	{


@@ 1755,7 1755,7 @@ char* compound_operation(char* operator, int is_signed)
		else if(AMD64 == Architecture) operation = "or_rax,rbx\n";
		else if(ARMV7L == Architecture) operation = "NO_SHIFT R0 R0 OR R1 AUX_ALWAYS\n";
		else if(AARCH64 == Architecture) operation = "OR_X0_X1_X0\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 OR\n";
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "rd_a0 rs1_a1 rs2_a0 or\n";
	}
	else
	{


@@ 1802,8 1802,8 @@ void expression()
		else if(AMD64 == Architecture) push = "push_rbx\n";
		else if(ARMV7L == Architecture) push = "{R1} PUSH_ALWAYS\n";
		else if(AARCH64 == Architecture) push = "PUSH_X1\n";
		else if(RISCV32 == Architecture) push = "RS1_SP RS2_A1 @-4 SW\n";
		else if(RISCV64 == Architecture) push = "RS1_SP RS2_A1 @-8 SD\n";
		else if(RISCV32 == Architecture) push = "rs1_sp rs2_a1 @-4 sw\n";
		else if(RISCV64 == Architecture) push = "rs1_sp rs2_a1 @-8 sd\n";

		if(!match("]", global_token->prev->s) || !match("char*", current_target->name))
		{


@@ 1812,8 1812,8 @@ void expression()
			else if(AMD64 == Architecture) load = "mov_rbx,[rbx]\n";
			else if(ARMV7L == Architecture) load = "!0 R1 LOAD32 R1 MEMORY\n";
			else if(AARCH64 == Architecture) load = "DEREF_X1\n";
			else if(RISCV32 == Architecture) load = "RD_A1 RS1_A1 LW\n";
			else if(RISCV64 == Architecture) load = "RD_A1 RS1_A1 LD\n";
			else if(RISCV32 == Architecture) load = "rd_a1 rs1_a1 lw\n";
			else if(RISCV64 == Architecture) load = "rd_a1 rs1_a1 ld\n";
		}
		else
		{


@@ 1822,7 1822,7 @@ void expression()
			else if(AMD64 == Architecture) load = "movsx_rbx,BYTE_PTR_[rbx]\n";
			else if(ARMV7L == Architecture) load = "LOADU8 R1 LOAD R1 MEMORY\n";
			else if(AARCH64 == Architecture) load = "DEREF_X1_BYTE\n";
			else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) load = "RD_A1 RS1_A1 LBU\n";
			else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) load = "rd_a1 rs1_a1 lbu\n";
		}

		char *operator = global_token->s;


@@ 1832,8 1832,8 @@ void expression()
		else if(AMD64 == Architecture) pop = "pop_rbx\n";
		else if(ARMV7L == Architecture) pop = "{R1} POP_ALWAYS\n";
		else if(AARCH64 == Architecture) pop = "POP_X1\n";
		else if(RISCV32 == Architecture) pop = "RD_A1 RS1_SP !-4 LW\n";
		else if(RISCV64 == Architecture) pop = "RD_A1 RS1_SP !-8 LD\n";
		else if(RISCV32 == Architecture) pop = "rd_a1 rs1_sp !-4 lw\n";
		else if(RISCV64 == Architecture) pop = "rd_a1 rs1_sp !-8 ld\n";

		if(match("]", global_token->prev->s))
		{


@@ 1997,8 1997,8 @@ void collect_local()
		else if(AMD64 == Architecture) emit_out("push_rax\t#");
		else if(ARMV7L == Architecture) emit_out("{R0} PUSH_ALWAYS\t#");
		else if(AARCH64 == Architecture) emit_out("PUSH_X0\t#");
		else if(RISCV32 == Architecture) emit_out("RD_SP RS1_SP !-4 ADDI\nRS1_SP RS2_A0 SW\t#");
		else if(RISCV64 == Architecture) emit_out("RD_SP RS1_SP !-8 ADDI\nRS1_SP RS2_A0 SD\t#");
		else if(RISCV32 == Architecture) emit_out("rd_sp rs1_sp !-4 addi\nrs1_sp rs2_a0 sw\t#");
		else if(RISCV64 == Architecture) emit_out("rd_sp rs1_sp !-8 addi\nrs1_sp rs2_a0 sd\t#");
		emit_out(a->s);
		emit_out("\n");
		i = i - 1;


@@ 2025,12 2025,12 @@ void process_if()
	else if(AMD64 == Architecture) emit_out("test_rax,rax\nje %ELSE_");
	else if(ARMV7L == Architecture) emit_out("!0 CMPI8 R0 IMM_ALWAYS\n^~ELSE_");
	else if(AARCH64 == Architecture) emit_out("CBNZ_X0_PAST_BR\nLOAD_W16_AHEAD\nSKIP_32_DATA\n&ELSE_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RS1_A0 @8 BNEZ\n$ELSE_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rs1_a0 @8 bnez\n$ELSE_");

	uniqueID_out(function->s, number_string);
	if(ARMV7L == Architecture) emit_out(" JUMP_EQUAL\n");
	else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("jal\n");

	require_match("ERROR in process_if\nMISSING )\n", ")");
	statement();


@@ 2046,7 2046,7 @@ void process_if()
	uniqueID_out(function->s, number_string);
	if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS\n");
	else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("jal\n");

	emit_out(":ELSE_");
	uniqueID_out(function->s, number_string);


@@ 2101,11 2101,11 @@ void process_for()
	else if(AMD64 == Architecture) emit_out("test_rax,rax\nje %FOR_END_");
	else if(ARMV7L == Architecture) emit_out("!0 CMPI8 R0 IMM_ALWAYS\n^~FOR_END_");
	else if(AARCH64 == Architecture) emit_out("CBNZ_X0_PAST_BR\nLOAD_W16_AHEAD\nSKIP_32_DATA\n&FOR_END_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RS1_A0 @8 BNEZ\n$FOR_END_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rs1_a0 @8 bnez\n$FOR_END_");
	uniqueID_out(function->s, number_string);
	if(ARMV7L == Architecture) emit_out(" JUMP_EQUAL\n");
	else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("jal\n");

	if((KNIGHT_POSIX == Architecture) || (KNIGHT_NATIVE == Architecture)) emit_out("JUMP @FOR_THEN_");
	else if(X86 == Architecture) emit_out("jmp %FOR_THEN_");


@@ 2116,7 2116,7 @@ void process_for()
	uniqueID_out(function->s, number_string);
	if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS\n");
	else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("jal\n");

	emit_out(":FOR_ITER_");
	uniqueID_out(function->s, number_string);


@@ 2133,7 2133,7 @@ void process_for()
	uniqueID_out(function->s, number_string);
	if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS\n");
	else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("jal\n");

	emit_out(":FOR_THEN_");
	uniqueID_out(function->s, number_string);


@@ 2151,7 2151,7 @@ void process_for()
	uniqueID_out(function->s, number_string);
	if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS\n");
	else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("jal\n");

	emit_out(":FOR_END_");
	uniqueID_out(function->s, number_string);


@@ 2219,15 2219,15 @@ void process_do()
	else if(AMD64 == Architecture) emit_out("test_rax,rax\njne %DO_");
	else if(ARMV7L == Architecture) emit_out("!0 CMPI8 R0 IMM_ALWAYS\n^~DO_");
	else if(AARCH64 == Architecture) emit_out("CBZ_X0_PAST_BR\nLOAD_W16_AHEAD\nSKIP_32_DATA\n&DO_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RS1_A0 @DO_END_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rs1_a0 @DO_END_");
	uniqueID_out(function->s, number_string);
	if(ARMV7L == Architecture) emit_out(" JUMP_NE\n");
	else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
	{
		emit_out("BEQZ\n$DO_");
		emit_out("beqz\n$DO_");
		uniqueID_out(function->s, number_string);
		emit_out("JAL\n");
		emit_out("jal\n");
	}

	emit_out(":DO_END_");


@@ 2271,11 2271,11 @@ void process_while()
	else if(AMD64 == Architecture) emit_out("test_rax,rax\nje %END_WHILE_");
	else if(ARMV7L == Architecture) emit_out("!0 CMPI8 R0 IMM_ALWAYS\n^~END_WHILE_");
	else if(AARCH64 == Architecture) emit_out("CBNZ_X0_PAST_BR\nLOAD_W16_AHEAD\nSKIP_32_DATA\n&END_WHILE_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RS1_A0 @8 BNEZ\n$END_WHILE_");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("rs1_a0 @8 bnez\n$END_WHILE_");
	uniqueID_out(function->s, number_string);
	if(ARMV7L == Architecture) emit_out(" JUMP_EQUAL\t");
	else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("jal\n");
	emit_out("# THEN_while_");
	uniqueID_out(function->s, number_string);



@@ 2292,7 2292,7 @@ void process_while()
	uniqueID_out(function->s, number_string);
	if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS\n");
	else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("jal\n");
	emit_out(":END_WHILE_");
	uniqueID_out(function->s, number_string);



@@ 2324,8 2324,8 @@ void return_result()
			else if(AMD64 == Architecture) emit_out("pop_rbx\t# _return_result_locals\n");
			else if(ARMV7L == Architecture) emit_out("{R1} POP_ALWAYS\t# _return_result_locals\n");
			else if(AARCH64 == Architecture) emit_out("POP_X1\t# _return_result_locals\n");
			else if(RISCV32 == Architecture) emit_out("RD_A1 RS1_SP LW	# _return_result_locals\nRD_SP RS1_SP !4 ADDI\n");
			else if(RISCV64 == Architecture) emit_out("RD_A1 RS1_SP LD	# _return_result_locals\nRD_SP RS1_SP !8 ADDI\n");
			else if(RISCV32 == Architecture) emit_out("rd_a1 rs1_sp lw	# _return_result_locals\nrd_sp rs1_sp !4 addi\n");
			else if(RISCV64 == Architecture) emit_out("rd_a1 rs1_sp ld	# _return_result_locals\nrd_sp rs1_sp !8 addi\n");
			size_local_var = size_local_var - 1;
		}
	}


@@ 2335,7 2335,7 @@ void return_result()
	else if(AMD64 == Architecture) emit_out("ret\n");
	else if(ARMV7L == Architecture) emit_out("'1' LR RETURN\n");
	else if(AARCH64 == Architecture) emit_out("RETURN\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RETURN\n");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("ret\n");
}

void process_break()


@@ 2355,8 2355,8 @@ void process_break()
		else if(AMD64 == Architecture) emit_out("pop_rbx\t# break_cleanup_locals\n");
		else if(ARMV7L == Architecture) emit_out("{R1} POP_ALWAYS\t# break_cleanup_locals\n");
		else if(AARCH64 == Architecture) emit_out("POP_X1\t# break_cleanup_locals\n");
		else if(RISCV32 == Architecture) emit_out("RD_A1 RS1_SP LW\t# break_cleanup_locals\nRD_SP RS1_SP !4 ADDI\n");
		else if(RISCV64 == Architecture) emit_out("RD_A1 RS1_SP LD\t# break_cleanup_locals\nRD_SP RS1_SP !8 ADDI\n");
		else if(RISCV32 == Architecture) emit_out("rd_a1 rs1_sp lw\t# break_cleanup_locals\nrd_sp rs1_sp !4 addi\n");
		else if(RISCV64 == Architecture) emit_out("rd_a1 rs1_sp ld\t# break_cleanup_locals\nrd_sp rs1_sp !8 addi\n");
		i = i->next;
	}
	global_token = global_token->next;


@@ 2374,7 2374,7 @@ void process_break()
	emit_out(break_target_num);
	if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS");
	else if(AARCH64 == Architecture) emit_out("\nBR_X16");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" JAL");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" jal");
	emit_out("\n");
	require_match("ERROR in break statement\nMissing ;\n", ";");
}


@@ 2402,7 2402,7 @@ void process_continue()
	emit_out(break_target_num);
	if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS");
	else if(AARCH64 == Architecture) emit_out("\nBR_X16");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" JAL");
	else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" jal");
	emit_out("\n");
	require_match("ERROR in continue statement\nMissing ;\n", ";");
}


@@ 2427,7 2427,7 @@ void recursive_statement()
	   (((KNIGHT_POSIX == Architecture) || (KNIGHT_NATIVE == Architecture)) && !match("RET R15\n", output_list->s)) ||
	   ((ARMV7L == Architecture) && !match("'1' LR RETURN\n", output_list->s)) ||
	   ((AARCH64 == Architecture) && !match("RETURN\n", output_list->s)) ||
	   (((RISCV32 == Architecture) || (RISCV64 == Architecture)) && !match("RETURN\n", output_list->s)))
	   (((RISCV32 == Architecture) || (RISCV64 == Architecture)) && !match("ret\n", output_list->s)))
	{
		struct token_list* i;
		for(i = function->locals; frame != i; i = i->next)


@@ 2437,8 2437,8 @@ void recursive_statement()
			else if(AMD64 == Architecture) emit_out("pop_rbx\t# _recursive_statement_locals\n");
			else if(ARMV7L == Architecture) emit_out("{R1} POP_ALWAYS\t# _recursive_statement_locals\n");
			else if(AARCH64 == Architecture) emit_out("POP_X1\t# _recursive_statement_locals\n");
			else if(RISCV32 == Architecture) emit_out("RD_A1 RS1_SP LW\t# _recursive_statement_locals\nRD_SP RS1_SP !4 ADDI\n");
			else if(RISCV64 == Architecture) emit_out("RD_A1 RS1_SP LD\t# _recursive_statement_locals\nRD_SP RS1_SP !8 ADDI\n");
			else if(RISCV32 == Architecture) emit_out("rd_a1 rs1_sp lw\t# _recursive_statement_locals\nrd_sp rs1_sp !4 addi\n");
			else if(RISCV64 == Architecture) emit_out("rd_a1 rs1_sp ld\t# _recursive_statement_locals\nrd_sp rs1_sp !8 addi\n");
		}
	}
	function->locals = frame;


@@ 2517,7 2517,7 @@ void statement()
		emit_out(global_token->s);
		if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS");
		else if(AARCH64 == Architecture) emit_out("\nBR_X16");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" JAL");
		else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" jal");
		emit_out("\n");
		global_token = global_token->next;
		require_match("ERROR in statement\nMissing ;\n", ";");


@@ 2636,8 2636,8 @@ void declare_function()
		else if((AMD64 == Architecture) && !match("ret\n", output_list->s)) emit_out("ret\n");
		else if((ARMV7L == Architecture) && !match("'1' LR RETURN\n", output_list->s)) emit_out("'1' LR RETURN\n");
		else if((AARCH64 == Architecture) && !match("RETURN\n", output_list->s)) emit_out("RETURN\n");
		else if((RISCV32 == Architecture) && !match("RETURN\n", output_list->s)) emit_out("RETURN\n");
		else if((RISCV64 == Architecture) && !match("RETURN\n", output_list->s)) emit_out("RETURN\n");
		else if((RISCV32 == Architecture) && !match("ret\n", output_list->s)) emit_out("ret\n");
		else if((RISCV64 == Architecture) && !match("ret\n", output_list->s)) emit_out("ret\n");
	}
}


M test/test.answers => test/test.answers +251 -251
@@ 6,183 6,183 @@ b4dfdb3f7cef6571968fadd3e586a19226a546b3d470cafb8b7c556e1d2d3bfd  test/results/t
02255d2a702b879a5745dbfe6737772b7f8d6c9ba6b906da2158640bac53564a  test/results/test0000-riscv32-binary
734dd8ba723a9ed1655824e6158406c0164dd180335ee7f725ea07994b3d5cc7  test/results/test0000-riscv64-binary
be8111d178501a86934f10de64f815e6812c5ee31ca31eb5a0e51cdabae5ad14  test/results/test0000-x86-binary
ed0fba279d239711adfa164d954998bc715beb903cdde5ed9c9d62fcd7457a99  test/results/test0001-aarch64-binary
73428cf2dcc30a7a60f375fb1f3e3bccae044fd33b85b291ede4baa7316c4864  test/results/test0001-amd64-binary
0ae4e6415dd6a8f06c4673bbc380f45adb58250dbd12ff516b673080e8136543  test/results/test0001-armv7l-binary
c3efcb361567217da8d829128ec523277a3ae7e12fb52d7b2efcd50e79cacc35  test/results/test0001-knight-native-binary
a23eda0aa8b3331a7094f481fb4a2fe19980251f7401290638c828ec15493485  test/results/test0001-knight-posix-binary
a4f32bb6246ce48502741a02670b71b3a8f778a942bce896010cf58326cc9547  test/results/test0001-riscv32-binary
a1928d4913dd35e4b8759698ebc4b2aabb6e3090f5a4083c5941b47911e4ec1c  test/results/test0001-riscv64-binary
0760eb93889302a950bff0f96a5bcdb2279aa05d4e295d82c0345dcedd7d8786  test/results/test0001-x86-binary
73a78e67fd5ff5c14f55a10e3324c0173be568ec1d4e267ccae5f42e27fb3ac5  test/results/test0002-aarch64-binary
118a17c00ec5f3d8cf64778ed79834c30d1b28254e351e253c6db52541cf8424  test/results/test0002-amd64-binary
7db8524a565118dbe8866a49b6d95ec216f45a766577a1cf95590718b9ce274a  test/results/test0002-armv7l-binary
b6120b917f4a52beb940099514363183493545c0151b1080a69ffc04b4de98d5  test/results/test0002-knight-native-binary
fc693679e88134391c3bdd440f08619a7d94da3a7c33ae35835b0fa3a37162b2  test/results/test0002-knight-posix-binary
2a159200ee5db5fe39816a4863562ef5bd0b36e4b05ac8c54cda279c5340be86  test/results/test0002-riscv32-binary
9e83492d5c98f91376bfad5ca794386dbc851b87c044d5e197348acd1489b36b  test/results/test0002-riscv64-binary
44b972c0cbd4e1e9c3d9e36c62cab9e045d4f2c935f4572bf0ef099c5e67cdfc  test/results/test0002-x86-binary
cd476a0bb9ab0bf45e8614e4982c80299b2bcfc7965588095b393cd05f1b1041  test/results/test0003-aarch64-binary
d82325465ffae5182926fb7bf5ff093a1ec8ce2afcce114a1ccc2e5772318708  test/results/test0003-amd64-binary
0dcc91f18d5f417e121f8117277610fe015a43b5f3716455c1e51369e5f3e6f2  test/results/test0003-armv7l-binary
5d4687400c372f035e50108bce7ff2e1cb2d956cb423fb160e426c46165313cf  test/results/test0003-knight-native-binary
542d93c534efc3f9f214de4fdc9cd46726f2c7a6a24de65e29fefebed21db450  test/results/test0003-knight-posix-binary
33ff1106ad1171f2bc094187b814fd762bbc2e388148caa9b45f00a9cdf5bf93  test/results/test0003-riscv32-binary
3fadf7b295ed4a7e480ac3caf007de9cf607b62668a205345bd1ee34bdb8469f  test/results/test0003-riscv64-binary
eefe9e4c3addd07d1b8b2ab0827e0f6b13a2d0f81fa207094228e9a10562f86d  test/results/test0003-x86-binary
b7792a9346c23d92098d9022814cf7733258782d745cb6c0b7fe7d9d2aedd8f7  test/results/test0004-aarch64-binary
3a680bd6a1f5f27f9396e714ce6720a7a98e40040aee6167abacf082fb786a0b  test/results/test0004-amd64-binary
b13e73db0a61ad42b98e0579f51553b5f37ff3db4628eed182b96e96181c89d1  test/results/test0004-armv7l-binary
22eac511bb07b4a721e7f50529cf39c40321f0597e8af9051273c54234a18bd7  test/results/test0004-knight-native-binary
601f29d32386355df5778b51bee29a8e135533edd361c3899c1690b93aa5e3f6  test/results/test0004-knight-posix-binary
65e437a1eefcf1a93e23d589e10e7d988657c0ca8eec34e0fc3fc537b5f91ed2  test/results/test0004-riscv32-binary
a8deb5be6eb75b2bf267f2f2873287a435ade93d13340aac74728e8a4f72af5b  test/results/test0004-riscv64-binary
7dbc17348e8ecf8e16a3b5971b783d2c61c1fa1673b63ca310b6f15aaf6c57a5  test/results/test0004-x86-binary
f304d9d391281c6d30e91686de92875f6ebee6166a0f261ced3e0390fc133ea3  test/results/test0005-aarch64-binary
e4f2c7d2befbfb27c21c6ed7eb72378f440d0c2b9b2432025fcae0196f0549b1  test/results/test0005-amd64-binary
fd0639953a8d016514b01dc6ec496cb09963877b39544121606346736216ad6a  test/results/test0005-armv7l-binary
31eed0c44f63f87df8edf8438652908a24b9d9145f423be2057e8a472983e5fc  test/results/test0005-knight-native-binary
d2029ca09a3f19d175fadc686e8cf58193816a64f4e1f0efab48b6614fa8646b  test/results/test0005-knight-posix-binary
85b3996caa3049344bbec01fc6e44871e9919257bd5d83a6b801162fe5ecff29  test/results/test0005-riscv32-binary
e3f12cb8cb9d662298607f33a64faf8cde1b26303cc0afb0b949903279084814  test/results/test0005-riscv64-binary
620a9e36f309331c21401ab7485535463287636467928d757a4fa433491318a4  test/results/test0005-x86-binary
20d3f57fd405fe30a05e0b5df16357f4e819dd7c4bdb3ec17489aac481ec4083  test/results/test0006-aarch64-binary
e7f615aabdb66724ba9a1bd8d4f89d5a13ac9b27a5a94ebf6fd922db0cbc966e  test/results/test0006-amd64-binary
87f78d9bb6146209d6cd5a2a044fa6e0c617ca149dd980e8c5891e7ff6944e83  test/results/test0006-armv7l-binary
19a42005608e630c80ae595723db3ee3352de37b2f8147ef643c78f4551a608b  test/results/test0006-knight-native-binary
57dbe9a547340df545b8b4d70be7837fde5ae8a896622661be4f41cee87f360c  test/results/test0006-knight-posix-binary
55862285fa26f90bae634bc60f7855857257d384320bcd4dbc9412225e519a5f  test/results/test0006-riscv32-binary
9dfb22a38f5b104c9bc52169d7652a985614167c8d272a298345b61687bb7980  test/results/test0006-riscv64-binary
183c7c8d18ca1e18c2280f052090f1bccb9e5af19449f08b12714b2d3dfdb283  test/results/test0006-x86-binary
6ba56711dc5ebf84663c98751d1c254f4361e50cda503e3cc60cb4057b1d7264  test/results/test0007-aarch64-binary
f892d73b33fc662a0cf316e22b144a1821e1ef0c3c098f1d25c76e4023d5dff4  test/results/test0007-amd64-binary
9440eb39f6dbc7c76f08c1cf3914654713b65c5f1eb26c6dc364f810df2c7f9e  test/results/test0007-armv7l-binary
5c6c9d84eab5a1860593e8d58dbffef98ebe0c457e3f9b2763fb08582c0b225a  test/results/test0007-knight-native-binary
47cbe0f1073b89243ff67eb38fd3fbbc4c94763dc33b5fe225da1d854e9d62c7  test/results/test0007-knight-posix-binary
f33baa4b9a0a375f27c1ab44be9a3bdd7a9763fe8d3cafcafe7b6e2d65626e53  test/results/test0007-riscv32-binary
dddf63f2aa21c8c267eeead83b5ce7afe55799ac889974063d0839c0cdbb3db4  test/results/test0007-riscv64-binary
8c6fb4b2fc5518b2578a29bb29f8cf8dd5901c5ca0bbd084a51ba9a75c272d9f  test/results/test0007-x86-binary
1820d238141aa64beaf149072c93c485ce43e5f015d0e4a0f3a4544d84f84807  test/results/test0008-aarch64-binary
423afede9d0d7c1f1c43355d72538018474913a942cba5ac07be054fafd05abf  test/results/test0008-amd64-binary
af3e420191c85629cedf432e4cd1bdc8df9d9d56fd1aed844e993010d352baa4  test/results/test0008-armv7l-binary
d47647ad8bb0e0e6d2d13d6635382e222e021f89eb51d98cb3be200268f45b24  test/results/test0008-knight-native-binary
367f230e992177432788655ea54d181de00ea205edd9df24e014a23d56ea3495  test/results/test0008-knight-posix-binary
900b9475d6ca024d3b5d939198c4e5bc0a67babe6f7349435fbcf2e64c87958f  test/results/test0008-riscv32-binary
f686a8bb4ea5e00cfd7e97858a21b30223d63c020a8844d7bcfe460c6bbffa0c  test/results/test0008-riscv64-binary
96a480b97caa17ff6c8938b4982935d21289ee692817d305e08eca1f44ad251f  test/results/test0008-x86-binary
1d8fd8b5dcb76222438308e93cc0e9acb4f0486f88e6fa2a104454493e90a37b  test/results/test0009-aarch64-binary
0a2381f69c0e166eb53c9f25ac7c7fcbe6abb872b918689ebd7027e4997bf2c2  test/results/test0009-amd64-binary
3db5c531146112f7f31fa839ff0a61467ac66a86d54c2066fe76efe898be67a6  test/results/test0009-armv7l-binary
aa2d94b7c0661152c2bcfbdc9add8b17c86eaf29c9d1dbacba5d4567b56574f0  test/results/test0009-knight-native-binary
4dbf6a540cf85abc036514ebf81d29ef5705796c9a065da170c4bcf7bf72724c  test/results/test0009-knight-posix-binary
48ad0551914b3f3028b101aeee35efa03e7f7f2f50b8ec346363a235eed7a02a  test/results/test0009-riscv32-binary
4bc1297dcd6dfc2137e4b4352a29b9e8f2cea7f5eab422f497b90616f8366e7d  test/results/test0009-riscv64-binary
0247402c816dc9d27a6928df3b064a4ecf10ff0f2de20c5fd4f591d465c9c062  test/results/test0009-x86-binary
f2468a2a5bd51e0b32b783b0c527f86ac07802d9c3f3584de2739df97e0de313  test/results/test0010-aarch64-binary
9dfea927558b60f7d504d7306b0a35429132a6f0c23e54a90aed9d3d1f0c3520  test/results/test0010-amd64-binary
0eb93100667ec3dec5cc23649c7d82191c79b83f0a888786851d0e81dd121342  test/results/test0010-armv7l-binary
361cb7b456be0c2b24411b222123a9c0b22fa006b06c3565ffeb64ba5fe404d4  test/results/test0010-knight-native-binary
4e9bc5cb375ea74db02060497282b4f0e2b2c2d882576fcb39591c744048ebdd  test/results/test0010-knight-posix-binary
068778ebf2cee0c555d34b105fa2019fb6f433e28d9d19972c40234d918cdca9  test/results/test0010-riscv32-binary
46f11e560bd5c2e32010a6ab1d416a1808ace6374a08272b9cd4ab0c3752fbc0  test/results/test0010-riscv64-binary
300ae699165c0ad76064ea245322e6c1d6ad75c8d259545af9b4ffd6c508d042  test/results/test0010-x86-binary
0b0a4743144c37399c0df62473467305b5913e4a949d99333ea2e33ba15bd58c  test/results/test0011-aarch64-binary
7eb93c38168b5977d7e04d54d658df58c39106a40af1a0036d89d40512070076  test/results/test0011-amd64-binary
6b0deaafc8ff2e548fd5a171e79e37ce296234d6123f0c38627f25f9e7fa48e6  test/results/test0011-armv7l-binary
817f0301f73d44a4c48ae7b931175f94693168002f542a991edf64e82fe4878a  test/results/test0011-knight-native-binary
818adb33ce233f0391a6d774aa38dd261ab799f22c5f35c280c9aa83c9f178e2  test/results/test0011-knight-posix-binary
5b24f101298e34aef20c1d723591f0f308ce83f0ede027bafbe9e5730d5662c2  test/results/test0011-riscv32-binary
4ee7ae1d7266784fb749aff7026a260c09f2cffa063e856d9a744d4b377daaad  test/results/test0011-riscv64-binary
69e26691e92baeb03a975f99a9b35efba609f8aef3182ca6e552463827d9dfbc  test/results/test0011-x86-binary
bb6f2e12139760fdcb3a81cc4f3aee82b2e5de8241ec09b4f97a09dba8702b6a  test/results/test0012-aarch64-binary
50a2d96e256e1aead5c242122091ef0a47b1d96e4159449601da95d172e9892f  test/results/test0012-amd64-binary
cc4f3ccadae3da1ffc0a67a72a0fbb587a896781b78a1764156af91508bf4794  test/results/test0012-armv7l-binary
23107958d4f17866a7bac8109c487ebd098e1eaf6cdec396e5fb739e1ca3b627  test/results/test0012-knight-native-binary
3131efac850004f5397c11d5954444ca4ec74b16a1daba5679fc0590af0294aa  test/results/test0012-knight-posix-binary
9fbcc3b575bdd9999659fb4c9f3f0184c2d85cb33b67786831f2f71dfe239e1a  test/results/test0012-riscv32-binary
de83cbb81ad66078479f9632402b15d9e226d8161ae18eb791440b9afa09ef9c  test/results/test0012-riscv64-binary
c119496ee622e0fc43f5f2843a48a9e52f8bb94b66165fd7acc47f6745aaf47e  test/results/test0012-x86-binary
f5ff3460460d1b56750c59f170925a6aa30d66db6854ef6c4c624394bb743e45  test/results/test0013-aarch64-binary
c7912595a7fdfb8f971c74cbbe3ab676c1fc7b74897dd46efe3bc25e74b6d0c4  test/results/test0013-amd64-binary
7fce28d28994fd62489fb29f222ad62ebf84b56f9242f1c5972d6fb99b8b6121  test/results/test0013-armv7l-binary
ac1ced2b51b30a2cd6ff75847a30120d666d7e81dd2a9302a7954fc9785bd745  test/results/test0013-knight-native-binary
04b137bc99810ce5760fc5d77ce270f870293a77c132f5ad5195e0469804ecaf  test/results/test0013-knight-posix-binary
5da796bb93f40a340cbfc5b371d9241e51e74582c3040f067203b253d18f31ec  test/results/test0013-riscv32-binary
33e1f900bff41aa06a612d6d2ddc46edec4d78ec294b43ec722cc92066146d2e  test/results/test0013-riscv64-binary
e3adee5d5f5d3a0fa6195077cc94c23206a2f25c66bb33f177b4aac18d4f9400  test/results/test0013-x86-binary
9e728cd818cdf2df7a6597badc218229eb5266c06a90bca1d0b96d670597b9d9  test/results/test0014-aarch64-binary
15ab6cf5b6bdb3038994d2aa5f430f15cc1aa882bbd540ac6aabc47e0a80ec8f  test/results/test0014-amd64-binary
8ecd2a3ac0fe239be14e5898f3cd8b29430daae13c8d102c9d7da7909b5c7c98  test/results/test0014-armv7l-binary
70928b5c4180fe5beb45c28d9f0d3dc85ad2f126f0030516787aa6bc6a1859fe  test/results/test0014-knight-posix-binary
130d3741973187cf0fffede757b1791954eeaa2488a46be21ef18105dd2ca264  test/results/test0014-riscv32-binary
0eb37e04da18e3729a7771fdb80b79204f2ce62e6c211a98dcf0147e1527217d  test/results/test0014-riscv64-binary
06284bdce96e9bee46e11f6f25c4d4975a45987e3f04257b9c97b9df617450cd  test/results/test0014-x86-binary
5a5b72e967205a3cdaaf4611d86963ecf172eb96aa58a69873c749e62fdf3b3b  test/results/test0015-aarch64-binary
846950e9da19b92dbf60bbcac815c059e1641830ad7ea4118db14f157458e900  test/results/test0015-amd64-binary
91a36137637d7bff9284a6cbf11d9462011b5c06216da87e4d42c8b72da8ef68  test/results/test0015-armv7l-binary
db2a30a9fd7b8ca778c3786978bd1df38decf815ba19883fbf276d25ac02c172  test/results/test0015-knight-posix-binary
51eec3c8044eb1c1b6bd585bda140c24427a46c782ea16d9a90d4e43d9583546  test/results/test0015-riscv32-binary
a2860b0132bff7f42947229d7053b427a03cfed2d51b1b99aed2df3666fc6c94  test/results/test0015-riscv64-binary
cd5f00fbc52c30255d8e3d7c1d2953b7da760b0ed5db3e58893b59d747c7aee7  test/results/test0015-x86-binary
1d5fcc51fe2958205a7f7bfcad0116ac48016aa78dc6efcbb67d90d608c17518  test/results/test0016-aarch64-binary
3e0c445e6f3bf6ce03165151b4e079b60d15d524dd2f79e5945235c8904663e0  test/results/test0016-amd64-binary
cc1122b90db2fc03cfca8a9bb63e578709a9699bf650ea500e7745339104a26a  test/results/test0016-armv7l-binary
d268376c2c21d3c86d0256776d162469a33517ab952ca75f805c71b1b3103151  test/results/test0016-knight-posix-binary
80ae572bba3d9f80255ca2dde06f9261e5807173a578b6e2f7c968e148d84b5a  test/results/test0016-riscv32-binary
4823d9914e181ec27cd48b61a8921607571e26a10f8ec943c7e5b414af533bf9  test/results/test0016-riscv64-binary
200764a186c65ee9fabd51cf42838cf0479a1bc826e2c0347fd3c61534398552  test/results/test0016-x86-binary
e2bcaf876b962a38d862c132a2942f0d0dfea97020e76a7439563365602985bd  test/results/test0017-aarch64-binary
2a5af4413e2d694fdbf570f1db1cf667982c7153fa3ccab93f30f258b425294b  test/results/test0017-amd64-binary
d3177f0c5b854f17ee54e9f9d7afc839a67bf601082b960226251b04e1a7eb82  test/results/test0017-armv7l-binary
d63a7032fae89eb716f24660bed9a49be24b05ed2e61e7dac084024aa7e97ddf  test/results/test0017-knight-native-binary
744a802f7cbdc93e99678e06b7c0efcdd9ce8ae77364c35bda7d407e82a37ecf  test/results/test0017-knight-posix-binary
45de9d857ccb5fe29610f56ce5058ebf8df5522131c617831ca2307f5c81b296  test/results/test0017-riscv32-binary
543082fef71ae2678d7c2f4c21f3bc21af9dbc0cd61a48e7ea4f290d9661dc54  test/results/test0017-riscv64-binary
b6cdb0f067581b2a8148a3cde9d4deed4d68cf69d68d3750a4fb8363fbd8b04c  test/results/test0017-x86-binary
7979eeb57d69c9621c0751f1e755c209613c9dfb870ca9395f15a03ee8136d18  test/results/test0018-aarch64-binary
793156f5e56b05348886ab8dbeeca57b272657831f7d5029a5227c02f19df63a  test/results/test0018-amd64-binary
6a2f101c1878b7118af5c89bef5113c8e05e2d4b8857dbacd1a1289e2b08a39e  test/results/test0018-armv7l-binary
f9e4c2c4e8184254243278c72dcbba50ef48450dc406af2a4f7261d159e16261  test/results/test0018-knight-native-binary
4311d5d80d9ea663b569cc19c938e63c971b4ee7894f3b62a998e609b443b6ee  test/results/test0018-knight-posix-binary
ebb45d1b2a296abf91337e557a70750caf9053ec1eb9ec3cdbae8c6800c10bf9  test/results/test0018-riscv32-binary
22b7935aa07038fecbdead801e5e8a576b91acc0de246b63fe92962dbfdb193a  test/results/test0018-riscv64-binary
795c5129ea5a719a3a1891a2bc5be65601149fbef16bafb60b3cad62c8fef7d5  test/results/test0018-x86-binary
ecba37dff0e50036cf6a7255b1c3e1e532ebe1557c17fd9e92e64e4f8d51030c  test/results/test0019-aarch64-binary
7382e102c651cfe3240bc4eba69cb4ea2cc6c1e7ec0fbfdc6c43482af109a7b4  test/results/test0019-amd64-binary
8c2c7861060988557003a46f15cbb687edc88f3f2b948eb676ccd7319b84d8f4  test/results/test0019-armv7l-binary
15b7fe476ff80fb3b62573c083490128679dad56e5ecb0fdcb19b6936ba3235a  test/results/test0019-knight-posix-binary
816000c91fa4a533ce69155343f673d9a319a2fcf712a3016f75b00c145888f9  test/results/test0019-riscv32-binary
342f9de5978f1455bd66f7131c2f99035fb3f60e11bce8fdd5312ef1cac7259b  test/results/test0019-riscv64-binary
f50779003dab84eff7b3fc14dca809785e1cedfa257d1f4abb544111d67d34b0  test/results/test0019-x86-binary
886d8b96422a0330b99be300b0732cde4ee83086acefac800bdd80bfbcfb13f6  test/results/test0020-aarch64-binary
11898f65e4535d295d01fc6d3e931da48e94c8d66290b4aa286e71ef5452ab66  test/results/test0020-amd64-binary
8b3e2455acf242dc90d853067fb505f2b7ff05312390456daedd0f79d156b59a  test/results/test0020-armv7l-binary
57091c50d224a3d0188c4a7b84f6d5c2def874053cd7a443dcebdbb20142be1c  test/results/test0020-knight-native-binary
8fc03e36b00f87acedee72e4588c3d968d9562df0e5357576338b28eed30d3b7  test/results/test0020-knight-posix-binary
83c31263693fa2f8ac86b0e82f9bca7b5ba5b1e0a2c81ee843bfe2eb3c7d2c95  test/results/test0020-riscv32-binary
35b1c1b41b4df1f4e2ef667fda70a254c44845d5d97a3fa18f9d4f9722d5b7f5  test/results/test0020-riscv64-binary
b207f445d032422ed14929d07e5ea4b57d810c7e30c29ae6334a7a6a04920b93  test/results/test0020-x86-binary
37ad1fd90b5eb53f994e2c1dbb4188af32155ba336655596060f966022ad1657  test/results/test0021-aarch64-binary
35194917c6f774c631ab0c5fcae962061595d91f4167a28fe4166375a076ef45  test/results/test0021-amd64-binary
1304c64f090ba5410160a8f3210ae0674a8e113312b6bb7e2ac52b1520e2be16  test/results/test0021-armv7l-binary
c4ffcd7118d5e945b0f39bc1b467f6101e688bca4ed61812ecb98c0e8fd4aaac  test/results/test0021-knight-posix-binary
893fbe6d8e0587bf841f5f8d972dde6fdf2c9941b3f4f7776c577433e79c3a65  test/results/test0021-riscv32-binary
b0ace7f79bc15f18137c23b32889ddbd616ebef234673881bb0938654159662a  test/results/test0021-riscv64-binary
6ea87e42e2076a9f06b88a4e19a7a9cd7bf7391b1f6b5829f0f7fc7c393a64e9  test/results/test0021-x86-binary
39d2752bd6ed1a23843ac88d2773987fe9bb7f8d6046a75449e345aec24bc113  test/results/test0022-aarch64-binary
97e1a22a966ddb5509a7704e4655076a1fa4c30519d2783c299eff76a16406f8  test/results/test0022-amd64-binary
9465655004ee25b5230406d7cf0f626f786193d7d6d78e174870d00ffb7eacbc  test/results/test0022-armv7l-binary
198fa7097f5385473860d3f5aacf59329d57d7c8518caf20e332be4d43166690  test/results/test0022-knight-posix-binary
863652315588121feb350200ca253fddfc358c6c8588f1ef7a7707320dc03574  test/results/test0022-riscv32-binary
624020f4feafe8714fe4a511e9f8365cc03930bfd711ca48d942cbda90419aa5  test/results/test0022-riscv64-binary
6229b0e314ff72d82b85a2e7a2fb55c2378ba441ab999b5a035b937f7666c43b  test/results/test0022-x86-binary
7bff8f709ebbf3805c2fa2e61ae6786feee9c84955056addb120a853e81c6de6  test/results/test0023-aarch64-binary
37a9bbf3db53f02eb2870e790ffb0330d048474586b1825a5a293c1cb839ffb2  test/results/test0023-amd64-binary
748b6093973aeacd24576d28c062826ebd5fcd1c9b3fee447994fe885d82be5b  test/results/test0023-armv7l-binary
218986c3cc55b7cb8b42766f26ea813d20042969ff5868925b4996a83770bd78  test/results/test0023-knight-posix-binary
b27292b6352406139f160b3e395bef64efb73e005704987c255b940fc5003376  test/results/test0023-riscv32-binary
9bb46e6442b72df4d990a88e7f1e4cbe94efe7d9b0aa979c37d37f8ff63e91fb  test/results/test0023-riscv64-binary
c2efd0ab7cfe9ec8974dc9e2303de2e380ced47162c4d6b6cf2ffa082e83cd6d  test/results/test0023-x86-binary
d1700f3706d3cbde9c5a9e1ed0193e2cb3b636737e6109d7d9daabfed05e7972  test/results/test0001-aarch64-binary
34030708741c0a78e60e403d5db4369e31189d0a16a6ce485ca2062b00b87efc  test/results/test0001-amd64-binary
94901915b0fb6b175703e4d004de58b5f11a7d72b309b55ea1db467fa4936509  test/results/test0001-armv7l-binary
227c5c844ecc1d3ba11ce5fc38b18b0f10c8e398cc5829fefae752e2d805e457  test/results/test0001-knight-native-binary
25affc393c8a5cff3b6016b5fb389596f36a644b9de8667749545337f68d9d59  test/results/test0001-knight-posix-binary
68a353d6b12406c1eb448c15093962edc6412da68c345c507c52149b39a17058  test/results/test0001-riscv32-binary
c461932fdd60bb25f7f4e5ea0840e2b883d3729dbaf9b35070b4362d2f2cf506  test/results/test0001-riscv64-binary
90bb1fc091b96a459f8bdf672d3c0d99b5b11102cbb78b8fc77a192ff65f4f0a  test/results/test0001-x86-binary
0012aff9ea33ec56b014316033346dec1bbdb2f862d232bdfc09914de7629e73  test/results/test0002-aarch64-binary
f542bbb22332ac7e67c9c16f8fa7ba89e0cb41dfafc345dbaf24687777f2bf6c  test/results/test0002-amd64-binary
546716d178bb039f3a702206683fad1637757fca3af7aba9dbb2ce2ab58383a1  test/results/test0002-armv7l-binary
3b7c3e065e0512081aa87d184eef6b2aea76fe6cf9acfe6a8ee857e3ee25bfb4  test/results/test0002-knight-native-binary
d8484ae5e9aec221d8daa7cf8f1be35e3d478cb511e6125757fba8afcf0ba304  test/results/test0002-knight-posix-binary
68bc90b3874af4b6fdf2b0070563cc524d9a220301c81196c8726ce0ebee7dda  test/results/test0002-riscv32-binary
1921072a928bbd33b77ab1a8208f4beaa74bf1a05a35e8d7adf0e8e3ee782595  test/results/test0002-riscv64-binary
e85a510f43234960b4c8a1745b2d1b9865ec8df5f2475349e9ad59a5452bb6b4  test/results/test0002-x86-binary
4e52f3563fe9a412b907844ceee6f7d0f59b423905cfbc772d47ef06f8437773  test/results/test0003-aarch64-binary
5dffaf74775dc8802a99d844bba9cf6adff2bb27652c294871507496e9b106c0  test/results/test0003-amd64-binary
2480ebcf0a32ad6eb734e4e843599fe29498edcdbb436eeb2bea11e3ca6232ba  test/results/test0003-armv7l-binary
c7fab0d6b8fb8b54673575bc0ea4654e60a418ad9d247184860ffe9dae779adc  test/results/test0003-knight-native-binary
9db247e95b1f39fbeb453280a87c43d8c08559d937aa89e2333db5f44b44a893  test/results/test0003-knight-posix-binary
4c9bf5ea87e80a863fddeed1c89d29dddac2fc970b0e2e104942fe41d01869ab  test/results/test0003-riscv32-binary
27bcc1718900abdf0c4e3432b3b9c4c4b4154414bca63cf4825d61eb7b0b21c0  test/results/test0003-riscv64-binary
cbd3ed8749391f9cb692dc9d9a38efa99eb490e64d57e42e4aa11f9f5a7a8c07  test/results/test0003-x86-binary
bb9dd77c3c18b0c5742c7bee885db92dd77a613307938f2ccb3128dfa0aae7c4  test/results/test0004-aarch64-binary
377eb435c54dcb3ba02095b2c042c72d70fef41c4e58e1564f1786031384179f  test/results/test0004-amd64-binary
ac0a1555ca7a0ffe6387b4d6bb0c95086789df2c7d3d6acfe5a107d57b118666  test/results/test0004-armv7l-binary
6332f7f0f0fd5acfca423cae18a6881e1d1b7bbf2331afac337d5cc56bb433fc  test/results/test0004-knight-native-binary
ae43d501dc81356b87da6b69b43868cfdd2bb9b74a009e126e0e7cdbc33b0ffd  test/results/test0004-knight-posix-binary
df5d28e5fc6497119b17682ce3d30c54f87da4e6ddc162d3592558bd6e9f37fe  test/results/test0004-riscv32-binary
6c606a485d7f4c57770134c1bd8fd3a29b4cb38685876180780fcf1255c48ed5  test/results/test0004-riscv64-binary
f140e6b1b837fa7cdcb0bf405b7b445adf1d9eea8ecd6168dcd1c532efd9a7a8  test/results/test0004-x86-binary
05832e430f201cec12bf59042cb5609fed1e34b95f2d7c42c78c4ba0480649c1  test/results/test0005-aarch64-binary
735a09fe6b4b1bb5f887ab912820958892a468cb070e687032507cfd2e315412  test/results/test0005-amd64-binary
c443946a9961620b88b2084dddd62f34eee6cd522c27b29572760f17273e7737  test/results/test0005-armv7l-binary
c73ab5a6ed325c3adbad6b307d320dbe038e5369a79632555112e5ae5ff18e5a  test/results/test0005-knight-native-binary
ba0d48b23d3b96b42e53d3246ceca02c3e40057f424497007badcd61f8053928  test/results/test0005-knight-posix-binary
3765f4a91fb9cb34c1261c793b13c81b3a56b570fb55f0f3745c21acaeab8e2f  test/results/test0005-riscv32-binary
69710873b613ed403725a0e3cdf65c46b73d7c66b0adc371cb5cc8def9dbf09d  test/results/test0005-riscv64-binary
05c4418a2f12d6e81f6b6da5128163bf7c0341c41323802cdb0edfbda23c67f2  test/results/test0005-x86-binary
ff0c534bb853a77d6c870fd72ddb9129a7f157d081f070f9fa0f31a1d67fe1f0  test/results/test0006-aarch64-binary
ff0047538bdeccf8c75a0c1c018b91cb076739ca7993eca3822d9252b0b5dd21  test/results/test0006-amd64-binary
39d5bdc32fbd089af5bbbe825cb2dad44a4c0f27892d5294f9385abaf0090eac  test/results/test0006-armv7l-binary
9b8dad97ed379597469b7b1fc2aaa0028e78f51673afb682b23a51bfde03302d  test/results/test0006-knight-native-binary
728c46606341875fd7f36046d261ae2c360d37b0bcff9c37532cae0fdf338471  test/results/test0006-knight-posix-binary
8d59f6f3a06f9a108a8b68faadb25bd90a11141a1a5c3ff6659744387a01a36c  test/results/test0006-riscv32-binary
3c49e3df2245c7bf735d77f24ba7433fda483d5e9235fa24e42107dc2aef4eb4  test/results/test0006-riscv64-binary
8fdbd0cff3bd0cc2d2409fe3eb2e67ffc092e25d126335e578eee0bb1191b773  test/results/test0006-x86-binary
5336f63b1303399feafe0840d91a3c7c8a5ece219319f09ebeb9e001a3ba1613  test/results/test0007-aarch64-binary
7b8f3275ea5188f8b409dea93309500e63006442086d5ae597790789c4881548  test/results/test0007-amd64-binary
453c42f73db0dee6fe8cacc2448792b3290b3abc919fbe320711e868bc8b4af3  test/results/test0007-armv7l-binary
127d2091b41ef258c3926899ca9b24e0c80de95f9975747504872da380922167  test/results/test0007-knight-native-binary
6f400de9f59dbcfda62774411fb06dec3734f305513961ecdb0a283d04a47827  test/results/test0007-knight-posix-binary
902e3d8881d998fb1c92c4788fcdffe952173fdf9b335458168040faf399b332  test/results/test0007-riscv32-binary
2c5623d0e7106a6efcd700c01857044d0b8d0a9d4f5ae7d76e1416a848e7b7f2  test/results/test0007-riscv64-binary
b517d299bad3b1f45f1e9e4a5959f4318876539d66c11a1f120726341bc10f56  test/results/test0007-x86-binary
fae6c78b63e5e7419ea62e82f41a981aab3e891c151f8a610679e6a23d44764c  test/results/test0008-aarch64-binary
3706f3abc8f5c258588188461595dd60815f53a998c85de16fa60bc39e29bc68  test/results/test0008-amd64-binary
1b41b9a53adb97f26c3cf1dba92705c873da2b03bec425cad0ef88eb49a753a8  test/results/test0008-armv7l-binary
ac18519cb3c358d246703ac77c8c35a6216ffbad9a472b10bae37b3a7831671f  test/results/test0008-knight-native-binary
193d71fa1d4274eff6fe814d27def1d9808eacd8327c412c7a29211b5aff2f6e  test/results/test0008-knight-posix-binary
c4939541f8e861828fb0bc39de4bf52a5175cd175dac7d8bc31403fd8b9ccc72  test/results/test0008-riscv32-binary
08e4f2a9854a422e468f4ba0071be82bd54260e39c9bdb006de846fc90d6c14c  test/results/test0008-riscv64-binary
c31e2fa9f6fccd03b2cee3d601dc1f618bffddf48972bce4e57c6909fb64de29  test/results/test0008-x86-binary
a8e45ada54b582680c3999c6e3450907c3c83f947cc054b5360cca7d3834cf36  test/results/test0009-aarch64-binary
0abdcb66842f6778675c62b51059ac492f0719e61df1a33e5ea8fbccbd7033a3  test/results/test0009-amd64-binary
0fa1a04dee33682fb5e5ffee04cc9769263cc333d96b9cb433effe3f7f0d52c5  test/results/test0009-armv7l-binary
45d5c1b43a343c27c48296fed03730d9514a64f1f1336f8a74036dfeb99e4d85  test/results/test0009-knight-native-binary
41e8d3b2b0e7d0fbeb61e97af5e78d3f15c6bf3b0f72fda181444685615ff80a  test/results/test0009-knight-posix-binary
a366b2ae76dbd614762974aed5ee1a432d6afdf6739bc62b3d4539ae8d8ea4df  test/results/test0009-riscv32-binary
a91c764f9df23d2b663d56243fb337a8bd846165b4e7f459a0d217f8b41c2e67  test/results/test0009-riscv64-binary
3518995593b9bf2fb461f1d896d1fa501d7c57308149d1ce06177aae91ad25e9  test/results/test0009-x86-binary
1e327f2abb71bf0fcba207c5b1aba8a3f1db788042181908905cdee285ce9dbb  test/results/test0010-aarch64-binary
20ce21c0b2c4c469567223891877c1ee0b434874186d1cf33a7d1ac95eb8daed  test/results/test0010-amd64-binary
ceca3a12f35b92edd868bc27d3148012772de96346d9bd1330bd2d104fcc50ef  test/results/test0010-armv7l-binary
27fe2e951002e4ef8b2df93151c6eca6c6031083fe27a5625774c4601317e11b  test/results/test0010-knight-native-binary
fda5ad6f31261f8536b72659d88d08ce330bf6404175ca6bdaa43733b17d7a4c  test/results/test0010-knight-posix-binary
7f19ba0b38efc374b69790320592fc016218facbb1d04c227b3b041340455888  test/results/test0010-riscv32-binary
2dd3d5630b8658a4b24d51ce64b920bd037b357a2980e56b73ea2c239cac1d5f  test/results/test0010-riscv64-binary
a516354e44ceb73bff728f64fa145e8453ed1da24b0c541d7f4db0e20c29c86d  test/results/test0010-x86-binary
5336c788c30cd54770a659a2e3663c961932d3cc5a9eee260f0428adcf6635d2  test/results/test0011-aarch64-binary
30c685d48bc794d6b1d6234948e67c5e62cc741dcf0b27822ac6ec026d6a8fe6  test/results/test0011-amd64-binary
17243fe41d9ae7e22f9dc18ea453e551582c87cacd80f99acd532c9aa956a4a4  test/results/test0011-armv7l-binary
c6c6057967ba5f37d92ccc76d8bc89a3f3a44900a441a6f7582275971035f138  test/results/test0011-knight-native-binary
5b99c0f5af6da648cd8d2c8b8079583bce3073cf339782adac69f8eddde4abad  test/results/test0011-knight-posix-binary
9a155c3096287167c9e9a7d2b4a7f23cc5f2f9754d2a039651c3f7bbb81de480  test/results/test0011-riscv32-binary
a7566017989fe225dc2c9f5932534965bc7e3d3d4365b496bb0c8d7f9680952f  test/results/test0011-riscv64-binary
934466c0f8df3031cb84c61cc10c7faf34597fc6af85fc5ae7b8c2829736f6c7  test/results/test0011-x86-binary
e83cab3f1b433ecbc88c79003463be8ad00a4909e69c10ec9fb5ca82bb463b57  test/results/test0012-aarch64-binary
a96706b4749f338ed53e86f71a87124d0994c6c4b26dfa3ba53453b2b0f88cb5  test/results/test0012-amd64-binary
8f7d666b251e85587afbe080433f9b5d4f4d881bdf4427826e8866a6aaef492a  test/results/test0012-armv7l-binary
d5e02901bb6cd7a3e729f0131f91db5444e5a9bcfe05e3c8143bfff1f33288ab  test/results/test0012-knight-native-binary
a4e69d86173147b08e5d8186293b427ed3498ddc62095f190c4af2489e217772  test/results/test0012-knight-posix-binary
dff1bb1a33e2e93f39324207e001248527af1a58f47f7c63eb659a81b9c1dabd  test/results/test0012-riscv32-binary
a0d0f56c1a70b9b0dbc9b33f106712c41db774ff14d9754e8302133c459589e8  test/results/test0012-riscv64-binary
c553bac8bc857c1ef80b1ba132545bf8cb2a5d65f5cbbc2571adf9b2b1c0fa24  test/results/test0012-x86-binary
7469e8366cfc3e8dad3f2d5c5b8eed4616272bde5baaa3cce6fe13a09c04d7c2  test/results/test0013-aarch64-binary
009e940c778637f64c26d73d2b7df8c39de70f0a901337f381f8caf27e32884a  test/results/test0013-amd64-binary
981f18a2c6b2fefceed4eecbdebddf3908013b688138bf2c1e692a289f5e9d18  test/results/test0013-armv7l-binary
07fb3ba1bcad512c22af9b32dbe8ad4fc68df8e8e83b805ae1975bbabb76e54f  test/results/test0013-knight-native-binary
3233e51b03bfe3d02673420be28f725e9bd666c2c969057d7fa621586f40373b  test/results/test0013-knight-posix-binary
d422428430f2a6dfdb59c37bc3112c3f132ca5427390ded59ecf304f3c1e5e17  test/results/test0013-riscv32-binary
591700370b9cf3cebdbb525464f0ba86c079d893accd7e9cdb3fd27e166236ef  test/results/test0013-riscv64-binary
e99a9700479486e7212a5011fe2818fac5e27c9411d1b249357f2d6e8bd71940  test/results/test0013-x86-binary
e9269b86e947a43fe1f06653982d4177fd13c8486936ee15ffcc9e0e2ba01f13  test/results/test0014-aarch64-binary
6a30dcdd8f37800722f35697c2e059841e13b54e5a4415a00348cbd09ec4e349  test/results/test0014-amd64-binary
31a790f0a594d8714ab6c97bca25e7b65cda5e81853c5b4b1d02cc7b91bd6e31  test/results/test0014-armv7l-binary
727069648c84ebe0ae08c08a51e49c3edb5c815dace86cb83127837103abf079  test/results/test0014-knight-posix-binary
e29facf86fac326e4876c2707883fa05e2f8d50f00276f3e2483c3b3423ecf15  test/results/test0014-riscv32-binary
7cf18b08a147988cebf18a5fec18fa74adc1a81150eab9360363d1abf847a1c0  test/results/test0014-riscv64-binary
827aa43f038912daf19d7780a271ac82988ff9839f67c46bc9428566bedc5e77  test/results/test0014-x86-binary
c001750e97f2bd42ef5bcbd1d22e56b63ab3d06728d1fdec3bf4b27e480d59ea  test/results/test0015-aarch64-binary
031ee5280f7407189a43a65b095c651955dbdfd44482305a82a9e2105db04901  test/results/test0015-amd64-binary
b9f1c02909efbe0312f9334b1a2bce0f6e6987dc5133f9537651781b8a1740d9  test/results/test0015-armv7l-binary
6cfba2e21d12e61794295309b0436f90333a0a5c0817a75703fc85f23b46c2db  test/results/test0015-knight-posix-binary
77449922eae20a57cc7e39d7df6d8fe50e77d2342ffb9e7c09709149228c51db  test/results/test0015-riscv32-binary
6bf0601bf92c9583d8c73f0ee31979149c0a00dde6987b027c4ef7ad3074ed0e  test/results/test0015-riscv64-binary
0e9b4de150b3b4bd7316e00848b792d6ccc8ebe77ed6dce2072fea123f3174a0  test/results/test0015-x86-binary
e3d7061ab68816c8df8e0e799c44e8103459c96c1d400762f996e15350679a5a  test/results/test0016-aarch64-binary
531a7f6716570e1e0782066cf0df0f790ff6ee614f06d0044fabf98e1a899c3f  test/results/test0016-amd64-binary
f17962a488f87a783d92d946988d834728d6831587ac96c2ad829abddd5d06a5  test/results/test0016-armv7l-binary
58d3d08ac8110de844c7cdf6e72d132df1f9dfdfeff411cf39ab3674e190df60  test/results/test0016-knight-posix-binary
47794f0950821c34bc82598cabb4900e43a497c522fcfd4b51604287b6e373f5  test/results/test0016-riscv32-binary
7cf4a9f01e6f8c34b096c2257dc95ab5088afada4335ea4575821e1e8101fbed  test/results/test0016-riscv64-binary
5524aa73693dac80bffa93a1555ea23ddf11bde36c4175618223a8a53e5c595c  test/results/test0016-x86-binary
4a676f0c2ab5b76de25284f6e286c4b88f9d7dc4edccf9e9b2179bd4efc2129e  test/results/test0017-aarch64-binary
f931dad43b054aac0158295973b37bb1bf94e77721091715d5e7c6ee0d5cb1b0  test/results/test0017-amd64-binary
cc63351c9f2c633858241f46e7f2c098a3c4f66321995ab286e9a71edec1a919  test/results/test0017-armv7l-binary
732dd9fbe7ce902eebb929f59eb69dda55f4c0ad750704b46efe94153fa3dbf1  test/results/test0017-knight-native-binary
658bb25f56b58167871f76c9e87366f0d32e84793d08d5c553eb37faa7a4dd55  test/results/test0017-knight-posix-binary
13342ea350d79d81bab3511658d301641beb11db16c38f7351cfe7c6516fd879  test/results/test0017-riscv32-binary
432fec29d6162929fcaef87a7236638e75911d19d68d6c3df65f210cd72ecaee  test/results/test0017-riscv64-binary
518f4544dc098131ca09925f3a045a9e9f1bd1a4c65a17a19519215d319b7d33  test/results/test0017-x86-binary
2f5627df96fefe28251746e45593469b0b76124a1988121b2610329c5429970b  test/results/test0018-aarch64-binary
2be312f3069e6367021bb14ef7d63949dde766ef226935147a5555b8fafd169d  test/results/test0018-amd64-binary
f02b473b1627dbf8bd2a21ab9f0c051ddc1be9743d18f805d4e4adce7e4d3d2f  test/results/test0018-armv7l-binary
d8242167f1a0e255599e1afe83ea96e3163f390a47d0f33da32f692a99ce44e1  test/results/test0018-knight-native-binary
fb196857c5f740e7b6f08e56183f72a1e19f039176f99e66e5c5446a1b87cf18  test/results/test0018-knight-posix-binary
db277dcea80a4c81eb059337185a10f04b737ce311f2f6b2a7a39fcb17b8eb5d  test/results/test0018-riscv32-binary
dd593d9852853f300044370df703d875dbac1e39b51261fc206853b6b1122f52  test/results/test0018-riscv64-binary
16b09f87111e070baf926ed263b2d1662bd143de8073623be54ed150ad9c745b  test/results/test0018-x86-binary
64944e59a3bdbf6cdc8c8ec839a4a00ad82ffad06dcb286ea356d4e69190eee5  test/results/test0019-aarch64-binary
6dac2e0a2df08d5486343a47fc144b47101da72e8009857222436bf04f9da736  test/results/test0019-amd64-binary
0eac5ba265cd8957ea484c451c3d02ef9ddf357c7e9c49c1cce6333b5c55be1e  test/results/test0019-armv7l-binary
451bb9ce894a36f3bb379e2672853ccd9842031a2afd2290c53b93d6f8184dd3  test/results/test0019-knight-posix-binary
f0372da1f9c3a45076e9b476e827975943cf0ee6497fb3f91fec7e9b5b794d04  test/results/test0019-riscv32-binary
560ea1ba74be785bc3e41382196069d6d1693428716d303d6aacfcb836e8e961  test/results/test0019-riscv64-binary
d768afcdad4ecd8f1a56dd373340338143a73c7197183f5fe1b4d71ead41ad87  test/results/test0019-x86-binary
3b8ab38c778ff83850444d3b394ad0a0996e463998b7dfe8f95c9530b70c27e0  test/results/test0020-aarch64-binary
24efe4ac06e6e0bf3211486d83a15c0e7fbb4c32822d31b0d68e5ad1ede16348  test/results/test0020-amd64-binary
417d46cf76720712c801128709bba56f7c069b544c48e18eda293e10c03c24f2  test/results/test0020-armv7l-binary
3b4ec01b18b70fbdc0694e7b8d2ae48cd78bf2f40e57780836150b240b0cb5eb  test/results/test0020-knight-native-binary
d6e1688152b943b186aef6e0db3904ba231fc92ff19031b5bef98931267ccf39  test/results/test0020-knight-posix-binary
82359bba2d11d88eedb5925cc34a4435f5f6f1f0c2ddf3c3b876b9a51d655857  test/results/test0020-riscv32-binary
8c67478136389acc3fe6e45cf079cc4bd2edd254d0af46b345ff4b80a15d2246  test/results/test0020-riscv64-binary
1a97ce52fe243356041dbac9816898796ee2d39d87d4e360cb48a8f10214fe9d  test/results/test0020-x86-binary
37dcb0f0864baf650750fabb32c0ca6d36e54004db1d33910fba9712e634eabf  test/results/test0021-aarch64-binary
dd11156910813cb80354f6d8cacbce3c013650e2aa09364c00df37f08d396af1  test/results/test0021-amd64-binary
3957ea117050121f94782fe89ef8bc6efb0a8a735dd8eb06acc1ed4aad971eb0  test/results/test0021-armv7l-binary
81a3626bebd7a7dc432c3c33526b9d8afcec3304214ec02fabc216b34c0d9f3d  test/results/test0021-knight-posix-binary
3d8500d9ceb163e2fbe1aa6d8ec95753bb19ecb494bcbc0f38a681dac893d93e  test/results/test0021-riscv32-binary
7739554946d5445c5ea9297c45316f069990cd9b194c884a251358b1b4ad9073  test/results/test0021-riscv64-binary
8731e31b15e0e436cacbdcc6cf264d7aa804853d7092d46bf5bf6f64df69339a  test/results/test0021-x86-binary
07a6d37f599bd2d610fe18ad488127fe0f0121e454ffb159eb97428470d153b1  test/results/test0022-aarch64-binary
5b7ea244a712eb0e712841d7662ba5d540f148282f0e074bbc60f5434f3ae4a7  test/results/test0022-amd64-binary
739f06521d9848dd0bfef581aec3312116b5d2fada0291545d70ff3e7ffdbf51  test/results/test0022-armv7l-binary
46948522ed750c6cf04f4281eeb1df8bd6a38c216b5e6186ea0685be00efdd50  test/results/test0022-knight-posix-binary
a52560bc3f57b859624845830e705724fe27e7541358fc308f587b66f7f53382  test/results/test0022-riscv32-binary
19512df5d31dce6457d5ed9faf42acd70c76af3d6f0acf5192dcf9084b1c7bfa  test/results/test0022-riscv64-binary
90e64e5b0eac772695b0fbb8641f9ab64e3f67f7ee184d4060cee1ac9c358268  test/results/test0022-x86-binary
cb135366fcd8144503ef8513021aa069ce21035532d1206a4763b4b6ef40d969  test/results/test0023-aarch64-binary
06c47f9108f1a1eb1a1a53c29dc8e8d32163411a2b7bce0cdadbee67987a43ea  test/results/test0023-amd64-binary
91a7c3f1d1e38311d7ecc65f10e8c5a1824f11529669748c3363c274b91b9118  test/results/test0023-armv7l-binary
d6ffecac5083cd68fa454b4a7a7b5a1a0fc2048d5616f64c5d197c7480751da4  test/results/test0023-knight-posix-binary
98e8a3da507d65692fe661574c864338d775e235ada68a3d2bce6cc3605fead0  test/results/test0023-riscv32-binary
b351ef7be307d540ce93026d2054a06e2bb1234fe8745c5c18355c4e419280a8  test/results/test0023-riscv64-binary
61f637ab2cc0ca20da96857100924a72b137419eadf1fa2c9543b1162c1f3276  test/results/test0023-x86-binary
6073f5fde626e3e9ab2d8ad1c0925f174da8874d6dd60d38a242a902fc622ada  test/results/test0024-aarch64-binary
2521e21a521f55751f6e36d7514d375dc6066f96188d70586995747f83d0ce16  test/results/test0024-amd64-binary
868f9c7ddb784912bf562a62c0fe531671c6375ccd6f606099d677661b52664c  test/results/test0024-armv7l-binary


@@ 191,18 191,18 @@ b4dfdb3f7cef6571968fadd3e586a19226a546b3d470cafb8b7c556e1d2d3bfd  test/results/t
02255d2a702b879a5745dbfe6737772b7f8d6c9ba6b906da2158640bac53564a  test/results/test0024-riscv32-binary
734dd8ba723a9ed1655824e6158406c0164dd180335ee7f725ea07994b3d5cc7  test/results/test0024-riscv64-binary
be8111d178501a86934f10de64f815e6812c5ee31ca31eb5a0e51cdabae5ad14  test/results/test0024-x86-binary
22cadf6349554e438c31d77da8156c15ed62893b571377b9222def95f1fbee69  test/results/test0025-aarch64-binary
f582e20d8908781d35ee3a05561777740898baddddc348cd5c2d9b7efe70be87  test/results/test0025-amd64-binary
21340f809964cc7537b5a0c7bde6533c492beee03dacaf5fb437d2cbc6d370d4  test/results/test0025-armv7l-binary
9e3578597db78feb62d7f2b6b3fae76846ca84b004201ebb39552f2d02b64ec2  test/results/test0025-riscv32-binary
5bc20313899367321ad7730d2baaa44958a449314b6689a64f6e53b357673c05  test/results/test0025-riscv64-binary
89c6314084697f66ed6d6cedfc0d85d2c35332a0b0fe5775c255e6f1cb0291c5  test/results/test0025-x86-binary
71b97ae25ef93075e318cf9e35fa17066da97ae1fa9b01f1bd9141a9f0daf11b  test/results/test0026-aarch64-binary
36080e4715bc23d3c0019cd17a6db112ecce41b2c8ad9788b0a264e14cc232b8  test/results/test0026-amd64-binary
736d10cdf5ff12e8e32283af04433ace83ddf5812585128a8d61c8bba893e576  test/results/test0026-armv7l-binary
54e32c39e1c5c201163f176244f01705ec11987b1175a41983cd87ad7420e031  test/results/test0026-riscv32-binary
74c218d47510fc757a86e7fa476517f77891c41ae2235f9a899716f3ae8f0cd2  test/results/test0026-riscv64-binary
8a517b88a4c32962271bdeccda6165796b82d6246034dc16dfaef1f204aa6638  test/results/test0026-x86-binary
c09447b2a11197d7ca611bbcc46f8203df6ae8a719b52793f7bbbe09f5e0b0a8  test/results/test0025-aarch64-binary
b2ed1e9b065fc4d9ccd7d448da5c65d7643eab5bf4f3aabd18a7089156cb2bfa  test/results/test0025-amd64-binary
08f7a13ce436bdecc80ec02e4e2579674fc546172c9e4104cb8c56e3bfd8aadb  test/results/test0025-armv7l-binary
d703d3c674d761b2a8669a86e601f71f664cdbab9036613f71712f9400fb7132  test/results/test0025-riscv32-binary
680a13374a792fe97e41f3785571e1f7db979da06af778dda924d88abd47a7d2  test/results/test0025-riscv64-binary
5b3f2b9a12e11164fdc38f10452a32c9460deb2d7da218bba4ed6e3f1453dc2b  test/results/test0025-x86-binary
7538c4a237abcc5410d328c8e85a91bd8f5f09ce1cd21c194ec0570a5fd1632a  test/results/test0026-aarch64-binary
3dd764c0f6222e0e837652f4937e02996e3ea11209fb7c818a771aeabc4002d7  test/results/test0026-amd64-binary
e6d6472891f21f24fcfd54aa5edb36a850427c2ea8f4e38ae32df47448fcf5a8  test/results/test0026-armv7l-binary
01ea27357a7f3f5bd4c0835fbeefd6fde87a927dec5827510594fd6a6e90e28b  test/results/test0026-riscv32-binary
5ea61aba8406362d4880addfa0425c3497d3bd42ea43c1edd08e8b45b884f7db  test/results/test0026-riscv64-binary
1d41c101bb5209663a16fe7a11df769122abdc9b10be0134cc6e25e81478e34a  test/results/test0026-x86-binary
dde5788bc8fa92560e3f9a81fe2d2ffbe6f62022b76718c04bb488d1b195928c  test/results/test0027-aarch64-binary
2f58936e8d1afc82b7e7a99e1ba793732c620f3d007fa7a469493c998725d626  test/results/test0027-amd64-binary
fb69ed45b3dbb9da3a2425cde3acbc10746b90d367d998cd22fb495cd8498735  test/results/test0027-armv7l-binary


@@ 217,13 217,13 @@ cddae954ec3486707f9c7ea6643093c71cdf31feef6db33ad359432bffcc8252  test/results/t
d9d621632b1a50de329b38a39cfff4a18abe47f2cd89a497345f4792407612b9  test/results/test0028-riscv32-binary
cd74ccf3a4cb56fe52c0106da92a8befd8628993efd9a74765125ff132653533  test/results/test0028-riscv64-binary
47a16d1df9e671b938ba5fcaed42af74c452d0364b128e91a6be422d7f9b6038  test/results/test0028-x86-binary
0b9ff7f300722b95dd284b1cbcaea09176b85ac0121878283cb6e6170b5c8f91  test/results/test0029-aarch64-binary
f67e72ede9724b5b1c9b601fb3ace4f31e800824fd268130c924d992e7275863  test/results/test0029-amd64-binary
69cca4559f2db09b114b2512142c75f49b39c829b4689a6f6db2b45d9570b55d  test/results/test0029-armv7l-binary
ac74cf10870435e420df5d4ba45715f681d65ebe5971b81a1bc2586dd29ee005  test/results/test0029-knight-posix-binary
6c2999ef4df6aa89f224043c05f43252b346bcdc5f172f97cc26f6e74e1d7535  test/results/test0029-riscv32-binary
63aa5ff33c1ebb9439fdd60d109ee55ade003689c322e9784ef73c55b1eac9ca  test/results/test0029-riscv64-binary
88c61f597caca567d5c2313b10a460ff0917f9dfd14c86679ec5199f0a79f569  test/results/test0029-x86-binary
8443f50dd97621625929ff8d8632e52d6c4d57d5e82d9a48b39e446e60b3887c  test/results/test0029-aarch64-binary
140b0c12619544a3a67b9407fc1ce78b9c7c24b8f963e49b4542616b4f4b1571  test/results/test0029-amd64-binary
bb56a0dc7698bd7a70979245aa9d118d6ae03d3327b2d521d27ede4ad02f1215  test/results/test0029-armv7l-binary
4abbc6fce0db874c53f084c24b0db62015f7108812052fccf7b7f47f459fc637  test/results/test0029-knight-posix-binary
35e0b310fc39776ac94d5759d2a7aa75ab4c18745fbd5111aabdec671d9cccce  test/results/test0029-riscv32-binary
b3aed46f06948dce7863177e8d7296986399f2b5964c60be759749049d603c53  test/results/test0029-riscv64-binary
841622c4886c6dad0da32d961a5883288ab90fac8e8df85d1e76d4b4dd432e27  test/results/test0029-x86-binary
4a251059e1900bc147b8301f04024f962594893011984008e93fcdc3cecbfe70  test/results/test0030-aarch64-binary
fed413508d1298d8b7a215fc4369b3890c55a436c23aa23ff7485db7fb459bb3  test/results/test0030-amd64-binary
34c3a45821d4529bd169ffb48701a3e440180c2062b60f1a6abdd2c105a9bb4b  test/results/test0030-armv7l-binary


@@ 232,58 232,58 @@ fed413508d1298d8b7a215fc4369b3890c55a436c23aa23ff7485db7fb459bb3  test/results/t
05c7fff4736996014dbe1c10864a3f908591f664433c1b11678655f832c3e054  test/results/test0030-riscv32-binary
af8682b8250efb2d23341cde5c4336052dba8268b4748cf553329fe2d7427e51  test/results/test0030-riscv64-binary
00c9c1d8f53e7444fdff62ea8764eacc59d23b11c5c7239b9ce2f69e6d23453b  test/results/test0030-x86-binary
f8531d6bbb923e22d187d4787ef3c5747918fa828d84003c71b9f4ece602c9db  test/results/test0100-aarch64-binary
2a475518dec39cc8a732ee48bf6a0ac05ca102904fb24dff4645ac0d8e4826f3  test/results/test0100-amd64-binary
f0e6955c67a7d01dd8ee2f719206b812f6662532660fea5f703ba4aa370c5b18  test/results/test0100-armv7l-binary
50736544bb8ea4c1935fc339cf3ab37fd59b28aec0afa921d2a2695d779cae12  test/results/test0100-knight-posix-binary
ccf4603b0f7a788296706c42141a08e24dc19b8b5d59f4506688a5f3781df077  test/results/test0100-riscv32-binary
9245b6c7c9a9faf9d70fc5dfc2489be49e7f3700c02c82b2bca3ec524c51eee3  test/results/test0100-riscv64-binary
1df2be0374faf76d05b0690837375d861f7e9ffbffdec116b5cb2079a25c1e46  test/results/test0100-x86-binary
18b0b39a11b952a3ee340a311c8097a22f72ad081a9e760e79dc03752f1d8c23  test/results/test0101-aarch64-binary
2a1bf91f9a844bc972783608d2cbb0135d17ea0c55c4ecb11e299a78b4d15b11  test/results/test0101-amd64-binary
9433530f719e2d258e2e924d7d2a9a7107e0dd3f4aca17d29b551f8a77392ea5  test/results/test0101-armv7l-binary
52b4603bfe2d1312895bce628fd485f3008180f75240ec219d7a51c193e104cc  test/results/test0101-knight-posix-binary
a14ff2e87c7e5f6a4b335b573696136069e658fc4eb51122e6c90d9d97c6e212  test/results/test0101-riscv32-binary
ed0aed4b8a1e78a0cb36be6d8cb6f9b47529906c64f3853b2126add6d9b82d92  test/results/test0101-riscv64-binary
1483669531c1bcefe55f49347501301b0e737dfb418a1a926d6624922dd260b1  test/results/test0101-x86-binary
147ecb1e203bf45533131ab15fc086a4d6e7212c3eec9d199ac7cef2833cbe8c  test/results/test0102-aarch64-binary
13783b33ea54ec2c5128699ec92dd341d3dbfe86093743252a02e52fd7d2ecb4  test/results/test0102-amd64-binary
e213fa551dac4b20d74414d7cfb7ab62c07a7bf26f3f0a0a0f56a3949e291c6c  test/results/test0102-armv7l-binary
3ec2c3f6e23e43966746b000524649ee23ee1a574e808be914bee2de883fca7f  test/results/test0102-knight-posix-binary
2915a7a1617aa79cfeddaa47e2ad04e2eb5c4eeb38ca6138e1780c9caed5c58d  test/results/test0102-riscv32-binary
10105d2ebc7033e907c7e3712c8d29d3fdf84f45dffff29e532dcea95717814e  test/results/test0102-riscv64-binary
c16211b04bbfe32af5201144badf7f5e2259fcd980e3dda78e99520d14c37b6b  test/results/test0102-x86-binary
70ef5d8d6b1715a2b54b91cd381a77c438a53ba0a5a58dba95d23c83d0014394  test/results/test0103-aarch64-binary
8e5872275bc497c8fd86f3a4f0e271450e2a881d576ff4ad554e07d9f8fc299b  test/results/test0103-amd64-binary
cc4cd5b65906f73dfc8980c40feffd8b113b34f445f572055746f53974cb3b50  test/results/test0103-armv7l-binary
1ec4178ca0db59e29920a2422946094f26b8d46c320ac147e35998f51ca45a44  test/results/test0103-knight-posix-binary
ef21228dc8fea74ea383d3308739da4061cfffca2e838f3fe960046387879d87  test/results/test0103-riscv32-binary
00500a5a9f84edcbe0850bb9dca6f762d525ecf28ddc0abddec4cf93b1ed1470  test/results/test0103-riscv64-binary
98f63801a8e7d3aeb642215f3106398a7c518c7b9642144d65a5bd8071226f09  test/results/test0103-x86-binary
ebc95b5d6b8d7d339bdd19ab9d9841ec7b16c13411ca21e1b9c9fec9493f3795  test/results/test0104-aarch64-binary
3fdab0a7ed2140c6cfa699ad8b812fd1110b7cffb2700d2d8b443fe913fb4d6c  test/results/test0104-amd64-binary
80410929e9594af9ca9d0e0d364e186b296bfc797a1f63363e68522890510788  test/results/test0104-armv7l-binary
47de495afb5cd7e380e6b24e092931b9cebd8a0cffaf91c6b457455384a8c247  test/results/test0104-riscv32-binary
cae23201b3e141959361f246f3cbd81d724a2ee6b65b9b535ad5ef583969731f  test/results/test0104-riscv64-binary
24f067432f91eecfaef3d6fb3c55be39bd0d837b794ebba7fd48792da7a2827a  test/results/test0104-x86-binary
86d8d0352e74204ad142e28c6dfc82c01e3c440e4c0866e212f715287b98e019  test/results/test0105-aarch64-binary
6fad8c880d0c924275f29d21d6adcea33d0621e3a42ce74d3a3ca1aea1e821c9  test/results/test0105-amd64-binary
0666fd11eb0c50435d2d6e5b6dc06dd54e55827dde033172575c54dd1faf3661  test/results/test0105-armv7l-binary
48126149eebb74684175637bfb536d73cfb12e752f7590790a161169f0b878ef  test/results/test0105-riscv32-binary
dc00d176550db8dd99e4ea5da91eea74c11dea0e70eef5cb81ea044038ed331d  test/results/test0105-riscv64-binary
f11fc1bfe8b6bfc83e6e3f93543cf5fc05c8bd01e50e329807b4b8c4cc0d09fe  test/results/test0105-x86-binary
a93cf58977fe0bb6ab5ca54b942f6160f9088e59fe0512e1094ae202889e4eb2  test/results/test0106-aarch64-binary
32b61a3640dc7d6e341e476bbd789b4dee6bb7a44d388e74a426d8ffe36b1601  test/results/test0106-amd64-binary
025b3468ddc6fca15f294bc7a023df8853a601f87f99bbefe88ffab5f9797452  test/results/test0106-armv7l-binary
1a70e0e66f6e0d05b919d0d31b9f748fbed9d1728221604b15fef289ed65e5bd  test/results/test0106-knight-native-binary
fe06db794391e8a9bcc7751a8b20120b8402aeaba4adf59e9274ee6f0751518e  test/results/test0106-knight-posix-binary
67aa68a06be6d18f1187a06c36c6955c7a16d47b50b464a71ea1459cd5673a59  test/results/test0106-riscv32-binary
a66c6cee11e9b59affe6dd953f84887a68ad57efe9f089cabb19d0c4c4626648  test/results/test0106-riscv64-binary
5e5d011745862a5726473e762d057c95fffeb44d317a0ebe90ef67040157e2ec  test/results/test0106-x86-binary
e8b60d7bb0c6e09fc248601ceacea64b93e288ec7bf68144ed7f8c59fc632cb9  test/results/test1000-aarch64-binary
8aed2794e9b07dfd900fe0a6b91cd004a10259bd05debd0caf2f139de2b2f631  test/results/test1000-amd64-binary
b3479ffc8ac398458ccca614a9a63d94de066e3726133c7937903d8b9dbe8666  test/results/test1000-armv7l-binary
62b958a16dcad2d79efc092afac421a1450193958ac724c38b28ccef774726a1  test/results/test1000-knight-posix-binary
37f72135babbe8c29baf6c98846ba336a3f28e30ae30ce86d4cdcad6ba3a9e64  test/results/test1000-riscv32-binary
512e83b3b930b0b09fa65b508f90fcb4bd973dbbe55738a053fe23a917398dcd  test/results/test1000-riscv64-binary
0f6c93378651b59df933aefa311bdfa518ad2d75c4add37d0550f483e096a228  test/results/test1000-x86-binary
beb67fe013999035dfd85d863d69ee8065a133ce00c6e1e3e1eb49ee36c7f6d7  test/results/test0100-aarch64-binary
879b107b7b636627d54c1a2667b20b2ad9208d14a205b848bca8c3b391c14eb8  test/results/test0100-amd64-binary
659a22029590edc5bd3015b553af4e492308cf1ee37989040ad1b7164b03cf98  test/results/test0100-armv7l-binary
6e9b908ebc47af8df390bdf8b03adf303c4a15cf0831de9013db7e065d1ba120  test/results/test0100-knight-posix-binary
834cac1c3538a3bc2480f6c5cbd4ef23931c9cf71e0736932c7920c36fbb2ae5  test/results/test0100-riscv32-binary
77dfedb9a0e0c578c47924a2d9d8ffdee36daaad5486b1689bcd80ab4b9ce9ba  test/results/test0100-riscv64-binary
7be95afdd976b3198d14b25f037a2ad16ca4fac951e10a5ad14832fec75de296  test/results/test0100-x86-binary
9ccb101eada92598bed7ed88dc3bf4aed4cff7ee24e764c5b97cc2b82ad75e71  test/results/test0101-aarch64-binary
ad56785c584cdf3637de94a1be4bf73c675baeb1f528236052061599702e9f51  test/results/test0101-amd64-binary
be247845122500739e05cf59f00d92863d45c68cadbb4ea10ec47d1709f05b77  test/results/test0101-armv7l-binary
b255e84fc41f337d32d0b07ae89401abcadae97df244cb5dfa67f5f098a7e35e  test/results/test0101-knight-posix-binary
662235ac8e1bc926298c5a9cc64c8d100575ea06bad778edde92918184e8aad4  test/results/test0101-riscv32-binary
5ab540d15a59f6e2aa629e0b6511483ad81574bb40da9d353bc5d8990296a59d  test/results/test0101-riscv64-binary
87a42ffa7e8bd58b9dc889e4dca50d62a4b72e68a27ddc2ca2def861aa79dfad  test/results/test0101-x86-binary
91cc842198d6864ce22b39a716e754dece542cc76d9ed37f2ed0406508dd4a22  test/results/test0102-aarch64-binary
11b239d2dcd1e635710149f298db263aa4cd7237813b89ef3d75ddc0be6b774f  test/results/test0102-amd64-binary
c96d1a1a05979882acd1ce105706bbf02ecbf55d7347bf38ab208ccd9efba512  test/results/test0102-armv7l-binary
a81b05e7f88d1ec77526afba9481cc387cffa83af2e3051adb51374bb4b72adf  test/results/test0102-knight-posix-binary
8cc9f918716b151047e73c376c7a53c12bbbf3a8a213d7e088124b0ea0ebb75b  test/results/test0102-riscv32-binary
a45528f798b8d1d20466ed6c559c1b1087757c07b1c964ef95ff84109a0f2114  test/results/test0102-riscv64-binary
736aa7102653ad58a906036261dde6d58893d3c2ef4dd797bc00ff554381525e  test/results/test0102-x86-binary
f1587c86f9f1a90b742f5c36ab7df91b611a572aa761df30e093f2464b6250bc  test/results/test0103-aarch64-binary
4521bd20d7db5595a6b4d6e6296c50ebb0832e81f3429903d01f58061b8693e1  test/results/test0103-amd64-binary
fc240f1e188e0aa0f310b31e60f487d86749b7966a034d0f891272dd6b599207  test/results/test0103-armv7l-binary
a64b6aa9ed9955230fea6c6f423d8d82b5d7ffdf3f9dd99045bb6d49d4e3ac0f  test/results/test0103-knight-posix-binary
5469cd01e47de1c23b8c21b51e4932c6473bea9a1b93185a87910e4eb9a2e78e  test/results/test0103-riscv32-binary
cde7ac824781bd3f15c791c497fdf9007170933d7e95a8d33bef412c8cac0f40  test/results/test0103-riscv64-binary
34e7281781636e1ae9ca590a05729148cfbdef75d154c69deb6bb5c99fd2c059  test/results/test0103-x86-binary
fd2863fd5d879c17439ca830404672f8fd2cfd8079b354d682ac18a8bb5bae66  test/results/test0104-aarch64-binary
0e91b803e71277db271ce70bbd3209d7462dbe57c32f962a1c8f9e6ca1b85413  test/results/test0104-amd64-binary
02c0086dcc87e20e25c985d7055a70ae66cdd1bab78aa976b0e7f274b255c1f0  test/results/test0104-armv7l-binary
178ba17e81d874d05a085f9eb11f6c672f61761b9548fe4276c67985a122fe88  test/results/test0104-riscv32-binary
739f25b716d6c4572f60bb2b38657b3ba4a2fda2a85208ea3d74c240cdc8d09d  test/results/test0104-riscv64-binary
a4e627aec1eb56c2aa164864a63976e3b3cc179495838786864ec60b67b598fd  test/results/test0104-x86-binary
09669fe16795d1b9ac9fab35e4587e77cd2e506bf3b98669de0b55324258201d  test/results/test0105-aarch64-binary
010df9153e39065569e16c7908a687d4809cfe44b4f2701b32b6b3238ea6655b  test/results/test0105-amd64-binary
48af8af7eacc67dce04679639ff87a8385acfd76707a4e3e98004f3d74e3c474  test/results/test0105-armv7l-binary
e3a2cb1e33aa53d188c25b72c362f3ed4431deaf0bb40b9415f8eed6ab9c43df  test/results/test0105-riscv32-binary
66eeffe2df9e16a2d1b254bb359a826584910ff2bf7f843202c50f9be6ef1890  test/results/test0105-riscv64-binary
2099d1d5d36acd88a3a4b103b69387e8f6f61df419b50ef538fdc2a60a1c8007  test/results/test0105-x86-binary
09b90fc6ed5cbdb800affd64f862ce53f5ef913fd866afa7e73292e302a858ff  test/results/test0106-aarch64-binary
a9ec665d16ac44120099711af96849b410f56f60ebeae9434eb1860911395fae  test/results/test0106-amd64-binary
4f7f451216a0493eadf670b9789d48382ac40dd45e814c86cac1b23bce42bf94  test/results/test0106-armv7l-binary
62b53f4435d5c82745bf0c20e6bec8a63706af45cc3419f58297767f55fbe7f4  test/results/test0106-knight-native-binary
e9fa237a2c4d945490563795fee3adeb394171d65a6025c952c818941d1b0ee6  test/results/test0106-knight-posix-binary
3b9820c8c1c76aafff885703e63d36f147354ec922b835cdff0f356bdb290c87  test/results/test0106-riscv32-binary
20f132c01d491017a7fd0a61507e778ce1700e17e52785957b6c30156d1540ca  test/results/test0106-riscv64-binary
74e41470ad52dca128afdf4f2f1fa02f7eec06f65e95e97e8024a8af2dd49726  test/results/test0106-x86-binary
af93eaa3cf3a9675180a7f94122b67c3483d84ea0d0e902b36b50887e14c4a43  test/results/test1000-aarch64-binary
37286c0f0241b1163cc2154151620f24bf26499f6bed30b414701618c9607d0a  test/results/test1000-amd64-binary
7c2b4ffb9ad2d40abbf8cef115871181e26d8e0dead50cfc1bd7cd7d7c96b8ad  test/results/test1000-armv7l-binary
72171f9eae5c598ed2d1985bb4a4558f530a9944753f16d850ef09c874b50910  test/results/test1000-knight-posix-binary
99c586ece75ac02c9e3f715031b0c7504beefce05b402ea6b16148369134aee0  test/results/test1000-riscv32-binary
4db76c71138771bcdb0f8e70eae62bfdd78740b0d4b2fd02f4924ae6d5aede18  test/results/test1000-riscv64-binary
f3cc1df9ddcea261ea1fb70a9ddf4347fb301283a42939d497e5068d4cd0aa24  test/results/test1000-x86-binary

M test/test1000/proof.answer => test/test1000/proof.answer +1 -1
@@ 1,1 1,1 @@
e324cd48664a7563af5f49faaa3d8c6ceb33e2c6201f60424a5029ecec84a86a  test/test1000/proof
85cd640983448baf549bac3fcf0a900beadb9ac38e3079f67c2044d8de54bad3  test/test1000/proof