annotate gcc/testsuite/gcc.dg/pr66299-1.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR tree-optimization/66299 */
kono
parents:
diff changeset
2 /* { dg-do run } */
kono
parents:
diff changeset
3 /* { dg-options "-fdump-tree-original" } */
kono
parents:
diff changeset
4 /* { dg-require-effective-target int32plus } */
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 void
kono
parents:
diff changeset
7 test1 (int x)
kono
parents:
diff changeset
8 {
kono
parents:
diff changeset
9 if ((0 << x) != 0
kono
parents:
diff changeset
10 || (1 << x) != 2
kono
parents:
diff changeset
11 || (2 << x) != 4
kono
parents:
diff changeset
12 || (3 << x) != 6
kono
parents:
diff changeset
13 || (4 << x) != 8
kono
parents:
diff changeset
14 || (5 << x) != 10
kono
parents:
diff changeset
15 || (6 << x) != 12
kono
parents:
diff changeset
16 || (7 << x) != 14
kono
parents:
diff changeset
17 || (8 << x) != 16
kono
parents:
diff changeset
18 || (9 << x) != 18
kono
parents:
diff changeset
19 || (10 << x) != 20)
kono
parents:
diff changeset
20 __builtin_abort ();
kono
parents:
diff changeset
21 }
kono
parents:
diff changeset
22
kono
parents:
diff changeset
23 void
kono
parents:
diff changeset
24 test2 (int x)
kono
parents:
diff changeset
25 {
kono
parents:
diff changeset
26 if (!((0 << x) == 0
kono
parents:
diff changeset
27 && (1 << x) == 4
kono
parents:
diff changeset
28 && (2 << x) == 8
kono
parents:
diff changeset
29 && (3 << x) == 12
kono
parents:
diff changeset
30 && (4 << x) == 16
kono
parents:
diff changeset
31 && (5 << x) == 20
kono
parents:
diff changeset
32 && (6 << x) == 24
kono
parents:
diff changeset
33 && (7 << x) == 28
kono
parents:
diff changeset
34 && (8 << x) == 32
kono
parents:
diff changeset
35 && (9 << x) == 36
kono
parents:
diff changeset
36 && (10 << x) == 40))
kono
parents:
diff changeset
37 __builtin_abort ();
kono
parents:
diff changeset
38 }
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 void
kono
parents:
diff changeset
41 test3 (unsigned int x)
kono
parents:
diff changeset
42 {
kono
parents:
diff changeset
43 if ((0U << x) != 0U
kono
parents:
diff changeset
44 || (1U << x) != 16U
kono
parents:
diff changeset
45 || (2U << x) != 32U
kono
parents:
diff changeset
46 || (3U << x) != 48U
kono
parents:
diff changeset
47 || (4U << x) != 64U
kono
parents:
diff changeset
48 || (5U << x) != 80U
kono
parents:
diff changeset
49 || (6U << x) != 96U
kono
parents:
diff changeset
50 || (7U << x) != 112U
kono
parents:
diff changeset
51 || (8U << x) != 128U
kono
parents:
diff changeset
52 || (9U << x) != 144U
kono
parents:
diff changeset
53 || (10U << x) != 160U)
kono
parents:
diff changeset
54 __builtin_abort ();
kono
parents:
diff changeset
55 }
kono
parents:
diff changeset
56
kono
parents:
diff changeset
57 void
kono
parents:
diff changeset
58 test4 (unsigned int x)
kono
parents:
diff changeset
59 {
kono
parents:
diff changeset
60 if (!((0U << x) == 0U
kono
parents:
diff changeset
61 || (1U << x) == 8U
kono
parents:
diff changeset
62 || (2U << x) == 16U
kono
parents:
diff changeset
63 || (3U << x) == 24U
kono
parents:
diff changeset
64 || (4U << x) == 32U
kono
parents:
diff changeset
65 || (5U << x) == 40U
kono
parents:
diff changeset
66 || (6U << x) == 48U
kono
parents:
diff changeset
67 || (7U << x) == 56U
kono
parents:
diff changeset
68 || (8U << x) == 64U
kono
parents:
diff changeset
69 || (9U << x) == 72U
kono
parents:
diff changeset
70 || (10U << x) == 80U))
kono
parents:
diff changeset
71 __builtin_abort ();
kono
parents:
diff changeset
72 }
kono
parents:
diff changeset
73
kono
parents:
diff changeset
74 void
kono
parents:
diff changeset
75 test5 (int x)
kono
parents:
diff changeset
76 {
kono
parents:
diff changeset
77 if ((0 << x) == 1
kono
parents:
diff changeset
78 || (0 << x) != 0
kono
parents:
diff changeset
79 || (0x8001U << x) != 0x20000U)
kono
parents:
diff changeset
80 __builtin_abort ();
kono
parents:
diff changeset
81 }
kono
parents:
diff changeset
82
kono
parents:
diff changeset
83 int
kono
parents:
diff changeset
84 main (void)
kono
parents:
diff changeset
85 {
kono
parents:
diff changeset
86 test1 (1);
kono
parents:
diff changeset
87 test2 (2);
kono
parents:
diff changeset
88 test3 (4U);
kono
parents:
diff changeset
89 test4 (3U);
kono
parents:
diff changeset
90 test5 (17);
kono
parents:
diff changeset
91 }
kono
parents:
diff changeset
92
kono
parents:
diff changeset
93 /* { dg-final { scan-tree-dump-not "<<" "original" } } */