http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089
--- Comment #20 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-09-25 19:06:34 UTC --- Author: olegendo Date: Tue Sep 25 19:06:28 2012 New Revision: 191743 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191743 Log: PR target/54089 * config/sh/constraints.md (Jhb): New constraint. * config/sh/predicates.md (negt_reg_shl31_operand): New predicate. * config/sh/sh.md (rotrsi3): New expander. (rotrsi3_1, *rotrsi3_1, *rotlsi3_1): New insns. (rotlsi3, rotlhi3): Use const_int_operand predicate instead of immediate_operand and remove CONST_INT_P checks in expansion code. (*rotcr): Cleanup variable usage. Handle preceding nott insn. Add split with swapped operands. (*rotcr_neg_t, *movt_msb, *negt_msb): New insns and splits. PR target/54089 * gcc.target/sh/pr54089-1.c (test_15, test_16, test_17, test_18, test_19, test_20, test_21, test_22, test_23): New functions. * gcc.target/sh/pr54089-4.c: New. * gcc.target/sh/pr54089-5.c: New. * gcc.target/sh/pr54089-6.c: New. * gcc.target/sh/pr54089-7.c: New. Added: trunk/gcc/testsuite/gcc.target/sh/pr54089-4.c trunk/gcc/testsuite/gcc.target/sh/pr54089-5.c trunk/gcc/testsuite/gcc.target/sh/pr54089-6.c trunk/gcc/testsuite/gcc.target/sh/pr54089-7.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/sh/constraints.md trunk/gcc/config/sh/predicates.md trunk/gcc/config/sh/sh.md trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.target/sh/pr54089-1.c