[Bug target/84627] powerpc excess padding generated for POWER9 target

2018-03-05 Thread npiggin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84627

Nicholas Piggin  changed:

   What|Removed |Added

 Resolution|INVALID |FIXED

--- Comment #4 from Nicholas Piggin  ---
After some more discussion and testing, it was determined that for POWER9, 16
bytes of padding is sufficient for these small loops and was adjusted.

https://gcc.gnu.org/viewcvs/gcc?view=revision=258260

Author: segher
Date:   Mon Mar 5 19:11:54 2018 UTC (3 hours, 27 minutes ago)
Log Message:

rs6000: Don't align tiny loops to 32 bytes for POWER9

For POWER4..POWER8 we align loops of 5..8 instructions to 32 bytes
(instead of to 16 bytes) because that executes faster.  This is no
longer the case on POWER9, so we can just as well only align to 16
bytes.


* config/rs6000/rs6000.c (rs6000_loop_align): Don't align tiny loops
to 32 bytes when compiling for POWER9.

[Bug target/84627] powerpc excess padding generated for POWER9 target

2018-03-02 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84627

Segher Boessenkool  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||segher at gcc dot gnu.org
 Resolution|--- |INVALID

--- Comment #3 from Segher Boessenkool  ---
The nops are to align the following code (a jump target) to the correct
alignment.  GAS used an ori 2,2,0 for the last nop, to make sure a new
dispatch group starts after it, for p8.  Does your GAS support power9?
Does binutils trunk behave this way too?  Plain nop is ever so slightly
more efficient, so it is prefered.

The generated code is

std 2,24(1)
.p2align 5,,31
.L3:
mr 12,30
mtctr 30
addi 31,31,-1
bctrl

so there is nothing GCC can do about this.  Please follow up to binutils
bugzilla if necessary.  Thanks!

[Bug target/84627] powerpc excess padding generated for POWER9 target

2018-02-28 Thread npiggin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84627

--- Comment #2 from Nicholas Piggin  ---
Ah sorry, target is powerpc64le

[Bug target/84627] powerpc excess padding generated for POWER9 target

2018-02-28 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84627

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Target||powerpc

--- Comment #1 from Andrew Pinski  ---
Is this little endian or big-endian?  32bit or 64bit?