This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/79203] Update PowerPC double->int conversions to know about -mvsx-small-integer


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

--- Comment #3 from Michael Meissner <meissner at gcc dot gnu.org> ---
Author: meissner
Date: Tue May  9 23:49:37 2017
New Revision: 247820

URL: https://gcc.gnu.org/viewcvs?rev=247820&root=gcc&view=rev
Log:
[gcc]
2017-05-09  Michael Meissner  <meissner@linux.vnet.ibm.com>

        Back port from mainline
        2017-05-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

        PR target/79038
        PR target/79202
        PR target/79203
        * config/rs6000/rs6000.md (u code attribute): Add FIX and
        UNSIGNED_FIX.
        (extendsi<mode>2): Add support for doing sign extension via
        VUPKHSW and XXPERMDI if the value is in Altivec registers and we
        don't have ISA 3.0 instructions.
        (extendsi<mode>2 splitter): Likewise.
        (fix_trunc<mode>si2): If we are at ISA 2.07 (VSX small integer),
        generate the normal insns since SImode can now go in vector
        registers.  Disallow the special UNSPECs needed for previous
        machines to hide SImode being used.  Add new insns
        fctiw{,w}_<mode>_smallint if SImode can go in vector registers.
        (fix_trunc<mode>si2_stfiwx): Likewise.
        (fix_trunc<mode>si2_internal): Likewise.
        (fixuns_trunc<mode>si2): Likewise.
        (fixuns_trunc<mode>si2_stfiwx): Likewise.
        (fctiw<u>z_<mode>_smallint): Likewise.
        (fctiw<u>z_<mode>_mem): New combiner pattern to prevent conversion
        of floating point to 32-bit integer from doing a direct move to
        the GPR registers to do a store.
        (fctiwz_<mode>): Break long line.

[gcc/testsuite]
2017-05-09  Michael Meissner  <meissner@linux.vnet.ibm.com>

        Back port from mainline
        2017-05-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

        PR target/79038
        PR target/79202
        PR target/79203
        * gcc.target/powerpc/ppc-round3.c: New test.
        * gcc.target/powerpc/ppc-round2.c: Update expected code.


Added:
    branches/gcc-7-branch/gcc/testsuite/gcc.target/powerpc/ppc-round3.c
      - copied unchanged from r247808,
trunk/gcc/testsuite/gcc.target/powerpc/ppc-round3.c
Modified:
    branches/gcc-7-branch/gcc/ChangeLog
    branches/gcc-7-branch/gcc/config/rs6000/rs6000.md
    branches/gcc-7-branch/gcc/testsuite/ChangeLog
    branches/gcc-7-branch/gcc/testsuite/gcc.target/powerpc/ppc-round2.c

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]