https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71201
--- Comment #4 from Michael Meissner <meissner at gcc dot gnu.org> --- Author: meissner Date: Wed Jun 1 23:23:42 2016 New Revision: 237021 URL: https://gcc.gnu.org/viewcvs?rev=237021&root=gcc&view=rev Log: [gcc] 2016-06-01 Michael Meissner <meiss...@linux.vnet.ibm.com> Back port from trunk 2016-05-23 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/71201 * config/rs6000/altivec.md (altivec_vperm_<mode>_internal): Drop ISA 3.0 xxperm fusion alternative. (altivec_vperm_v8hiv16qi): Likewise. (altivec_vperm_<mode>_uns_internal): Likewise. (vperm_v8hiv4si): Likewise. (vperm_v16qiv8hi): Likewise. Back port from trunk 2016-05-23 Michael Meissner <meiss...@linux.vnet.ibm.com> Kelvin Nilsen <kel...@gcc.gnu.org> * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate vpermr/xxpermr on ISA 3.0. (altivec_expand_vec_perm_le): Likewise. * config/rs6000/altivec.md (UNSPEC_VPERMR): New unspec. (altivec_vpermr_<mode>_internal): Add VPERMR/XXPERMR support for ISA 3.0. [gcc/testsuite] 2016-06-01 Michael Meissner <meiss...@linux.vnet.ibm.com> Back port from trunk 2016-05-23 Michael Meissner <meiss...@linux.vnet.ibm.com> Kelvin Nilsen <kel...@gcc.gnu.org> * gcc.target/powerpc/p9-permute.c: Run test on big endian as well as little endian. Back port from trunk 2016-05-23 Michael Meissner <meiss...@linux.vnet.ibm.com> Kelvin Nilsen <kel...@gcc.gnu.org> * gcc.target/powerpc/p9-vpermr.c: New test for ISA 3.0 vpermr support. [gcc] 2016-06-01 Michael Meissner <meiss...@linux.vnet.ibm.com> Back port from trunk 2016-05-24 Michael Meissner <meiss...@linux.vnet.ibm.com> * config/rs6000/altivec.md (VParity): New mode iterator for vector parity built-in functions. (p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing zeros. (p9v_parity<mode>2): Likewise. * config/rs6000/vector.md (VEC_IP): New mode iterator for vector parity. (ctz<mode>2): ISA 3.0 expander for vector count trailing zeros. (parity<mode>2): ISA 3.0 expander for vector parity. * config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for power9 built-ins. (BU_P9_64BIT_MISC_0): Likewise. (BU_P9_MISC_0): Likewise. (BU_P9V_AV_1): Likewise. (BU_P9V_AV_2): Likewise. (BU_P9V_AV_3): Likewise. (BU_P9V_AV_P): Likewise. (BU_P9V_VSX_1): Likewise. (BU_P9V_OVERLOAD_1): Likewise. (BU_P9V_OVERLOAD_2): Likewise. (BU_P9V_OVERLOAD_3): Likewise. (VCTZB): Add vector count trailing zeros support. (VCTZH): Likewise. (VCTZW): Likewise. (VCTZD): Likewise. (VPRTYBD): Add vector parity support. (VPRTYBQ): Likewise. (VPRTYBW): Likewise. (VCTZ): Add overloaded vector count trailing zeros support. (VPRTYB): Add overloaded vector parity support. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add overloaded vector count trailing zeros and parity instructions. * config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for vector parity support. * config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count trailing zeros support. (vec_cntlz): Likewise. (vec_vctzb): Likewise. (vec_vctzd): Likewise. (vec_vctzh): Likewise. (vec_vctzw): Likewise. (vec_vprtyb): Add ISA 3.0 vector parity support. (vec_vprtybd): Likewise. (vec_vprtybw): Likewise. (vec_vprtybq): Likewise. * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document the ISA 3.0 vector count trailing zeros and vector parity built-in functions. [gcc/testsuite] 2016-06-01 Michael Meissner <meiss...@linux.vnet.ibm.com> Back port from trunk 2016-05-24 Michael Meissner <meiss...@linux.vnet.ibm.com> * gcc.target/powerpc/p9-vparity.c: New file to check ISA 3.0 vector parity built-in functions. * gcc.target/powerpc/ctz-3.c: New file to check ISA 3.0 vector count trailing zeros automatic vectorization. * gcc.target/powerpc/ctz-4.c: New file to check ISA 3.0 vector count trailing zeros built-in functions. [gcc] 2016-06-01 Michael Meissner <meiss...@linux.vnet.ibm.com> Back port from trunk 2016-05-24 Michael Meissner <meiss...@linux.vnet.ibm.com> * config/rs6000/altivec.md (VNEG iterator): New iterator for VNEGW/VNEGD instructions. (p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD. (neg<mode>2): Add expander for V2DImode added in ISA 2.07, and support for ISA 3.0 VNEGW/VNEGD instructions. [gcc/testsuite] 2016-06-01 Michael Meissner <meiss...@linux.vnet.ibm.com> Back port from trunk 2016-05-24 Michael Meissner <meiss...@linux.vnet.ibm.com> * gcc.target/powerpc/p9-vneg.c: New test for ISA 3.0 VNEGW/VNEGD instructions. Added: branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/ctz-3.c branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/ctz-4.c branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/p9-vneg.c branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/p9-vparity.c branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/p9-vpermr.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/config/rs6000/altivec.h branches/gcc-6-branch/gcc/config/rs6000/altivec.md branches/gcc-6-branch/gcc/config/rs6000/rs6000-builtin.def branches/gcc-6-branch/gcc/config/rs6000/rs6000-c.c branches/gcc-6-branch/gcc/config/rs6000/rs6000.c branches/gcc-6-branch/gcc/config/rs6000/rs6000.md branches/gcc-6-branch/gcc/config/rs6000/vector.md branches/gcc-6-branch/gcc/doc/extend.texi branches/gcc-6-branch/gcc/testsuite/ChangeLog branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/p9-permute.c