diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr81020.c | 23 |
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fd6475f..6f3b475 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2017-11-28 Jakub Jelinek <jakub@redhat.com> + PR rtl-optimization/81020 + * gcc.dg/pr81020.c: New test. + PR tree-optimization/80788 * gcc.dg/pr80788.c: New test. diff --git a/gcc/testsuite/gcc.dg/pr81020.c b/gcc/testsuite/gcc.dg/pr81020.c new file mode 100644 index 0000000..8789c65 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr81020.c @@ -0,0 +1,23 @@ +/* PR rtl-optimization/81020 */ +/* { dg-do run } */ +/* { dg-options "-O -fno-tree-bit-ccp -fno-tree-coalesce-vars -fno-tree-vrp" } */ + +unsigned v = 4; + +unsigned long long __attribute__((noipa)) +foo (unsigned x) +{ + unsigned a = v; + a &= 1; + x |= 0 < a; + a >>= 31; + return x + a; +} + +int +main () +{ + if (foo (2) != 2) + __builtin_abort (); + return 0; +} |