diff options
author | Jakub Jelinek <jakub@redhat.com> | 2015-11-27 13:12:35 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2015-11-27 13:12:35 +0100 |
commit | f574fc3ac5a136886dbdaf5124326d744f1e06de (patch) | |
tree | f960960a7b658aa03b60f11739094ebe7c53cf0a /gcc | |
parent | af719b2d7837b223d52806e644aee5b3220784b8 (diff) | |
download | gcc-f574fc3ac5a136886dbdaf5124326d744f1e06de.zip gcc-f574fc3ac5a136886dbdaf5124326d744f1e06de.tar.gz gcc-f574fc3ac5a136886dbdaf5124326d744f1e06de.tar.bz2 |
re PR rtl-optimization/68250 (wrong code at -O2 and -O3 on x86_64-linux-gnu (in 64-bit mode))
PR rtl-optimization/68250
* gcc.c-torture/execute/pr68250.c: New test.
From-SVN: r231009
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/pr68250.c | 40 |
2 files changed, 45 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fe39c93..b5b837d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-11-27 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/68250 + * gcc.c-torture/execute/pr68250.c: New test. + 2015-11-27 Marek Polacek <polacek@redhat.com> * gcc.dg/pr63568.c: Convert to GIMPLE. diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68250.c b/gcc/testsuite/gcc.c-torture/execute/pr68250.c new file mode 100644 index 0000000..f00234a --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr68250.c @@ -0,0 +1,40 @@ +/* PR rtl-optimization/68250 */ + +signed char a, b, h, k, l, m, o; +short c, d, n; +int e, f, g, j, q; + +void +fn1 (void) +{ + int p = b || a; + n = o > 0 || d > 1 >> o ? d : d << o; + for (; j; j++) + m = c < 0 || m || c << p; + l = f + 1; + for (; f < 1; f = 1) + k = h + 1; +} + +__attribute__((noinline, noclone)) void +fn2 (int k) +{ + if (k != 1) + __builtin_abort (); +} + +int +main () +{ + signed char i; + for (; e < 1; e++) + { + fn1 (); + if (k) + i = k; + if (i > q) + g = 0; + } + fn2 (k); + return 0; +} |