https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81593
--- Comment #5 from Michael Meissner <meissner at gcc dot gnu.org> --- Author: meissner Date: Wed Aug 30 13:38:27 2017 New Revision: 251532 URL: https://gcc.gnu.org/viewcvs?rev=251532&root=gcc&view=rev Log: [gcc] 2017-08-30 Michael Meissner <meiss...@linux.vnet.ibm.com> Back port from trunk 2017-08-07 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/81593 * config/rs6000/vsx.md (vsx_concat_<mode>_1): New combiner insns to recognize inserting into a vector from a double word element that was extracted from another vector, and eliminate extra XXPERMDI instructions. (vsx_concat_<mode>_2): Likewise. (vsx_concat_<mode>_3): Likewise. (vsx_set_<mode>, VSX_D): Rewrite vector set in terms of vector concat to allow optimizing inserts from previous extracts. [gcc/testsuite] 2017-08-30 Michael Meissner <meiss...@linux.vnet.ibm.com> Back port from trunk 2017-08-07 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/81593 * gcc.target/powerpc/vec-setup.h: New tests to test various combinations of setting up vectors of 2 double word elements. * gcc.target/powerpc/vec-setup-long.c: Likewise. * gcc.target/powerpc/vec-setup-double.c: Likewise. * gcc.target/powerpc/vec-setup-be-long.c: Likewise. * gcc.target/powerpc/vec-setup-be-double.c: Likewise. * gcc.target/powerpc/vsx-extract-6.c: New tests for optimzing vector inserts from vector extracts. * gcc.target/powerpc/vsx-extract-7.c: Likewise. Added: branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/vec-setup-be-double.c - copied unchanged from r251429, trunk/gcc/testsuite/gcc.target/powerpc/vec-setup-be-double.c branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/vec-setup-be-long.c - copied unchanged from r251429, trunk/gcc/testsuite/gcc.target/powerpc/vec-setup-be-long.c branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/vec-setup-double.c - copied unchanged from r251429, trunk/gcc/testsuite/gcc.target/powerpc/vec-setup-double.c branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/vec-setup-long.c - copied unchanged from r251429, trunk/gcc/testsuite/gcc.target/powerpc/vec-setup-long.c branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/vec-setup.h - copied unchanged from r251429, trunk/gcc/testsuite/gcc.target/powerpc/vec-setup.h branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/vsx-extract-6.c branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/vsx-extract-7.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/config/rs6000/vsx.md branches/gcc-6-branch/gcc/testsuite/ChangeLog