This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/54963] [4.8 Regression] Wrong code generated for libgfortran/generated/eoshift3_8.c on SH


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54963

--- Comment #8 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-10-30 09:22:31 UTC ---
Author: olegendo
Date: Tue Oct 30 09:22:14 2012
New Revision: 192983

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192983
Log:
    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.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/sh/iterators.md
    trunk/gcc/config/sh/sh.md


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]