aarch64: do not generate a wasteful stack anymore

Until now, each element on the compiled program stack was 128 bits long,
half of them unused because only one 64 bits value was stored.

Now it's 64 bits long, so we don't waste all that memory.

We workaround the architectural alignment restriction of the SP register by
using a free regular register. X18 is for platform use so it seems a good
candidate for this task.

At _start we copy the value of SP into X18. SP is not used anymore. When a
definition refers to SP it doesn't mean it literaly now, because here we
redefine (without renaming) the involved M1 macro definitions to operate
on X18 (easier transition; abstraction). INIT_SP is introduced.

The function arguments are passed via stack, so the offset from the Base
Pointer ("depth") to each of them is different now. Changes both to
compiler code (cc_core.c) and libc reflect that the arguments are 8 bytes
(instead of 16 bytes) apart now. Note that SUB_X0_32 and SUB_X0_48 are
removed, because we only need 8, 16 and 24 bytes subtraction to reach the
arguments from asm libc functions. SUB_X0_8 and SUB_X0_24 are introduced.
This commit is contained in:
deesix 2020-02-08 00:16:54 +01:00
parent b2b1e13b03
commit b2ece54864
17 changed files with 100 additions and 92 deletions

View File

@ -21,6 +21,7 @@ Added test for chdir and getcwd family of posix primitives
** Changed
** Fixed
AArch64 wasteful stack
** Removed

20
HACKING
View File

@ -273,12 +273,16 @@ tmp, oLR and oBP again) leaving everything as it was before this
journey. Well... one important thing changed: following M2-Planet
conventions the value returned from the function, if any, is on X0.
*** Wasted stack space
*** Stack pointer
Due to alignment (128 bits) restriction for "push" and "pop" we waste
half of the stack space in the running generated binaries, as the
values are only 64 bits. Using another register as stack pointer would
work around the architectural restriction but this solution is not
implemented yet. Adjustment to several definitions and functions is
required, to reflect the new "depth" of the elements and the change of
register.
Due to alignment (128 bits) restriction for "push" and "pop" based on
the architectural register, we initialize and use X18 as stack pointer
instead.
The M1 definitions referring to SP use X18; stack operations too.
For example:
DEFINE LDR_X0_[SP] 400240f9 is ldr x0, [x18]
DEFINE PUSH_LR 5e8e1ff8 is str x30, [x18, #-8]!
DEFINE INIT_SP f2030091 is mov x18, sp

View File

@ -1100,7 +1100,7 @@ void collect_local()
else if(X86 == Architecture) a->depth = -20;
else if(AMD64 == Architecture) a->depth = -40;
else if(ARMV7L == Architecture) a->depth = 16;
else if(AARCH64 == Architecture) a->depth = 64; /* argc, argv, envp and the local (16 bytes each) */
else if(AARCH64 == Architecture) a->depth = 32; /* argc, argv, envp and the local (8 bytes each) */
}
else if((NULL == function->arguments) && (NULL == function->locals))
{
@ -1108,7 +1108,7 @@ void collect_local()
else if(X86 == Architecture) a->depth = -8;
else if(AMD64 == Architecture) a->depth = -16;
else if(ARMV7L == Architecture) a->depth = 8;
else if(AARCH64 == Architecture) a->depth = 16;
else if(AARCH64 == Architecture) a->depth = register_size;
}
else if(NULL == function->locals)
{
@ -1116,7 +1116,7 @@ void collect_local()
else if(X86 == Architecture) a->depth = function->arguments->depth - 8;
else if(AMD64 == Architecture) a->depth = function->arguments->depth - 16;
else if(ARMV7L == Architecture) a->depth = function->arguments->depth + 8;
else if(AARCH64 == Architecture) a->depth = function->arguments->depth + 16;
else if(AARCH64 == Architecture) a->depth = function->arguments->depth + register_size;
}
else
{
@ -1124,7 +1124,7 @@ void collect_local()
else if(X86 == Architecture) a->depth = function->locals->depth - register_size;
else if(AMD64 == Architecture) a->depth = function->locals->depth - register_size;
else if(ARMV7L == Architecture) a->depth = function->locals->depth + register_size;
else if(AARCH64 == Architecture) a->depth = function->locals->depth + 16;
else if(AARCH64 == Architecture) a->depth = function->locals->depth + register_size;
}
function->locals = a;
@ -1631,7 +1631,7 @@ void collect_arguments()
else if(X86 == Architecture) a->depth = -4;
else if(AMD64 == Architecture) a->depth = -8;
else if(ARMV7L == Architecture) a->depth = 4;
else if(AARCH64 == Architecture) a->depth = 16;
else if(AARCH64 == Architecture) a->depth = register_size;
}
else
{
@ -1639,7 +1639,7 @@ void collect_arguments()
else if(X86 == Architecture) a->depth = function->arguments->depth - register_size;
else if(AMD64 == Architecture) a->depth = function->arguments->depth - register_size;
else if(ARMV7L == Architecture) a->depth = function->arguments->depth + register_size;
else if(AARCH64 == Architecture) a->depth = function->arguments->depth + 16;
else if(AARCH64 == Architecture) a->depth = function->arguments->depth + register_size;
}
global_token = global_token->next;

View File

