Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/tree-ssa/pr94800.c @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
145:1830386684a0 | 152:2b5abeee2509 |
---|---|
1 /* PR tree-optimization/94800 */ | |
2 /* { dg-do compile { target { ilp32 || lp64 } } } */ | |
3 /* { dg-options "-O2 -fdump-tree-optimized" } */ | |
4 /* { dg-final { scan-tree-dump-times " \* 72340172838076673" 2 "optimized" } } */ | |
5 /* { dg-final { scan-tree-dump-times " \* 16843009" 2 "optimized" } } */ | |
6 /* { dg-final { scan-tree-dump-times " \* 289360691352306692" 2 "optimized" } } */ | |
7 /* { dg-final { scan-tree-dump-times " \* 1229782938247303441" 2 "optimized" } } */ | |
8 /* { dg-final { scan-tree-dump-not "<<" "optimized" } } */ | |
9 | |
10 unsigned long long int | |
11 foo (unsigned long long int x) | |
12 { | |
13 unsigned long long int a = x + (x << 8); | |
14 unsigned long long int b = a + (a << 16); | |
15 unsigned long long int c = b + (b << 32); | |
16 return c; | |
17 } | |
18 | |
19 unsigned int | |
20 bar (unsigned int x) | |
21 { | |
22 unsigned int a = x + (x << 8); | |
23 unsigned int b = a + (a << 16); | |
24 return b; | |
25 } | |
26 | |
27 unsigned long long int | |
28 baz (unsigned long long int x) | |
29 { | |
30 unsigned long long int a = (x << 2) + (x << 10); | |
31 unsigned long long int b = a + (a << 16); | |
32 unsigned long long int c = b + (b << 32); | |
33 return c; | |
34 } | |
35 | |
36 unsigned long long int | |
37 qux (unsigned long long int x) | |
38 { | |
39 unsigned long long int a = x + (x << 4); | |
40 unsigned long long int b = a + (a << 8); | |
41 unsigned long long int c = b + (b << 16); | |
42 unsigned long long int d = c + (c << 32); | |
43 return d; | |
44 } | |
45 | |
46 long long int | |
47 quux (long long int x) | |
48 { | |
49 long long int a = x + (x << 8); | |
50 long long int b = a + (a << 16); | |
51 long long int c = b + (b << 32); | |
52 return c; | |
53 } | |
54 | |
55 int | |
56 corge (int x) | |
57 { | |
58 int a = x + (x << 8); | |
59 int b = a + (a << 16); | |
60 return b; | |
61 } | |
62 | |
63 long long int | |
64 garply (long long int x) | |
65 { | |
66 long long int a = (x << 2) + (x << 10); | |
67 long long int b = a + (a << 16); | |
68 long long int c = b + (b << 32); | |
69 return c; | |
70 } | |
71 | |
72 long long int | |
73 waldo (long long int x) | |
74 { | |
75 long long int a = x + (x << 4); | |
76 long long int b = a + (a << 8); | |
77 long long int c = b + (b << 16); | |
78 long long int d = c + (c << 32); | |
79 return d; | |
80 } |