(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
mips/
pr59317.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-mips16" } */
       3  extern void abort();
       4  
       5  int i_0, i_1, i_2, i_3, i_4, i_5, i_6, i_7, i_8, i_9;
       6  int j_0, j_1, j_2, j_3, j_4, j_5, j_6, j_7, j_8, j_9;
       7  
       8  int main()
       9  {
      10    register int *x1 = &i_1; 
      11    register int *x2 = &i_2; 
      12    register int *x3 = &i_3; 
      13    register int *x4 = &i_4; 
      14    register int *x5 = &i_5; 
      15    register int *x6 = &i_6;
      16    register int *x7 = &i_7; 
      17    register int *x8 = &i_8; 
      18    register int *x9 = &i_9;
      19    
      20    register int *y0 = &j_0; 
      21    register int *y1 = &j_1; 
      22    register int *y2 = &i_2; 
      23    register int *y3 = &j_3; 
      24    register int *y4 = &j_4; 
      25    register int *y5 = &j_5; 
      26    register int *y6 = &j_6; 
      27    register int *y7 = &j_7; 
      28    register int *y8 = &j_8; 
      29    register int *y9 = &j_9;
      30  
      31    asm volatile ("" : "=r" (x2) : "0" (x2)); 
      32    asm volatile ("" : "=r" (x3) : "0" (x3)); 
      33    asm volatile ("" : "=r" (x4) : "0" (x4)); 
      34    asm volatile ("" : "=r" (x5) : "0" (x5)); 
      35    asm volatile ("" : "=r" (x6) : "0" (x6)); 
      36    asm volatile ("" : "=r" (x7) : "0" (x7)); 
      37    asm volatile ("" : "=r" (x8) : "0" (x8)); 
      38    asm volatile ("" : "=r" (x9) : "0" (x9));
      39  
      40    asm volatile ("" : "=r" (y0) : "0" (y0)); 
      41    asm volatile ("" : "=r" (y1) : "0" (y1)); 
      42    asm volatile ("" : "=r" (y2) : "0" (y2)); 
      43    asm volatile ("" : "=r" (y3) : "0" (y3)); 
      44    asm volatile ("" : "=r" (y4) : "0" (y4));
      45    asm volatile ("" : "=r" (y5) : "0" (y5)); 
      46    asm volatile ("" : "=r" (y6) : "0" (y6)); 
      47    asm volatile ("" : "=r" (y7) : "0" (y7)); 
      48    asm volatile ("" : "=r" (y8) : "0" (y8)); 
      49    asm volatile ("" : "=r" (y9) : "0" (y9));
      50  
      51    asm volatile ("" : "=r" (x1) : "0" (x1)); 
      52    asm volatile ("" : "=r" (x2) : "0" (x2)); 
      53    asm volatile ("" : "=r" (x3) : "0" (x3)); 
      54    asm volatile ("" : "=r" (x4) : "0" (x4)); 
      55    asm volatile ("" : "=r" (x5) : "0" (x5)); 
      56    asm volatile ("" : "=r" (x6) : "0" (x6)); 
      57    asm volatile ("" : "=r" (x7) : "0" (x7)); 
      58    asm volatile ("" : "=r" (x8) : "0" (x8)); 
      59    asm volatile ("" : "=r" (x9) : "0" (x9));
      60  
      61    asm volatile ("" : "=r" (y0) : "0" (y0)); 
      62    asm volatile ("" : "=r" (y1) : "0" (y1)); 
      63    asm volatile ("" : "=r" (y2) : "0" (y2)); 
      64    asm volatile ("" : "=r" (y3) : "0" (y3)); 
      65    asm volatile ("" : "=r" (y4) : "0" (y4)); 
      66    asm volatile ("" : "=r" (y5) : "0" (y5)); 
      67    asm volatile ("" : "=r" (y6) : "0" (y6)); 
      68    asm volatile ("" : "=r" (y7) : "0" (y7)); 
      69    asm volatile ("" : "=r" (y8) : "0" (y8)); 
      70    asm volatile ("" : "=r" (y9) : "0" (y9));
      71  
      72    if (y0 != &j_0) abort (); 
      73    if (y1 != &j_1) abort (); 
      74    if (y2 != &j_2) abort (); 
      75    if (y3 != &j_3) abort (); 
      76    if (y4 != &j_4) abort (); 
      77    if (y5 != &j_5) abort (); 
      78    if (y6 != &j_6) abort (); 
      79    if (y7 != &j_7) abort (); 
      80    if (y8 != &j_8) abort (); 
      81    if (y9 != &j_9) abort ();
      82    return 0;
      83  }