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 
6 struct 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 
14 NOMIPS16 int
f1(struct bar * s,int a)15 f1 (struct bar *s, int a)
16 {
17   return (int) s->b + a;
18 }
19 
20 NOMIPS16 char
f2(struct bar * s)21 f2 (struct bar *s)
22 {
23   return s->d + 1;
24 }
25 
26 NOMIPS16 int
f3()27 f3 ()
28 {
29   struct bar s;
30   asm ("" : "=r"(s));
31   return (int) s.b + 1;
32 }
33 
34 NOMIPS16 long long
f4(struct bar * s)35 f4 (struct bar *s)
36 {
37   return s->d;
38 }
39