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 }