Daily bump.
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr70467-1.c
blob4e112c88d07bc40582d947d05429d41596f8d5e5
1 /* PR rtl-optimization/70467 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -mno-sse" } */
5 void foo (unsigned long long *);
7 void
8 bar (void)
10 unsigned long long a;
11 foo (&a);
12 a &= 0x7fffffffffffffffULL;
13 foo (&a);
14 a &= 0xffffffff7fffffffULL;
15 foo (&a);
16 a &= 0x7fffffff00000000ULL;
17 foo (&a);
18 a &= 0x000000007fffffffULL;
19 foo (&a);
20 a &= 0x00000000ffffffffULL;
21 foo (&a);
22 a &= 0xffffffff00000000ULL;
23 foo (&a);
24 a |= 0x7fffffffffffffffULL;
25 foo (&a);
26 a |= 0xffffffff7fffffffULL;
27 foo (&a);
28 a |= 0x7fffffff00000000ULL;
29 foo (&a);
30 a |= 0x000000007fffffffULL;
31 foo (&a);
32 a |= 0x00000000ffffffffULL;
33 foo (&a);
34 a |= 0xffffffff00000000ULL;
35 foo (&a);
36 a ^= 0x7fffffffffffffffULL;
37 foo (&a);
38 a ^= 0xffffffff7fffffffULL;
39 foo (&a);
40 a ^= 0x7fffffff00000000ULL;
41 foo (&a);
42 a ^= 0x000000007fffffffULL;
43 foo (&a);
44 a ^= 0x00000000ffffffffULL;
45 foo (&a);
46 a ^= 0xffffffff00000000ULL;
47 foo (&a);
50 /* { dg-final { scan-assembler-not "andl\[ \t\]*.-1," { target ia32 } } } */
51 /* { dg-final { scan-assembler-not "andl\[ \t\]*.0," { target ia32 } } } */
52 /* { dg-final { scan-assembler-not "orl\[ \t\]*.-1," { target ia32 } } } */
53 /* { dg-final { scan-assembler-not "orl\[ \t\]*.0," { target ia32 } } } */
54 /* { dg-final { scan-assembler-not "xorl\[ \t\]*.-1," { target ia32 } } } */
55 /* { dg-final { scan-assembler-not "xorl\[ \t\]*.0," { target ia32 } } } */