S/390: Introduce relative_long attribute
commit14cfceb7f71bcf72c9c16717ce546412cf6df64b
authorIlya Leoshkevich <iii@linux.ibm.com>
Tue, 6 Nov 2018 13:20:21 +0000 (6 13:20 +0000)
committerIlya Leoshkevich <iii@gcc.gnu.org>
Tue, 6 Nov 2018 13:20:21 +0000 (6 13:20 +0000)
tree2336003a665af1ca49919db21fec0b763056aaee
parent7307cd25d67aca6da8d4c582f0fd91e12a11a034
S/390: Introduce relative_long attribute

In order to properly fix PR87762, we need to distinguish between
instructions which support relative addressing and instructions which
don't.  We could check whether the existing "type" attribute is equal to
"larl", but there are notable exceptions (lrl, for example), and
changing them makes scheduling worse on z10.  We could also check
whether the existing "op_type" attribute is equal to "RIL-b" or "RIL-c".
However, adding a new attribute provides more flexibility, since we
don't depend idiosyncrasies which might be introduced into PoP in the
future.

gcc/ChangeLog:

2018-11-06  Ilya Leoshkevich  <iii@linux.ibm.com>

PR target/87762
* config/s390/s390.md: Add relative_long attribute.

From-SVN: r265844
gcc/ChangeLog
gcc/config/s390/s390.md