@ -16,18 +16,20 @@
DEFINE NULL 0000000000000000
# Stack (SP-based, 128 bits per element)
DEFINE PUSH_X0 e00f1ff8
DEFINE PUSH_X1 e10f1ff8
DEFINE PUSH_X16 f00f1ff8
DEFINE PUSH_BP f10f1ff8
DEFINE PUSH_LR fe0f1ff8
# Stack (x18 as SP, 64 bits per element)
DEFINE PUSH_X0 408e1ff8
DEFINE PUSH_X1 418e1ff8
DEFINE PUSH_X16 508e1ff8
DEFINE PUSH_BP 518e1ff8
DEFINE PUSH_LR 5e8e1ff8
DEFINE POP_X0 e00741f8
DEFINE POP_X1 e10741f8
DEFINE POP_X16 f00741f8
DEFINE POP_BP f10741f8
DEFINE POP_LR fe0741f8
DEFINE POP_X0 408640f8
DEFINE POP_X1 418640f8
DEFINE POP_X16 508640f8
DEFINE POP_BP 518640f8
DEFINE POP_LR 5e8640f8
DEFINE INIT_SP f2030091 # mov x18, sp
# Jump/branch/call/return
@ -56,7 +58,7 @@ DEFINE LOAD_W16_AHEAD 50000018
# Load/store/dereference
DEFINE LDR_X0_[SP] e00340f9
DEFINE LDR_X0_[SP] 400240f9
DEFINE STR_X0_[X1] 200000f9
DEFINE STR_BYTE_W0_[X1] 20000039
DEFINE DEREF_X0 000040f9
@ -66,16 +68,16 @@ DEFINE DEREF_X0_BYTE 00004039
# Move data between registers
DEFINE SET_X0_FROM_BP e00311aa
DEFINE SET_X1_FROM_X0 e10300aa
DEFINE SET_X1_FROM_SP e1030091
DEFINE SET_X1_FROM_SP e10312aa
DEFINE SET_X2_FROM_X0 e20300aa
DEFINE SET_X3_FROM_X0 e30300aa
DEFINE SET_X4_FROM_X0 e40300aa
DEFINE SET_X5_FROM_X0 e50300aa
DEFINE SET_X6_FROM_X0 e60300aa
DEFINE SET_X16_FROM_X0 f00300aa
DEFINE SET_X16_FROM_SP f0030091
DEFINE SET_X16_FROM_SP f00312aa
DEFINE SET_BP_FROM_X16 f10310aa
DEFINE SET_BP_FROM_SP f1030091
DEFINE SET_BP_FROM_SP f10312aa
# Move constant to register
@ -94,13 +96,13 @@ DEFINE SET_X0_TO_FCNTL_H_AT_FDCWD 600c8092
# Arith/logic/relational
DEFINE ADD_X0_X1_X0 2000008b
DEFINE ADD_X0_BP_X0 2002008b
DEFINE ADD_X1_SP_8 e1230091
DEFINE ADD_X1_SP_8 41220091
DEFINE SUB_X0_X1_X0 200000cb
DEFINE SUB_X0_X0_X1 000001cb
DEFINE SUB_X0_8 002000d1
DEFINE SUB_X0_16 004000d1
DEFINE SUB_X0_32 008000d1
DEFINE SUB_X0_48 00c000d1
DEFINE SUB_X0_24 006000d1
DEFINE MSUB_X0_X0_X2_X1 0084029b
DEFINE MUL_X0_X1_X0 207c009b

View File

