]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/pr65779.c
Get rid of dg-skip-if etc. default args
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / pr65779.c
1 /* PR debug/65779 */
2 /* { dg-do assemble } */
3 /* { dg-options "-O2 -fcompare-debug" } */
4 /* { dg-xfail-if "" { powerpc-ibm-aix* } } */
5
6 unsigned long
7 foo (unsigned long x, unsigned char *y, unsigned int z)
8 {
9 unsigned long a = x & 0xffff;
10 unsigned long b = (x >> 16) & 0xffff;
11 int k;
12 if (y == 0) return 1L;
13 while (z > 0)
14 {
15 k = z < 5552 ? z : 5552;
16 z -= k;
17 while (k >= 16)
18 {
19 a += *y++; b += a;
20 a += *y++; b += a;
21 a += *y++; b += a;
22 a += *y++; b += a;
23 a += *y++; b += a;
24 a += *y++; b += a;
25 a += *y++; b += a;
26 a += *y++; b += a;
27 a += *y++; b += a;
28 a += *y++; b += a;
29 a += *y++; b += a;
30 a += *y++; b += a;
31 a += *y++; b += a;
32 a += *y++; b += a;
33 a += *y++; b += a;
34 a += *y++; b += a;
35 k -= 16;
36 }
37 if (k != 0)
38 do { a += *y++; b += a; } while (--k);
39 a %= 65521L;
40 b %= 65521L;
41 }
42 return (b << 16) | a;
43 }