aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2016-08-05 14:05:34 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2016-08-05 14:05:34 +0200
commit028aaefc44b8ed8bafd8b8896fedb53f6e68df3c (patch)
treed7f9325da52050a64e5c9ced1017a4f57c674ff3 /test
parent4ac759d0bceef49d16197e3bb8c9767ece693c5e (diff)
downloadcompcert-028aaefc44b8ed8bafd8b8896fedb53f6e68df3c.tar.gz
compcert-028aaefc44b8ed8bafd8b8896fedb53f6e68df3c.zip
Implement support for big endian arm targets.
Adds support for the big endian arm targets by making the target endianess flag configurable, adding support for the big endian calling conventions, rewriting memory access patterns and adding big endian versions of the runtime functions. Bug 19418
Diffstat (limited to 'test')
-rw-r--r--test/c/aes.c10
-rw-r--r--test/c/sha1.c6
-rw-r--r--test/cminor/aes.cmp6
-rw-r--r--test/cminor/sha1.cmp2
-rw-r--r--test/regression/floats-basics.c4
-rw-r--r--test/regression/floats.c2
6 files changed, 15 insertions, 15 deletions
diff --git a/test/c/aes.c b/test/c/aes.c
index 88b3de4a..053324f3 100644
--- a/test/c/aes.c
+++ b/test/c/aes.c
@@ -32,11 +32,11 @@
#define MAXKB (256/8)
#define MAXNR 14
-typedef unsigned char u8;
-typedef unsigned short u16;
+typedef unsigned char u8;
+typedef unsigned short u16;
typedef unsigned int u32;
-#if defined(__ppc__) || defined(__PPC__)
+#if defined(__ppc__) || defined(__PPC__) || defined(__ARMEB__)
#define ARCH_BIG_ENDIAN
#elif defined(__i386__) || defined(__x86_64__) || defined(__ARMEL__)
#undef ARCH_BIG_ENDIAN
@@ -1295,7 +1295,7 @@ void rijndaelEncryptRound(const u32 rk[/*4*(Nr + 1)*/], int Nr, u8 block[16], in
(Te4[(s1 >> 8) & 0xff] & 0x0000ff00) ^
(Te4[(s2 ) & 0xff] & 0x000000ff) ^
rk[3];
-
+
s0 = t0;
s1 = t1;
s2 = t2;
@@ -1433,7 +1433,7 @@ static void do_bench(int nblocks)
int main(int argc, char ** argv)
{
- do_test(128,
+ do_test(128,
(u8 *)"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F",
(u8 *)"\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xAA\xBB\xCC\xDD\xEE\xFF",
(u8 *)"\x69\xC4\xE0\xD8\x6A\x7B\x04\x30\xD8\xCD\xB7\x80\x70\xB4\xC5\x5A",
diff --git a/test/c/sha1.c b/test/c/sha1.c
index dff32a8e..3eab9b3d 100644
--- a/test/c/sha1.c
+++ b/test/c/sha1.c
@@ -178,7 +178,7 @@ static void do_test(unsigned char * txt, unsigned char * expected_output)
SHA1_add_data(&ctx, txt, strlen((char *) txt));
SHA1_finish(&ctx, output);
ok = memcmp(output, expected_output, 20) == 0;
- printf("Test `%s': %s\n",
+ printf("Test `%s': %s\n",
(char *) txt, (ok ? "passed" : "FAILED"));
}
@@ -197,7 +197,7 @@ unsigned char test_output_1[20] =
{ 0xA9, 0x99, 0x3E, 0x36, 0x47, 0x06, 0x81, 0x6A, 0xBA, 0x3E ,
0x25, 0x71, 0x78, 0x50, 0xC2, 0x6C, 0x9C, 0xD0, 0xD8, 0x9D };
-unsigned char test_input_2[] =
+unsigned char test_input_2[] =
"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq";
unsigned char test_output_2[20] =
@@ -214,7 +214,7 @@ static void do_bench(int nblocks)
for (i = 0; i < 64; i++) data[i] = i;
SHA1_init(&ctx);
- for (; nblocks > 0; nblocks--)
+ for (; nblocks > 0; nblocks--)
SHA1_add_data(&ctx, data, 64);
SHA1_finish(&ctx, output);
}
diff --git a/test/cminor/aes.cmp b/test/cminor/aes.cmp
index 510e59f8..050c4966 100644
--- a/test/cminor/aes.cmp
+++ b/test/cminor/aes.cmp
@@ -1,6 +1,6 @@
/* AES cipher. To be preprocessed with cpp -P. */
-#if defined(__ppc__) || defined(__PPC__)
+#if defined(__ppc__) || defined(__PPC__) || defined(__ARMEB__)
#define ARCH_BIG_ENDIAN
#elif defined(__i386__) || defined(__x86_64__) || defined(__ARMEL__)
#undef ARCH_BIG_ENDIAN
@@ -111,7 +111,7 @@
rk(13) = rk( 5) ^ rk(12);
rk(14) = rk( 6) ^ rk(13);
rk(15) = rk( 7) ^ rk(14);
-
+
rk_ = rk_ + 8 * 4;
} }}
}
@@ -316,7 +316,7 @@
Td2((s1 >>u 8) & 0xff) ^
Td3((s0 ) & 0xff) ^
rk(7);
-
+
rk_ = rk_ + 8 * 4;
r = r - 1;
if (r == 0) exit;
diff --git a/test/cminor/sha1.cmp b/test/cminor/sha1.cmp
index 98a6b51a..96e3c038 100644
--- a/test/cminor/sha1.cmp
+++ b/test/cminor/sha1.cmp
@@ -6,7 +6,7 @@
extern "memcpy" : int -> int -> int -> void
extern "memset" : int -> int -> int -> void
-#if defined(__ppc__) || defined(__PPC__)
+#if defined(__ppc__) || defined(__PPC__) || defined(__ARMEB__)
#define ARCH_BIG_ENDIAN
#elif defined(__i386__) || defined(__x86_64__) || defined(__ARMEL__)
#undef ARCH_BIG_ENDIAN
diff --git a/test/regression/floats-basics.c b/test/regression/floats-basics.c
index 0a4c69d1..5aa91d14 100644
--- a/test/regression/floats-basics.c
+++ b/test/regression/floats-basics.c
@@ -4,7 +4,7 @@
#define STR_EXPAND(tok) #tok
#define STR(tok) STR_EXPAND(tok)
-#if defined(__ppc__) || defined(__PPC__)
+#if defined(__ppc__) || defined(__PPC__) || defined(__ARMEB__)
#define ARCH_BIG_ENDIAN
#elif defined(__i386__) || defined(__x86_64__) || defined(__ARMEL__)
#undef ARCH_BIG_ENDIAN
@@ -69,7 +69,7 @@ int main(void) {
compd(15./16, 0x.Fp0, STR(__LINE__));
compd(15./16, 0x.fP0, STR(__LINE__));
compd(15./16, 0X.fp0, STR(__LINE__));
-
+
printf("%d error(s) detected.\n", num_errors);
return 0;
}
diff --git a/test/regression/floats.c b/test/regression/floats.c
index a3514fb5..68d60f65 100644
--- a/test/regression/floats.c
+++ b/test/regression/floats.c
@@ -3,7 +3,7 @@
#define STR_EXPAND(tok) #tok
#define STR(tok) STR_EXPAND(tok)
-#if defined(__ppc__) || defined(__PPC__)
+#if defined(__ppc__) || defined(__PPC__) || defined(__ARMEB__)
#define ARCH_BIG_ENDIAN
#elif defined(__i386__) || defined(__x86_64__) || defined(__ARMEL__)
#undef ARCH_BIG_ENDIAN