]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/tree-ssa/pr86401-1.c
1 /* PR tree-optimization/86401 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -fdump-tree-optimized" } */
4 /* { dg-final { scan-tree-dump-not " \\+ 64" "optimized" } } */
5 /* { dg-final { scan-tree-dump-not "64 - " "optimized" } } */
6 /* { dg-final { scan-tree-dump-not " \\+ 4294967232" "optimized" } } */
7 /* { dg-final { scan-tree-dump-not " & 319" "optimized" } } */
8 /* { dg-final { scan-tree-dump-not " \\| 4294967168" "optimized" } } */
9 /* { dg-final { scan-tree-dump-not " \\^ 4294966912" "optimized" } } */
11 unsigned f1 (unsigned x
) { unsigned m
= 64; return (m
+ x
) & (m
- 1); }
12 unsigned f2 (unsigned x
) { return (64 + x
) & 63; }
13 unsigned f3 (unsigned x
) { unsigned m
= 64; return (x
+ m
) & (m
- 1); }
14 unsigned f4 (unsigned x
) { return (x
+ 64) & 63; }
15 unsigned f5 (unsigned x
) { unsigned m
= 64; return (m
- x
) & (m
- 1); }
16 unsigned f6 (unsigned x
) { return (64 - x
) & 63; }
17 unsigned f7 (unsigned x
) { unsigned m
= 64; return (x
- m
) & (m
- 1); }
18 unsigned f8 (unsigned x
) { return (x
- 64) & 63; }
19 unsigned f9 (unsigned x
, unsigned y
) { unsigned m
= 64, n
= 256 | (m
- 1); return ((x
& n
) + y
) & (m
- 1); }
20 unsigned f10 (unsigned x
, unsigned y
) { return ((x
& 319) + y
) & 63; }
21 unsigned f11 (unsigned x
, unsigned y
) { unsigned m
= 64, n
= -128; return ((x
| n
) + y
) & (m
- 1); }
22 unsigned f12 (unsigned x
, unsigned y
) { return ((x
| -128) + y
) & 63; }
23 unsigned f13 (unsigned x
, unsigned y
) { unsigned m
= 64, n
= -384; return ((x
^ n
) + y
) & (m
- 1); }
24 unsigned f14 (unsigned x
, unsigned y
) { return ((x
^ -384) + y
) & 63; }
25 unsigned f15 (unsigned x
, unsigned y
) { unsigned m
= 64, n
= 256 | (m
- 1); return (y
+ (x
& n
)) & (m
- 1); }
26 unsigned f16 (unsigned x
, unsigned y
) { return (y
+ (x
& 319)) & 63; }
27 unsigned f17 (unsigned x
, unsigned y
) { unsigned m
= 64, n
= -128; return (y
+ (x
| n
)) & (m
- 1); }
28 unsigned f18 (unsigned x
, unsigned y
) { return (y
+ (x
| -128)) & 63; }
29 unsigned f19 (unsigned x
, unsigned y
) { unsigned m
= 64, n
= -384; return (y
+ (x
^ n
)) & (m
- 1); }
30 unsigned f20 (unsigned x
, unsigned y
) { return (y
+ (x
^ -384)) & 63; }
31 unsigned f21 (unsigned x
, unsigned y
) { unsigned m
= 64, n
= 256 | (m
- 1); return ((x
& n
) - y
) & (m
- 1); }
32 unsigned f22 (unsigned x
, unsigned y
) { return ((x
& 319) - y
) & 63; }
33 unsigned f23 (unsigned x
, unsigned y
) { unsigned m
= 64, n
= -128; return ((x
| n
) - y
) & (m
- 1); }
34 unsigned f24 (unsigned x
, unsigned y
) { return ((x
| -128) - y
) & 63; }
35 unsigned f25 (unsigned x
, unsigned y
) { unsigned m
= 64, n
= -384; return ((x
^ n
) - y
) & (m
- 1); }
36 unsigned f26 (unsigned x
, unsigned y
) { return ((x
^ -384) - y
) & 63; }
37 unsigned f27 (unsigned x
, unsigned y
) { unsigned m
= 64, n
= 256 | (m
- 1); return (y
- (x
& n
)) & (m
- 1); }
38 unsigned f28 (unsigned x
, unsigned y
) { return (y
- (x
& 319)) & 63; }
39 unsigned f29 (unsigned x
, unsigned y
) { unsigned m
= 64, n
= -128; return (y
- (x
| n
)) & (m
- 1); }
40 unsigned f30 (unsigned x
, unsigned y
) { return (y
- (x
| -128)) & 63; }
41 unsigned f31 (unsigned x
, unsigned y
) { unsigned m
= 64, n
= -384; return (y
- (x
^ n
)) & (m
- 1); }
42 unsigned f32 (unsigned x
, unsigned y
) { return (y
- (x
^ -384)) & 63; }
43 unsigned f33 (unsigned x
) { unsigned m
= 64, n
= 256 | (m
- 1); return (-(x
& n
)) & (m
- 1); }
44 unsigned f34 (unsigned x
) { return (-(x
& 319)) & 63; }
45 unsigned f35 (unsigned x
) { unsigned m
= 64, n
= -128; return (-(x
| n
)) & (m
- 1); }
46 unsigned f36 (unsigned x
) { return (-(x
| -128)) & 63; }
47 unsigned f37 (unsigned x
) { unsigned m
= 64, n
= -384; return (-(x
^ n
)) & (m
- 1); }
48 unsigned f38 (unsigned x
) { return (-(x
^ -384)) & 63; }