S/390: arch12: Add vllezlf instruction.
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Fri, 24 Mar 2017 14:01:54 +0000 (14:01 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Fri, 24 Mar 2017 14:01:54 +0000 (14:01 +0000)
commit72612e4e9e0eb5dd7d7cb0fc55170cdb7026a952
tree5329e1fc551da9e003eb34ffe96282597a13ca29
parent6c7774d15e15fab2314593a74a85e742cd147647
S/390: arch12: Add vllezlf instruction.

This adds support for the vector load element and zero instruction and
makes sure it is used when initializing vectors with elements while
setting the rest to 0.

gcc/ChangeLog:

2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.c (s390_expand_vec_init): Use vllezl
instruction if possible.
* config/s390/vector.md (vec_halfnumelts): New mode
attribute.
("*vec_vllezlf<mode>"): New pattern.

gcc/testsuite/ChangeLog:

2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/vxe/vllezlf-1.c: New test.

From-SVN: r246455
gcc/ChangeLog
gcc/config/s390/s390.c
gcc/config/s390/vector.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/vxe/vllezlf-1.c [new file with mode: 0644]