2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.c-torture / unsorted / bcopy.c
blobaed994e578a0d0c453e514ff9cc2a47aef156e4b
1 void
2 bcopy1 (s, d, c)
3 long long *s;
4 long long *d;
5 int c;
7 int i;
8 c = c / 8;
9 for (i = 0; i < c; i++)
10 d[i] = s[i];
13 void
14 bcopy2 (s, d, c)
15 long *s;
16 long *d;
17 int c;
19 int i;
20 c = c / 4;
21 for (i = 0; i < c; i++)
22 d[i] = s[i];
26 void
27 bcopy3 (s, d, c)
28 char *s;
29 char *d;
30 int c;
32 long long z0, z1;
33 int r = d - s;
35 int i;
37 c /= 16;
39 z0 = *((long long *) s);
40 s += 8;
41 z1 = *((long long *) s);
42 s += 8;
43 for (i = 0; i < c; i++)
45 *(long long *)(s + r) = z0;
46 z0 = *((long long *) s);
47 s += 8;
48 *(long long *)(s + r) = z1;
49 z1 = *((long long *) s);
50 s += 8;
54 #if defined(STACK_SIZE) && STACK_SIZE < 16384
55 #define BYTES STACK_SIZE
56 #else
57 #define BYTES 16384
58 #endif
60 main ()
62 long long s[BYTES / 8];
63 long long d[BYTES / 8];
64 int i;
66 for (i = 1; i < 67108864 / BYTES; i++)
67 bcopy (s, d, BYTES);