]>
Commit | Line | Data |
---|---|---|
f0f6b204 | 1 | /* { dg-do compile } */ |
7deb61cd IR |
2 | /* { dg-require-effective-target vect_int } */ |
3 | ||
4 | typedef unsigned long long UInt64; | |
5 | ||
6 | typedef struct struct128 | |
7 | { | |
8 | UInt64 uint64_lower; | |
9 | UInt64 uint64_upper; | |
10 | } | |
11 | STRUCT_128; | |
12 | ||
13 | typedef union uint128_bitmap | |
14 | { | |
15 | STRUCT_128 uint128; | |
16 | ||
17 | struct | |
18 | { | |
19 | UInt64 b00 : 1; | |
20 | UInt64 b01 : 1; | |
21 | UInt64 b02 : 1; | |
22 | UInt64 b03 : 1; | |
23 | UInt64 b04 : 1; | |
24 | UInt64 b05 : 1; | |
25 | UInt64 b06 : 1; | |
26 | UInt64 b07 : 1; | |
27 | UInt64 b08 : 1; | |
28 | UInt64 b09 : 1; | |
29 | UInt64 b10 : 1; | |
30 | UInt64 b11 : 1; | |
31 | UInt64 b12 : 1; | |
32 | UInt64 b13 : 1; | |
33 | UInt64 b14 : 1; | |
34 | UInt64 b15 : 1; | |
35 | UInt64 b16 : 1; | |
36 | UInt64 b17 : 1; | |
37 | UInt64 b18 : 1; | |
38 | UInt64 b19 : 1; | |
39 | UInt64 b20 : 1; | |
40 | UInt64 b21 : 1; | |
41 | UInt64 b22 : 1; | |
42 | UInt64 b23 : 1; | |
43 | UInt64 b24 : 1; | |
44 | UInt64 b25 : 1; | |
45 | UInt64 b26 : 1; | |
46 | UInt64 b27 : 1; | |
47 | UInt64 b28 : 1; | |
48 | UInt64 b29 : 1; | |
49 | UInt64 b30 : 1; | |
50 | UInt64 b31 : 1; | |
51 | UInt64 b32 : 1; | |
52 | UInt64 b33 : 1; | |
53 | UInt64 b34 : 1; | |
54 | UInt64 b35 : 1; | |
55 | UInt64 b36 : 1; | |
56 | UInt64 b37 : 1; | |
57 | UInt64 b38 : 1; | |
58 | UInt64 b39 : 1; | |
59 | UInt64 b40 : 1; | |
60 | UInt64 b41 : 1; | |
61 | UInt64 b42 : 1; | |
62 | UInt64 b43 : 1; | |
63 | UInt64 b44 : 1; | |
64 | UInt64 b45 : 1; | |
65 | UInt64 b46 : 1; | |
66 | UInt64 b47 : 1; | |
67 | UInt64 b48 : 1; | |
68 | UInt64 b49 : 1; | |
69 | UInt64 b50 : 1; | |
70 | UInt64 b51 : 1; | |
71 | UInt64 b52 : 1; | |
72 | UInt64 b53 : 1; | |
73 | UInt64 b54 : 1; | |
74 | UInt64 b55 : 1; | |
75 | UInt64 b56 : 1; | |
76 | UInt64 b57 : 1; | |
77 | UInt64 b58 : 1; | |
78 | UInt64 b59 : 1; | |
79 | UInt64 b60 : 1; | |
80 | UInt64 b61 : 1; | |
81 | UInt64 b62 : 1; | |
82 | UInt64 b63 : 1; | |
83 | UInt64 b64 : 1; | |
84 | UInt64 b65 : 1; | |
85 | UInt64 b66 : 1; | |
86 | UInt64 b67 : 1; | |
87 | UInt64 b68 : 1; | |
88 | UInt64 b69 : 1; | |
89 | UInt64 b70 : 1; | |
90 | UInt64 b71 : 1; | |
91 | UInt64 b72 : 1; | |
92 | UInt64 b73 : 1; | |
93 | UInt64 b74 : 1; | |
94 | UInt64 b75 : 1; | |
95 | UInt64 b76 : 1; | |
96 | UInt64 b77 : 1; | |
97 | UInt64 b78 : 1; | |
98 | UInt64 b79 : 1; | |
99 | UInt64 b80 : 1; | |
100 | UInt64 b81 : 1; | |
101 | UInt64 b82 : 1; | |
102 | UInt64 b83 : 1; | |
103 | UInt64 b84 : 1; | |
104 | UInt64 b85 : 1; | |
105 | UInt64 b86 : 1; | |
106 | UInt64 b87 : 1; | |
107 | UInt64 b88 : 1; | |
108 | UInt64 b89 : 1; | |
109 | UInt64 b90 : 1; | |
110 | UInt64 b91 : 1; | |
111 | UInt64 b92 : 1; | |
112 | UInt64 b93 : 1; | |
113 | UInt64 b94 : 1; | |
114 | UInt64 b95 : 1; | |
115 | UInt64 b96 : 1; | |
116 | UInt64 b97 : 1; | |
117 | UInt64 b98 : 1; | |
118 | UInt64 b99 : 1; | |
119 | UInt64 b100 : 1; | |
120 | UInt64 b101 : 1; | |
121 | UInt64 b102 : 1; | |
122 | UInt64 b103 : 1; | |
123 | UInt64 b104 : 1; | |
124 | UInt64 b105 : 1; | |
125 | UInt64 b106 : 1; | |
126 | UInt64 b107 : 1; | |
127 | UInt64 b108 : 1; | |
128 | UInt64 b109 : 1; | |
129 | UInt64 b110 : 1; | |
130 | UInt64 b111 : 1; | |
131 | UInt64 b112 : 1; | |
132 | UInt64 b113 : 1; | |
133 | UInt64 b114 : 1; | |
134 | UInt64 b115 : 1; | |
135 | UInt64 b116 : 1; | |
136 | UInt64 b117 : 1; | |
137 | UInt64 b118 : 1; | |
138 | UInt64 b119 : 1; | |
139 | UInt64 b120 : 1; | |
140 | UInt64 b121 : 1; | |
141 | UInt64 b122 : 1; | |
142 | UInt64 b123 : 1; | |
143 | UInt64 b124 : 1; | |
144 | UInt64 b125 : 1; | |
145 | UInt64 b126 : 1; | |
146 | UInt64 b127 : 1; | |
147 | } | |
148 | bitmap; | |
149 | } | |
150 | UInt128_BITMAP; | |
151 | ||
152 | UInt128_BITMAP V; | |
153 | ||
7deb61cd IR |
154 | void shift(unsigned char t) |
155 | { | |
156 | V.uint128.uint64_lower = (V.uint128.uint64_lower >> 1); | |
157 | V.bitmap.b63 = V.bitmap.b64; | |
158 | V.uint128.uint64_upper = (V.uint128.uint64_upper >> 1); | |
159 | ||
160 | V.bitmap.b96 = t; | |
161 | } | |
162 | ||
5d318fd4 | 163 | /* { dg-final { scan-tree-dump-times "Vectorized basic-block" 0 "slp" } } */ |
7deb61cd IR |
164 | /* { dg-final { cleanup-tree-dump "slp" } } */ |
165 |