diff options
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/mips/branch-1.c | 11 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index be6cb82..35e33cb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2005-04-21 Richard Sandiford <rsandifo@redhat.com> + + * gcc.target/mips/branch-1.c: New test. + 2005-04-21 Richard Henderson <rth@redhat.com> * gcc.dg/vect/vect-85.c: Don't xfail on alpha. diff --git a/gcc/testsuite/gcc.target/mips/branch-1.c b/gcc/testsuite/gcc.target/mips/branch-1.c new file mode 100644 index 0000000..6b86dc0 --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/branch-1.c @@ -0,0 +1,11 @@ +/* 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" } } */ |