1 /* { dg-do compile } */
2 /* { dg-options "-march=octeon -mgp64" } */
3 /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
4 /* { dg-final { scan-assembler-times "\texts\t" 3 } } */
5
6 struct foo
7 {
8 unsigned long long a:10;
9 unsigned long long b:32;
10 unsigned long long c:22;
11 };
12
13 NOMIPS16 unsigned
14 f (struct foo s)
15 {
16 return s.b;
17 }
18
19 struct bar
20 {
21 unsigned long long a:15;
22 unsigned long long b:48;
23 unsigned long long c:1;
24 };
25
26 NOMIPS16 int
27 g (struct bar s)
28 {
29 return (int) s.b;
30 }
31
32 NOMIPS16 int
33 h (int i)
34 {
35 return (i << 4) >> 24;
36 }