re PR target/79799 (Improve vec_insert of float on Power9)
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Tue, 20 Jun 2017 06:26:27 +0000 (06:26 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Tue, 20 Jun 2017 06:26:27 +0000 (06:26 +0000)
commit16122c22dc009696131c250603745b34340b803a
tree46687cfe25fb0fa32e45b84869a47be42de250b3
parent62be3709cdf1837a66d789a88199a29f29edb1d0
re PR target/79799 (Improve vec_insert of float on Power9)

[gcc]
2017-06-20  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/79799
* config/rs6000/rs6000.c (rs6000_expand_vector_init): Add support
for doing vector set of SFmode on ISA 3.0.
* config/rs6000/vsx.md (vsx_set_v4sf_p9): Likewise.
(vsx_set_v4sf_p9_zero): Special case setting 0.0f to a V4SF
element.
(vsx_insert_extract_v4sf_p9): Add an optimization for inserting a
SFmode value into a V4SF variable that was extracted from another
V4SF variable without converting the element to double precision
and back to single precision vector format.
(vsx_insert_extract_v4sf_p9_2): Likewise.

[gcc/testsuite]
2017-06-20  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/79799
* gcc.target/powerpc/pr79799-1.c: New test.
* gcc.target/powerpc/pr79799-2.c: Likewise.
* gcc.target/powerpc/pr79799-3.c: Likewise.
* gcc.target/powerpc/pr79799-4.c: Likewise.
* gcc.target/powerpc/pr79799-5.c: Likewise.

From-SVN: r249395
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/vsx.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/pr79799-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/pr79799-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/pr79799-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/pr79799-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/pr79799-5.c [new file with mode: 0644]