1  /* Check that we don't get unnecessary insns due to reload using more
       2     insns than needed due to reloading of more locations than
       3     needed.  */
       4  /* { dg-options -O2 } */
       5  /* { dg-final { scan-assembler-not "movs.w" } } */
       6  /* { dg-final { scan-assembler-not "move.w" } } */
       7  
       8  /* As torture/pr24750-2.c, except we need to clobber R8 for thorough
       9     testing and know we can do, since we replace the frame-pointer.  */
      10  
      11  int
      12  f (short *a, char *y)
      13  {
      14    __asm__ ("" : : :
      15  #ifndef __PIC__
      16  	   "r0",
      17  #endif
      18  	   "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8",
      19  	   "r9", "r10", "r11", "r12", "r13");
      20    return y[*a];
      21  }