(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
sh/
pr55146.c
       1  /* Check that the 'extu.b' instruction is generated for short jump tables.  */
       2  /* { dg-do compile }  */
       3  /* { dg-options "-Os" } */
       4  /* { dg-final { scan-assembler "extu.b" } } */
       5  
       6  int
       7  test (int arg)
       8  {
       9    int rc;
      10    switch (arg)
      11      {
      12      case 0:
      13        asm ("nop\n\tnop\n\tnop\n\tnop\n\tnop\n\t"
      14  	   "nop\n\tnop\n\tnop\n\tnop\n\tnop\n\tnop\n\t"
      15  	   "mov r4,%0"
      16  	   : "=r" (rc)
      17  	   : "r" (arg));
      18        break;
      19      case 1:
      20        asm ("nop\n\tnop\n\tnop\n\tnop\n\tnop\n\t"
      21  	   "nop\n\tnop\n\tnop\n\tnop\n\tnop\n\tnop\n\t"
      22  	   "mov r5,%0"
      23  	   : "=r" (rc)
      24  	   : "r" (arg));
      25        break;
      26      case 2:
      27        asm ("nop\n\tnop\n\tnop\n\tnop\n\tnop\n\t"
      28  	   "nop\n\tnop\n\tnop\n\tnop\n\tnop\n\tnop\n\t"
      29  	   "mov r6,%0"
      30  	   : "=r" (rc)
      31  	   : "r" (arg));
      32        break;
      33      case 3:
      34        asm ("nop\n\tnop\n\tnop\n\tnop\n\tnop\n\t"
      35  	   "nop\n\tnop\n\tnop\n\tnop\n\tnop\n\tnop\n\tnop\n\t"
      36  	   "mov r7,%0"
      37  	   : "=r" (rc)
      38  	   : "r" (arg));
      39        break;
      40      case 4:
      41        asm ("nop\n\tnop\n\tnop\n\tnop\n\tnop\n\t"
      42  	   "nop\n\tnop\n\tnop\n\tnop\n\tnop\n\tnop\n\tnop\n\t"
      43  	   "mov r8,%0"
      44  	   : "=r" (rc)
      45  	   : "r" (arg));
      46        break;
      47      }
      48    return rc;
      49  }