-
- Downloads
re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089 * config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if dynamic shifts are available. (SHIFT_COUNT_TRUNCATED): Always define to 0. Correct comment. * config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments. * config/sh/predicates.md (shift_count_operand): Allow arith_reg_operand even if TARGET_DYNSHIFT is false. * config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns if needed. (ashlsi3_d_call, lshrsi3_d_call): New insns. PR target/54089 * config/sh/lib1funcs.S (ashlsi3): Reimplement as ashlsi3_r0. (lshrsi3): Reimplement as lshrsi3_r0. PR target/54089 * gcc.target/sh/pr54089-3.c: New. From-SVN: r191161
Showing
- gcc/ChangeLog 15 additions, 2 deletionsgcc/ChangeLog
- gcc/config/sh/predicates.md 2 additions, 3 deletionsgcc/config/sh/predicates.md
- gcc/config/sh/sh.c 16 additions, 16 deletionsgcc/config/sh/sh.c
- gcc/config/sh/sh.h 21 additions, 13 deletionsgcc/config/sh/sh.h
- gcc/config/sh/sh.md 55 additions, 0 deletionsgcc/config/sh/sh.md
- gcc/testsuite/ChangeLog 6 additions, 1 deletiongcc/testsuite/ChangeLog
- gcc/testsuite/gcc.target/sh/pr54089-3.c 40 additions, 0 deletionsgcc/testsuite/gcc.target/sh/pr54089-3.c
- libgcc/ChangeLog 6 additions, 0 deletionslibgcc/ChangeLog
- libgcc/config/sh/lib1funcs.S 243 additions, 208 deletionslibgcc/config/sh/lib1funcs.S
Loading
Please register or sign in to comment