| void |
| bcopy1 (s, d, c) |
| long long *s; |
| long long *d; |
| int c; |
| { |
| int i; |
| c = c / 8; |
| for (i = 0; i < c; i++) |
| d[i] = s[i]; |
| } |
| |
| void |
| bcopy2 (s, d, c) |
| long *s; |
| long *d; |
| int c; |
| { |
| int i; |
| c = c / 4; |
| for (i = 0; i < c; i++) |
| d[i] = s[i]; |
| } |
| |
| |
| void |
| bcopy3 (s, d, c) |
| char *s; |
| char *d; |
| int c; |
| { |
| long long z0, z1; |
| int r = d - s; |
| |
| int i; |
| |
| c /= 16; |
| |
| z0 = *((long long *) s); |
| s += 8; |
| z1 = *((long long *) s); |
| s += 8; |
| for (i = 0; i < c; i++) |
| { |
| *(long long *)(s + r) = z0; |
| z0 = *((long long *) s); |
| s += 8; |
| *(long long *)(s + r) = z1; |
| z1 = *((long long *) s); |
| s += 8; |
| } |
| } |
| |
| #if defined(STACK_SIZE) && STACK_SIZE < 16384 |
| #define BYTES STACK_SIZE |
| #else |
| #define BYTES 16384 |
| #endif |
| |
| main () |
| { |
| long long s[BYTES / 8]; |
| long long d[BYTES / 8]; |
| int i; |
| |
| for (i = 1; i < 67108864 / BYTES; i++) |
| bcopy (s, d, BYTES); |
| } |