[Bug tree-optimization/83323] [8 Regression] 186.crafty miscompares
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83323 Jakub Jelinek changed: What|Removed |Added Status|NEW |RESOLVED CC||jakub at gcc dot gnu.org Resolution|--- |FIXED --- Comment #7 from Jakub Jelinek --- Author: matz Date: Fri Dec 8 17:41:58 2017 New Revision: 255514 URL: https://gcc.gnu.org/viewcvs?rev=255514=gcc=rev Log: Fix PR83323 * gimple-loop-jam (unroll_jam_possible_p): Correct test for head-controlled loops and loop BBs. * common.opt (funroll-and-jam): Remove, instead ... (floop-unroll-and-jam): ... reuse this option. * opts.c (default_options_table): Use OPT_floop_unroll_and_jam. * doc/invoke.texi (-funroll-and-jam): Move docu to ... (-floop-unroll-and-jam): ... this option. testsuite/ * gcc.dg/pr83323.c: New test. * gcc.dg/unroll-and-jam.c: Use -floop-unroll-and-jam. Added: trunk/gcc/testsuite/gcc.dg/pr83323.c Modified: trunk/gcc/ChangeLog trunk/gcc/common.opt trunk/gcc/doc/invoke.texi trunk/gcc/gimple-loop-jam.c trunk/gcc/opts.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/unroll-and-jam.c
[Bug tree-optimization/83323] [8 Regression] 186.crafty miscompares
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83323 Michael Matz changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |matz at gcc dot gnu.org --- Comment #6 from Michael Matz --- Mine.
[Bug tree-optimization/83323] [8 Regression] 186.crafty miscompares
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83323 --- Comment #5 from Richard Biener --- Fails with -O2 -funroll-and-jam --param unroll-jam-min-percent=0 int x[1024], y[1024]; void __attribute__((noipa)) foo () { for (int i = 0; i < 1024; ++i) { x[i] = 0; for (int j = 0; j < 1024; ++j) if (!y[j]) x[i] = 1; } } int main() { y[1023] = 1; foo (); if (x[1] != 1) __builtin_abort (); return 0; }
[Bug tree-optimization/83323] [8 Regression] 186.crafty miscompares
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83323 --- Comment #4 from Richard Biener --- Testcase: int x[1024], y[1024]; void __attribute__((noipa)) foo () { for (int i = 0; i < 1024; ++i) { x[i] = 0; for (int j = 0; j < 1024; ++j) if (y[j]) x[i] = y[j]; } }
[Bug tree-optimization/83323] [8 Regression] 186.crafty miscompares
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83323 --- Comment #3 from Richard Biener --- -O2 -funroll-and-jam miscompares.
[Bug tree-optimization/83323] [8 Regression] 186.crafty miscompares
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83323 ktkachov at gcc dot gnu.org changed: What|Removed |Added Target|x86_64-*-* |x86_64-*-*, ||aarch64-none-linux-gnu Status|UNCONFIRMED |NEW Last reconfirmed||2017-12-08 CC||ktkachov at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from ktkachov at gcc dot gnu.org --- Confirmed on aarch64 as well with -O3
[Bug tree-optimization/83323] [8 Regression] 186.crafty miscompares
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83323 Richard Biener changed: What|Removed |Added CC||matz at gcc dot gnu.org --- Comment #1 from Richard Biener --- init.c:294:3: note: applying unroll and jam with factor 2 no interchange happens.
[Bug tree-optimization/83323] [8 Regression] 186.crafty miscompares
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83323 Richard Biener changed: What|Removed |Added Target Milestone|--- |8.0