1 /* { dg-do compile } */ 2 /* { dg-require-effective-target arm_thumb2_ok } */ 3 /* { dg-options "-O" } */ 4 foo(unsigned short x)5unsigned short foo (unsigned short x) 6 { 7 unsigned char i = 0; 8 for (i = 0; i < 8; i++) 9 { 10 x >>= 1; 11 x &= 0x7fff; 12 } 13 return x; 14 } 15 16 /* { dg-final { scan-assembler "ands" } } */ 17 /* { dg-final { scan-assembler-not "uxtb" } } */ 18 /* { dg-final { scan-assembler-not "cmp" } } */ 19