]>
git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/sh/predicates.md
re PR target/54089 ([SH] Refactor shift patterns)
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.
From-SVN: r191743