r207318 - in /trunk/gcc: ChangeLog config/rs600...

wschmidt@gcc.gnu.org wschmidt@gcc.gnu.org
Thu Jan 30 18:59:00 GMT 2014


Author: wschmidt
Date: Thu Jan 30 18:59:55 2014
New Revision: 207318

URL: http://gcc.gnu.org/viewcvs?rev=207318&root=gcc&view=rev
Log:
gcc:

2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
	gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
	remove element index adjustment for endian (now handled in vsx.md
	and altivec.md).
	(altivec_expand_vec_perm_const): Use
	gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
	* gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
	(vsx_xxspltw_<mode>): Adjust element index for little endian.
	* gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
	define_expand and a new define_insn *altivec_vspltb_internal;
	adjust for -maltivec=be on a little endian target.
	(altivec_vspltb_direct): New.
	(altivec_vsplth): Divide into a define_expand and a new
	define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
	little endian target.
	(altivec_vsplth_direct): New.
	(altivec_vspltw): Divide into a define_expand and a new
	define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
	little endian target.
	(altivec_vspltw_direct): New.
	(altivec_vspltsf): Divide into a define_expand and a new
	define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
	a little endian target.

gcc/testsuite:

2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vmx/splat.c: New.
	* gcc.dg/vmx/splat-vsx.c: New.
	* gcc.dg/vmx/splat-be-order.c: New.
	* gcc.dg/vmx/splat-vsx-be-order.c: New.
	* gcc.dg/vmx/eg-5.c: Remove special casing for little endian.
	* gcc.dg/vmx/sn7153.c: Add special casing for little endian.


Added:
    trunk/gcc/testsuite/gcc.dg/vmx/splat-be-order.c
    trunk/gcc/testsuite/gcc.dg/vmx/splat-vsx-be-order.c
    trunk/gcc/testsuite/gcc.dg/vmx/splat-vsx.c
    trunk/gcc/testsuite/gcc.dg/vmx/splat.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/rs6000/altivec.md
    trunk/gcc/config/rs6000/rs6000.c
    trunk/gcc/config/rs6000/vsx.md
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/vmx/eg-5.c
    trunk/gcc/testsuite/gcc.dg/vmx/sn7153.c



More information about the Gcc-cvs mailing list