1/* { dg-do compile } */
2/* { dg-options "-march=octeon -meb" } */
3/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
4/* { dg-final { scan-assembler-times "\texts\t" 4 } } */
5
6struct bar
7{
8  unsigned long long a:1;
9  long long b:14;
10  unsigned long long c:48;
11  long long d:1;
12};
13
14NOMIPS16 int
15f1 (struct bar *s, int a)
16{
17  return (int) s->b + a;
18}
19
20NOMIPS16 char
21f2 (struct bar *s)
22{
23  return s->d + 1;
24}
25
26NOMIPS16 int
27f3 ()
28{
29  struct bar s;
30  asm ("" : "=r"(s));
31  return (int) s.b + 1;
32}
33
34NOMIPS16 long long
35f4 (struct bar *s)
36{
37  return s->d;
38}
39