[Bug rtl-optimization/80401] [7 regression] gcc.target/powerpc/dimode_off.c and gcc.target/powerpc/pr79038-1.c fail starting with r246764
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80401 seurer at gcc dot gnu.org changed: What|Removed |Added Target||powerpc*-*-* CC||vmakarov at gcc dot gnu.org, ||wschmidt at gcc dot gnu.org Host||powerpc*-*-* Build||powerpc*-*-* --- Comment #1 from seurer at gcc dot gnu.org --- Note: this occurs on both BE and LE for powerpc64.
[Bug rtl-optimization/80401] [7 regression] gcc.target/powerpc/dimode_off.c and gcc.target/powerpc/pr79038-1.c fail starting with r246764
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80401 --- Comment #2 from Bill Schmidt --- That transformation will definitely degrade performance...
[Bug rtl-optimization/80401] [7 regression] gcc.target/powerpc/dimode_off.c and gcc.target/powerpc/pr79038-1.c fail starting with r246764
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80401 Thomas Koenig changed: What|Removed |Added Target Milestone|--- |7.0
[Bug rtl-optimization/80401] [7 regression] gcc.target/powerpc/dimode_off.c and gcc.target/powerpc/pr79038-1.c fail starting with r246764
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80401 Michael Meissner changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-04-13 CC||meissner at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #3 from Michael Meissner --- While the underlying bug is due to an LRA change, the fix for each of these in the rs6000 backend is likely to be different. The first failure (dimode_off) is one of these tests that are so hard-wired to the compiler that it likely needs to change every so often. Yes, it can become a regression, but it only happens on a power8/power9 system and the offset of a load/store is not divisible by 4. Due to alignment issues, the DImode load/store is almost always divisible by 4, unless you are loading up unaligned memory, or specifically add odd numbers to a char * pointer and convert it to a long pointer. These should be rare in practice. The underlying reason is the LD and STD instructions use the bottom 2 bits for encoding the instruction, while the LFD and STFD instructions allows a full 16-bit offset. The second failure listed is 79308-1.c that makes sure an optimization I put in still works. However, since the optimization is converting a char/short value to __float128 on a Power9
[Bug rtl-optimization/80401] [7 regression] gcc.target/powerpc/dimode_off.c and gcc.target/powerpc/pr79038-1.c fail starting with r246764
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80401 --- Comment #4 from seurer at gcc dot gnu.org --- This was fixed somewhere in the revisions 246851 through 246857.
[Bug rtl-optimization/80401] [7 regression] gcc.target/powerpc/dimode_off.c and gcc.target/powerpc/pr79038-1.c fail starting with r246764
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80401 --- Comment #5 from Bill Schmidt --- Looks like r246854 is very relevant. Thanks, Vlad!
[Bug rtl-optimization/80401] [7 regression] gcc.target/powerpc/dimode_off.c and gcc.target/powerpc/pr79038-1.c fail starting with r246764
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80401 Jeffrey A. Law changed: What|Removed |Added CC||law at redhat dot com --- Comment #6 from Jeffrey A. Law --- So if this is fixed by Vlad's lra-constraints patch, should we close this BZ?
[Bug rtl-optimization/80401] [7 regression] gcc.target/powerpc/dimode_off.c and gcc.target/powerpc/pr79038-1.c fail starting with r246764
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80401 --- Comment #7 from Bill Schmidt --- There was some dispute about whether it was fixed. Mike, can you still reproduce the problem?
[Bug rtl-optimization/80401] [7 regression] gcc.target/powerpc/dimode_off.c and gcc.target/powerpc/pr79038-1.c fail starting with r246764
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80401 --- Comment #8 from seurer at gcc dot gnu.org --- I tried to reproduce natively on power using the same revision where Mike was seeing failures but I didn't see any problems. He was doing an x86->power cross compiler though.
[Bug rtl-optimization/80401] [7 regression] gcc.target/powerpc/dimode_off.c and gcc.target/powerpc/pr79038-1.c fail starting with r246764
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80401 seurer at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #9 from seurer at gcc dot gnu.org --- This is fixed now.