[Bug target/91188] strict_low_part operations do not work

uros at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jul 18 17:18:00 GMT 2019


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

--- Comment #4 from uros at gcc dot gnu.org ---
Author: uros
Date: Thu Jul 18 17:17:31 2019
New Revision: 273578

URL: https://gcc.gnu.org/viewcvs?rev=273578&root=gcc&view=rev
Log:
        PR target/91188
        * config/i386/i386.md (*addqi_1_slp): Use register_operand predicate
        for operand 0.  Do not use (match_dup) to match operand 1 with
        operand 0.  Add check in insn constraint that either input operand
        matches operand 0.  Use SWI12 mode iterator to also handle
        HImode operands.
        (*and<mode>_1_slp): Ditto.
        (*<code>qi_1_slp): Ditto.
        (*sub<mode>_1_slp): Use register_operand predicate for operand 0.
        Do not use (match_dup) to match operand 1 with operand 0.  Add
        check in insn constraint that operand 1 matches operand 0.
        Use SWI12 mode iterator to also handle HImode operands.
        (*ashl<mode>3_1_slp): Ditto.
        (*<shift_insn><mode>3_1_slp): Ditto.
        (*<rotate_insn><mode>3_1_slp): Ditto.

testsuite/ChangeLog:

        PR target/91188
        * gcc.target/i386/pr91188-1a.c: New test.
        * gcc.target/i386/pr91188-1b.c: Ditto.
        * gcc.target/i386/pr91188-1c.c: Ditto.
        * gcc.target/i386/pr91188-2a.c: Ditto.
        * gcc.target/i386/pr91188-2b.c: Ditto.
        * gcc.target/i386/pr91188-2c.c: Ditto.


Added:
    trunk/gcc/testsuite/gcc.target/i386/pr91188-1a.c
    trunk/gcc/testsuite/gcc.target/i386/pr91188-1b.c
    trunk/gcc/testsuite/gcc.target/i386/pr91188-1c.c
    trunk/gcc/testsuite/gcc.target/i386/pr91188-2a.c
    trunk/gcc/testsuite/gcc.target/i386/pr91188-2b.c
    trunk/gcc/testsuite/gcc.target/i386/pr91188-2c.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.md
    trunk/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list