]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR target/34682 (70% slowdown with SSE enabled)
authorUros Bizjak <uros@gcc.gnu.org>
Mon, 7 Jan 2008 20:06:34 +0000 (21:06 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 7 Jan 2008 20:06:34 +0000 (21:06 +0100)
commit6b76185174e884eec9a030ad12d0498398441dc7
tree634c717bb706c3949490f1e3c9e5cfa1413d2112
parent5ca0373f910a2c2eeacb5447bbd24eaad12d1fc7
re PR target/34682 (70% slowdown with SSE enabled)

        PR target/34682
        * config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and
        negxf2.  Macroize expander using X87MODEF mode iterator.  Change
        predicates of op0 and op1 to register_operand.
        (abs<mode>2): Rename from abssf2, absdf2 and negxf2.  Macroize expander
        using X87MODEF mode iterator.  Change predicates of op0 and op1 to
        register_operand.
        ("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from
        corresponding patterns and macroize using MODEF macro.  Change
        predicates of op0 and op1 to register_operand and remove
        "m" constraint. Disparage "r" alternative with "!".
        ("*absneg<mode>2_i387"): Rename from corresponding patterns and
        macroize using X87MODEF macro.  Change predicates of op0 and op1
        to register_operand and remove "m" constraint.  Disparage "r"
        alternative with "!".
        (absneg splitter with memory operands): Remove.
        ("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding
        patterns and macroize using X87MODEF mode iterator.
        * config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
        Change predicate of op1 to register_operand.
        * config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
        for memory operands.

From-SVN: r131381
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/i386/sse.md