This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/54089] [SH] Refactor shift patterns
- From: "olegendo at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 22 Feb 2016 13:34:03 +0000
- Subject: [Bug target/54089] [SH] Refactor shift patterns
- Auto-submitted: auto-generated
- References: <bug-54089-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089
--- Comment #44 from Oleg Endo <olegendo at gcc dot gnu.org> ---
Author: olegendo
Date: Mon Feb 22 13:33:31 2016
New Revision: 233601
URL: https://gcc.gnu.org/viewcvs?rev=233601&root=gcc&view=rev
Log:
gcc/
PR target/69806
PR target/54089
* config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
Handle negative shift counts.
* config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
force_reg on the shift constant.
(lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d.
(lshrsi3_d): Handle negative shift counts.
gcc/testsuite/
PR target/69806
PR target/54089
* gcc.target/sh/pr54089-10.c: New.
Added:
trunk/gcc/testsuite/gcc.target/sh/pr54089-10.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/sh.c
trunk/gcc/config/sh/sh.md
trunk/gcc/testsuite/ChangeLog