From faf32f4aa5df7a44d5566884150fcf910cc647a5 Mon Sep 17 00:00:00 2001 From: Roger Sayle Date: Sun, 14 May 2006 17:20:01 +0000 Subject: [PATCH] re PR middle-end/26729 (bad bitops folding) PR middle-end/26729 * gcc.dg/pr26729-1.c: New test case. From-SVN: r113764 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/pr26729-1.c | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/pr26729-1.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8fd6a10cde6..030c182f4e2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-05-14 Roger Sayle + + PR middle-end/26729 + * gcc.dg/pr26729-1.c: New test case. + 2006-05-13 Zdenek Dvorak * gcc.dg/pr27003.c: New test. diff --git a/gcc/testsuite/gcc.dg/pr26729-1.c b/gcc/testsuite/gcc.dg/pr26729-1.c new file mode 100644 index 00000000000..2f55ef7f4f0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr26729-1.c @@ -0,0 +1,16 @@ +/* { dg-do run } */ +/* { dg-options "-O2" } */ + +void abort(void); + +__attribute__((noinline)) +int f (unsigned short word) { + return (word & 0x1) && (((unsigned short) (word & 0x8000)) == 0x8000); +} + +int main(void) { + if (!f(0x8001)) + abort(); + return 0; +} +