OSDN Git Service

2007-09-26 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / fold-bitand-1.c
1 /* { dg-do compile } */
2 /* { dg-options "-fdump-tree-original" } */
3
4 char c1 __attribute__ ((aligned (1)));
5 char c2 __attribute__ ((aligned (2)));
6 char c4 __attribute__ ((aligned (4)));
7 char c8 __attribute__ ((aligned (8)));
8
9 unsigned f1(void)
10 {
11   return 3 & (__SIZE_TYPE__)&c1;
12 }
13
14 unsigned f2(void)
15 {
16   return 3 & (__SIZE_TYPE__)&c2;
17 }
18
19 unsigned f3(void)
20 {
21   return 3 & (__SIZE_TYPE__)&c4;
22 }
23
24 unsigned f4(void)
25 {
26   return 3 & (__SIZE_TYPE__)&c8;
27 }
28
29 /* { dg-final { scan-tree-dump-times "\&c1 \& 3" 1 "original" } } */
30 /* { dg-final { scan-tree-dump-times "\&c2 \& 3" 1 "original" } } */
31 /* { dg-final { scan-tree-dump-times "\&c4 \& 3" 0 "original" } } */
32 /* { dg-final { scan-tree-dump-times "\&c8 \& 3" 0 "original" } } */
33 /* { dg-final { scan-tree-dump-times "return 0" 2 "original" } } */
34 /* { dg-final { cleanup-tree-dump "original" } } */