S/390: Split MVC instruction for better forwarding
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Fri, 1 Dec 2017 15:33:15 +0000 (15:33 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Fri, 1 Dec 2017 15:33:15 +0000 (15:33 +0000)
commitf9dcf14aae8f725ed63499d70980eb7029fdd2d5
tree70d7d52fe173cbc868fd789084b2fd243e717ee9
parentccd9a1e0ef6ec521734cabd1262a385234b183e7
S/390: Split MVC instruction for better forwarding

Certain lengths used in an MVC instruction might disable operand
forwarding.  Split MVCs into up to 2 forwardable ones if possible.

gcc/ChangeLog:

2017-12-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/predicates.md (plus16_Q_operand): New predicate.
* config/s390/s390.md: Disable MVC merging peephole if it would
disable operand forwarding.
(new peephole2): Split MVCs if it would turn them into up to 2
forwardable MVCs.

From-SVN: r255319
gcc/ChangeLog
gcc/config/s390/predicates.md
gcc/config/s390/s390.md