re PR target/54089 ([SH] Refactor shift patterns)
authorOleg Endo <olegendo@gcc.gnu.org>
Tue, 6 Nov 2012 11:55:43 +0000 (11:55 +0000)
committerOleg Endo <olegendo@gcc.gnu.org>
Tue, 6 Nov 2012 11:55:43 +0000 (11:55 +0000)
commit0f9a3fd393aeb363bafb9114a6df2fe5a139d3f5
tree01a8b85e730cf6de97aa2c8b321737ee681c8337
parentee2ba85639333f03774668c5a4b25d7ae08b1036
re PR target/54089 ([SH] Refactor shift patterns)

PR target/54089
* config/sh/sh.c (and_xor_ior_costs, addsubcosts): Double the costs for
ops larger than SImode.
* config/sh/sh.md (rotcl, *rotcl): New insns and splits.
(ashldi3_k): Convert to insn_and_split and use new rotcl insn.

PR target/54089
* gcc.target/sh/pr54089-8.c: New.
* gcc.target/sh/pr54089-9.c: New.

From-SVN: r193236
gcc/ChangeLog
gcc/config/sh/sh.c
gcc/config/sh/sh.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/sh/pr54089-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/sh/pr54089-9.c [new file with mode: 0644]