aboutsummaryrefslogtreecommitdiffstats
path: root/test/regression/builtins.c
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2013-04-20 17:46:58 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2013-04-20 17:46:58 +0000
commit468f0c4407895557ca8089430f894a85f06afe97 (patch)
tree76d4d5bb302da822797ccbbecd8f4cfd935bf938 /test/regression/builtins.c
parent600e5f3be65eeffc80d5c4cad800121fe521a1aa (diff)
downloadcompcert-468f0c4407895557ca8089430f894a85f06afe97.tar.gz
compcert-468f0c4407895557ca8089430f894a85f06afe97.zip
Add __builtin_bswap16 and __builtin_bswap32 to all ports.
Remove __builtin_{read,write}_reversed from IA32 and ARM ports. Machregs: tighten destroyed_by_builtin Packedstructs: use bswap if read/write-reversed not available. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2208 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'test/regression/builtins.c')
-rw-r--r--test/regression/builtins.c71
1 files changed, 0 insertions, 71 deletions
diff --git a/test/regression/builtins.c b/test/regression/builtins.c
deleted file mode 100644
index f548fd81..00000000
--- a/test/regression/builtins.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Fun with builtins */
-
-#include <stdio.h>
-
-int main(int argc, char ** argv)
-{
- int x = 0x12345678;
- unsigned int y = 0xDEADBEEF;
- double a = 3.14159;
- double b = 2.718;
- double c = 1.414;
- unsigned short s = 0x1234;
-
-#if defined(__PPC__) || defined(__ppc__)
-
- printf("mulhw(%x, %x) = %x\n", x, y, __builtin_mulhw(x, y));
- printf("mulhwu(%x, %x) = %x\n", x, y, __builtin_mulhwu(x, y));
- printf("cntlz(%x) = %d\n", x, __builtin_cntlz(x));
- printf("bswap(%x) = %x\n", x, __builtin_bswap(x));
-
- printf("fmadd(%f, %f, %f) = %f\n", a, b, c, __builtin_fmadd(a, b, c));
- printf("fmsub(%f, %f, %f) = %f\n", a, b, c, __builtin_fmsub(a, b, c));
- printf("fabs(%f) = %f\n", a, __builtin_fabs(a));
- printf("fabs(%f) = %f\n", -a, __builtin_fabs(-a));
- printf("fsqrt(%f) = %f\n", a, __builtin_fsqrt(a));
- printf("frsqrte(%f) = %f\n", a, __builtin_frsqrte(a));
- printf("fres(%f) = %f\n", a, __builtin_fres(a));
- printf("fsel(%f, %f, %f) = %f\n", a, b, c, __builtin_fsel(a, b, c));
- printf("fsel(%f, %f, %f) = %f\n", -a, b, c, __builtin_fsel(-a, b, c));
- printf("fcti(%f) = %d\n", a, __builtin_fcti(a));
- printf("fcti(%f) = %d\n", b, __builtin_fcti(b));
- printf("fcti(%f) = %d\n", c, __builtin_fcti(c));
- __builtin_eieio();
- __builtin_sync();
- __builtin_isync();
-
-#endif
-
-#ifdef __arm__
-
- printf("bswap(%x) = %x\n", x, __builtin_bswap(x));
- printf("cntlz(%x) = %d\n", x, __builtin_cntlz(x));
-
- printf("fsqrt(%f) = %f\n", a, __builtin_fsqrt(a));
-
-#endif
-
-#ifdef __i386__
-
- printf("bswap(%x) = %x\n", x, __builtin_bswap(x));
-
- printf("fsqrt(%f) = %f\n", a, __builtin_fsqrt(a));
- printf("fmin(%f, %f) = %f\n", a, b, __builtin_fmin(a, b));
- printf("fmax(%f, %f) = %f\n", a, b, __builtin_fmax(a, b));
-
-#endif
-
- 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;
-}
-
-
-
-
-