]> git.ipfire.org Git - thirdparty/gcc.git/commit
S/390: Add IBM z13 pipeline description
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Fri, 19 Feb 2016 10:27:12 +0000 (10:27 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Fri, 19 Feb 2016 10:27:12 +0000 (10:27 +0000)
commit239020213ad9d057dd1e482d921df7c13016a755
tree2e4e4460e2ae8872b23a513dcd3e20433c76ac35
parentefc2340b5fc7a471ce895f0c6b655464a128f8a2
S/390: Add IBM z13 pipeline description

This patch adds proper support for the -mtune=z13 option by adding a
z13 pipeline description.  As started with zEC12 we mostly make use of
the sched reorder hooks to implement a grouping strategy.  However,
this time we also keep an eye at the instruction mix provided in the
out of order window to allow the hardware to exploit the different
units.

gcc/ChangeLog:

* config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
* config/s390/2964.md: New file.
* config/s390/s390.c (s390_get_sched_attrmask): Use the right set
of insn grouping attributes depending on the CPU level.
(s390_get_unit_mask): New function.
(s390_sched_score): Remove the OOO from the scheduling macros.
Add loop to calculate a score for the instruction mix.
(s390_sched_reorder): Likewise plus improve debug output.
(s390_sched_variable_issue): Rename macros as above.  Calculate
the unit distances after actually scheduling an insn.  Improve
debug output.
(s390_sched_init): Clear last_scheduled_unit_distance array.
* config/s390/s390.md: Include 2964.md.

From-SVN: r233548
gcc/ChangeLog
gcc/config/s390/2827.md
gcc/config/s390/2964.md [new file with mode: 0644]
gcc/config/s390/s390.c
gcc/config/s390/s390.md