From bc4a980bdf6674083c092179cd0d173fcc62eff9 Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Wed, 10 Mar 2021 10:44:43 +0100 Subject: fp test --- test/gourdinl/fp_init.c | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 test/gourdinl/fp_init.c (limited to 'test') diff --git a/test/gourdinl/fp_init.c b/test/gourdinl/fp_init.c new file mode 100644 index 00000000..1d835994 --- /dev/null +++ b/test/gourdinl/fp_init.c @@ -0,0 +1,7 @@ +int main (float *x) { + double a = 1.0; + float b = 1.0f; + printf("%f", a); + *x = b; + return b; +} -- cgit From 706b6384a0d1b9a3206049dadadee7f4a8dd5f9d Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Mon, 29 Mar 2021 08:42:36 +0200 Subject: adding test for load replacement on a64 --- test/gourdinl/clause.h | 12 ++++++++++++ test/gourdinl/clause2.c | 23 +++++++++++++++++++++++ test/gourdinl/cscript.sh | 20 ++++++++++++++++++++ test/gourdinl/gen_asm_files.sh | 6 ++++++ 4 files changed, 61 insertions(+) create mode 100644 test/gourdinl/clause.h create mode 100644 test/gourdinl/clause2.c create mode 100755 test/gourdinl/cscript.sh create mode 100755 test/gourdinl/gen_asm_files.sh (limited to 'test') diff --git a/test/gourdinl/clause.h b/test/gourdinl/clause.h new file mode 100644 index 00000000..3eb44402 --- /dev/null +++ b/test/gourdinl/clause.h @@ -0,0 +1,12 @@ +typedef struct { + int b; + int a; +} * CLAUSE; +__inline__ int g(CLAUSE c) { return c->b; } +__inline__ int d(CLAUSE c) { return c->a; } +__inline__ void clause_SetNumOfConsLits(CLAUSE c, int e) { + c->b = e; + c->a = e; +} +__inline__ int f(CLAUSE c) { return g(c) + d(c); } +__inline__ int clause_LastLitIndex(c) { return f(c); } diff --git a/test/gourdinl/clause2.c b/test/gourdinl/clause2.c new file mode 100644 index 00000000..42cd0fa6 --- /dev/null +++ b/test/gourdinl/clause2.c @@ -0,0 +1,23 @@ +#include "clause.h" +int a, b; +void c(); +void h() { + int f = clause_LastLitIndex(d); + a = clause_LastLitIndex(0); + if (f) + if (a) + 1; +} +void i() { + CLAUSE e = 0; + int *g[] = {h, c}; + for (; b;) + l(e); +} +void m() { + int k, j; + for (; k <= 0;) + ; + clause_SetNumOfConsLits(0, j); + n(0 - j); +} diff --git a/test/gourdinl/cscript.sh b/test/gourdinl/cscript.sh new file mode 100755 index 00000000..8bf3a613 --- /dev/null +++ b/test/gourdinl/cscript.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +/home/yuki/Work/VERIMAG/Compcert_neutral/ccomp -stdlib ../../runtime -dparse -dclight -S -fstruct-return -c clause2.c > log 2>&1 + +b1=$(cat log | ack "LDP_CONSEC_PEEP_IMM_DEC_ldr64") +sb1=$? +b2=$(cat log | ack "LDP_BACK_SPACED_PEEP_IMM_DEC_ldr32") +sb2=$? +b3=$(cat log | ack "STP_FORW_SPACED_PEEP_IMM_INC_str32") +sb3=$? +b4=$(cat log | ack "STP_CONSEC_PEEP_IMM_INC_str64") +sb4=$? + +#if [ "$sb1" == 0 ] && [ "$sb2" == 0 ] && [ "$sb3" == 0 ] && [ "$sb4" == 0 ] +if [ "$sb1" == 0 ] && [ "$sb2" == 0 ] && [ "$sb3" == 0 ] && [ "$sb4" == 0 ] +then + exit 0 +else + exit 1 +fi diff --git a/test/gourdinl/gen_asm_files.sh b/test/gourdinl/gen_asm_files.sh new file mode 100755 index 00000000..08cd4b3d --- /dev/null +++ b/test/gourdinl/gen_asm_files.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +../../ccomp -S clause2.c -o clause2.nopostpass.noph.s -fno-coalesce-mem -fno-postpass +../../ccomp -S clause2.c -o clause2.nopostpass.ph.s -fcoalesce-mem -fno-postpass +../../ccomp -S clause2.c -o clause2.noph.s -fno-coalesce-mem +../../ccomp -S clause2.c -o clause2.ph.s -fcoalesce-mem -- cgit From 18312f0470cfb96e44ae1a26a24710cc1df3440d Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Fri, 9 Apr 2021 15:15:57 +0200 Subject: Removing expansions from Asmgen --- test/gourdinl/cond_exp_mini_cse.c | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 test/gourdinl/cond_exp_mini_cse.c (limited to 'test') diff --git a/test/gourdinl/cond_exp_mini_cse.c b/test/gourdinl/cond_exp_mini_cse.c new file mode 100644 index 00000000..3a2ce9c3 --- /dev/null +++ b/test/gourdinl/cond_exp_mini_cse.c @@ -0,0 +1,6 @@ +int main(int x, int y, int* t) { + if (x + *t < 7) + if (y < 7) + return 421; + return 0; +} -- cgit From 76844ba0af1ed68cc542d08bfa335deb59545267 Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Mon, 12 Apr 2021 18:37:08 +0200 Subject: test profiling --- test/monniaux/profiling/compcert_profiling.dat | Bin 0 -> 96 bytes test/monniaux/profiling/test_profiling | Bin 0 -> 14144 bytes test/monniaux/profiling/test_profiling.alloctrace | 83 +++ test/monniaux/profiling/test_profiling.c | 15 + test/monniaux/profiling/test_profiling.cm | 112 ++++ test/monniaux/profiling/test_profiling.i | 747 ++++++++++++++++++++++ test/monniaux/profiling/test_profiling.ltl.1 | 19 + test/monniaux/profiling/test_profiling.ltl.2 | 19 + test/monniaux/profiling/test_profiling.mach | 20 + test/monniaux/profiling/test_profiling.rtl.0 | 23 + test/monniaux/profiling/test_profiling.rtl.1 | 23 + test/monniaux/profiling/test_profiling.rtl.10 | 21 + test/monniaux/profiling/test_profiling.rtl.11 | 21 + test/monniaux/profiling/test_profiling.rtl.12 | 21 + test/monniaux/profiling/test_profiling.rtl.13 | 21 + test/monniaux/profiling/test_profiling.rtl.14 | 21 + test/monniaux/profiling/test_profiling.rtl.15 | 21 + test/monniaux/profiling/test_profiling.rtl.16 | 21 + test/monniaux/profiling/test_profiling.rtl.17 | 21 + test/monniaux/profiling/test_profiling.rtl.18 | 21 + test/monniaux/profiling/test_profiling.rtl.19 | 21 + test/monniaux/profiling/test_profiling.rtl.2 | 23 + test/monniaux/profiling/test_profiling.rtl.20 | 21 + test/monniaux/profiling/test_profiling.rtl.21 | 21 + test/monniaux/profiling/test_profiling.rtl.22 | 21 + test/monniaux/profiling/test_profiling.rtl.23 | 21 + test/monniaux/profiling/test_profiling.rtl.24 | 21 + test/monniaux/profiling/test_profiling.rtl.25 | 21 + test/monniaux/profiling/test_profiling.rtl.26 | 21 + test/monniaux/profiling/test_profiling.rtl.27 | 21 + test/monniaux/profiling/test_profiling.rtl.28 | 21 + test/monniaux/profiling/test_profiling.rtl.29 | 21 + test/monniaux/profiling/test_profiling.rtl.3 | 23 + test/monniaux/profiling/test_profiling.rtl.30 | 21 + test/monniaux/profiling/test_profiling.rtl.31 | 21 + test/monniaux/profiling/test_profiling.rtl.32 | 21 + test/monniaux/profiling/test_profiling.rtl.4 | 23 + test/monniaux/profiling/test_profiling.rtl.5 | 23 + test/monniaux/profiling/test_profiling.rtl.6 | 21 + test/monniaux/profiling/test_profiling.rtl.7 | 21 + test/monniaux/profiling/test_profiling.rtl.8 | 21 + test/monniaux/profiling/test_profiling.rtl.9 | 21 + 42 files changed, 1720 insertions(+) create mode 100644 test/monniaux/profiling/compcert_profiling.dat create mode 100755 test/monniaux/profiling/test_profiling create mode 100644 test/monniaux/profiling/test_profiling.alloctrace create mode 100644 test/monniaux/profiling/test_profiling.c create mode 100644 test/monniaux/profiling/test_profiling.cm create mode 100644 test/monniaux/profiling/test_profiling.i create mode 100644 test/monniaux/profiling/test_profiling.ltl.1 create mode 100644 test/monniaux/profiling/test_profiling.ltl.2 create mode 100644 test/monniaux/profiling/test_profiling.mach create mode 100644 test/monniaux/profiling/test_profiling.rtl.0 create mode 100644 test/monniaux/profiling/test_profiling.rtl.1 create mode 100644 test/monniaux/profiling/test_profiling.rtl.10 create mode 100644 test/monniaux/profiling/test_profiling.rtl.11 create mode 100644 test/monniaux/profiling/test_profiling.rtl.12 create mode 100644 test/monniaux/profiling/test_profiling.rtl.13 create mode 100644 test/monniaux/profiling/test_profiling.rtl.14 create mode 100644 test/monniaux/profiling/test_profiling.rtl.15 create mode 100644 test/monniaux/profiling/test_profiling.rtl.16 create mode 100644 test/monniaux/profiling/test_profiling.rtl.17 create mode 100644 test/monniaux/profiling/test_profiling.rtl.18 create mode 100644 test/monniaux/profiling/test_profiling.rtl.19 create mode 100644 test/monniaux/profiling/test_profiling.rtl.2 create mode 100644 test/monniaux/profiling/test_profiling.rtl.20 create mode 100644 test/monniaux/profiling/test_profiling.rtl.21 create mode 100644 test/monniaux/profiling/test_profiling.rtl.22 create mode 100644 test/monniaux/profiling/test_profiling.rtl.23 create mode 100644 test/monniaux/profiling/test_profiling.rtl.24 create mode 100644 test/monniaux/profiling/test_profiling.rtl.25 create mode 100644 test/monniaux/profiling/test_profiling.rtl.26 create mode 100644 test/monniaux/profiling/test_profiling.rtl.27 create mode 100644 test/monniaux/profiling/test_profiling.rtl.28 create mode 100644 test/monniaux/profiling/test_profiling.rtl.29 create mode 100644 test/monniaux/profiling/test_profiling.rtl.3 create mode 100644 test/monniaux/profiling/test_profiling.rtl.30 create mode 100644 test/monniaux/profiling/test_profiling.rtl.31 create mode 100644 test/monniaux/profiling/test_profiling.rtl.32 create mode 100644 test/monniaux/profiling/test_profiling.rtl.4 create mode 100644 test/monniaux/profiling/test_profiling.rtl.5 create mode 100644 test/monniaux/profiling/test_profiling.rtl.6 create mode 100644 test/monniaux/profiling/test_profiling.rtl.7 create mode 100644 test/monniaux/profiling/test_profiling.rtl.8 create mode 100644 test/monniaux/profiling/test_profiling.rtl.9 (limited to 'test') diff --git a/test/monniaux/profiling/compcert_profiling.dat b/test/monniaux/profiling/compcert_profiling.dat new file mode 100644 index 00000000..fa57a995 Binary files /dev/null and b/test/monniaux/profiling/compcert_profiling.dat differ diff --git a/test/monniaux/profiling/test_profiling b/test/monniaux/profiling/test_profiling new file mode 100755 index 00000000..b530aae2 Binary files /dev/null and b/test/monniaux/profiling/test_profiling differ diff --git a/test/monniaux/profiling/test_profiling.alloctrace b/test/monniaux/profiling/test_profiling.alloctrace new file mode 100644 index 00000000..b61f6fc2 --- /dev/null +++ b/test/monniaux/profiling/test_profiling.alloctrace @@ -0,0 +1,83 @@ +-------------- Initial XTL + +f() { + 16: (x7, x1) = (X1, X0) using x13, x12; + 15: if (x1 +#include + +int main(int argc, char **argv) { + if (argc < 2) return 1; + int i = atoi(argv[1]); + if (i > 0) { + printf("positive\n"); + } else if (i==0) { + printf("zero\n"); + } else { + printf("negative\n"); + } + return 0; +} diff --git a/test/monniaux/profiling/test_profiling.cm b/test/monniaux/profiling/test_profiling.cm new file mode 100644 index 00000000..2a352510 --- /dev/null +++ b/test/monniaux/profiling/test_profiling.cm @@ -0,0 +1,112 @@ +var "__stringlit_2" readonly {int8 122,int8 101,int8 114,int8 111,int8 10,int8 0} +var "__stringlit_1" readonly {int8 110,int8 101,int8 103,int8 97,int8 116,int8 105,int8 118,int8 101,int8 10,int8 0} +var "__stringlit_3" readonly {int8 112,int8 111,int8 115,int8 105,int8 116,int8 105,int8 118,int8 101,int8 10,int8 0} + +extern "__builtin_ais_annot" = builtin "__builtin_ais_annot" : long -> void +extern "__builtin_expect" = builtin "__builtin_expect" : long -> long -> long +extern "__builtin_bswap64" = builtin "__builtin_bswap64" : long -> long +extern "__builtin_bswap" = builtin "__builtin_bswap" : int -> int +extern "__builtin_bswap32" = builtin "__builtin_bswap32" : int -> int +extern "__builtin_bswap16" = builtin "__builtin_bswap16" : int -> int16u +extern "__builtin_clz" = builtin "__builtin_clz" : int -> int +extern "__builtin_clzl" = builtin "__builtin_clzl" : long -> int +extern "__builtin_clzll" = builtin "__builtin_clzll" : long -> int +extern "__builtin_ctz" = builtin "__builtin_ctz" : int -> int +extern "__builtin_ctzl" = builtin "__builtin_ctzl" : long -> int +extern "__builtin_ctzll" = builtin "__builtin_ctzll" : long -> int +extern "__builtin_fabs" = builtin "__builtin_fabs" : float -> float +extern "__builtin_fabsf" = builtin "__builtin_fabsf" : single -> single +extern "__builtin_fsqrt" = builtin "__builtin_fsqrt" : float -> float +extern "__builtin_sqrt" = builtin "__builtin_sqrt" : float -> float +extern "__builtin_memcpy_aligned" = builtin "__builtin_memcpy_aligned" : + long -> long -> long -> long -> void +extern "__builtin_sel" = builtin "__builtin_sel" : int -> void +extern "__builtin_annot" = builtin "__builtin_annot" : long -> void +extern "__builtin_annot_intval" = builtin "__builtin_annot_intval" : long -> + int -> int +extern "__builtin_membar" = builtin "__builtin_membar" : void +extern "__builtin_va_start" = builtin "__builtin_va_start" : long -> void +extern "__builtin_va_arg" = builtin "__builtin_va_arg" : long -> int -> void +extern "__builtin_va_copy" = builtin "__builtin_va_copy" : long -> long -> + void +extern "__builtin_va_end" = builtin "__builtin_va_end" : long -> void +extern "__compcert_va_int32" = extern "__compcert_va_int32" : long -> int +extern "__compcert_va_int64" = extern "__compcert_va_int64" : long -> long +extern "__compcert_va_float64" = extern "__compcert_va_float64" : long -> + float +extern "__compcert_va_composite" = extern "__compcert_va_composite" : long -> + long -> long +extern "__compcert_i64_dtos" = runtime "__compcert_i64_dtos" : float -> long +extern "__compcert_i64_dtou" = runtime "__compcert_i64_dtou" : float -> long +extern "__compcert_i64_stod" = runtime "__compcert_i64_stod" : long -> float +extern "__compcert_i64_utod" = runtime "__compcert_i64_utod" : long -> float +extern "__compcert_i64_stof" = runtime "__compcert_i64_stof" : long -> single +extern "__compcert_i64_utof" = runtime "__compcert_i64_utof" : long -> single +extern "__compcert_i64_sdiv" = runtime "__compcert_i64_sdiv" : long -> + long -> long +extern "__compcert_i64_udiv" = runtime "__compcert_i64_udiv" : long -> + long -> long +extern "__compcert_i64_smod" = runtime "__compcert_i64_smod" : long -> + long -> long +extern "__compcert_i64_umod" = runtime "__compcert_i64_umod" : long -> + long -> long +extern "__compcert_i64_shl" = runtime "__compcert_i64_shl" : long -> int -> + long +extern "__compcert_i64_shr" = runtime "__compcert_i64_shr" : long -> int -> + long +extern "__compcert_i64_sar" = runtime "__compcert_i64_sar" : long -> int -> + long +extern "__compcert_i64_smulh" = runtime "__compcert_i64_smulh" : long -> + long -> long +extern "__compcert_i64_umulh" = runtime "__compcert_i64_umulh" : long -> + long -> long +extern "__compcert_i32_sdiv" = runtime "__compcert_i32_sdiv" : int -> int -> + int +extern "__compcert_i32_udiv" = runtime "__compcert_i32_udiv" : int -> int -> + int +extern "__compcert_i32_smod" = runtime "__compcert_i32_smod" : int -> int -> + int +extern "__compcert_i32_umod" = runtime "__compcert_i32_umod" : int -> int -> + int +extern "__compcert_f32_div" = runtime "__compcert_f32_div" : single -> + single -> single +extern "__compcert_f64_div" = runtime "__compcert_f64_div" : float -> + float -> float +extern "__builtin_fence" = builtin "__builtin_fence" : void +extern "__builtin_cls" = builtin "__builtin_cls" : int -> int +extern "__builtin_clsl" = builtin "__builtin_clsl" : long -> int +extern "__builtin_clsll" = builtin "__builtin_clsll" : long -> int +extern "__builtin_fmadd" = builtin "__builtin_fmadd" : float -> float -> + float -> float +extern "__builtin_fmsub" = builtin "__builtin_fmsub" : float -> float -> + float -> float +extern "__builtin_fnmadd" = builtin "__builtin_fnmadd" : float -> float -> + float -> float +extern "__builtin_fnmsub" = builtin "__builtin_fnmsub" : float -> float -> + float -> float +extern "__builtin_fmax" = builtin "__builtin_fmax" : float -> float -> float +extern "__builtin_fmin" = builtin "__builtin_fmin" : float -> float -> float +extern "__builtin_debug" = extern "__builtin_debug" : int -> void +extern "atoi" = extern "atoi" : long -> int +extern "printf" = extern "printf" : long -> int +"main"('argc', 'argv') : int -> long -> int +{ + var 'i', '$71'; + if ('argc' < 2) { + return 1; + } + '$71' = "atoi"(int64['argv' +l 8LL *l longofint 1]) : long -> int; + 'i' = '$71'; + if ('i' > 0) { + "printf"("__stringlit_3") : long -> int; + } else { + if ('i' == 0) { + "printf"("__stringlit_2") : long -> int; + } else { + "printf"("__stringlit_1") : long -> int; + } + } + return 0; + return 0; +} + diff --git a/test/monniaux/profiling/test_profiling.i b/test/monniaux/profiling/test_profiling.i new file mode 100644 index 00000000..35c67916 --- /dev/null +++ b/test/monniaux/profiling/test_profiling.i @@ -0,0 +1,747 @@ +# 1 "test_profiling.c" +# 1 "" +# 1 "" +# 1 "/usr/aarch64-linux-gnu/include/stdc-predef.h" 1 3 +# 1 "" 2 +# 1 "test_profiling.c" +# 1 "/usr/aarch64-linux-gnu/include/stdlib.h" 1 3 +# 25 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/libc-header-start.h" 1 3 +# 33 "/usr/aarch64-linux-gnu/include/bits/libc-header-start.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/features.h" 1 3 +# 461 "/usr/aarch64-linux-gnu/include/features.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/sys/cdefs.h" 1 3 +# 452 "/usr/aarch64-linux-gnu/include/sys/cdefs.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/wordsize.h" 1 3 +# 453 "/usr/aarch64-linux-gnu/include/sys/cdefs.h" 2 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/long-double.h" 1 3 +# 454 "/usr/aarch64-linux-gnu/include/sys/cdefs.h" 2 3 +# 462 "/usr/aarch64-linux-gnu/include/features.h" 2 3 +# 485 "/usr/aarch64-linux-gnu/include/features.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/gnu/stubs.h" 1 3 + + + + +# 1 "/usr/aarch64-linux-gnu/include/bits/wordsize.h" 1 3 +# 6 "/usr/aarch64-linux-gnu/include/gnu/stubs.h" 2 3 + + +# 1 "/usr/aarch64-linux-gnu/include/gnu/stubs-lp64.h" 1 3 +# 9 "/usr/aarch64-linux-gnu/include/gnu/stubs.h" 2 3 +# 486 "/usr/aarch64-linux-gnu/include/features.h" 2 3 +# 34 "/usr/aarch64-linux-gnu/include/bits/libc-header-start.h" 2 3 +# 26 "/usr/aarch64-linux-gnu/include/stdlib.h" 2 3 + + + + + +# 1 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stddef.h" 1 3 +# 67 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stddef.h" 3 + +# 67 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stddef.h" 3 +typedef unsigned long size_t; +# 101 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stddef.h" 3 +typedef signed int wchar_t; +# 32 "/usr/aarch64-linux-gnu/include/stdlib.h" 2 3 + + +# 55 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/floatn.h" 1 3 +# 23 "/usr/aarch64-linux-gnu/include/bits/floatn.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/long-double.h" 1 3 +# 24 "/usr/aarch64-linux-gnu/include/bits/floatn.h" 2 3 +# 80 "/usr/aarch64-linux-gnu/include/bits/floatn.h" 3 +typedef long double _Float128; +# 95 "/usr/aarch64-linux-gnu/include/bits/floatn.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 1 3 +# 24 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/long-double.h" 1 3 +# 25 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 2 3 +# 214 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 3 +typedef float _Float32; +# 251 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 3 +typedef double _Float64; +# 268 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 3 +typedef double _Float32x; +# 285 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 3 +typedef long double _Float64x; +# 96 "/usr/aarch64-linux-gnu/include/bits/floatn.h" 2 3 +# 56 "/usr/aarch64-linux-gnu/include/stdlib.h" 2 3 + + +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + + typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 97 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +extern size_t __ctype_get_mb_cur_max (void) ; + + + +extern double atof (const char *__nptr) + ; + +extern int atoi (const char *__nptr) + ; + +extern long int atol (const char *__nptr) + ; + + + + extern long long int atoll (const char *__nptr) + ; + + + +extern double strtod (const char *restrict __nptr, + char **restrict __endptr) + ; + + + +extern float strtof (const char *restrict __nptr, + char **restrict __endptr) ; + +extern long double strtold (const char *restrict __nptr, + char **restrict __endptr) + ; +# 176 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +extern long int strtol (const char *restrict __nptr, + char **restrict __endptr, int __base) + ; + +extern unsigned long int strtoul (const char *restrict __nptr, + char **restrict __endptr, int __base) + ; +# 199 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 + +extern long long int strtoll (const char *restrict __nptr, + char **restrict __endptr, int __base) + ; + + +extern unsigned long long int strtoull (const char *restrict __nptr, + char **restrict __endptr, int __base) + ; +# 453 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +extern int rand (void) ; + +extern void srand (unsigned int __seed) ; +# 539 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +extern void *malloc (size_t __size) + ; + +extern void *calloc (size_t __nmemb, size_t __size) + ; + + + + + + +extern void *realloc (void *__ptr, size_t __size) + ; +# 565 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +extern void free (void *__ptr) ; +# 591 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +extern void abort (void) ; + + + +extern int atexit (void (*__func) (void)) ; +# 617 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +extern void exit (int __status) ; +# 629 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +extern void _Exit (int __status) ; + + + + +extern char *getenv (const char *__name) ; +# 784 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +extern int system (const char *__command) ; +# 808 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +typedef int (*__compar_fn_t) (const void *, const void *); +# 820 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + ; + + + + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) ; +# 840 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +extern int abs (int __x) ; +extern long int labs (long int __x) ; + + + extern long long int llabs (long long int __x) + ; + + + + + + +extern div_t div (int __numer, int __denom) + ; +extern ldiv_t ldiv (long int __numer, long int __denom) + ; + + + extern lldiv_t lldiv (long long int __numer, + long long int __denom) + ; +# 922 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +extern int mblen (const char *__s, size_t __n) ; + + +extern int mbtowc (wchar_t *restrict __pwc, + const char *restrict __s, size_t __n) ; + + +extern int wctomb (char *__s, wchar_t __wchar) ; + + + +extern size_t mbstowcs (wchar_t *restrict __pwcs, + const char *restrict __s, size_t __n) ; + +extern size_t wcstombs (char *restrict __s, + const wchar_t *restrict __pwcs, size_t __n) + ; +# 1013 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/stdlib-float.h" 1 3 +# 1014 "/usr/aarch64-linux-gnu/include/stdlib.h" 2 3 +# 1023 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 + +# 2 "test_profiling.c" 2 +# 1 "/usr/aarch64-linux-gnu/include/stdio.h" 1 3 +# 27 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/libc-header-start.h" 1 3 +# 28 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 + + + + + +# 1 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stddef.h" 1 3 +# 34 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 + + +# 1 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stdarg.h" 1 3 +# 43 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stdarg.h" 3 +typedef __builtin_va_list __gnuc_va_list; +# 37 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 + +# 1 "/usr/aarch64-linux-gnu/include/bits/types.h" 1 3 +# 27 "/usr/aarch64-linux-gnu/include/bits/types.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/wordsize.h" 1 3 +# 28 "/usr/aarch64-linux-gnu/include/bits/types.h" 2 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/timesize.h" 1 3 +# 19 "/usr/aarch64-linux-gnu/include/bits/timesize.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/wordsize.h" 1 3 +# 20 "/usr/aarch64-linux-gnu/include/bits/timesize.h" 2 3 +# 29 "/usr/aarch64-linux-gnu/include/bits/types.h" 2 3 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/aarch64-linux-gnu/include/bits/types.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/typesizes.h" 1 3 +# 142 "/usr/aarch64-linux-gnu/include/bits/types.h" 2 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/time64.h" 1 3 +# 143 "/usr/aarch64-linux-gnu/include/bits/types.h" 2 3 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 39 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/types/__fpos_t.h" 1 3 + + + + +# 1 "/usr/aarch64-linux-gnu/include/bits/types/__mbstate_t.h" 1 3 +# 13 "/usr/aarch64-linux-gnu/include/bits/types/__mbstate_t.h" 3 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/aarch64-linux-gnu/include/bits/types/__fpos_t.h" 2 3 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 40 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/types/__fpos64_t.h" 1 3 +# 10 "/usr/aarch64-linux-gnu/include/bits/types/__fpos64_t.h" 3 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 41 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/types/__FILE.h" 1 3 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 42 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/types/FILE.h" 1 3 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 43 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/types/struct_FILE.h" 1 3 +# 35 "/usr/aarch64-linux-gnu/include/bits/types/struct_FILE.h" 3 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 44 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 +# 84 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +typedef __fpos_t fpos_t; +# 133 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +# 1 "/usr/aarch64-linux-gnu/include/bits/stdio_lim.h" 1 3 +# 134 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 + + + +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) ; + +extern int rename (const char *__old, const char *__new) ; +# 173 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern FILE *tmpfile (void) ; +# 187 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern char *tmpnam (char *__s) ; +# 213 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern int fclose (FILE *__stream); + + + + +extern int fflush (FILE *__stream); +# 246 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern FILE *fopen (const char *restrict __filename, + const char *restrict __modes) ; + + + + +extern FILE *freopen (const char *restrict __filename, + const char *restrict __modes, + FILE *restrict __stream) ; +# 304 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern void setbuf (FILE *restrict __stream, char *restrict __buf) ; + + + +extern int setvbuf (FILE *restrict __stream, char *restrict __buf, + int __modes, size_t __n) ; +# 326 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern int fprintf (FILE *restrict __stream, + const char *restrict __format, ...); + + + + +extern int printf (const char *restrict __format, ...); + +extern int sprintf (char *restrict __s, + const char *restrict __format, ...) ; + + + + + +extern int vfprintf (FILE *restrict __s, const char *restrict __format, + __gnuc_va_list __arg); + + + + +extern int vprintf (const char *restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *restrict __s, const char *restrict __format, + __gnuc_va_list __arg) ; + + + +extern int snprintf (char *restrict __s, size_t __maxlen, + const char *restrict __format, ...) + ; + +extern int vsnprintf (char *restrict __s, size_t __maxlen, + const char *restrict __format, __gnuc_va_list __arg) + ; +# 391 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern int fscanf (FILE *restrict __stream, + const char *restrict __format, ...) ; + + + + +extern int scanf (const char *restrict __format, ...) ; + +extern int sscanf (const char *restrict __s, + const char *restrict __format, ...) ; +# 416 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern int __isoc99_fscanf (FILE *restrict __stream, + const char *restrict __format, ...) ; +extern int __isoc99_scanf (const char *restrict __format, ...) ; +extern int __isoc99_sscanf (const char *restrict __s, + const char *restrict __format, ...) ; +# 432 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern int vfscanf (FILE *restrict __s, const char *restrict __format, + __gnuc_va_list __arg) + ; + + + + + +extern int vscanf (const char *restrict __format, __gnuc_va_list __arg) + ; + + +extern int vsscanf (const char *restrict __s, + const char *restrict __format, __gnuc_va_list __arg) + ; +# 465 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern int __isoc99_vfscanf (FILE *restrict __s, + const char *restrict __format, + __gnuc_va_list __arg) ; +extern int __isoc99_vscanf (const char *restrict __format, + __gnuc_va_list __arg) ; +extern int __isoc99_vsscanf (const char *restrict __s, + const char *restrict __format, + __gnuc_va_list __arg) ; +# 485 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); + + + + + +extern int getchar (void); +# 521 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); + + + + + +extern int putchar (int __c); +# 564 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern char *fgets (char *restrict __s, int __n, FILE *restrict __stream) + ; +# 577 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern char *gets (char *__s) ; +# 626 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern int fputs (const char *restrict __s, FILE *restrict __stream); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream); + + + + + + +extern size_t fread (void *restrict __ptr, size_t __size, + size_t __n, FILE *restrict __stream) ; + + + + +extern size_t fwrite (const void *restrict __ptr, size_t __size, + size_t __n, FILE *restrict __s); +# 684 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern int fseek (FILE *__stream, long int __off, int __whence); + + + + +extern long int ftell (FILE *__stream) ; + + + + +extern void rewind (FILE *__stream); +# 731 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern int fgetpos (FILE *restrict __stream, fpos_t *restrict __pos); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos); +# 757 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern void clearerr (FILE *__stream) ; + +extern int feof (FILE *__stream) ; + +extern int ferror (FILE *__stream) ; +# 775 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern void perror (const char *__s); + + + + + +# 1 "/usr/aarch64-linux-gnu/include/bits/sys_errlist.h" 1 3 +# 782 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 +# 858 "/usr/aarch64-linux-gnu/include/stdio.h" 3 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); +# 873 "/usr/aarch64-linux-gnu/include/stdio.h" 3 + +# 3 "test_profiling.c" 2 + + +# 4 "test_profiling.c" +int main(int argc, char **argv) { + if (argc < 2) return 1; + int i = atoi(argv[1]); + if (i > 0) { + printf("positive\n"); + } else if (i==0) { + printf("zero\n"); + } else { + printf("negative\n"); + } + return 0; +} diff --git a/test/monniaux/profiling/test_profiling.ltl.1 b/test/monniaux/profiling/test_profiling.ltl.1 new file mode 100644 index 00000000..fdfb7fe0 --- /dev/null +++ b/test/monniaux/profiling/test_profiling.ltl.1 @@ -0,0 +1,19 @@ +main() { + 16: + 15: if (X0 s 0) goto 5 else goto 10 (prediction: none) + 10: if (x4 ==s 0) goto 7 else goto 9 (prediction: none) + 9: x10 = "__stringlit_1" + 0 + 8: x11 = "printf"(x10) + goto 3 + 7: x8 = "__stringlit_2" + 0 + 6: x9 = "printf"(x8) + goto 3 + 5: x6 = "__stringlit_3" + 0 + 4: x7 = "printf"(x6) + 3: x5 = 0 + goto 1 + 2: x5 = 0 + 1: return x5 +} + diff --git a/test/monniaux/profiling/test_profiling.rtl.1 b/test/monniaux/profiling/test_profiling.rtl.1 new file mode 100644 index 00000000..d5ce096d --- /dev/null +++ b/test/monniaux/profiling/test_profiling.rtl.1 @@ -0,0 +1,23 @@ +main(x2, x1) { + 16: if (x2 s 0) goto 5 else goto 10 (prediction: none) + 10: if (x4 ==s 0) goto 7 else goto 9 (prediction: none) + 9: x10 = "__stringlit_1" + 0 + 8: x11 = "printf"(x10) + goto 3 + 7: x8 = "__stringlit_2" + 0 + 6: x9 = "printf"(x8) + goto 3 + 5: x6 = "__stringlit_3" + 0 + 4: x7 = "printf"(x6) + 3: x5 = 0 + goto 1 + 2: x5 = 0 + 1: return x5 +} + diff --git a/test/monniaux/profiling/test_profiling.rtl.10 b/test/monniaux/profiling/test_profiling.rtl.10 new file mode 100644 index 00000000..8b268c84 --- /dev/null +++ b/test/monniaux/profiling/test_profiling.rtl.10 @@ -0,0 +1,21 @@ +main(x2, x1) { + 15: if (x2 s 0) goto 5 else goto 10 (prediction: none) + 10: if (x4 ==s 0) goto 7 else goto 9 (prediction: none) + 9: x10 = "__stringlit_1" + 0 + 8: x11 = "printf"(x10) + goto 3 + 7: x8 = "__stringlit_2" + 0 + 6: x9 = "printf"(x8) + goto 3 + 5: x6 = "__stringlit_3" + 0 + 4: x7 = "printf"(x6) + 3: x5 = 0 + goto 1 + 2: x5 = 0 + 1: return x5 +} + diff --git a/test/monniaux/profiling/test_profiling.rtl.20 b/test/monniaux/profiling/test_profiling.rtl.20 new file mode 100644 index 00000000..091878ec --- /dev/null +++ b/test/monniaux/profiling/test_profiling.rtl.20 @@ -0,0 +1,21 @@ +main(x2, x1) { + 15: if (x2 s 0) goto 5 else goto 10 (prediction: none) + 10: if (x4 ==s 0) goto 7 else goto 9 (prediction: none) + 9: x10 = "__stringlit_1" + 0 + 8: x11 = "printf"(x10) + goto 3 + 7: x8 = "__stringlit_2" + 0 + 6: x9 = "printf"(x8) + goto 3 + 5: x6 = "__stringlit_3" + 0 + 4: x7 = "printf"(x6) + 3: x5 = 0 + goto 1 + 2: x5 = 0 + 1: return x5 +} + diff --git a/test/monniaux/profiling/test_profiling.rtl.30 b/test/monniaux/profiling/test_profiling.rtl.30 new file mode 100644 index 00000000..9102f74f --- /dev/null +++ b/test/monniaux/profiling/test_profiling.rtl.30 @@ -0,0 +1,21 @@ +main(x2, x1) { + 15: if (x2 s 0) goto 5 else goto 10 (prediction: none) + 10: if (x4 ==s 0) goto 7 else goto 9 (prediction: none) + 9: x10 = "__stringlit_1" + 0 + 8: x11 = "printf"(x10) + goto 3 + 7: x8 = "__stringlit_2" + 0 + 6: x9 = "printf"(x8) + goto 3 + 5: x6 = "__stringlit_3" + 0 + 4: x7 = "printf"(x6) + 3: x5 = 0 + goto 1 + 2: x5 = 0 + 1: return x5 +} + diff --git a/test/monniaux/profiling/test_profiling.rtl.5 b/test/monniaux/profiling/test_profiling.rtl.5 new file mode 100644 index 00000000..d5ce096d --- /dev/null +++ b/test/monniaux/profiling/test_profiling.rtl.5 @@ -0,0 +1,23 @@ +main(x2, x1) { + 16: if (x2 s 0) goto 5 else goto 10 (prediction: none) + 10: if (x4 ==s 0) goto 7 else goto 9 (prediction: none) + 9: x10 = "__stringlit_1" + 0 + 8: x11 = "printf"(x10) + goto 3 + 7: x8 = "__stringlit_2" + 0 + 6: x9 = "printf"(x8) + goto 3 + 5: x6 = "__stringlit_3" + 0 + 4: x7 = "printf"(x6) + 3: x5 = 0 + goto 1 + 2: x5 = 0 + 1: return x5 +} + diff --git a/test/monniaux/profiling/test_profiling.rtl.6 b/test/monniaux/profiling/test_profiling.rtl.6 new file mode 100644 index 00000000..2f75aa61 --- /dev/null +++ b/test/monniaux/profiling/test_profiling.rtl.6 @@ -0,0 +1,21 @@ +main(x2, x1) { + 15: if (x2 s 0) goto 4 else goto 9 (prediction: none) + 9: if (x4 ==s 0) goto 6 else goto 8 (prediction: none) + 8: x10 = "__stringlit_1" + 0 + 7: x11 = "printf"(x10) + goto 2 + 6: x8 = "__stringlit_2" + 0 + 5: x9 = "printf"(x8) + goto 2 + 4: x6 = "__stringlit_3" + 0 + 3: x7 = "printf"(x6) + 2: x5 = 0 + 1: return x5 +} + diff --git a/test/monniaux/profiling/test_profiling.rtl.7 b/test/monniaux/profiling/test_profiling.rtl.7 new file mode 100644 index 00000000..2f75aa61 --- /dev/null +++ b/test/monniaux/profiling/test_profiling.rtl.7 @@ -0,0 +1,21 @@ +main(x2, x1) { + 15: if (x2 s 0) goto 4 else goto 9 (prediction: none) + 9: if (x4 ==s 0) goto 6 else goto 8 (prediction: none) + 8: x10 = "__stringlit_1" + 0 + 7: x11 = "printf"(x10) + goto 2 + 6: x8 = "__stringlit_2" + 0 + 5: x9 = "printf"(x8) + goto 2 + 4: x6 = "__stringlit_3" + 0 + 3: x7 = "printf"(x6) + 2: x5 = 0 + 1: return x5 +} + diff --git a/test/monniaux/profiling/test_profiling.rtl.8 b/test/monniaux/profiling/test_profiling.rtl.8 new file mode 100644 index 00000000..8b268c84 --- /dev/null +++ b/test/monniaux/profiling/test_profiling.rtl.8 @@ -0,0 +1,21 @@ +main(x2, x1) { + 15: if (x2 Date: Mon, 12 Apr 2021 18:38:39 +0200 Subject: rm spurious files --- test/monniaux/profiling/test_profiling.alloctrace | 83 --- test/monniaux/profiling/test_profiling.cm | 112 ---- test/monniaux/profiling/test_profiling.i | 747 ---------------------- test/monniaux/profiling/test_profiling.ltl.1 | 19 - test/monniaux/profiling/test_profiling.ltl.2 | 19 - test/monniaux/profiling/test_profiling.mach | 20 - test/monniaux/profiling/test_profiling.rtl.0 | 23 - test/monniaux/profiling/test_profiling.rtl.1 | 23 - test/monniaux/profiling/test_profiling.rtl.10 | 21 - test/monniaux/profiling/test_profiling.rtl.11 | 21 - test/monniaux/profiling/test_profiling.rtl.12 | 21 - test/monniaux/profiling/test_profiling.rtl.13 | 21 - test/monniaux/profiling/test_profiling.rtl.14 | 21 - test/monniaux/profiling/test_profiling.rtl.15 | 21 - test/monniaux/profiling/test_profiling.rtl.16 | 21 - test/monniaux/profiling/test_profiling.rtl.17 | 21 - test/monniaux/profiling/test_profiling.rtl.18 | 21 - test/monniaux/profiling/test_profiling.rtl.19 | 21 - test/monniaux/profiling/test_profiling.rtl.2 | 23 - test/monniaux/profiling/test_profiling.rtl.20 | 21 - test/monniaux/profiling/test_profiling.rtl.21 | 21 - test/monniaux/profiling/test_profiling.rtl.22 | 21 - test/monniaux/profiling/test_profiling.rtl.23 | 21 - test/monniaux/profiling/test_profiling.rtl.24 | 21 - test/monniaux/profiling/test_profiling.rtl.25 | 21 - test/monniaux/profiling/test_profiling.rtl.26 | 21 - test/monniaux/profiling/test_profiling.rtl.27 | 21 - test/monniaux/profiling/test_profiling.rtl.28 | 21 - test/monniaux/profiling/test_profiling.rtl.29 | 21 - test/monniaux/profiling/test_profiling.rtl.3 | 23 - test/monniaux/profiling/test_profiling.rtl.30 | 21 - test/monniaux/profiling/test_profiling.rtl.31 | 21 - test/monniaux/profiling/test_profiling.rtl.32 | 21 - test/monniaux/profiling/test_profiling.rtl.4 | 23 - test/monniaux/profiling/test_profiling.rtl.5 | 23 - test/monniaux/profiling/test_profiling.rtl.6 | 21 - test/monniaux/profiling/test_profiling.rtl.7 | 21 - test/monniaux/profiling/test_profiling.rtl.8 | 21 - test/monniaux/profiling/test_profiling.rtl.9 | 21 - 39 files changed, 1705 deletions(-) delete mode 100644 test/monniaux/profiling/test_profiling.alloctrace delete mode 100644 test/monniaux/profiling/test_profiling.cm delete mode 100644 test/monniaux/profiling/test_profiling.i delete mode 100644 test/monniaux/profiling/test_profiling.ltl.1 delete mode 100644 test/monniaux/profiling/test_profiling.ltl.2 delete mode 100644 test/monniaux/profiling/test_profiling.mach delete mode 100644 test/monniaux/profiling/test_profiling.rtl.0 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.1 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.10 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.11 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.12 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.13 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.14 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.15 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.16 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.17 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.18 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.19 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.2 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.20 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.21 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.22 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.23 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.24 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.25 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.26 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.27 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.28 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.29 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.3 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.30 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.31 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.32 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.4 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.5 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.6 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.7 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.8 delete mode 100644 test/monniaux/profiling/test_profiling.rtl.9 (limited to 'test') diff --git a/test/monniaux/profiling/test_profiling.alloctrace b/test/monniaux/profiling/test_profiling.alloctrace deleted file mode 100644 index b61f6fc2..00000000 --- a/test/monniaux/profiling/test_profiling.alloctrace +++ /dev/null @@ -1,83 +0,0 @@ --------------- Initial XTL - -f() { - 16: (x7, x1) = (X1, X0) using x13, x12; - 15: if (x1 void -extern "__builtin_expect" = builtin "__builtin_expect" : long -> long -> long -extern "__builtin_bswap64" = builtin "__builtin_bswap64" : long -> long -extern "__builtin_bswap" = builtin "__builtin_bswap" : int -> int -extern "__builtin_bswap32" = builtin "__builtin_bswap32" : int -> int -extern "__builtin_bswap16" = builtin "__builtin_bswap16" : int -> int16u -extern "__builtin_clz" = builtin "__builtin_clz" : int -> int -extern "__builtin_clzl" = builtin "__builtin_clzl" : long -> int -extern "__builtin_clzll" = builtin "__builtin_clzll" : long -> int -extern "__builtin_ctz" = builtin "__builtin_ctz" : int -> int -extern "__builtin_ctzl" = builtin "__builtin_ctzl" : long -> int -extern "__builtin_ctzll" = builtin "__builtin_ctzll" : long -> int -extern "__builtin_fabs" = builtin "__builtin_fabs" : float -> float -extern "__builtin_fabsf" = builtin "__builtin_fabsf" : single -> single -extern "__builtin_fsqrt" = builtin "__builtin_fsqrt" : float -> float -extern "__builtin_sqrt" = builtin "__builtin_sqrt" : float -> float -extern "__builtin_memcpy_aligned" = builtin "__builtin_memcpy_aligned" : - long -> long -> long -> long -> void -extern "__builtin_sel" = builtin "__builtin_sel" : int -> void -extern "__builtin_annot" = builtin "__builtin_annot" : long -> void -extern "__builtin_annot_intval" = builtin "__builtin_annot_intval" : long -> - int -> int -extern "__builtin_membar" = builtin "__builtin_membar" : void -extern "__builtin_va_start" = builtin "__builtin_va_start" : long -> void -extern "__builtin_va_arg" = builtin "__builtin_va_arg" : long -> int -> void -extern "__builtin_va_copy" = builtin "__builtin_va_copy" : long -> long -> - void -extern "__builtin_va_end" = builtin "__builtin_va_end" : long -> void -extern "__compcert_va_int32" = extern "__compcert_va_int32" : long -> int -extern "__compcert_va_int64" = extern "__compcert_va_int64" : long -> long -extern "__compcert_va_float64" = extern "__compcert_va_float64" : long -> - float -extern "__compcert_va_composite" = extern "__compcert_va_composite" : long -> - long -> long -extern "__compcert_i64_dtos" = runtime "__compcert_i64_dtos" : float -> long -extern "__compcert_i64_dtou" = runtime "__compcert_i64_dtou" : float -> long -extern "__compcert_i64_stod" = runtime "__compcert_i64_stod" : long -> float -extern "__compcert_i64_utod" = runtime "__compcert_i64_utod" : long -> float -extern "__compcert_i64_stof" = runtime "__compcert_i64_stof" : long -> single -extern "__compcert_i64_utof" = runtime "__compcert_i64_utof" : long -> single -extern "__compcert_i64_sdiv" = runtime "__compcert_i64_sdiv" : long -> - long -> long -extern "__compcert_i64_udiv" = runtime "__compcert_i64_udiv" : long -> - long -> long -extern "__compcert_i64_smod" = runtime "__compcert_i64_smod" : long -> - long -> long -extern "__compcert_i64_umod" = runtime "__compcert_i64_umod" : long -> - long -> long -extern "__compcert_i64_shl" = runtime "__compcert_i64_shl" : long -> int -> - long -extern "__compcert_i64_shr" = runtime "__compcert_i64_shr" : long -> int -> - long -extern "__compcert_i64_sar" = runtime "__compcert_i64_sar" : long -> int -> - long -extern "__compcert_i64_smulh" = runtime "__compcert_i64_smulh" : long -> - long -> long -extern "__compcert_i64_umulh" = runtime "__compcert_i64_umulh" : long -> - long -> long -extern "__compcert_i32_sdiv" = runtime "__compcert_i32_sdiv" : int -> int -> - int -extern "__compcert_i32_udiv" = runtime "__compcert_i32_udiv" : int -> int -> - int -extern "__compcert_i32_smod" = runtime "__compcert_i32_smod" : int -> int -> - int -extern "__compcert_i32_umod" = runtime "__compcert_i32_umod" : int -> int -> - int -extern "__compcert_f32_div" = runtime "__compcert_f32_div" : single -> - single -> single -extern "__compcert_f64_div" = runtime "__compcert_f64_div" : float -> - float -> float -extern "__builtin_fence" = builtin "__builtin_fence" : void -extern "__builtin_cls" = builtin "__builtin_cls" : int -> int -extern "__builtin_clsl" = builtin "__builtin_clsl" : long -> int -extern "__builtin_clsll" = builtin "__builtin_clsll" : long -> int -extern "__builtin_fmadd" = builtin "__builtin_fmadd" : float -> float -> - float -> float -extern "__builtin_fmsub" = builtin "__builtin_fmsub" : float -> float -> - float -> float -extern "__builtin_fnmadd" = builtin "__builtin_fnmadd" : float -> float -> - float -> float -extern "__builtin_fnmsub" = builtin "__builtin_fnmsub" : float -> float -> - float -> float -extern "__builtin_fmax" = builtin "__builtin_fmax" : float -> float -> float -extern "__builtin_fmin" = builtin "__builtin_fmin" : float -> float -> float -extern "__builtin_debug" = extern "__builtin_debug" : int -> void -extern "atoi" = extern "atoi" : long -> int -extern "printf" = extern "printf" : long -> int -"main"('argc', 'argv') : int -> long -> int -{ - var 'i', '$71'; - if ('argc' < 2) { - return 1; - } - '$71' = "atoi"(int64['argv' +l 8LL *l longofint 1]) : long -> int; - 'i' = '$71'; - if ('i' > 0) { - "printf"("__stringlit_3") : long -> int; - } else { - if ('i' == 0) { - "printf"("__stringlit_2") : long -> int; - } else { - "printf"("__stringlit_1") : long -> int; - } - } - return 0; - return 0; -} - diff --git a/test/monniaux/profiling/test_profiling.i b/test/monniaux/profiling/test_profiling.i deleted file mode 100644 index 35c67916..00000000 --- a/test/monniaux/profiling/test_profiling.i +++ /dev/null @@ -1,747 +0,0 @@ -# 1 "test_profiling.c" -# 1 "" -# 1 "" -# 1 "/usr/aarch64-linux-gnu/include/stdc-predef.h" 1 3 -# 1 "" 2 -# 1 "test_profiling.c" -# 1 "/usr/aarch64-linux-gnu/include/stdlib.h" 1 3 -# 25 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/libc-header-start.h" 1 3 -# 33 "/usr/aarch64-linux-gnu/include/bits/libc-header-start.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/features.h" 1 3 -# 461 "/usr/aarch64-linux-gnu/include/features.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/sys/cdefs.h" 1 3 -# 452 "/usr/aarch64-linux-gnu/include/sys/cdefs.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/wordsize.h" 1 3 -# 453 "/usr/aarch64-linux-gnu/include/sys/cdefs.h" 2 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/long-double.h" 1 3 -# 454 "/usr/aarch64-linux-gnu/include/sys/cdefs.h" 2 3 -# 462 "/usr/aarch64-linux-gnu/include/features.h" 2 3 -# 485 "/usr/aarch64-linux-gnu/include/features.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/gnu/stubs.h" 1 3 - - - - -# 1 "/usr/aarch64-linux-gnu/include/bits/wordsize.h" 1 3 -# 6 "/usr/aarch64-linux-gnu/include/gnu/stubs.h" 2 3 - - -# 1 "/usr/aarch64-linux-gnu/include/gnu/stubs-lp64.h" 1 3 -# 9 "/usr/aarch64-linux-gnu/include/gnu/stubs.h" 2 3 -# 486 "/usr/aarch64-linux-gnu/include/features.h" 2 3 -# 34 "/usr/aarch64-linux-gnu/include/bits/libc-header-start.h" 2 3 -# 26 "/usr/aarch64-linux-gnu/include/stdlib.h" 2 3 - - - - - -# 1 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stddef.h" 1 3 -# 67 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stddef.h" 3 - -# 67 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stddef.h" 3 -typedef unsigned long size_t; -# 101 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stddef.h" 3 -typedef signed int wchar_t; -# 32 "/usr/aarch64-linux-gnu/include/stdlib.h" 2 3 - - -# 55 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/floatn.h" 1 3 -# 23 "/usr/aarch64-linux-gnu/include/bits/floatn.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/long-double.h" 1 3 -# 24 "/usr/aarch64-linux-gnu/include/bits/floatn.h" 2 3 -# 80 "/usr/aarch64-linux-gnu/include/bits/floatn.h" 3 -typedef long double _Float128; -# 95 "/usr/aarch64-linux-gnu/include/bits/floatn.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 1 3 -# 24 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/long-double.h" 1 3 -# 25 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 2 3 -# 214 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 3 -typedef float _Float32; -# 251 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 3 -typedef double _Float64; -# 268 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 3 -typedef double _Float32x; -# 285 "/usr/aarch64-linux-gnu/include/bits/floatn-common.h" 3 -typedef long double _Float64x; -# 96 "/usr/aarch64-linux-gnu/include/bits/floatn.h" 2 3 -# 56 "/usr/aarch64-linux-gnu/include/stdlib.h" 2 3 - - -typedef struct - { - int quot; - int rem; - } div_t; - - - -typedef struct - { - long int quot; - long int rem; - } ldiv_t; - - - - - - typedef struct - { - long long int quot; - long long int rem; - } lldiv_t; -# 97 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -extern size_t __ctype_get_mb_cur_max (void) ; - - - -extern double atof (const char *__nptr) - ; - -extern int atoi (const char *__nptr) - ; - -extern long int atol (const char *__nptr) - ; - - - - extern long long int atoll (const char *__nptr) - ; - - - -extern double strtod (const char *restrict __nptr, - char **restrict __endptr) - ; - - - -extern float strtof (const char *restrict __nptr, - char **restrict __endptr) ; - -extern long double strtold (const char *restrict __nptr, - char **restrict __endptr) - ; -# 176 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -extern long int strtol (const char *restrict __nptr, - char **restrict __endptr, int __base) - ; - -extern unsigned long int strtoul (const char *restrict __nptr, - char **restrict __endptr, int __base) - ; -# 199 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 - -extern long long int strtoll (const char *restrict __nptr, - char **restrict __endptr, int __base) - ; - - -extern unsigned long long int strtoull (const char *restrict __nptr, - char **restrict __endptr, int __base) - ; -# 453 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -extern int rand (void) ; - -extern void srand (unsigned int __seed) ; -# 539 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -extern void *malloc (size_t __size) - ; - -extern void *calloc (size_t __nmemb, size_t __size) - ; - - - - - - -extern void *realloc (void *__ptr, size_t __size) - ; -# 565 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -extern void free (void *__ptr) ; -# 591 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -extern void abort (void) ; - - - -extern int atexit (void (*__func) (void)) ; -# 617 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -extern void exit (int __status) ; -# 629 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -extern void _Exit (int __status) ; - - - - -extern char *getenv (const char *__name) ; -# 784 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -extern int system (const char *__command) ; -# 808 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -typedef int (*__compar_fn_t) (const void *, const void *); -# 820 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -extern void *bsearch (const void *__key, const void *__base, - size_t __nmemb, size_t __size, __compar_fn_t __compar) - ; - - - - - - - -extern void qsort (void *__base, size_t __nmemb, size_t __size, - __compar_fn_t __compar) ; -# 840 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -extern int abs (int __x) ; -extern long int labs (long int __x) ; - - - extern long long int llabs (long long int __x) - ; - - - - - - -extern div_t div (int __numer, int __denom) - ; -extern ldiv_t ldiv (long int __numer, long int __denom) - ; - - - extern lldiv_t lldiv (long long int __numer, - long long int __denom) - ; -# 922 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -extern int mblen (const char *__s, size_t __n) ; - - -extern int mbtowc (wchar_t *restrict __pwc, - const char *restrict __s, size_t __n) ; - - -extern int wctomb (char *__s, wchar_t __wchar) ; - - - -extern size_t mbstowcs (wchar_t *restrict __pwcs, - const char *restrict __s, size_t __n) ; - -extern size_t wcstombs (char *restrict __s, - const wchar_t *restrict __pwcs, size_t __n) - ; -# 1013 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/stdlib-float.h" 1 3 -# 1014 "/usr/aarch64-linux-gnu/include/stdlib.h" 2 3 -# 1023 "/usr/aarch64-linux-gnu/include/stdlib.h" 3 - -# 2 "test_profiling.c" 2 -# 1 "/usr/aarch64-linux-gnu/include/stdio.h" 1 3 -# 27 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/libc-header-start.h" 1 3 -# 28 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 - - - - - -# 1 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stddef.h" 1 3 -# 34 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 - - -# 1 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stdarg.h" 1 3 -# 43 "/opt/CompCert/kvx-work/2021-04-12_e37d655d/aarch64-linux/lib/compcert/include/stdarg.h" 3 -typedef __builtin_va_list __gnuc_va_list; -# 37 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 - -# 1 "/usr/aarch64-linux-gnu/include/bits/types.h" 1 3 -# 27 "/usr/aarch64-linux-gnu/include/bits/types.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/wordsize.h" 1 3 -# 28 "/usr/aarch64-linux-gnu/include/bits/types.h" 2 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/timesize.h" 1 3 -# 19 "/usr/aarch64-linux-gnu/include/bits/timesize.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/wordsize.h" 1 3 -# 20 "/usr/aarch64-linux-gnu/include/bits/timesize.h" 2 3 -# 29 "/usr/aarch64-linux-gnu/include/bits/types.h" 2 3 - - -typedef unsigned char __u_char; -typedef unsigned short int __u_short; -typedef unsigned int __u_int; -typedef unsigned long int __u_long; - - -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; - -typedef signed long int __int64_t; -typedef unsigned long int __uint64_t; - - - - - - -typedef __int8_t __int_least8_t; -typedef __uint8_t __uint_least8_t; -typedef __int16_t __int_least16_t; -typedef __uint16_t __uint_least16_t; -typedef __int32_t __int_least32_t; -typedef __uint32_t __uint_least32_t; -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; - - - -typedef long int __quad_t; -typedef unsigned long int __u_quad_t; - - - - - - - -typedef long int __intmax_t; -typedef unsigned long int __uintmax_t; -# 141 "/usr/aarch64-linux-gnu/include/bits/types.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/typesizes.h" 1 3 -# 142 "/usr/aarch64-linux-gnu/include/bits/types.h" 2 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/time64.h" 1 3 -# 143 "/usr/aarch64-linux-gnu/include/bits/types.h" 2 3 - - -typedef unsigned long int __dev_t; -typedef unsigned int __uid_t; -typedef unsigned int __gid_t; -typedef unsigned long int __ino_t; -typedef unsigned long int __ino64_t; -typedef unsigned int __mode_t; -typedef unsigned int __nlink_t; -typedef long int __off_t; -typedef long int __off64_t; -typedef int __pid_t; -typedef struct { int __val[2]; } __fsid_t; -typedef long int __clock_t; -typedef unsigned long int __rlim_t; -typedef unsigned long int __rlim64_t; -typedef unsigned int __id_t; -typedef long int __time_t; -typedef unsigned int __useconds_t; -typedef long int __suseconds_t; - -typedef int __daddr_t; -typedef int __key_t; - - -typedef int __clockid_t; - - -typedef void * __timer_t; - - -typedef int __blksize_t; - - - - -typedef long int __blkcnt_t; -typedef long int __blkcnt64_t; - - -typedef unsigned long int __fsblkcnt_t; -typedef unsigned long int __fsblkcnt64_t; - - -typedef unsigned long int __fsfilcnt_t; -typedef unsigned long int __fsfilcnt64_t; - - -typedef long int __fsword_t; - -typedef long int __ssize_t; - - -typedef long int __syscall_slong_t; - -typedef unsigned long int __syscall_ulong_t; - - - -typedef __off64_t __loff_t; -typedef char *__caddr_t; - - -typedef long int __intptr_t; - - -typedef unsigned int __socklen_t; - - - - -typedef int __sig_atomic_t; -# 39 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/types/__fpos_t.h" 1 3 - - - - -# 1 "/usr/aarch64-linux-gnu/include/bits/types/__mbstate_t.h" 1 3 -# 13 "/usr/aarch64-linux-gnu/include/bits/types/__mbstate_t.h" 3 -typedef struct -{ - int __count; - union - { - unsigned int __wch; - char __wchb[4]; - } __value; -} __mbstate_t; -# 6 "/usr/aarch64-linux-gnu/include/bits/types/__fpos_t.h" 2 3 - - - - -typedef struct _G_fpos_t -{ - __off_t __pos; - __mbstate_t __state; -} __fpos_t; -# 40 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/types/__fpos64_t.h" 1 3 -# 10 "/usr/aarch64-linux-gnu/include/bits/types/__fpos64_t.h" 3 -typedef struct _G_fpos64_t -{ - __off64_t __pos; - __mbstate_t __state; -} __fpos64_t; -# 41 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/types/__FILE.h" 1 3 - - - -struct _IO_FILE; -typedef struct _IO_FILE __FILE; -# 42 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/types/FILE.h" 1 3 - - - -struct _IO_FILE; - - -typedef struct _IO_FILE FILE; -# 43 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/types/struct_FILE.h" 1 3 -# 35 "/usr/aarch64-linux-gnu/include/bits/types/struct_FILE.h" 3 -struct _IO_FILE; -struct _IO_marker; -struct _IO_codecvt; -struct _IO_wide_data; - - - - -typedef void _IO_lock_t; - - - - - -struct _IO_FILE -{ - int _flags; - - - char *_IO_read_ptr; - char *_IO_read_end; - char *_IO_read_base; - char *_IO_write_base; - char *_IO_write_ptr; - char *_IO_write_end; - char *_IO_buf_base; - char *_IO_buf_end; - - - char *_IO_save_base; - char *_IO_backup_base; - char *_IO_save_end; - - struct _IO_marker *_markers; - - struct _IO_FILE *_chain; - - int _fileno; - int _flags2; - __off_t _old_offset; - - - unsigned short _cur_column; - signed char _vtable_offset; - char _shortbuf[1]; - - _IO_lock_t *_lock; - - - - - - - - __off64_t _offset; - - struct _IO_codecvt *_codecvt; - struct _IO_wide_data *_wide_data; - struct _IO_FILE *_freeres_list; - void *_freeres_buf; - size_t __pad5; - int _mode; - - char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; -}; -# 44 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 -# 84 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -typedef __fpos_t fpos_t; -# 133 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -# 1 "/usr/aarch64-linux-gnu/include/bits/stdio_lim.h" 1 3 -# 134 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 - - - -extern FILE *stdin; -extern FILE *stdout; -extern FILE *stderr; - - - - - - -extern int remove (const char *__filename) ; - -extern int rename (const char *__old, const char *__new) ; -# 173 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern FILE *tmpfile (void) ; -# 187 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern char *tmpnam (char *__s) ; -# 213 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern int fclose (FILE *__stream); - - - - -extern int fflush (FILE *__stream); -# 246 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern FILE *fopen (const char *restrict __filename, - const char *restrict __modes) ; - - - - -extern FILE *freopen (const char *restrict __filename, - const char *restrict __modes, - FILE *restrict __stream) ; -# 304 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern void setbuf (FILE *restrict __stream, char *restrict __buf) ; - - - -extern int setvbuf (FILE *restrict __stream, char *restrict __buf, - int __modes, size_t __n) ; -# 326 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern int fprintf (FILE *restrict __stream, - const char *restrict __format, ...); - - - - -extern int printf (const char *restrict __format, ...); - -extern int sprintf (char *restrict __s, - const char *restrict __format, ...) ; - - - - - -extern int vfprintf (FILE *restrict __s, const char *restrict __format, - __gnuc_va_list __arg); - - - - -extern int vprintf (const char *restrict __format, __gnuc_va_list __arg); - -extern int vsprintf (char *restrict __s, const char *restrict __format, - __gnuc_va_list __arg) ; - - - -extern int snprintf (char *restrict __s, size_t __maxlen, - const char *restrict __format, ...) - ; - -extern int vsnprintf (char *restrict __s, size_t __maxlen, - const char *restrict __format, __gnuc_va_list __arg) - ; -# 391 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern int fscanf (FILE *restrict __stream, - const char *restrict __format, ...) ; - - - - -extern int scanf (const char *restrict __format, ...) ; - -extern int sscanf (const char *restrict __s, - const char *restrict __format, ...) ; -# 416 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern int __isoc99_fscanf (FILE *restrict __stream, - const char *restrict __format, ...) ; -extern int __isoc99_scanf (const char *restrict __format, ...) ; -extern int __isoc99_sscanf (const char *restrict __s, - const char *restrict __format, ...) ; -# 432 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern int vfscanf (FILE *restrict __s, const char *restrict __format, - __gnuc_va_list __arg) - ; - - - - - -extern int vscanf (const char *restrict __format, __gnuc_va_list __arg) - ; - - -extern int vsscanf (const char *restrict __s, - const char *restrict __format, __gnuc_va_list __arg) - ; -# 465 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern int __isoc99_vfscanf (FILE *restrict __s, - const char *restrict __format, - __gnuc_va_list __arg) ; -extern int __isoc99_vscanf (const char *restrict __format, - __gnuc_va_list __arg) ; -extern int __isoc99_vsscanf (const char *restrict __s, - const char *restrict __format, - __gnuc_va_list __arg) ; -# 485 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern int fgetc (FILE *__stream); -extern int getc (FILE *__stream); - - - - - -extern int getchar (void); -# 521 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern int fputc (int __c, FILE *__stream); -extern int putc (int __c, FILE *__stream); - - - - - -extern int putchar (int __c); -# 564 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern char *fgets (char *restrict __s, int __n, FILE *restrict __stream) - ; -# 577 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern char *gets (char *__s) ; -# 626 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern int fputs (const char *restrict __s, FILE *restrict __stream); - - - - - -extern int puts (const char *__s); - - - - - - -extern int ungetc (int __c, FILE *__stream); - - - - - - -extern size_t fread (void *restrict __ptr, size_t __size, - size_t __n, FILE *restrict __stream) ; - - - - -extern size_t fwrite (const void *restrict __ptr, size_t __size, - size_t __n, FILE *restrict __s); -# 684 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern int fseek (FILE *__stream, long int __off, int __whence); - - - - -extern long int ftell (FILE *__stream) ; - - - - -extern void rewind (FILE *__stream); -# 731 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern int fgetpos (FILE *restrict __stream, fpos_t *restrict __pos); - - - - -extern int fsetpos (FILE *__stream, const fpos_t *__pos); -# 757 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern void clearerr (FILE *__stream) ; - -extern int feof (FILE *__stream) ; - -extern int ferror (FILE *__stream) ; -# 775 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern void perror (const char *__s); - - - - - -# 1 "/usr/aarch64-linux-gnu/include/bits/sys_errlist.h" 1 3 -# 782 "/usr/aarch64-linux-gnu/include/stdio.h" 2 3 -# 858 "/usr/aarch64-linux-gnu/include/stdio.h" 3 -extern int __uflow (FILE *); -extern int __overflow (FILE *, int); -# 873 "/usr/aarch64-linux-gnu/include/stdio.h" 3 - -# 3 "test_profiling.c" 2 - - -# 4 "test_profiling.c" -int main(int argc, char **argv) { - if (argc < 2) return 1; - int i = atoi(argv[1]); - if (i > 0) { - printf("positive\n"); - } else if (i==0) { - printf("zero\n"); - } else { - printf("negative\n"); - } - return 0; -} diff --git a/test/monniaux/profiling/test_profiling.ltl.1 b/test/monniaux/profiling/test_profiling.ltl.1 deleted file mode 100644 index fdfb7fe0..00000000 --- a/test/monniaux/profiling/test_profiling.ltl.1 +++ /dev/null @@ -1,19 +0,0 @@ -main() { - 16: - 15: if (X0 s 0) goto 5 else goto 10 (prediction: none) - 10: if (x4 ==s 0) goto 7 else goto 9 (prediction: none) - 9: x10 = "__stringlit_1" + 0 - 8: x11 = "printf"(x10) - goto 3 - 7: x8 = "__stringlit_2" + 0 - 6: x9 = "printf"(x8) - goto 3 - 5: x6 = "__stringlit_3" + 0 - 4: x7 = "printf"(x6) - 3: x5 = 0 - goto 1 - 2: x5 = 0 - 1: return x5 -} - diff --git a/test/monniaux/profiling/test_profiling.rtl.1 b/test/monniaux/profiling/test_profiling.rtl.1 deleted file mode 100644 index d5ce096d..00000000 --- a/test/monniaux/profiling/test_profiling.rtl.1 +++ /dev/null @@ -1,23 +0,0 @@ -main(x2, x1) { - 16: if (x2 s 0) goto 5 else goto 10 (prediction: none) - 10: if (x4 ==s 0) goto 7 else goto 9 (prediction: none) - 9: x10 = "__stringlit_1" + 0 - 8: x11 = "printf"(x10) - goto 3 - 7: x8 = "__stringlit_2" + 0 - 6: x9 = "printf"(x8) - goto 3 - 5: x6 = "__stringlit_3" + 0 - 4: x7 = "printf"(x6) - 3: x5 = 0 - goto 1 - 2: x5 = 0 - 1: return x5 -} - diff --git a/test/monniaux/profiling/test_profiling.rtl.10 b/test/monniaux/profiling/test_profiling.rtl.10 deleted file mode 100644 index 8b268c84..00000000 --- a/test/monniaux/profiling/test_profiling.rtl.10 +++ /dev/null @@ -1,21 +0,0 @@ -main(x2, x1) { - 15: if (x2 s 0) goto 5 else goto 10 (prediction: none) - 10: if (x4 ==s 0) goto 7 else goto 9 (prediction: none) - 9: x10 = "__stringlit_1" + 0 - 8: x11 = "printf"(x10) - goto 3 - 7: x8 = "__stringlit_2" + 0 - 6: x9 = "printf"(x8) - goto 3 - 5: x6 = "__stringlit_3" + 0 - 4: x7 = "printf"(x6) - 3: x5 = 0 - goto 1 - 2: x5 = 0 - 1: return x5 -} - diff --git a/test/monniaux/profiling/test_profiling.rtl.20 b/test/monniaux/profiling/test_profiling.rtl.20 deleted file mode 100644 index 091878ec..00000000 --- a/test/monniaux/profiling/test_profiling.rtl.20 +++ /dev/null @@ -1,21 +0,0 @@ -main(x2, x1) { - 15: if (x2 s 0) goto 5 else goto 10 (prediction: none) - 10: if (x4 ==s 0) goto 7 else goto 9 (prediction: none) - 9: x10 = "__stringlit_1" + 0 - 8: x11 = "printf"(x10) - goto 3 - 7: x8 = "__stringlit_2" + 0 - 6: x9 = "printf"(x8) - goto 3 - 5: x6 = "__stringlit_3" + 0 - 4: x7 = "printf"(x6) - 3: x5 = 0 - goto 1 - 2: x5 = 0 - 1: return x5 -} - diff --git a/test/monniaux/profiling/test_profiling.rtl.30 b/test/monniaux/profiling/test_profiling.rtl.30 deleted file mode 100644 index 9102f74f..00000000 --- a/test/monniaux/profiling/test_profiling.rtl.30 +++ /dev/null @@ -1,21 +0,0 @@ -main(x2, x1) { - 15: if (x2 s 0) goto 5 else goto 10 (prediction: none) - 10: if (x4 ==s 0) goto 7 else goto 9 (prediction: none) - 9: x10 = "__stringlit_1" + 0 - 8: x11 = "printf"(x10) - goto 3 - 7: x8 = "__stringlit_2" + 0 - 6: x9 = "printf"(x8) - goto 3 - 5: x6 = "__stringlit_3" + 0 - 4: x7 = "printf"(x6) - 3: x5 = 0 - goto 1 - 2: x5 = 0 - 1: return x5 -} - diff --git a/test/monniaux/profiling/test_profiling.rtl.5 b/test/monniaux/profiling/test_profiling.rtl.5 deleted file mode 100644 index d5ce096d..00000000 --- a/test/monniaux/profiling/test_profiling.rtl.5 +++ /dev/null @@ -1,23 +0,0 @@ -main(x2, x1) { - 16: if (x2 s 0) goto 5 else goto 10 (prediction: none) - 10: if (x4 ==s 0) goto 7 else goto 9 (prediction: none) - 9: x10 = "__stringlit_1" + 0 - 8: x11 = "printf"(x10) - goto 3 - 7: x8 = "__stringlit_2" + 0 - 6: x9 = "printf"(x8) - goto 3 - 5: x6 = "__stringlit_3" + 0 - 4: x7 = "printf"(x6) - 3: x5 = 0 - goto 1 - 2: x5 = 0 - 1: return x5 -} - diff --git a/test/monniaux/profiling/test_profiling.rtl.6 b/test/monniaux/profiling/test_profiling.rtl.6 deleted file mode 100644 index 2f75aa61..00000000 --- a/test/monniaux/profiling/test_profiling.rtl.6 +++ /dev/null @@ -1,21 +0,0 @@ -main(x2, x1) { - 15: if (x2 s 0) goto 4 else goto 9 (prediction: none) - 9: if (x4 ==s 0) goto 6 else goto 8 (prediction: none) - 8: x10 = "__stringlit_1" + 0 - 7: x11 = "printf"(x10) - goto 2 - 6: x8 = "__stringlit_2" + 0 - 5: x9 = "printf"(x8) - goto 2 - 4: x6 = "__stringlit_3" + 0 - 3: x7 = "printf"(x6) - 2: x5 = 0 - 1: return x5 -} - diff --git a/test/monniaux/profiling/test_profiling.rtl.7 b/test/monniaux/profiling/test_profiling.rtl.7 deleted file mode 100644 index 2f75aa61..00000000 --- a/test/monniaux/profiling/test_profiling.rtl.7 +++ /dev/null @@ -1,21 +0,0 @@ -main(x2, x1) { - 15: if (x2 s 0) goto 4 else goto 9 (prediction: none) - 9: if (x4 ==s 0) goto 6 else goto 8 (prediction: none) - 8: x10 = "__stringlit_1" + 0 - 7: x11 = "printf"(x10) - goto 2 - 6: x8 = "__stringlit_2" + 0 - 5: x9 = "printf"(x8) - goto 2 - 4: x6 = "__stringlit_3" + 0 - 3: x7 = "printf"(x6) - 2: x5 = 0 - 1: return x5 -} - diff --git a/test/monniaux/profiling/test_profiling.rtl.8 b/test/monniaux/profiling/test_profiling.rtl.8 deleted file mode 100644 index 8b268c84..00000000 --- a/test/monniaux/profiling/test_profiling.rtl.8 +++ /dev/null @@ -1,21 +0,0 @@ -main(x2, x1) { - 15: if (x2 Date: Thu, 22 Apr 2021 11:25:02 +0200 Subject: moving my tests --- test/aarch64/README.md | 15 --- test/aarch64/c/add_return.c | 1 - test/aarch64/c/addresses.c | 32 ------ test/aarch64/c/arith.c | 16 --- test/aarch64/c/arith_print.c | 19 ---- test/aarch64/c/armstrong.c | 21 ---- test/aarch64/c/array1.c | 64 ------------ test/aarch64/c/array2.c | 74 -------------- test/aarch64/c/biggest_of_3_int.c | 10 -- test/aarch64/c/bitwise1.c | 8 -- test/aarch64/c/cpintarray.c | 108 --------------------- test/aarch64/c/enum1.c | 52 ---------- test/aarch64/c/enum2.c | 50 ---------- test/aarch64/c/floop.c | 8 -- test/aarch64/c/floor.c | 29 ------ test/aarch64/c/funcs.c | 36 ------- test/aarch64/c/hello.c | 6 -- test/aarch64/c/if.c | 7 -- test/aarch64/c/msb_pos.c | 20 ---- test/aarch64/c/power2.c | 42 -------- test/aarch64/c/prime.c | 23 ----- test/aarch64/c/random.c | 50 ---------- test/aarch64/c/simple_op.c | 8 -- test/aarch64/c/wloop.c | 8 -- test/aarch64/gen_tests/asmb_aarch64_gen_test.sh | 106 -------------------- .../aarch64/postpass_tests/postpass_exec_c_test.sh | 36 ------- test/gourdinl/c/add_return.c | 1 + test/gourdinl/c/addresses.c | 32 ++++++ test/gourdinl/c/arith.c | 16 +++ test/gourdinl/c/arith_print.c | 19 ++++ test/gourdinl/c/armstrong.c | 21 ++++ test/gourdinl/c/array1.c | 64 ++++++++++++ test/gourdinl/c/array2.c | 74 ++++++++++++++ test/gourdinl/c/biggest_of_3_int.c | 10 ++ test/gourdinl/c/bitwise1.c | 8 ++ test/gourdinl/c/cpintarray.c | 108 +++++++++++++++++++++ test/gourdinl/c/enum1.c | 52 ++++++++++ test/gourdinl/c/enum2.c | 50 ++++++++++ test/gourdinl/c/floop.c | 8 ++ test/gourdinl/c/floor.c | 29 ++++++ test/gourdinl/c/funcs.c | 36 +++++++ test/gourdinl/c/hello.c | 6 ++ test/gourdinl/c/if.c | 7 ++ test/gourdinl/c/msb_pos.c | 20 ++++ test/gourdinl/c/power2.c | 42 ++++++++ test/gourdinl/c/prime.c | 23 +++++ test/gourdinl/c/random.c | 50 ++++++++++ test/gourdinl/c/simple_op.c | 8 ++ test/gourdinl/c/wloop.c | 8 ++ 49 files changed, 692 insertions(+), 849 deletions(-) delete mode 100644 test/aarch64/README.md delete mode 100644 test/aarch64/c/add_return.c delete mode 100644 test/aarch64/c/addresses.c delete mode 100644 test/aarch64/c/arith.c delete mode 100644 test/aarch64/c/arith_print.c delete mode 100644 test/aarch64/c/armstrong.c delete mode 100644 test/aarch64/c/array1.c delete mode 100644 test/aarch64/c/array2.c delete mode 100644 test/aarch64/c/biggest_of_3_int.c delete mode 100644 test/aarch64/c/bitwise1.c delete mode 100644 test/aarch64/c/cpintarray.c delete mode 100644 test/aarch64/c/enum1.c delete mode 100644 test/aarch64/c/enum2.c delete mode 100644 test/aarch64/c/floop.c delete mode 100644 test/aarch64/c/floor.c delete mode 100644 test/aarch64/c/funcs.c delete mode 100644 test/aarch64/c/hello.c delete mode 100644 test/aarch64/c/if.c delete mode 100644 test/aarch64/c/msb_pos.c delete mode 100644 test/aarch64/c/power2.c delete mode 100644 test/aarch64/c/prime.c delete mode 100644 test/aarch64/c/random.c delete mode 100644 test/aarch64/c/simple_op.c delete mode 100644 test/aarch64/c/wloop.c delete mode 100755 test/aarch64/gen_tests/asmb_aarch64_gen_test.sh delete mode 100755 test/aarch64/postpass_tests/postpass_exec_c_test.sh create mode 100644 test/gourdinl/c/add_return.c create mode 100644 test/gourdinl/c/addresses.c create mode 100644 test/gourdinl/c/arith.c create mode 100644 test/gourdinl/c/arith_print.c create mode 100644 test/gourdinl/c/armstrong.c create mode 100644 test/gourdinl/c/array1.c create mode 100644 test/gourdinl/c/array2.c create mode 100644 test/gourdinl/c/biggest_of_3_int.c create mode 100644 test/gourdinl/c/bitwise1.c create mode 100644 test/gourdinl/c/cpintarray.c create mode 100644 test/gourdinl/c/enum1.c create mode 100644 test/gourdinl/c/enum2.c create mode 100644 test/gourdinl/c/floop.c create mode 100644 test/gourdinl/c/floor.c create mode 100644 test/gourdinl/c/funcs.c create mode 100644 test/gourdinl/c/hello.c create mode 100644 test/gourdinl/c/if.c create mode 100644 test/gourdinl/c/msb_pos.c create mode 100644 test/gourdinl/c/power2.c create mode 100644 test/gourdinl/c/prime.c create mode 100644 test/gourdinl/c/random.c create mode 100644 test/gourdinl/c/simple_op.c create mode 100644 test/gourdinl/c/wloop.c (limited to 'test') diff --git a/test/aarch64/README.md b/test/aarch64/README.md deleted file mode 100644 index f943489c..00000000 --- a/test/aarch64/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Testing the Machblock --> Asmblock translation -1. Get the reference version of compcert-aarch in the father's directory if this repo (checkout `aarch64-ref`) -2. Compile both repo for aarch64 -3. CD in this folder (`test/aarch64`) -4. Launch `./asmb_aarch64_gen_test.sh` - -## Options -The script takes following options : -- `-c` to clear generated files at the end -- `-w` to suppress warnings from Compcert - -## Tests files -The variable `DIRS` in the script takes the list of directories containing c files. -The tests under `test/aarch64/c` are simpler and useful to debug only one feature at a time. -Most of them comes from [here](https://cis.temple.edu/~ingargio/cis71/code/). diff --git a/test/aarch64/c/add_return.c b/test/aarch64/c/add_return.c deleted file mode 100644 index c29aeb16..00000000 --- a/test/aarch64/c/add_return.c +++ /dev/null @@ -1 +0,0 @@ -int main(int r) { return r+1; } diff --git a/test/aarch64/c/addresses.c b/test/aarch64/c/addresses.c deleted file mode 100644 index e3cb5201..00000000 --- a/test/aarch64/c/addresses.c +++ /dev/null @@ -1,32 +0,0 @@ -/* addresses.c -- Playing with addresses of variables and their contents: - * what is done by C with variables, addresses, and values. - */ - -#include - -void moo(int a, int * b); - -int main(void) { - int x; - int *y; - - x=1; - y=&x; - printf("Address of x = %d, value of x = %d\n", &x, x); - printf("Address of y = %d, value of y = %d, value of *y = %d\n", &y, y, *y); - moo(9,y); -} - -void moo(int a, int *b){ - printf("Address of a = %d, value of a = %d\n", &a, a); - printf("Address of b = %d, value of b = %d, value of *b = %d\n", &b, b, *b); -} - -/* Output from running this program on my computer: - -Address of x = 536869640, value of x = 1 -Address of y = 536869632, value of y = 536869640, value of *y = 1 -Address of a = 536869608, value of a = 9 -Address of b = 536869600, value of b = 536869640, value of *b = 1 - - */ diff --git a/test/aarch64/c/arith.c b/test/aarch64/c/arith.c deleted file mode 100644 index 02df141b..00000000 --- a/test/aarch64/c/arith.c +++ /dev/null @@ -1,16 +0,0 @@ -int main(int num1, int num2) -{ - int sum, sub, mult, mod; - float div; - - /* - * Perform all arithmetic operations - */ - sum = num1 + num2; - sub = num1 - num2; - mult = num1 * num2; - div = (float)num1 / num2; - mod = num1 % num2; - - return sum + sub + mult + div + mod; -} diff --git a/test/aarch64/c/arith_print.c b/test/aarch64/c/arith_print.c deleted file mode 100644 index d404a151..00000000 --- a/test/aarch64/c/arith_print.c +++ /dev/null @@ -1,19 +0,0 @@ -int main() -{ - int num1 = 2; - int num2 = 4; - int sum, sub, mult, mod; - float div; - - /* - * Perform all arithmetic operations - */ - sum = num1 + num2; - sub = num1 - num2; - mult = num1 * num2; - div = (float)num1 / num2; - mod = num1 % num2; - - printf("%d", sum + sub + mult + div + mod); - return; -} diff --git a/test/aarch64/c/armstrong.c b/test/aarch64/c/armstrong.c deleted file mode 100644 index c5d838f9..00000000 --- a/test/aarch64/c/armstrong.c +++ /dev/null @@ -1,21 +0,0 @@ -int main() -{ - int n,sum,i,t,a,z; - - for(i = 1; i <= 500; i++) - { - t = i; // as we need to retain the original number - sum = 0; - while(t != 0) - { - a = t%10; - sum += a*a*a; - t = t/10; - } - - if(sum == i) - z += i; - } - - return 0; -} diff --git a/test/aarch64/c/array1.c b/test/aarch64/c/array1.c deleted file mode 100644 index 5840ca66..00000000 --- a/test/aarch64/c/array1.c +++ /dev/null @@ -1,64 +0,0 @@ -/* array1.c -- Simple operations with arrays. - */ - -#include -#define N 10 - -void oneWay(void); -void anotherWay(void); - -int main(void) { - printf("\noneWay:\n"); - oneWay(); - printf("\nantherWay:\n"); - anotherWay(); -} - -/*Array initialized with aggregate */ -void oneWay(void) { - int vect[N] = {1,2,3,4,5,6,7,8,9,0}; - int i; - - for (i=0; i - -#define NMAX 10 - -void intSwap(int *x, int *y); -int getIntArray(int a[], int nmax, int sentinel); -void printIntArray(int a[], int n); -void reverseIntArray(int a[], int n); - -int main(void) { - int x[NMAX]; - int hmny; - - hmny = getIntArray(x, NMAX, 0); - printf("The array was: \n"); - printIntArray(x,hmny); - reverseIntArray(x,hmny); - printf("after reverse it is:\n"); - printIntArray(x,hmny); -} - -void intSwap(int *x, int *y) - /* It swaps the content of x and y */ -{ - int temp = *x; - *x = *y; - *y = temp; -} - -void printIntArray(int a[], int n) - /* n is the number of elements in the array a. - * These values are printed out, five per line. */ -{ - int i; - - for (i=0; i b) && (a > c)) { - return a; - } else if (b > c) { - return b; - } else { - return c; - } - return 0; -} diff --git a/test/aarch64/c/bitwise1.c b/test/aarch64/c/bitwise1.c deleted file mode 100644 index d20641de..00000000 --- a/test/aarch64/c/bitwise1.c +++ /dev/null @@ -1,8 +0,0 @@ -int main() -{ - int x = 6, y = 4; - x = x^y; - y = x^876987^x | y << 42; - - return ~x^y; -} diff --git a/test/aarch64/c/cpintarray.c b/test/aarch64/c/cpintarray.c deleted file mode 100644 index 8049fdfb..00000000 --- a/test/aarch64/c/cpintarray.c +++ /dev/null @@ -1,108 +0,0 @@ -/* cpintarray.c -- Example showing how addresses and arrays are alike - */ - -#include -#define SIZE 8 - -void cpIntArray(int *a, int *b, int n) -/*It copies n integers starting at b into a*/ -{ - for(;n>0;n--) - *a++=*b++; -} - - -void printIntArray(int a[], int n) - /* n is the number of elements in the array a. - * These values are printed out, five per line. */ -{ - int i; - - for (i=0; i - -/* Introducing an enumerated data type */ -enum days {monday,tuesday,wednesday,thursday,friday,saturday,sunday}; -typedef enum days days; // This allows us to use "days" as an abbreviation - // for "enum days" - -/* Two useful functions */ -days yesterday(days today){ - return (today+6)%7; -} -days tomorrow(days today){ - return (today+1)%7; -} - -// A useful array: thedays is an array of constant (i.e you cannot -// modify them) pointers to constant (i.e. you cannot modify them) strings -const char * const thedays[] = - {"monday", "tuesday", "wednesday", "thursday", - "friday", "saturday", "sunday"}; - -int main(void){ - days today; - - printf("today \tyesterday \ttomorrow\n" - "============================================\n"); - for (today=monday;today<=sunday;today++) - printf("%s = %d \t %s = %d \t %s = %d\n", - thedays[today], today, - thedays[yesterday(today)], yesterday(today), - thedays[tomorrow(today)], tomorrow(today)); -} - -/* - The output is: - -today yesterday tomorrow -============================================ -monday = 0 sunday = 6 tuesday = 1 -tuesday = 1 monday = 0 wednesday = 2 -wednesday = 2 tuesday = 1 thursday = 3 -thursday = 3 wednesday = 2 friday = 4 -friday = 4 thursday = 3 saturday = 5 -saturday = 5 friday = 4 sunday = 6 -sunday = 6 saturday = 5 monday = 0 - -*/ diff --git a/test/aarch64/c/enum2.c b/test/aarch64/c/enum2.c deleted file mode 100644 index a18acb80..00000000 --- a/test/aarch64/c/enum2.c +++ /dev/null @@ -1,50 +0,0 @@ -/* enum2.c -- Starting to use enumerated types: Printing for each - * day of the week, today, yesterday, and tomorrow, both - * as a string and as a number. We use typedef - */ - -#include - -/* Introducing an enumerated data type */ -typedef enum {monday,tuesday,wednesday,thursday,friday,saturday,sunday} days; - -/* Two useful functions */ -days yesterday(days today); -days tomorrow(days today); - -char *thedays[] = {"monday", "tuesday", "wednesday", "thursday", - "friday", "saturday", "sunday"}; - -int main(void){ - days today; - - printf("today \tyesterday \ttomorrow\n" - "============================================\n"); - for (today=monday;today<=sunday;today++) - printf("%s = %d \t %s = %d \t %s = %d\n", - thedays[today], today, - thedays[yesterday(today)], yesterday(today), - thedays[tomorrow(today)], tomorrow(today)); -} - -days yesterday(days today){ - return (today+6)%7; -} -days tomorrow(days today){ - return (today+1)%7; -} - -/* - The output is: - -today yesterday tomorrow -============================================ -monday = 0 sunday = 6 tuesday = 1 -tuesday = 1 monday = 0 wednesday = 2 -wednesday = 2 tuesday = 1 thursday = 3 -thursday = 3 wednesday = 2 friday = 4 -friday = 4 thursday = 3 saturday = 5 -saturday = 5 friday = 4 sunday = 6 -sunday = 6 saturday = 5 monday = 0 - -*/ diff --git a/test/aarch64/c/floop.c b/test/aarch64/c/floop.c deleted file mode 100644 index 30270892..00000000 --- a/test/aarch64/c/floop.c +++ /dev/null @@ -1,8 +0,0 @@ -int main(int x) -{ - int y = 4; - int s = 23; - for(int i = 0; i <= x; i++) - y << s; - return y; -} diff --git a/test/aarch64/c/floor.c b/test/aarch64/c/floor.c deleted file mode 100644 index 33a57af3..00000000 --- a/test/aarch64/c/floor.c +++ /dev/null @@ -1,29 +0,0 @@ -int main(int n) -{ - int x = 1, i; - - /* for positive values */ - if (n > 0) - { - for (; x <= n >> 1;) - { - x = x << 1; - } - n = x; - } - /* for negative values */ - else - { - n = ~n; - n = n + 1; - for (; x <= n >> 1;) - { - x = x << 1; - } - x = x << 1; - x = ~x; - x = x + 1; - n = x; - } - return n; -} diff --git a/test/aarch64/c/funcs.c b/test/aarch64/c/funcs.c deleted file mode 100644 index 49e610d6..00000000 --- a/test/aarch64/c/funcs.c +++ /dev/null @@ -1,36 +0,0 @@ -/* funcs.c -- More examples of functions - */ - -#include - -int getint(void); /*It prompts user to enter an integer, which it returns*/ - -int getmax(int a, int b, int c); /*It returns value of largest of a, b, c*/ - -/* Main program: Using the various functions */ -int main (void) { - int x, y, z; - - x = getint(); - y = getint(); - z = getint(); - printf("The largest of %d, %d, and %d is %d\n", x, y, z, getmax(x,y,z)); -} - -int getint(void) { - int a; - - printf("Please enter an integer > "); - scanf("%d", &a); - return(a); -} - -int getmax(int a, int b, int c){ - int m = a; - - if (m - -int main(void) { - printf("Hello World!\n"); - return 0; -} diff --git a/test/aarch64/c/if.c b/test/aarch64/c/if.c deleted file mode 100644 index 7d2e249a..00000000 --- a/test/aarch64/c/if.c +++ /dev/null @@ -1,7 +0,0 @@ -int main(int x) -{ - if (x > 27) - return 11; - else x--; - return x; -} diff --git a/test/aarch64/c/msb_pos.c b/test/aarch64/c/msb_pos.c deleted file mode 100644 index f2e7fe09..00000000 --- a/test/aarch64/c/msb_pos.c +++ /dev/null @@ -1,20 +0,0 @@ -/* Function to find the MSB bit position */ -int main(int n) -{ - int i = 0, bit; - while (i < 32) - { - bit = n & 0x80000000; - if (bit == -0x80000000) - { - bit = 1; - } - - if (bit == 1) - break; - - n = n << 1; - i++; - } - return i; -} diff --git a/test/aarch64/c/power2.c b/test/aarch64/c/power2.c deleted file mode 100644 index 64707df9..00000000 --- a/test/aarch64/c/power2.c +++ /dev/null @@ -1,42 +0,0 @@ -/* power2.c -- Print out powers of 2: 1, 2, 4, 8, .. up to 2^N - */ - -#include -#define N 16 - -int main(void) { - int n; /* The current exponent */ - int val = 1; /* The current power of 2 */ - - printf("\t n \t 2^n\n"); - printf("\t================\n"); - for (n=0; n<=N; n++) { - printf("\t%3d \t %6d\n", n, val); - val = 2*val; - } - return 0; -} - -/* It prints out : - - n 2^n - ================ - 0 1 - 1 2 - 2 4 - 3 8 - 4 16 - 5 32 - 6 64 - 7 128 - 8 256 - 9 512 - 10 1024 - 11 2048 - 12 4096 - 13 8192 - 14 16384 - 15 32768 - 16 65536 - -*/ diff --git a/test/aarch64/c/prime.c b/test/aarch64/c/prime.c deleted file mode 100644 index 6c51db32..00000000 --- a/test/aarch64/c/prime.c +++ /dev/null @@ -1,23 +0,0 @@ -/* prime1.c It prompts the user to enter an integer N. It prints out - * if it is a prime or not. If not, it prints out a factor of N. - */ - -#include - -int main(int n) { - int i; - int flag; - - flag = 1; - for (i=2; (i<(n/2)) && flag; ) { /* May be we do not need to test - values of i greater than the square root of n? */ - if ((n % i) == 0) /* If true n is divisible by i */ - flag = 0; - else - i++; - } - - if (flag) - return 1; - return 0; -} diff --git a/test/aarch64/c/random.c b/test/aarch64/c/random.c deleted file mode 100644 index 50aa5737..00000000 --- a/test/aarch64/c/random.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Generating random number sequences using the formula (linear congruence) - x[k+1] = (a*x[k] + c)mod m - where a, c, and m are parameters set by the user and passed as command line - parameters together with a seed i.e. x[0] - As a simple example try a=7, c=1, m=13, and seed=5 - A more sophisticated selection would be a=69069, c=0, - m=2^32=4294967296, and seed=31 - It will print out, in a sort of random order, up to m-1 distinct values. - Then it loops. - */ - -#include -#include -#include - -static long seed = 13; -static long a; -static long c; -static long m; - -void random_init(long s) { - if (s != 0) seed = s; -} - -long random() { - seed = (a*seed + c)%m; - return seed; - } - -int main(int argc, char * argv[]) { - if (argc != 5) { - printf("usage: %s a, c, m, seed\n", argv[0]); - return 1; - } - a = atoi(argv[1]); - c = atoi(argv[2]); - m = atoi(argv[3]); - long s = atoi(argv[4]); - random_init(s); - int k; - for (k = 0; k < m-1; k++) { - printf("%8ld", random()); - if (k % 8 == 7) { // after 8 elements go to a new line - printf("\n"); - sleep(1); // sleep for a second - } - } - printf("\n"); - return 0; -} diff --git a/test/aarch64/c/simple_op.c b/test/aarch64/c/simple_op.c deleted file mode 100644 index 7c43b081..00000000 --- a/test/aarch64/c/simple_op.c +++ /dev/null @@ -1,8 +0,0 @@ -int main(int argc, char ** argv) -{ - int n, m; - n = n + 1; - n = n * 7; - n / (8 - 2); - return n; -} diff --git a/test/aarch64/c/wloop.c b/test/aarch64/c/wloop.c deleted file mode 100644 index 5ba67419..00000000 --- a/test/aarch64/c/wloop.c +++ /dev/null @@ -1,8 +0,0 @@ -int main(int x) -{ - int y = 4; - int s = 23; - while(s < x) - y << s; - return y; -} diff --git a/test/aarch64/gen_tests/asmb_aarch64_gen_test.sh b/test/aarch64/gen_tests/asmb_aarch64_gen_test.sh deleted file mode 100755 index 38235f14..00000000 --- a/test/aarch64/gen_tests/asmb_aarch64_gen_test.sh +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/bash - -CLEAN=0 -WOFF=0 -while getopts ':cw' 'OPTKEY'; do - case ${OPTKEY} in - c) CLEAN=1;; - w) WOFF=1;; - esac -done - -DIRS=( - ../c/*.c # Special simple tests - #../../c/*.c - ../../clightgen/*.c - #../../compression/*.c - ../../cse2/*.c - - # Monniaux test directory - ../../monniaux/binary_search/*.c - ../../monniaux/complex/*.c - #../../monniaux/crypto-algorithms/*.c # Warnings - ../../monniaux/cse2/*.c - #../../monniaux/des/*.c # Unsupported feature? - ../../monniaux/expect/*.c - ../../monniaux/fill_buffer/*.c - ../../monniaux/genann/*.c - #../../monniaux/heptagon_radio_transmitter/*.c # Warnings - ../../monniaux/idea/*.c - ../../monniaux/jumptable/*.c - ../../monniaux/licm/*.c - ../../monniaux/longjmp/*.c - ../../monniaux/loop/*.c - ../../monniaux/lustrev4_lustrec_heater_control/*.c - ../../monniaux/lustrev4_lv4_heater_control/*.c - ../../monniaux/lustrev4_lv6-en-2cgc_heater_control/*.c - #../../monniaux/lustrev6-carlightV2/*.c # Warnings - #../../monniaux/lustrev6-convertible-2cgc/*.c # Unsupported feature? - #../../monniaux/lustrev6-convertible-en-2cgc/*.c - #../../monniaux/lustrev6-convertible/*.c # Warnings - ../../monniaux/madd/*.c - #../../monniaux/math/*.c # Unsupported feature? - ../../monniaux/memcpy/*.c - #../../monniaux/micro-bunzip/*.c # Warnings - ../../monniaux/moves/*.c - ../../monniaux/multithreaded_volatile/*.c - ../../monniaux/nand/*.c - #../../monniaux/ncompress/*.c # Warnings - ../../monniaux/number_theoretic_transform/*.c - ../../monniaux/predicated/*.c - ../../monniaux/regalloc/*.c - ../../monniaux/rotate/*.c - ../../monniaux/scheduling/*.c - ../../monniaux/send_through/*.c - ../../monniaux/tiny-AES-c/*.c - ../../monniaux/varargs/*.c - ../../monniaux/xor_and_mat/*.c - #../../monniaux/zlib-1.2.11/*.c # Warnings -) -#FILES=../c/*.c -CCOMP_BBLOCKS="../../../ccomp -fno-postpass" -CCOMP_REF="../../../../CompCert_kvx/ccomp" -COUNT=0 - -if [ $WOFF -eq 1 ] -then - CCOMP_BBLOCKS="${CCOMP_BBLOCKS} -w" - CCOMP_REF="${CCOMP_REF} -w" -fi - -for files in ${DIRS[@]} -do - for f in $files - do - BNAME=$(basename -s .c $f) - SNAME="$BNAME".s - SREFNAME="$BNAME"_ref.s - ./$CCOMP_BBLOCKS -S $f -o $SNAME - ./$CCOMP_REF -dmach -S $f -o $SREFNAME - #diff -I '^//*' <(cut -c-5 $SNAME) <(cut -c-5 $SREFNAME) > /dev/null 2>&1 - diff -I '^//*' $SNAME $SREFNAME > /dev/null 2>&1 - - error=$? - if [ $error -eq 0 ] - then - echo "[$BNAME] OK" - COUNT=$((COUNT + 1)) - elif [ $error -eq 1 ] - then - echo "[$BNAME] FAIL" - diff -I '^//*' -y $SNAME $SREFNAME - exit 1 - else - echo "[$BNAME] FAIL" - echo "[WARNING] There was something wrong with the diff command !" - exit 1 - fi - done -done - -echo "[TOTAL] $COUNT tests PASSED" - -if [ $CLEAN -eq 1 ] -then - rm *.s *.mach -fi diff --git a/test/aarch64/postpass_tests/postpass_exec_c_test.sh b/test/aarch64/postpass_tests/postpass_exec_c_test.sh deleted file mode 100755 index 73422990..00000000 --- a/test/aarch64/postpass_tests/postpass_exec_c_test.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -CLEAN=0 -WOFF=0 -SRC="" -while getopts ':cwi:' 'OPTKEY'; do - case ${OPTKEY} in - c) CLEAN=1;; - w) WOFF=1;; - i) SRC=${OPTARG};; - esac -done - -CCOMP="../../../ccomp -static" - -if [ $WOFF -eq 1 ] -then - CCOMP="${CCOMP} -w" -fi - -BNAME=$(basename -s .c $SRC) -SNAME="$BNAME".s -SREFNAME="$BNAME"_ref.s -ENAME="$BNAME" -EREFNAME="$BNAME"_ref -./$CCOMP -S $SRC -o $SNAME -./$CCOMP -fno-postpass -S $SRC -o $SREFNAME -./$CCOMP $SRC -o $ENAME -./$CCOMP -fno-postpass $SRC -o $EREFNAME - -#diff -I '^//*' -y $SNAME $SREFNAME - -if [ $CLEAN -eq 1 ] -then - rm $SNAME $SREFNAME $ENAME $EREFNAME -fi diff --git a/test/gourdinl/c/add_return.c b/test/gourdinl/c/add_return.c new file mode 100644 index 00000000..c29aeb16 --- /dev/null +++ b/test/gourdinl/c/add_return.c @@ -0,0 +1 @@ +int main(int r) { return r+1; } diff --git a/test/gourdinl/c/addresses.c b/test/gourdinl/c/addresses.c new file mode 100644 index 00000000..e3cb5201 --- /dev/null +++ b/test/gourdinl/c/addresses.c @@ -0,0 +1,32 @@ +/* addresses.c -- Playing with addresses of variables and their contents: + * what is done by C with variables, addresses, and values. + */ + +#include + +void moo(int a, int * b); + +int main(void) { + int x; + int *y; + + x=1; + y=&x; + printf("Address of x = %d, value of x = %d\n", &x, x); + printf("Address of y = %d, value of y = %d, value of *y = %d\n", &y, y, *y); + moo(9,y); +} + +void moo(int a, int *b){ + printf("Address of a = %d, value of a = %d\n", &a, a); + printf("Address of b = %d, value of b = %d, value of *b = %d\n", &b, b, *b); +} + +/* Output from running this program on my computer: + +Address of x = 536869640, value of x = 1 +Address of y = 536869632, value of y = 536869640, value of *y = 1 +Address of a = 536869608, value of a = 9 +Address of b = 536869600, value of b = 536869640, value of *b = 1 + + */ diff --git a/test/gourdinl/c/arith.c b/test/gourdinl/c/arith.c new file mode 100644 index 00000000..02df141b --- /dev/null +++ b/test/gourdinl/c/arith.c @@ -0,0 +1,16 @@ +int main(int num1, int num2) +{ + int sum, sub, mult, mod; + float div; + + /* + * Perform all arithmetic operations + */ + sum = num1 + num2; + sub = num1 - num2; + mult = num1 * num2; + div = (float)num1 / num2; + mod = num1 % num2; + + return sum + sub + mult + div + mod; +} diff --git a/test/gourdinl/c/arith_print.c b/test/gourdinl/c/arith_print.c new file mode 100644 index 00000000..d404a151 --- /dev/null +++ b/test/gourdinl/c/arith_print.c @@ -0,0 +1,19 @@ +int main() +{ + int num1 = 2; + int num2 = 4; + int sum, sub, mult, mod; + float div; + + /* + * Perform all arithmetic operations + */ + sum = num1 + num2; + sub = num1 - num2; + mult = num1 * num2; + div = (float)num1 / num2; + mod = num1 % num2; + + printf("%d", sum + sub + mult + div + mod); + return; +} diff --git a/test/gourdinl/c/armstrong.c b/test/gourdinl/c/armstrong.c new file mode 100644 index 00000000..c5d838f9 --- /dev/null +++ b/test/gourdinl/c/armstrong.c @@ -0,0 +1,21 @@ +int main() +{ + int n,sum,i,t,a,z; + + for(i = 1; i <= 500; i++) + { + t = i; // as we need to retain the original number + sum = 0; + while(t != 0) + { + a = t%10; + sum += a*a*a; + t = t/10; + } + + if(sum == i) + z += i; + } + + return 0; +} diff --git a/test/gourdinl/c/array1.c b/test/gourdinl/c/array1.c new file mode 100644 index 00000000..5840ca66 --- /dev/null +++ b/test/gourdinl/c/array1.c @@ -0,0 +1,64 @@ +/* array1.c -- Simple operations with arrays. + */ + +#include +#define N 10 + +void oneWay(void); +void anotherWay(void); + +int main(void) { + printf("\noneWay:\n"); + oneWay(); + printf("\nantherWay:\n"); + anotherWay(); +} + +/*Array initialized with aggregate */ +void oneWay(void) { + int vect[N] = {1,2,3,4,5,6,7,8,9,0}; + int i; + + for (i=0; i + +#define NMAX 10 + +void intSwap(int *x, int *y); +int getIntArray(int a[], int nmax, int sentinel); +void printIntArray(int a[], int n); +void reverseIntArray(int a[], int n); + +int main(void) { + int x[NMAX]; + int hmny; + + hmny = getIntArray(x, NMAX, 0); + printf("The array was: \n"); + printIntArray(x,hmny); + reverseIntArray(x,hmny); + printf("after reverse it is:\n"); + printIntArray(x,hmny); +} + +void intSwap(int *x, int *y) + /* It swaps the content of x and y */ +{ + int temp = *x; + *x = *y; + *y = temp; +} + +void printIntArray(int a[], int n) + /* n is the number of elements in the array a. + * These values are printed out, five per line. */ +{ + int i; + + for (i=0; i b) && (a > c)) { + return a; + } else if (b > c) { + return b; + } else { + return c; + } + return 0; +} diff --git a/test/gourdinl/c/bitwise1.c b/test/gourdinl/c/bitwise1.c new file mode 100644 index 00000000..d20641de --- /dev/null +++ b/test/gourdinl/c/bitwise1.c @@ -0,0 +1,8 @@ +int main() +{ + int x = 6, y = 4; + x = x^y; + y = x^876987^x | y << 42; + + return ~x^y; +} diff --git a/test/gourdinl/c/cpintarray.c b/test/gourdinl/c/cpintarray.c new file mode 100644 index 00000000..8049fdfb --- /dev/null +++ b/test/gourdinl/c/cpintarray.c @@ -0,0 +1,108 @@ +/* cpintarray.c -- Example showing how addresses and arrays are alike + */ + +#include +#define SIZE 8 + +void cpIntArray(int *a, int *b, int n) +/*It copies n integers starting at b into a*/ +{ + for(;n>0;n--) + *a++=*b++; +} + + +void printIntArray(int a[], int n) + /* n is the number of elements in the array a. + * These values are printed out, five per line. */ +{ + int i; + + for (i=0; i + +/* Introducing an enumerated data type */ +enum days {monday,tuesday,wednesday,thursday,friday,saturday,sunday}; +typedef enum days days; // This allows us to use "days" as an abbreviation + // for "enum days" + +/* Two useful functions */ +days yesterday(days today){ + return (today+6)%7; +} +days tomorrow(days today){ + return (today+1)%7; +} + +// A useful array: thedays is an array of constant (i.e you cannot +// modify them) pointers to constant (i.e. you cannot modify them) strings +const char * const thedays[] = + {"monday", "tuesday", "wednesday", "thursday", + "friday", "saturday", "sunday"}; + +int main(void){ + days today; + + printf("today \tyesterday \ttomorrow\n" + "============================================\n"); + for (today=monday;today<=sunday;today++) + printf("%s = %d \t %s = %d \t %s = %d\n", + thedays[today], today, + thedays[yesterday(today)], yesterday(today), + thedays[tomorrow(today)], tomorrow(today)); +} + +/* + The output is: + +today yesterday tomorrow +============================================ +monday = 0 sunday = 6 tuesday = 1 +tuesday = 1 monday = 0 wednesday = 2 +wednesday = 2 tuesday = 1 thursday = 3 +thursday = 3 wednesday = 2 friday = 4 +friday = 4 thursday = 3 saturday = 5 +saturday = 5 friday = 4 sunday = 6 +sunday = 6 saturday = 5 monday = 0 + +*/ diff --git a/test/gourdinl/c/enum2.c b/test/gourdinl/c/enum2.c new file mode 100644 index 00000000..a18acb80 --- /dev/null +++ b/test/gourdinl/c/enum2.c @@ -0,0 +1,50 @@ +/* enum2.c -- Starting to use enumerated types: Printing for each + * day of the week, today, yesterday, and tomorrow, both + * as a string and as a number. We use typedef + */ + +#include + +/* Introducing an enumerated data type */ +typedef enum {monday,tuesday,wednesday,thursday,friday,saturday,sunday} days; + +/* Two useful functions */ +days yesterday(days today); +days tomorrow(days today); + +char *thedays[] = {"monday", "tuesday", "wednesday", "thursday", + "friday", "saturday", "sunday"}; + +int main(void){ + days today; + + printf("today \tyesterday \ttomorrow\n" + "============================================\n"); + for (today=monday;today<=sunday;today++) + printf("%s = %d \t %s = %d \t %s = %d\n", + thedays[today], today, + thedays[yesterday(today)], yesterday(today), + thedays[tomorrow(today)], tomorrow(today)); +} + +days yesterday(days today){ + return (today+6)%7; +} +days tomorrow(days today){ + return (today+1)%7; +} + +/* + The output is: + +today yesterday tomorrow +============================================ +monday = 0 sunday = 6 tuesday = 1 +tuesday = 1 monday = 0 wednesday = 2 +wednesday = 2 tuesday = 1 thursday = 3 +thursday = 3 wednesday = 2 friday = 4 +friday = 4 thursday = 3 saturday = 5 +saturday = 5 friday = 4 sunday = 6 +sunday = 6 saturday = 5 monday = 0 + +*/ diff --git a/test/gourdinl/c/floop.c b/test/gourdinl/c/floop.c new file mode 100644 index 00000000..30270892 --- /dev/null +++ b/test/gourdinl/c/floop.c @@ -0,0 +1,8 @@ +int main(int x) +{ + int y = 4; + int s = 23; + for(int i = 0; i <= x; i++) + y << s; + return y; +} diff --git a/test/gourdinl/c/floor.c b/test/gourdinl/c/floor.c new file mode 100644 index 00000000..33a57af3 --- /dev/null +++ b/test/gourdinl/c/floor.c @@ -0,0 +1,29 @@ +int main(int n) +{ + int x = 1, i; + + /* for positive values */ + if (n > 0) + { + for (; x <= n >> 1;) + { + x = x << 1; + } + n = x; + } + /* for negative values */ + else + { + n = ~n; + n = n + 1; + for (; x <= n >> 1;) + { + x = x << 1; + } + x = x << 1; + x = ~x; + x = x + 1; + n = x; + } + return n; +} diff --git a/test/gourdinl/c/funcs.c b/test/gourdinl/c/funcs.c new file mode 100644 index 00000000..49e610d6 --- /dev/null +++ b/test/gourdinl/c/funcs.c @@ -0,0 +1,36 @@ +/* funcs.c -- More examples of functions + */ + +#include + +int getint(void); /*It prompts user to enter an integer, which it returns*/ + +int getmax(int a, int b, int c); /*It returns value of largest of a, b, c*/ + +/* Main program: Using the various functions */ +int main (void) { + int x, y, z; + + x = getint(); + y = getint(); + z = getint(); + printf("The largest of %d, %d, and %d is %d\n", x, y, z, getmax(x,y,z)); +} + +int getint(void) { + int a; + + printf("Please enter an integer > "); + scanf("%d", &a); + return(a); +} + +int getmax(int a, int b, int c){ + int m = a; + + if (m + +int main(void) { + printf("Hello World!\n"); + return 0; +} diff --git a/test/gourdinl/c/if.c b/test/gourdinl/c/if.c new file mode 100644 index 00000000..7d2e249a --- /dev/null +++ b/test/gourdinl/c/if.c @@ -0,0 +1,7 @@ +int main(int x) +{ + if (x > 27) + return 11; + else x--; + return x; +} diff --git a/test/gourdinl/c/msb_pos.c b/test/gourdinl/c/msb_pos.c new file mode 100644 index 00000000..f2e7fe09 --- /dev/null +++ b/test/gourdinl/c/msb_pos.c @@ -0,0 +1,20 @@ +/* Function to find the MSB bit position */ +int main(int n) +{ + int i = 0, bit; + while (i < 32) + { + bit = n & 0x80000000; + if (bit == -0x80000000) + { + bit = 1; + } + + if (bit == 1) + break; + + n = n << 1; + i++; + } + return i; +} diff --git a/test/gourdinl/c/power2.c b/test/gourdinl/c/power2.c new file mode 100644 index 00000000..64707df9 --- /dev/null +++ b/test/gourdinl/c/power2.c @@ -0,0 +1,42 @@ +/* power2.c -- Print out powers of 2: 1, 2, 4, 8, .. up to 2^N + */ + +#include +#define N 16 + +int main(void) { + int n; /* The current exponent */ + int val = 1; /* The current power of 2 */ + + printf("\t n \t 2^n\n"); + printf("\t================\n"); + for (n=0; n<=N; n++) { + printf("\t%3d \t %6d\n", n, val); + val = 2*val; + } + return 0; +} + +/* It prints out : + + n 2^n + ================ + 0 1 + 1 2 + 2 4 + 3 8 + 4 16 + 5 32 + 6 64 + 7 128 + 8 256 + 9 512 + 10 1024 + 11 2048 + 12 4096 + 13 8192 + 14 16384 + 15 32768 + 16 65536 + +*/ diff --git a/test/gourdinl/c/prime.c b/test/gourdinl/c/prime.c new file mode 100644 index 00000000..6c51db32 --- /dev/null +++ b/test/gourdinl/c/prime.c @@ -0,0 +1,23 @@ +/* prime1.c It prompts the user to enter an integer N. It prints out + * if it is a prime or not. If not, it prints out a factor of N. + */ + +#include + +int main(int n) { + int i; + int flag; + + flag = 1; + for (i=2; (i<(n/2)) && flag; ) { /* May be we do not need to test + values of i greater than the square root of n? */ + if ((n % i) == 0) /* If true n is divisible by i */ + flag = 0; + else + i++; + } + + if (flag) + return 1; + return 0; +} diff --git a/test/gourdinl/c/random.c b/test/gourdinl/c/random.c new file mode 100644 index 00000000..50aa5737 --- /dev/null +++ b/test/gourdinl/c/random.c @@ -0,0 +1,50 @@ +/* Generating random number sequences using the formula (linear congruence) + x[k+1] = (a*x[k] + c)mod m + where a, c, and m are parameters set by the user and passed as command line + parameters together with a seed i.e. x[0] + As a simple example try a=7, c=1, m=13, and seed=5 + A more sophisticated selection would be a=69069, c=0, + m=2^32=4294967296, and seed=31 + It will print out, in a sort of random order, up to m-1 distinct values. + Then it loops. + */ + +#include +#include +#include + +static long seed = 13; +static long a; +static long c; +static long m; + +void random_init(long s) { + if (s != 0) seed = s; +} + +long random() { + seed = (a*seed + c)%m; + return seed; + } + +int main(int argc, char * argv[]) { + if (argc != 5) { + printf("usage: %s a, c, m, seed\n", argv[0]); + return 1; + } + a = atoi(argv[1]); + c = atoi(argv[2]); + m = atoi(argv[3]); + long s = atoi(argv[4]); + random_init(s); + int k; + for (k = 0; k < m-1; k++) { + printf("%8ld", random()); + if (k % 8 == 7) { // after 8 elements go to a new line + printf("\n"); + sleep(1); // sleep for a second + } + } + printf("\n"); + return 0; +} diff --git a/test/gourdinl/c/simple_op.c b/test/gourdinl/c/simple_op.c new file mode 100644 index 00000000..7c43b081 --- /dev/null +++ b/test/gourdinl/c/simple_op.c @@ -0,0 +1,8 @@ +int main(int argc, char ** argv) +{ + int n, m; + n = n + 1; + n = n * 7; + n / (8 - 2); + return n; +} diff --git a/test/gourdinl/c/wloop.c b/test/gourdinl/c/wloop.c new file mode 100644 index 00000000..5ba67419 --- /dev/null +++ b/test/gourdinl/c/wloop.c @@ -0,0 +1,8 @@ +int main(int x) +{ + int y = 4; + int s = 23; + while(s < x) + y << s; + return y; +} -- cgit From ef1146ce5e56af8fb37c11af1a728b262656528d Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Wed, 28 Apr 2021 15:05:00 +0200 Subject: Compatibilité Coq 8.13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/monniaux/profiling/compcert_profiling.dat | Bin 96 -> 96 bytes test/monniaux/profiling/test_profiling | Bin 14144 -> 14128 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'test') diff --git a/test/monniaux/profiling/compcert_profiling.dat b/test/monniaux/profiling/compcert_profiling.dat index fa57a995..bd2f90da 100644 Binary files a/test/monniaux/profiling/compcert_profiling.dat and b/test/monniaux/profiling/compcert_profiling.dat differ diff --git a/test/monniaux/profiling/test_profiling b/test/monniaux/profiling/test_profiling index b530aae2..33e22d11 100755 Binary files a/test/monniaux/profiling/test_profiling and b/test/monniaux/profiling/test_profiling differ -- cgit