blob: 6b86dc04c2ce6f091c7b9f546bd7b1ffab1367a2 [file] [log] [blame]
/* We should implement these "if" statements using an "andi" instruction
followed by a branch on zero. */
/* { dg-mips-options "-O2 -mno-mips16" } */
void bar (void);
void f1 (int x) { if (x & 4) bar (); }
void f2 (int x) { if ((x >> 2) & 1) bar (); }
void f3 (unsigned int x) { if (x & 0x10) bar (); }
void f4 (unsigned int x) { if ((x >> 4) & 1) bar (); }
/* { dg-final { scan-assembler "\tandi\t.*\tandi\t.*\tandi\t.*\tandi\t" } } */
/* { dg-final { scan-assembler-not "\tsrl\t" } } */
/* { dg-final { scan-assembler-not "\tsra\t" } } */