[Bug rtl-optimization/80401] [7 regression] gcc.target/powerpc/dimode_off.c and gcc.target/powerpc/pr79038-1.c fail starting with r246764

2017-04-11 Thread seurer at gcc dot gnu.org
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

2017-04-11 Thread wschmidt at gcc dot gnu.org
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

2017-04-11 Thread tkoenig at gcc dot gnu.org
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

2017-04-13 Thread meissner at gcc dot gnu.org
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

2017-04-14 Thread seurer at gcc dot gnu.org
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

2017-04-14 Thread wschmidt at gcc dot gnu.org
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

2017-04-18 Thread law at redhat dot com
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

2017-04-19 Thread wschmidt at gcc dot gnu.org
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

2017-04-19 Thread seurer at gcc dot gnu.org
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

2017-04-19 Thread seurer at gcc dot gnu.org
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.