summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2013-04-29 07:51:00 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2013-04-29 07:51:00 +0000
commitfbdff974fe7d2040c25dee1d35781f7e70d87d6c (patch)
tree14f112a70481f467e581ca59136eed42601ce725 /test
parente1fc4beb37252b6248c0e0ca4cf5ec00a45190bf (diff)
Revert suppression of __builtin_{read,write}_reversed for x86 and ARM,
for compatibility with earlier CompCert versions. But don't use them in PackedStructs. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2216 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'test')
-rw-r--r--test/regression/Results/builtins-arm4
-rw-r--r--test/regression/Results/builtins-ia324
-rw-r--r--test/regression/builtins-arm.c7
-rw-r--r--test/regression/builtins-ia32.c8
4 files changed, 23 insertions, 0 deletions
diff --git a/test/regression/Results/builtins-arm b/test/regression/Results/builtins-arm
index e60c159..7925545 100644
--- a/test/regression/Results/builtins-arm
+++ b/test/regression/Results/builtins-arm
@@ -2,3 +2,7 @@ bswap(12345678) = 78563412
bswap16(1234) = 3412
cntlz(12345678) = 3
fsqrt(3.141590) = 1.772453
+read_16_rev = 3412
+read_32_rev = efbeadde
+after write_16_rev: 9a78
+after write_32_rev: 78563412
diff --git a/test/regression/Results/builtins-ia32 b/test/regression/Results/builtins-ia32
index 52d6daf..c16c6ae 100644
--- a/test/regression/Results/builtins-ia32
+++ b/test/regression/Results/builtins-ia32
@@ -3,3 +3,7 @@ bswap16(1234) = 3412
fsqrt(3.141590) = 1.772453
fmin(3.141590, 2.718000) = 2.718000
fmax(3.141590, 2.718000) = 3.141590
+read_16_rev = 3412
+read_32_rev = efbeadde
+after write_16_rev: 9a78
+after write_32_rev: 78563412
diff --git a/test/regression/builtins-arm.c b/test/regression/builtins-arm.c
index 41ea88b..a80cdcd 100644
--- a/test/regression/builtins-arm.c
+++ b/test/regression/builtins-arm.c
@@ -14,6 +14,13 @@ int main(int argc, char ** argv)
printf("cntlz(%x) = %d\n", x, __builtin_cntlz(x));
printf("fsqrt(%f) = %f\n", a, __builtin_fsqrt(a));
+ printf ("read_16_rev = %x\n", __builtin_read16_reversed(&s));
+ printf ("read_32_rev = %x\n", __builtin_read32_reversed(&y));
+ __builtin_write16_reversed(&s, 0x789A);
+ printf ("after write_16_rev: %x\n", s);
+ __builtin_write32_reversed(&y, 0x12345678);
+ printf ("after write_32_rev: %x\n", y);
+
return 0;
}
diff --git a/test/regression/builtins-ia32.c b/test/regression/builtins-ia32.c
index 43e4566..1408444 100644
--- a/test/regression/builtins-ia32.c
+++ b/test/regression/builtins-ia32.c
@@ -5,6 +5,7 @@
int main(int argc, char ** argv)
{
unsigned int x = 0x12345678;
+ unsigned int y = 0xDEADBEEF;
double a = 3.14159;
double b = 2.718;
unsigned short s = 0x1234;
@@ -16,6 +17,13 @@ int main(int argc, char ** argv)
printf("fmin(%f, %f) = %f\n", a, b, __builtin_fmin(a, b));
printf("fmax(%f, %f) = %f\n", a, b, __builtin_fmax(a, b));
+ printf ("read_16_rev = %x\n", __builtin_read16_reversed(&s));
+ printf ("read_32_rev = %x\n", __builtin_read32_reversed(&y));
+ __builtin_write16_reversed(&s, 0x789A);
+ printf ("after write_16_rev: %x\n", s);
+ __builtin_write32_reversed(&y, 0x12345678);
+ printf ("after write_32_rev: %x\n", y);
+
return 0;
}