https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81593
--- Comment #7 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- Author: aldyh Date: Wed Sep 13 16:38:06 2017 New Revision: 252334 URL: https://gcc.gnu.org/viewcvs?rev=252334&root=gcc&view=rev Log: [gcc] 2017-08-07 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/81593 * config/rs6000/vsx.md (vsx_concat_<mode>, VSX_D): Cleanup constraints since the -mupper-regs-* switches have been eliminated. (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-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/range-gen2/gcc/testsuite/gcc.target/powerpc/vec-setup-be-double.c branches/range-gen2/gcc/testsuite/gcc.target/powerpc/vec-setup-be-long.c branches/range-gen2/gcc/testsuite/gcc.target/powerpc/vec-setup-double.c branches/range-gen2/gcc/testsuite/gcc.target/powerpc/vec-setup-long.c branches/range-gen2/gcc/testsuite/gcc.target/powerpc/vec-setup.h branches/range-gen2/gcc/testsuite/gcc.target/powerpc/vsx-extract-6.c branches/range-gen2/gcc/testsuite/gcc.target/powerpc/vsx-extract-7.c Modified: branches/range-gen2/gcc/ChangeLog branches/range-gen2/gcc/config/rs6000/vsx.md branches/range-gen2/gcc/testsuite/ChangeLog