https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81593

--- Comment #2 from Michael Meissner <meissner at gcc dot gnu.org> ---
Author: meissner
Date: Mon Aug  7 23:51:27 2017
New Revision: 250936

URL: https://gcc.gnu.org/viewcvs?rev=250936&root=gcc&view=rev
Log:
[gcc]
2017-08-07  Michael Meissner  <meiss...@linux.vnet.ibm.com>

        PR target/81593
        * config/rs6000/vsx.md (vsx_concat_<mode>, VSX_D): Cleanup
        constraints since the -mupper-regs-* switches have been
        eliminated.
        (vsx_concat_<mode>_1): New combiner insns to recognize inserting
        into a vector from a double word element that was extracted from
        another vector, and eliminate extra XXPERMDI instructions.
        (vsx_concat_<mode>_2): Likewise.
        (vsx_concat_<mode>_3): Likewise.
        (vsx_set_<mode>, VSX_D): Rewrite vector set in terms of vector
        concat to allow optimizing inserts from previous extracts.

[gcc/testsuite]
2017-08-07  Michael Meissner  <meiss...@linux.vnet.ibm.com>

        PR target/81593
        * gcc.target/powerpc/vec-setup.h: New tests to test various
        combinations of setting up vectors of 2 double word elements.
        * gcc.target/powerpc/vec-setup-long.c: Likewise.
        * gcc.target/powerpc/vec-setup-double.c: Likewise.
        * gcc.target/powerpc/vec-setup-be-long.c: Likewise.
        * gcc.target/powerpc/vec-setup-be-double.c: Likewise.
        * gcc.target/powerpc/vsx-extract-6.c: New tests for optimzing
        vector inserts from vector extracts.
        * gcc.target/powerpc/vsx-extract-7.c: Likewise.


Added:
    trunk/gcc/testsuite/gcc.target/powerpc/vec-setup-be-double.c
    trunk/gcc/testsuite/gcc.target/powerpc/vec-setup-be-long.c
    trunk/gcc/testsuite/gcc.target/powerpc/vec-setup-double.c
    trunk/gcc/testsuite/gcc.target/powerpc/vec-setup-long.c
    trunk/gcc/testsuite/gcc.target/powerpc/vec-setup.h
    trunk/gcc/testsuite/gcc.target/powerpc/vsx-extract-6.c
    trunk/gcc/testsuite/gcc.target/powerpc/vsx-extract-7.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/rs6000/vsx.md
    trunk/gcc/testsuite/ChangeLog

Reply via email to