diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2016-03-01 09:25:23 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2016-03-01 09:25:23 +0000 |
commit | 674a959cd5eac469b63f9e64ab5d11890750451f (patch) | |
tree | 613e9ea3bc2d6b2af78ce58229a8e86f7ba11890 /gcc/tree-ssa-threadbackward.c | |
parent | eae48192e4c70b47a2066650a56b12c9198b9b47 (diff) | |
download | gcc-674a959cd5eac469b63f9e64ab5d11890750451f.zip gcc-674a959cd5eac469b63f9e64ab5d11890750451f.tar.gz gcc-674a959cd5eac469b63f9e64ab5d11890750451f.tar.bz2 |
S/390: Get rid of Y constraint in vector.md.
This finally removes the Y constraint from the vector patterns while
folding some of them using a code iterator.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/subst.md (DSI_VI): New mode iterator.
("addr_style_op_subst"): Use DSI_VI instead of DSI.
* config/s390/vector.md ("vec_set<mode>"): Move expander before
the insn definition.
("*vec_set<mode>"): Change predicate and add alternative to
support only either register or const_int operands as element
selector.
("*vec_set<mode>_plus"): New pattern to support reg + const_int
operands.
("vec_extract<mode>"): New expander.
("*vec_extract<mode>"): New insn definition supporting reg and
const_int element selectors.
("*vec_extract<mode>_plus"): New insn definition supporting
reg+const_int element selectors.
("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
following expander+insn definition.
("<vec_shifts_name><mode>3"): New expander.
("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
From-SVN: r233847
Diffstat (limited to 'gcc/tree-ssa-threadbackward.c')
0 files changed, 0 insertions, 0 deletions