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

Reply via email to