(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
mips/
code-readable-3.c
       1  /* { dg-options "(-mips16) -mcode-readable=no -mgp32 addressing=absolute" } */
       2  
       3  volatile int x1;
       4  volatile int x2;
       5  volatile int x3;
       6  volatile int x4;
       7  volatile int x5;
       8  volatile int x6;
       9  volatile int x7;
      10  volatile int x8;
      11  volatile int x9;
      12  volatile int x10;
      13  volatile int x11;
      14  
      15  MIPS16 int
      16  foo (int i, volatile int *x)
      17  {
      18    switch (i)
      19      {
      20      case 1: return x1 + x[0];
      21      case 2: return x2 + x[1];
      22      case 3: return x3 + x[2];
      23      case 4: return x4 + x[3];
      24      case 5: return x5 + x[4];
      25      case 6: return x6 + x[5];
      26      case 7: return x7 + x[6];
      27      case 8: return x8 + x[7];
      28      case 9: return x9 + x[8];
      29      case 10: return x10 + x[9];
      30      case 11: return x11 + x[10];
      31      default: return 0;
      32      }
      33  }
      34  
      35  extern int k[];
      36  
      37  MIPS16 int *
      38  bar (void)
      39  {
      40    return k;
      41  }
      42  
      43  /* { dg-final { scan-assembler-not "\tla\t" } } */
      44  /* { dg-final { scan-assembler-not "\t\\.half\t" } } */
      45  /* { dg-final { scan-assembler "%hi\\(\[^)\]*L" } } */
      46  /* { dg-final { scan-assembler "%lo\\(\[^)\]*L" } } */
      47  
      48  /* { dg-final { scan-assembler-not "\t\\.word\tk\n" } } */
      49  /* { dg-final { scan-assembler "%hi\\(k\\)" } } */
      50  /* { dg-final { scan-assembler "%lo\\(k\\)" } } */