From 780bc8922ba77cec3de90ce86eefedf54ad80c8f Mon Sep 17 00:00:00 2001 From: Peter Bergner Date: Fri, 8 Nov 2019 00:34:09 +0000 Subject: [PATCH] Add another test case to exercise the previous MODE_PARTIAL_INT change. gcc/testsuite/ PR other/92090 * gcc.target/powerpc/pr92090-2.c: New test. From-SVN: r277942 --- gcc/testsuite/ChangeLog | 5 +++ gcc/testsuite/gcc.target/powerpc/pr92090-2.c | 44 ++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 gcc/testsuite/gcc.target/powerpc/pr92090-2.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c0b019d4b14..e1a8da60d43 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-11-07 Peter Bergner + + PR other/92090 + * gcc.target/powerpc/pr92090-2.c: New test. + 2019-11-07 Joseph Myers * gcc.dg/tm/attrs-1.c: New test. diff --git a/gcc/testsuite/gcc.target/powerpc/pr92090-2.c b/gcc/testsuite/gcc.target/powerpc/pr92090-2.c new file mode 100644 index 00000000000..8922a531471 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/pr92090-2.c @@ -0,0 +1,44 @@ +/* { dg-do compile } */ +/* { dg-options "-mdejagnu-cpu=power8 -Os -mbig -w" } */ + +/* Verify that we don't ICE. */ + +int a; +static _Atomic long double b, c, d, m; +double n; +extern int foo (void); +extern void bar (int, int, int, int); + +void +bug (void) +{ + b = 1.79769313486231580793728971405301199e308L; + for (int i = 0; i < 10000; i++) + if (__builtin_isinf (n)) + b; + c = 1; + int e, f, g, h; + while (a) + ; + for (int i; i; i++) + { + double j = c /= foo (); + if (__builtin_isinf (j)) + { + if (foo == 1 << 31) + e++; + f++; + c = 0; + } + else + { + if (foo == 1 << 30) + g++; + h++; + c = 1; + } + } + bar (e, f, g, h); + d = 1.79769313486231580793728971405301199e308L; + m = 1; +} -- 2.30.2