On Thu, Aug 11, 2016 at 07:15:17PM -0400, Michael Meissner wrote:
> 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?

Yes, please do.  Thanks,


Segher


> 2016-08-11  Michael Meissner  <meiss...@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  <meiss...@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.

Reply via email to