[Bug target/54089] [SH] Refactor shift patterns

olegendo at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Aug 9 23:28:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089

--- Comment #6 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-08-09 23:27:55 UTC ---
Author: olegendo
Date: Thu Aug  9 23:27:51 2012
New Revision: 190273

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190273
Log:
    PR target/54089
    * config/sh/sh-protos (shift_insns_rtx): Delete.
    (sh_ashlsi_clobbers_t_reg_p): Add.
    * config/sh/sh.c (shift_insns, shift_amounts, ext_shift_insns,
    ext_shift_amounts): Merge arrays of ints to array of structs.
    Adapt usage of arrays throughout the file.
    (shift_insns_rtx): Delete unused function.
    (sh_ashlsi_clobbers_t_reg_p): New function.
    * config/sh/sh.md (ashlsi3): Emit ashlsi3_n_clobbers_t insn if the
    final shift sequence will clobber T_REG.
    (ashlsi3_n): Split only if the final shift sequence will not
    clobber T_REG.
    (ashlsi3_n_clobbers_t): New insn_and_split.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/sh/sh-protos.h
    trunk/gcc/config/sh/sh.c
    trunk/gcc/config/sh/sh.md



More information about the Gcc-bugs mailing list