PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr35540.c
blob00af637d0020dff50323353d07f8bbef1c343c43
1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
4 extern void abort (void);
6 int __attribute__ ((noinline))
7 test (unsigned int *a, int b)
9 return b ? 1 : __builtin_parity (*a);
12 int __attribute__ ((noinline))
13 testl (unsigned long *a, int b)
15 return b ? 1 : __builtin_parityl (*a);
18 int __attribute__ ((noinline))
19 testll (unsigned long long *a, int b)
21 return b ? 1 : __builtin_parityll (*a);
24 int
25 main ()
27 unsigned int a = 0;
28 unsigned long al;
29 unsigned long long all;
31 a = 0x12345670;
32 if (test (&a, 0))
33 abort ();
35 al = 0x12345670ul;
36 if (testl (&al, 0))
37 abort();
39 #if 1
40 all = 0x12345678abcdef0ull;
41 if (testll (&all, 0))
42 abort ();
43 #endif
44 return 0;