i386.c (ix86_split_ashldi): Special case op1 as one or minus one.
authorRichard Henderson <rth@redhat.com>
Sun, 12 Sep 2004 18:00:49 +0000 (11:00 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Sun, 12 Sep 2004 18:00:49 +0000 (11:00 -0700)
commit93330ea10a357abf2055c883935abf71102cbbec
tree47f88fcf83667c18889732010296a8f09cd360c2
parent21076c8ec342f7610a684e60bee243f111a2d0fd
i386.c (ix86_split_ashldi): Special case op1 as one or minus one.

        * config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
        or minus one.
        (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
        post-reload, and scratch NULL.
        * config/i386/i386.md (testqi_1): Use FLAGS_REG name.
        (x86_shift_adj_2): Use ix86_expand_clear.
        (ashldi3): Remove CMOVE expansion difference.
        (ashldi3_1): Remove.
        (*ashldi3_1): Rename from *ashldi3_2.  Use reg_or_pm1_operand and
        add constraints for immediates.  New peephole for split-with-temp.
        Run splitter after peep2 pass.
        (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
        (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
        (setcc_2): Rename with *.
        * config/i386/predicates.md (reg_or_pm1_operand): New.
        (ashldi_input_operand): New.

From-SVN: r87398
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/i386/predicates.md