/* Check that Thumb 16-bit shifts by immediate can be if-converted. */ /* { dg-do compile } */ /* { dg-require-effective-target arm_thumb2_ok } */ /* { dg-options "-O2 -mthumb" } */ int foo (int a, int b) { if (a != b) a = a << 1; else a = a >> 1; return a + b; } /* { dg-final { scan-assembler "lslne" } } */ /* { dg-final { scan-assembler "asreq" } } */