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