diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2016-03-01 09:20:12 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2016-03-01 09:20:12 +0000 |
commit | 62d3f2615c6b22bf424ad17675d47b146d0dcfaa (patch) | |
tree | 1923e2830da769019c749d3f6f1092c8efc64d42 /gcc/config/s390/s390.c | |
parent | 772040f7967768f060d5a6c2e528ace2f1439ef3 (diff) | |
download | gcc-62d3f2615c6b22bf424ad17675d47b146d0dcfaa.zip gcc-62d3f2615c6b22bf424ad17675d47b146d0dcfaa.tar.gz gcc-62d3f2615c6b22bf424ad17675d47b146d0dcfaa.tar.bz2 |
S/390: Use enabled attribute overrides to disable
alternatives.
So far whenever we wanted to disable an alternative we have used mode
attributes emitting constraints matching an earlier alternative
assuming that due to this the later alternative will never be chosen.
With this patch the `enabled' attribute, which so far is only set from
`cpu_facility', is overridden to 0 to disable certain alternatives.
This comes handy when defining the substitutions later and while
adding it anyway I've used it for the existing cases as well.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.md ("op_type", "atype", "length" attributes):
Remove RRR type. It doesn't really exist.
("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
attributes.
("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
`enabled' attribute.
From-SVN: r233842
Diffstat (limited to 'gcc/config/s390/s390.c')
0 files changed, 0 insertions, 0 deletions