[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