2009-07-17 Richard Guenther <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.target / mips / branch-1.c
blobb70b2640f8c2552389a99901f5e3131301c07d45
1 /* Octeon targets should use "bbit" instructions for these "if" statements,
2 but we test for "bbit" elsewhere. On other targets, we should implement
3 the "if" statements using an "andi" instruction followed by a branch
4 on zero. */
5 /* { dg-options "-O2 isa=!octeon" } */
7 void bar (void);
8 NOMIPS16 void f1 (int x) { if (x & 4) bar (); }
9 NOMIPS16 void f2 (int x) { if ((x >> 2) & 1) bar (); }
10 NOMIPS16 void f3 (unsigned int x) { if (x & 0x10) bar (); }
11 NOMIPS16 void f4 (unsigned int x) { if ((x >> 4) & 1) bar (); }
12 /* { dg-final { scan-assembler "\tandi\t.*\tandi\t.*\tandi\t.*\tandi\t" } } */
13 /* { dg-final { scan-assembler-not "\tsrl\t" } } */
14 /* { dg-final { scan-assembler-not "\tsra\t" } } */