@ -17,9 +17,9 @@
int access(char* pathname, int mode)
{
asm("SET_X0_FROM_BP" "SUB_X0_32" "DEREF_X0"
asm("SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
"SET_X2_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
"SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"SET_X1_FROM_X0"
"SET_X0_TO_0"
"SET_X3_FROM_X0"

View File

@ -17,14 +17,14 @@
int chdir(char* path)
{
asm("SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
asm("SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"SET_X8_TO_SYS_CHDIR"
"SYSCALL");
}
int fchdir(int fd)
{
asm("SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
asm("SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"SET_X8_TO_SYS_FCHDIR"
"SYSCALL");
}

View File

@ -26,11 +26,11 @@ int waitpid(int pid, int* status_ptr, int options)
{
asm("SET_X0_TO_MINUS_1"
"SET_X3_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_48" "DEREF_X0"
"SET_X0_FROM_BP" "SUB_X0_24" "DEREF_X0"
"SET_X2_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_32" "DEREF_X0"
"SET_X1_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
"SET_X1_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"SET_X8_TO_SYS_WAIT4"
"SYSCALL");
}
@ -38,11 +38,11 @@ int waitpid(int pid, int* status_ptr, int options)
int execve(char* file_name, char** argv, char** envp)
{
asm(
"SET_X0_FROM_BP" "SUB_X0_48" "DEREF_X0"
"SET_X0_FROM_BP" "SUB_X0_24" "DEREF_X0"
"SET_X2_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_32" "DEREF_X0"
"SET_X1_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
"SET_X1_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"SET_X8_TO_SYS_EXECVE"
"SYSCALL");
}

View File

@ -20,7 +20,7 @@
void exit(int value)
{
asm("SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
asm("SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"SET_X8_TO_SYS_EXIT"
"SYSCALL");
}

View File

@ -23,7 +23,7 @@
int fgetc(FILE* f)
{
asm("SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
asm("SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"PUSH_X0"
"SET_X1_FROM_SP"
"SET_X2_TO_1"
@ -39,9 +39,9 @@ int fgetc(FILE* f)
void fputc(char s, FILE* f)
{
asm("SET_X0_FROM_BP" "SUB_X0_16"
asm("SET_X0_FROM_BP" "SUB_X0_8"
"SET_X1_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_32" "DEREF_X0"
"SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
"SET_X2_TO_1"
"SET_X8_TO_SYS_WRITE"
"SYSCALL");
@ -61,11 +61,11 @@ void fputc(char s, FILE* f)
FILE* open(char* name, int flag, int mode)
{
asm("SET_X0_FROM_BP" "SUB_X0_48" "DEREF_X0"
asm("SET_X0_FROM_BP" "SUB_X0_24" "DEREF_X0"
"SET_X3_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_32" "DEREF_X0"
"SET_X2_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
"SET_X2_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"SET_X1_FROM_X0"
"SET_X0_TO_FCNTL_H_AT_FDCWD"
"SET_X8_TO_SYS_OPENAT"
@ -93,7 +93,7 @@ FILE* fopen(char* filename, char* mode)
int close(int fd)
{
asm("SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
asm("SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"SET_X8_TO_SYS_CLOSE"
"SYSCALL");
}

View File

@ -22,9 +22,9 @@
int _getcwd(char* buf, size_t size)
{
asm("SET_X0_FROM_BP" "SUB_X0_32" "DEREF_X0"
asm("SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
"SET_X1_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
"SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"SET_X8_TO_SYS_GETCWD"
"SYSCALL");
}

View File

@ -19,7 +19,7 @@
void* malloc(int size)
{
asm("SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
asm("SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"SET_X1_FROM_X0"
"SET_X0_TO_0" "SET_X8_TO_SYS_BRK" "SYSCALL"
"PUSH_X0"

View File

@ -17,7 +17,7 @@
void putchar(int c)
{
asm("SET_X0_FROM_BP" "SUB_X0_16"
asm("SET_X0_FROM_BP" "SUB_X0_8"
"SET_X1_FROM_X0"
"SET_X0_TO_1"
"SET_X2_TO_1"

View File

@ -43,9 +43,9 @@
int chmod(char *pathname, int mode)
{
asm("SET_X0_FROM_BP" "SUB_X0_32" "DEREF_X0"
asm("SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
"SET_X2_FROM_X0"
"SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
"SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"SET_X1_FROM_X0"
"SET_X0_TO_0"
"SET_X3_FROM_X0"

View File

@ -27,7 +27,7 @@ struct utsname
int uname(struct utsname* unameData)
{
asm("SET_X0_FROM_BP" "SUB_X0_16" "DEREF_X0"
asm("SET_X0_FROM_BP" "SUB_X0_8" "DEREF_X0"
"SET_X8_TO_SYS_UNAME"
"SYSCALL");
}

View File

@ -15,6 +15,7 @@
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
:_start
INIT_SP
LDR_X0_[SP]
ADD_X1_SP_8
SET_BP_FROM_SP

View File

@ -1,164 +1,164 @@
3f35cb352bf0de4f69542a09c37913e0da6ed9422dc3a3bfd403fed6093d05d0 test/results/test00-aarch64-binary
4d8af4fe5f7a5c95e34e7fb9e5fea11b3a7903874640a40c4f2f2ec5caf1902f test/results/test00-aarch64-binary
e4482d2133772d1d9a00d30a8f46fee405a20b2354414fc735cbed077be7b61b test/results/test00-amd64-binary
25b38a3f5ad81ed4618a3d60fe00e0eb1bf88366f4eb031c02a9f880440ae207 test/results/test00-armv7l-binary
0c93110e4cf2f8f69eb3a308162478e644ee63fd4881762161be5de50fbe9f06 test/results/test00-knight-native-binary
64879eebceb475f21e54cb1f2e872996ca80e8c1fbb8b5895fb5fb6bac0c4384 test/results/test00-knight-posix-binary
c52562bd0aabb86ce8ca177f22f8d0455769b444df2d4d62894faab63b7151d8 test/results/test00-x86-binary
c3334a519c8d08046b35fd8960231bb90f0435139bbdff57cc64dd462d947818 test/results/test01-aarch64-binary
7f3189f1b5c7cc239c687cf7e5485e2ead162601a1dd6a6dc0853ab5f6200a87 test/results/test01-aarch64-binary
2c968b3736b6f2828982bad905018bfc4f159d7871e825f86a8f50b55b90b143 test/results/test01-amd64-binary
c04bda3cf219832b37e945e416fff106b927703a23af0da2bbfa07fc812a0d92 test/results/test01-armv7l-binary
bff3ae5a240cd319570ef0c81c499cea51c821bc1369456c23a4206e6072865e test/results/test01-knight-native-binary
486ee05ccea796a9cfa9bfb23189b8e014b7ce8d14fea03b27d679d410fe17dd test/results/test01-knight-posix-binary
eae96857f2b6d8e8ba86ac06e72345ea572622b358b23978bb5f2db1baadf41c test/results/test01-x86-binary
5343c5646e162e5f4091db4a67ad6040cf25d24ed7db4ee70cb1ff0ed1b11f05 test/results/test02-aarch64-binary
5263cc17ed5e7e481f0a5080c98eabda3ba66d84c439a4ee5819963b0280a924 test/results/test02-aarch64-binary
c742a827684287cb82b4a3526eb996eda941bf284e11aab431816a3ef1e0804c test/results/test02-amd64-binary
ef25f00027ebb22cccb9a321e6c89c380090e365c6ad691617378a1d89009d89 test/results/test02-armv7l-binary
7631c0f224100786a4b002b4353da4ea56ecb0d6f3ac1a7bc5827b6e257d0748 test/results/test02-knight-native-binary
e6493845b9e94a617649638252f23502f9212de583fd00cba6cc07fffd296e32 test/results/test02-knight-posix-binary
8ead336d2f3f72d5874230492e0472edec61d355905e8636e3dfb2731695037c test/results/test02-x86-binary
8690f1844e6312623b7adccba3b7bef2251ceb867bc06ece9dbc4667dfe45fbd test/results/test03-aarch64-binary
4b69ce72be338359f0cd886050e66eda7e2375c356de0e317d794cae3c1a76af test/results/test03-aarch64-binary
c611b3cab0a736e7176dac21aa04555039b28362d0cfd3a5c56cf29ca3e48616 test/results/test03-amd64-binary
a80264844e0d16e53c0853a5a59452343fd9504408f37ae02f7063bbd15f0220 test/results/test03-armv7l-binary
f4affc4dd2112ecf8ec3c40ea5e575d579fc60ff9df8b244dddc1a495e9529d6 test/results/test03-knight-native-binary
96849d5a9294799a9648c24db21b2dab1555dd5ba69d172d77df800622347226 test/results/test03-knight-posix-binary
2313cb3f1a2b9eb6bf15f8d43418e15d6c16f7f1b5c22700fdfc2b38beb59192 test/results/test03-x86-binary
6ea7f177bff8e09e1fe9edaa85abd32013358aa36e8fb853e58da0398c5b4fe1 test/results/test04-aarch64-binary
6d6115a029cbcc86fa643377b2693c08d3c3b9158f767e04ccedc1b194940c8d test/results/test04-aarch64-binary
b773d7ec7c550b71997ce451af7e1ee59fe6597b32adc455b271b7d173d5eae9 test/results/test04-amd64-binary
fc9de9b27e154643e221f9d8281956809db5ee9f85a56d990f8a7de66d47f10a test/results/test04-armv7l-binary
343306548109a79f599b64f8ad63331cf6a4328eb5ddb2a1f19f6eebec6b254a test/results/test04-knight-native-binary
df9ba08dfa69ac6cbb4483146dbbe079ef575d7de8318e2e52283151ebf24bd3 test/results/test04-knight-posix-binary
b7ddb37063c541c6a315809c4438aa235d6702f54bb64f4ffc88dbe78617de81 test/results/test04-x86-binary
706283ab5dfefb4c60241baade0d9ed708834a1f839b641a89c99a1df13476a9 test/results/test05-aarch64-binary
3aff4a809c9b753e2864b5c3319ed9380856265deafd1e3e8d3aabaa6254285c test/results/test05-aarch64-binary
c4e5e2ffc3a2c3d4116589fa1369d45e5af91cc69b5d342ef5552dfca992c64b test/results/test05-amd64-binary
748f6b9825bf9b72908dfee1ea674eaf1c3c63b0100a3e3195efefabe5048280 test/results/test05-armv7l-binary
ac909d377dad4961c3df5bb780b1562015e79f8f866d07b4fefaa19f5521f32a test/results/test05-knight-native-binary
290a68de66c3a83ef5bd75aa1d3b9057d0d6740b310072d11f9daacb184e9100 test/results/test05-knight-posix-binary
90321c43b2384050e5f03e5af67d345b55dd8a43e96d1f3b7f29d3c5dae3f077 test/results/test05-x86-binary
612a3b7c5a4593d7d498683198bbe328d837a442c7cde7179bb098bc6841a74a test/results/test06-aarch64-binary
5b4198c7e7a52f38f5b626efd121a86f47d68fad80d00c6011271bb62af00cb8 test/results/test06-aarch64-binary
98fab6d12630465d4e3cb72102b541c818e75b034e1ca1823c26ad6dabc4a910 test/results/test06-amd64-binary
bb913bdbfb77b855d416a6051e0d5646275fe6eed7a89cf3373be14d83bef1c5 test/results/test06-armv7l-binary
169d83f5dd34a1d764716342149f56db492b1f790ce323c5e93b4d577f772e7b test/results/test06-knight-native-binary
b177d769ae44c3509d9a08d0ee631ec69654dc5d723408bf0decdc67c42aae27 test/results/test06-knight-posix-binary
663fc6eefe965f237b6bf5a211398c8ae1210f97ff39b59603677e92462c68c7 test/results/test06-x86-binary
3a294ea084925a16d4df22d17f1b7ae5599b1227c081a4b3238389010e760658 test/results/test07-aarch64-binary
d4089b614e0156cad2655247f536e775e48cb012b9db7435e452dd6f2b960d5f test/results/test07-aarch64-binary
58af02adcf5a1bfa21dae4992ed3fe0a1f708c67bb5bf1f842a51b3b8eeddf05 test/results/test07-amd64-binary
5ce09fce0c670056284cf18586151060dc56e2b3b87c816939b66d351e70ccf6 test/results/test07-armv7l-binary
525ba92027d697564cd7d7611aa32c33486e55e2e60ecf19d700bf2884571975 test/results/test07-knight-native-binary
9159c4ba8196b24ec78bc9ebfbc7066d510ddbf03461736e7795a48634134dc5 test/results/test07-knight-posix-binary
a9a3e332d13ded5f80d7431f8717f26527b3722b33ea57760a9a5723dffc099c test/results/test07-x86-binary
0aaf0645c367876a711aa33266939f20fd03bc8c4fbf75d008c0e0709fa6a146 test/results/test08-aarch64-binary
095af0ebc63ff3843aa27d4eef40fff29a675e36bb3c6e00a1e24af2ae6c2a32 test/results/test08-aarch64-binary
3a9a7815ad19bbdd9ea6921ecae8521089df27ac08bc207df11a2a0080f5acbb test/results/test08-amd64-binary
28b9834ef90a721c6cba5ca818547d607d0e1a63c60ddd684b6aff885cd21fc2 test/results/test08-armv7l-binary
16c6a5a8f3723fd464d8bded94ceaeef96e95a83e38caa380bd2d5cc375415c4 test/results/test08-knight-native-binary
b824859fd0e39f1417742a1b9a1cec18ade78afdd80ce2c64cb54cdf7683f53a test/results/test08-knight-posix-binary
3a099298d2235ad00518bb6e2f2f9e25d429c4fe576dfc9cf083e3e0053bdcc2 test/results/test08-x86-binary
d4094a55cba28c257f13e2405606dce7294a4cd161a5ab9b4d21253074d85c0a test/results/test09-aarch64-binary
915f2b6bb8a0f9cc78d1108b856072aaed1804d05f0ff1e00191673ff0ea2398 test/results/test09-aarch64-binary
b1251d03f35474f9c5cec84d067d97295a47ae34dbd9f12e72a3630127cc1e07 test/results/test09-amd64-binary
4fd3351f92149ccfb103a2d09a28a90939fb828d56f14c1b39fa4507c32a8f1a test/results/test09-armv7l-binary
e046d0be9ebb80c6053682f37af5ed18fece5afb089f67ecf98556700d7e85f0 test/results/test09-knight-native-binary
990e82bccca98e6393f72b659abc2eb6069f272202286ce2ca51e9d8a941f3cd test/results/test09-knight-posix-binary
9e4a0a6216bb4fde5dcefac91fd7c623e9e00b3e762946e5a47a1b50b4656103 test/results/test09-x86-binary
3d710d53b95d0f090ee0ef2ed55d51a91601cdc0547299527fe16863adabbd8c test/results/test10-aarch64-binary
280ab596580b8e1c771e690b9864a5a693c8bcf89f831de6d0897ca982e5ea6e test/results/test10-aarch64-binary
a9cf4422e05075395ad75bbfe4b2659aec4541edd46d8c6b5064d3496b06a0b6 test/results/test10-amd64-binary
a0ae067746e7a2b01d33950da1cf640e12c3a70a045ab331ea2025af59dec9af test/results/test10-armv7l-binary
e01b615db5df31392bd1054c45141dcff936b11dfb1cad270edc0aa67653f5a1 test/results/test10-knight-native-binary
c1b5a2a3cd46c5e95e5540e871c2a916e028684ca80f51c001ef489342e27625 test/results/test10-knight-posix-binary
b3e13d54aab689137628fb9c4487bfd8288f9bd18bef8fe756577c8d2dce1f1f test/results/test10-x86-binary
3d13476cf2047280bedc98670b920c0c2a8fe1f429968ef48738e9b16f0fe161 test/results/test100-aarch64-binary
1ebb54cdb12212a9753822e04d45f2a51f7852a44fb27d54b3b1f2c762c11e63 test/results/test100-amd64-binary
9c3457a8702a9b56a1afa658aaaac68c808d8d17439fac4aaea3714d0c657562 test/results/test100-armv7l-binary
837642751f284dc694dbb9386ef781f656b6c0c2df0579d223eda09b7514836b test/results/test100-knight-posix-binary
3087ce4ef019b9f5475e4ee33d31b0013621296038c0c357f0238621a740b95d test/results/test100-x86-binary
d5ac894e7131976d45952e2d2b1792be2a0b1091fa1930fa8a3ba87248debc78 test/results/test11-aarch64-binary
0e91b69e168d74f2c8378aed9d776a0d8d44cc865b70588b87e4b8591522d303 test/results/test100-aarch64-binary
0b609603bd48afa670b5997a295aa12c2d545c44b902322ce1e92a908963c5f3 test/results/test100-amd64-binary
c5e746e26de28c734d06406e50ac362fed3b34adba260b91ca857db1a071a9e9 test/results/test100-armv7l-binary
aa0fade4804235b9279831a32542f38846928548e710cb7e5990925ccd5d92e2 test/results/test100-knight-posix-binary
71876f59e0bd01d29b70ff6f81ecb9c4d27ff457230cf04c5c19da8d8ec25678 test/results/test100-x86-binary
d0034c3d48652bf52dc716ba81088132794c3085df3d42bffc9dce30943d4a8c test/results/test11-aarch64-binary
34e6d535e30ef8826a4ad1a4d08b76cfa370c54595599ad3be784b64c9cd8ec5 test/results/test11-amd64-binary
893695e6f300a0fe055fad935a56abd549bba70d1d39c535a680f41bbb73f117 test/results/test11-armv7l-binary
7115c4a552eb4b2c1a868ac3dca43be7d040c8e89b7b66851d0522d298429af9 test/results/test11-knight-native-binary
63fd5fbf389d1b19031026df193ec55e98d923b8568007125b80bc246c094496 test/results/test11-knight-posix-binary
3fd11bad4a426ce1ff8fd9c6d7d2b943effae9f3f5740b7376e426e9b0555851 test/results/test11-x86-binary
d592bac6cb95d66475c01d619b57860a74d8904b121fa4da9b260f2edebf3384 test/results/test12-aarch64-binary
de41ca6df213581126ef624177d768c23dbc6eca77140d44c09a5e043ca1d407 test/results/test12-aarch64-binary
dc88f6de5ae892774760843079eab57306bf0f6f683d4999bdec0d43e4e762b2 test/results/test12-amd64-binary
08b9c0110bd2fa0a6653b3064ad194e7dc2f333f57068845a0abab7f5a13499f test/results/test12-armv7l-binary
61d043a6b25c34d470b01e8b8458427c32350574ba9f69eeed01ad1cde444167 test/results/test12-knight-native-binary
313536f9209d29d4c3b40f6ada898f81c1fb3b650ca1a84754f90b1db3b9e001 test/results/test12-knight-posix-binary
f98ab8e4bb35580e0dde96126d7a56aff66bda208d02c8d89390b40d6cff591c test/results/test12-x86-binary
8e00bb23decba7848202bde3e0362a08ea6515b5ec717a531f5eb12d2403761d test/results/test13-aarch64-binary
656109a17d7a76e7cd21fbdc4550ed23db5f04056f923ad5792d59a3a433b900 test/results/test13-aarch64-binary
5095e23b0d6680de3e28c1898b66c352761522f42313acb96f6f39bf0707f4bb test/results/test13-amd64-binary
b72e3ad2a245af1ea94de50faec05d56dfe031e75dff4cdde75e1c92c3d617a6 test/results/test13-armv7l-binary
291900015203744afc992273d19517e5c1aa9babca7d6d04a2f31b502b163414 test/results/test13-knight-native-binary
e50c97ba330823cb5cbe938bb9d1575340b083e60fc42db8edefcfd95851daa2 test/results/test13-knight-posix-binary
5051ffca2615144419f8ec1a5d4999486ae81e7781428f59e47e866af97cef92 test/results/test13-x86-binary
ca8c0ec6cdab8cda58e1d5c01a7f8335d47147d90ef6b4a221997925a9334108 test/results/test14-aarch64-binary
bc2465bbde70111a66ea62a4a305820e42fbe54805cc208f63272193a232bf6c test/results/test14-aarch64-binary
bcc5f70b76fd7ff1a8ccbc1d13e41044b3a6f2b7158194fc0a669b0ba07d0969 test/results/test14-amd64-binary
2df8a834bfabc03f04214bc330870c075367f32dd40a31e9028927dafac1f091 test/results/test14-armv7l-binary
38c83f8d176c3cd70fcb82658b7376487402f550b2e32181dfcd5b942ae949a0 test/results/test14-knight-posix-binary
a8218958b628066e2fda63d3933f1bf607c358d7bdfe84fc02596393698ea5f6 test/results/test14-x86-binary
1780e5ca32bc70bf568499571db219f16f1488e9dfeacdb48b998a15d2c520d0 test/results/test15-aarch64-binary
7e6d98d8f27d65462c5bcb4ef8734e36eebf41205b86eede3c849c9f95eefa64 test/results/test15-aarch64-binary
0526b33e314a881746bb108d0ec68a3f11b96d1b92b287816235f825210bff2a test/results/test15-amd64-binary
58d7d1ac0470fbbb7681cea0f377c22d54a9453dcc86d68e2f93fdb7e4f960cf test/results/test15-armv7l-binary
9f7c81e278248a3160d80a3f5ca0c39a5505ca9b45adc002e9b527db3e5f084a test/results/test15-knight-posix-binary
f24c62fb54b9ab510ce1b3a36d119e3b5d2ed56e33564c83782d828eac6a6773 test/results/test15-x86-binary
5fbde5127c635f381f493ff232fd66e73b89f1221f51337f72eede1072e18ad5 test/results/test16-aarch64-binary
8fc4e2e70b61a662deb716fcde3b12a1293ffd3a8216bcd47c3fbc0b708f0e5d test/results/test16-aarch64-binary
d8dbd22939091d04ccc969d848b4e4e2a6b5c9a8c91779923830fd6aa1a0f779 test/results/test16-amd64-binary
cc0213dd7b1c368c1245c30a5c7fb520f8e1beded3acf136c48f2a015f29df0b test/results/test16-armv7l-binary
84f5472ce5711b9cad28fcd4c177eea673047c2561ea010ccb6bf5f50d89c713 test/results/test16-knight-posix-binary
aeb94a4142633f20d7be4f8e74f0d5edc9050afb76f49cb504a1c264bf1ef96b test/results/test16-x86-binary
486b98f898acad34abfa2a1db34a855eed21fc926bb1d8eec8e6e1fb9b36ef1f test/results/test17-aarch64-binary
c2117c61b6713075f2b663135dd35a7de1420986ee9ee3b543ab93c8995c9e2d test/results/test17-aarch64-binary
826be2799b14be83652ee28ae18e45728987205346eaba5fbffd4c6894dbec33 test/results/test17-amd64-binary
1e630c50633011aa2e78f05be2bf71f90e288117008d53b7c673255e74c4cac2 test/results/test17-armv7l-binary
47e3fe786d27493a94c1f8aac0394e7726f85268cf0d7cfa02295f0d1629cb4a test/results/test17-knight-native-binary
cf67b71d4010910ccf2264c52d7253b092afa88be14890f36927fe595d71cf7f test/results/test17-knight-posix-binary
a29899250b4ee3c722045a8feedaec2e0f537b9a148f23d10d1979e135f14038 test/results/test17-x86-binary
7c0eb777792e68f33e1197d0decd031147d5aa8bcabcbff76d592271957a02f2 test/results/test18-aarch64-binary
c6bc8111e9a0c8e2acccacc9a63dd40c6da752fe49c0cb3258af5525b3edc88b test/results/test18-aarch64-binary
b5835e920eef10e0e0772d51354f1a7d5c34534f7ec287570283a5e8d5c201f3 test/results/test18-amd64-binary
b2b679f715351406abefa43531d9374b118d77abdb1c5edd38f65a7b586461f4 test/results/test18-armv7l-binary
aee694dc1e2e98d69e21f6f4f95120989e8b928379f3b290fee60fd5e32882ef test/results/test18-knight-native-binary
d69b92c0fa774dfcdbfdf836d753caed64f99f7a3d9b73187c3e2aea53b30085 test/results/test18-knight-posix-binary
b70966d2d772c95c3a555dac582137a7a7dfdc97fc9edaced5107313233dd7f8 test/results/test18-x86-binary
6ca3d94cbbe4ed3ee4d534562c9b7a1d110e8d9fd723b819a35cce07291c089f test/results/test19-aarch64-binary
ab1a16fba5a5df8bd70339c6f78d9c18028bd1f98e9a462c41c5a456eb811dc1 test/results/test19-aarch64-binary
b29dadde5f218707a5c574b0097e1d84091baae0df28d79645b517d7bc4dffda test/results/test19-amd64-binary
1d579a8ada5d3a2b3bc17dd9a4e5f0d65bd5e7fc173df47548afc8e09fbc30ce test/results/test19-armv7l-binary
364ed9dcff06fe54ea4d96c6b3b99a9456fd4dd95ea726f98fdf7cfb8eb3825b test/results/test19-knight-posix-binary
8b28cb3303fa119378294acb2592fe4eec2ac5346932596e3f8570dc50af6cf9 test/results/test19-x86-binary
c05fc115f549a77d1b6d846d1c6021b81ae6d12e3b55d7a3747e3c1ee2996b25 test/results/test20-aarch64-binary
e759aeb73d575fc23e7b71684be8547e6fbd93a2db42e4cf6c987215793e3dbc test/results/test20-aarch64-binary
15950e38bab2603bfcb369b9a4941abfc2e37b7cbbd2cf9b22ebfc9aab46d5ad test/results/test20-amd64-binary
80612ce05a2e43fceb34139577be98794505cd324ff5bc84ba004a21828b5f86 test/results/test20-armv7l-binary
d9d40f64041a02b6a403fd3c07550cf53f9383e0ec7f7208c9c263d06ea3ce8f test/results/test20-knight-native-binary
6a59795dbb4397d0efaf1ad613d646ec435eec62db30eb758bcf2499d651520e test/results/test20-knight-posix-binary
0d1a43723d0482a21028164e33ff116d66302d6042a88eacf08436a351494530 test/results/test20-x86-binary
9ce139e36baf0ee64a55bf69a7140db547fb20f9a5a7372bbe7cc17ddad04979 test/results/test21-aarch64-binary
8e88e82b6955239bada4aaea4cc16ccc45a0ae70b0faddbb0b020c196751d6d6 test/results/test21-aarch64-binary
0fab8f708839019a8dcda693acf0542c585b00b464a700cdcb64dd0cdfb0b6a0 test/results/test21-amd64-binary
644b5a7f6f40828cebbca5e6537ce1aaaf9fa4f1451671a40e1cfd4516a30a2d test/results/test21-armv7l-binary
80d49242c8eec979b576c3455a57d46efa75014cf607fc777b59dc1943259a6e test/results/test21-knight-posix-binary
1fa52023ea0f9e18bc6fab2a62fc8383ff1a9d97a6f0e3da9698268bf7565b99 test/results/test21-x86-binary
afb0d2c45ca8190ece1df2b98ccc1abc2ee204f593c716cb684f20d6b4c709d9 test/results/test22-aarch64-binary
a5bbd78dfb6325ce1f89d0cdfc7fb5f7feb51682af6fccaa0df0f61d3bcfea14 test/results/test22-aarch64-binary
8b3fc360938fe30c6b1a8c1fd368cd990761c35d8d0a3b5499cdca23127f36cf test/results/test22-amd64-binary
ef1c7437223311d13429b43f59aafe5b9cd3c01939b59a935aa1dd55f417ebcf test/results/test22-armv7l-binary
387ae179f593ad27a1ae96f9f20b7cf69bf201a74d2a69fc9b60faeeec9fa811 test/results/test22-knight-posix-binary
46f4645cf23a415fe96f73826595a2dc29661fd2365978f387c256e0469bf51c test/results/test22-x86-binary
d93dd366f0bbff6740e89b2d82a8a6d894ecffbea31f698231355e68bb999161 test/results/test23-aarch64-binary
758092d7ad9d18fc72cc4291c786f0fffd42f18e0987f6d5cdb18ff1506d8dac test/results/test23-aarch64-binary
13a8033841a8805b13621e305755d0885154615fe1d126a3db4969854cfb8b40 test/results/test23-amd64-binary
9ef467b01c5af7f5c966671c5249ff8cb88f62e6c48fcd824254e0616d8d915c test/results/test23-armv7l-binary
897a5bc96a007a6eaf4337b630fb05d576fd42d35682c96a1f3c319f85f2b1ba test/results/test23-knight-posix-binary
f53e041af9ec8bc34f6b7accedafe0c3bc40e09edfee3ad18144e7bb04e274e6 test/results/test23-x86-binary
2a6d910a08d150ae6ef985716389c02b25fa41526002ff8e235bc72e71bc4f2b test/results/test24-aarch64-binary
e0fdfb0ca2fe269514e3d8e2f8eb35c35430d4231674fea9d42a3cfa613c3af1 test/results/test24-aarch64-binary
ed1eb588d8b14a370729d1426f8c1b1cc9cbfeaffe80012558ab74dadd82fbf8 test/results/test24-amd64-binary
91f8415a8358a26aa99706d990a35761cd5e4f313a32ef45ab5bc49a47435249 test/results/test24-armv7l-binary
44b37b8d45d8c0a6e983168e5646ef652deab2fcd327cb255bc2a71289f471ff test/results/test24-knight-posix-binary
29216c9761435396912cb03a414ac74cde165a522cf19a7cccac212b06d3a597 test/results/test24-x86-binary
4daca656e721fbc7f0ce040b9ed7c86f6183122ed6ae8b83f2c359a43cdf6196 test/results/test25-aarch64-binary
69a48cdae667be5324ceca8548b8de065ddc09cad3d294e3f81131646da3754e test/results/test25-aarch64-binary
0506117d8b028c1e5e23ecd0493116278e94ec32a55ff314dee1a2f4e2b243a5 test/results/test25-amd64-binary
8af23bb361cce0d7031d78a3f1f88a51d6786df4cc2f5dc0bf09ff67947d30ea test/results/test25-armv7l-binary
e1fca774a067de5edb7eb1165619573993d2a5e5647c05568a68f3a53a7990cd test/results/test25-x86-binary
19316443ba9fd25fa7079902aa4fc6261628cc0600f2b94dbf436e3848102370 test/results/test26-aarch64-binary
eb24eb355bde5356672db4358a6aa37fdfeff0ddf9da5a676ee8aab00423ce56 test/results/test26-aarch64-binary
60206125928d77a758cd73ec8e85f8592423ce678570ebbe7876b71dc38aaeaf test/results/test26-amd64-binary
649349e01a90ce93ba72ba1b9bb81a9bd9d79b580ddff366173c98835c10b976 test/results/test26-armv7l-binary
576511f1f6699e7798bcab2f36bf8eb86825fd13748770b17f46c3a691200b01 test/results/test26-x86-binary
cc06a78803cd458d5c76561410fe019ec24bf115475d3a7401685a2fba4240b6 test/results/test27-aarch64-binary
bfc228f7cb9356f861ab094446bd597cd1e33c9d34069b5e325300bc61a49560 test/results/test27-aarch64-binary
e265ee574e7277f81dbecde7d0941f18704379898299c47b24e55cd6ca1b362a test/results/test27-amd64-binary
4d7a84b6f861807c629bf26bba759ce45c5f3f093b28bcd050dd93f449e2bf47 test/results/test27-armv7l-binary
d83e0aae5b335f34a528bbb6c213bbef9d993abae335e0f909183bc6debfd37b test/results/test27-knight-posix-binary
9d0ea091b1ac5fa5a9882ce93c816f2047a6751dc6edb7fef808a545ce3261f2 test/results/test27-x86-binary
fd72ce6ebbf8263ef9fdff9ca7d789a55ba399ab222c2f5f93b138c61830376d test/results/test99-aarch64-binary
c287f7c662cd29bdeb7258300de83c6b0895e002a18c9f46dac31ecd5476b69c test/results/test99-aarch64-binary
717c42e1a1a91ef5b67ce298bc92a148418a5dec6761a358a52b22a01f16c928 test/results/test99-amd64-binary
4e759b212b087824f7b0f14c5147272c9984c4a4d00074b2fd771c3d004c9aec test/results/test99-armv7l-binary
45116095f72aa1a4bf09aeff9f9ddc11e0c7ca3b0c380be930ad8db762088770 test/results/test99-knight-native-binary

View File

@ -1 +1 @@
788e2532f144dade67485f4fa167142f202158c62b0b1fe8d50ddb2a5224156a test/test100/proof
8db43aa7c23a6c479c21695d572ce6a20510669d69ba5a9a20557eb6e2e8d161 test/test100/proof