rs6000.c (rs6000_expand_vector_set): Add support for using xxinsertw and vinsert...
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Mon, 14 Nov 2016 19:55:42 +0000 (19:55 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Mon, 14 Nov 2016 19:55:42 +0000 (19:55 +0000)
commitbcb9a772e9287057d8c20fc04c91e716ecff36fe
treeacecd1905711db7abe57f78abe3b79cba4dc6c60
parent3eb89071d6ffc652b0bde7aa0a5ea61da6ac96f6
rs6000.c (rs6000_expand_vector_set): Add support for using xxinsertw and vinsert{b,h} on ISA 3.0.

[gcc]
2016-11-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_expand_vector_set): Add support
for using xxinsertw and vinsert{b,h} on ISA 3.0.

* config/rs6000/vsx.md (vsx_extract_<mode>): Update comment.
(vsx_set_<mode>_p9): New insn to generate xxinsertw and
vinsert{b,h} on ISA 3.0.

[gcc/testsuite]
2016-11-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/vec-set-int.c: New test.
* gcc.target/powerpc/vec-set-short.c: Likesie.
* gcc.target/powerpc/vec-set-char.c: Likewise.

From-SVN: r242397
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/vsx.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/vec-set-char.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vec-set-int.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vec-set-short.c [new file with mode: 0644]