diff options
author | Oleg Endo <olegendo@gcc.gnu.org> | 2012-10-30 09:22:14 +0000 |
---|---|---|
committer | Oleg Endo <olegendo@gcc.gnu.org> | 2012-10-30 09:22:14 +0000 |
commit | 01850a764f2740773a3c922d3689c1a42c787d5c (patch) | |
tree | 223ada87e201e092ef44466c8d35c61788daeea6 /gcc/tree-inline.c | |
parent | 197ddd06a0f70f89b2ffc376592d4e9318a9596a (diff) | |
download | gcc-01850a764f2740773a3c922d3689c1a42c787d5c.zip gcc-01850a764f2740773a3c922d3689c1a42c787d5c.tar.gz gcc-01850a764f2740773a3c922d3689c1a42c787d5c.tar.bz2 |
re PR target/54963 (Wrong code generated for libgfortran/generated/eoshift3_8.c on SH)
PR target/54963
* config/sh/iterators.md (SIDI): New mode iterator.
* config/sh/sh.md (negdi2): Use parallel around operation and T_REG
clobber in expander.
(*negdi2): Mark output operand as early clobbered. Add T_REG clobber.
Split after reload. Simplify split code.
(abssi2, absdi2): Fold expanders into abs<mode>2.
(*abssi2, *absdi2): Fold into *abs<mode>2 insn_and_split. Split insns
before reload.
(*negabssi2, *negabsdi2): Fold into *negabs<mode>2. Add T_REG clobber.
Split insns before reload.
(negsi_cond): Reformat. Use emit_move_insn instead of
gen_movesi.
(negdi_cond): Reformat. Use emit_move_insn instead of a pair
of gen_movsi. Split insn before reload.
From-SVN: r192983
Diffstat (limited to 'gcc/tree-inline.c')
0 files changed, 0 insertions, 0 deletions