1  /* { dg-do compile } */
       2  /* { dg-options "-march=octeon2 -mgp64" } */
       3  /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
       4  
       5  #define TEST(N, T) \
       6    T f##N (T *p, int i) { return p[i]; } \
       7    unsigned T g##N (unsigned T *p, int i) { return p[i]; }
       8  
       9  TEST (1, char)
      10  /* { dg-final { scan-assembler-times "\tlbu?x\t" 2 } } */
      11  TEST (2, short)
      12  /* { dg-final { scan-assembler-times "\tlhu?x\t" 2 } } */
      13  TEST (3, int)
      14  /* { dg-final { scan-assembler-times "\tlwx\t" 2 } } */
      15  TEST (4, long long)
      16  /* { dg-final { scan-assembler-times "\tldx\t" 2 } } */