This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This patch was originally part of patch #3, but I separated it out as I rework what used to be part of patch #3 to fix some issues. This patch adds support for using the ISA 3.0 MTVSRDD instruction when initializing vector long vectors with variables. I also changed the CPU type of the other use of MTVSRDD to be vecperm as Pat suggested. I added two general tests (vec-init-1.c and vec-init-2.c) that test various forms of vector initialization to make sure the compiler generates the correct code. These tests will test optimizations that the future patches will enhance. I also added a third test (vec-init-3.c) to specifically test whether MTVSRDD is generated. I did a bootstrap and make check on a little endian power8 system, and there were no regressions. Can I install this patch to the trunk? [gcc] 2016-08-11 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/vsx.md (vsx_concat_<mode>): Add support for the ISA 3.0 MTVSRDD instruction. (vsx_splat_<mode>): Change cpu type of MTVSRDD instruction to vecperm. [gcc/testsuite] 2016-08-11 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/vec-init-1.c: New tests to test various vector initialization options. * gcc.target/powerpc/vec-init-2.c: Likewise. * gcc.target/powerpc/vec-init-3.c: New test to make sure MTVSRDD is generated on ISA 3.0. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797
Attachment:
gcc-stage7.init004b
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |