[Bug target/63986] [5 Regression][SH] gcc.target/sh/pr51244-15.c failures

2014-12-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63986

--- Comment #13 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed?


[Bug target/63986] [5 Regression][SH] gcc.target/sh/pr51244-15.c failures

2014-12-10 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63986

Oleg Endo olegendo at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #14 from Oleg Endo olegendo at gcc dot gnu.org ---
(In reply to Richard Biener from comment #13)
 Fixed?

Let's assume so.


[Bug target/63986] [5 Regression][SH] gcc.target/sh/pr51244-15.c failures

2014-11-30 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63986

--- Comment #12 from Oleg Endo olegendo at gcc dot gnu.org ---
Author: olegendo
Date: Mon Dec  1 06:50:06 2014
New Revision: 218200

URL: https://gcc.gnu.org/viewcvs?rev=218200root=gccview=rev
Log:
gcc/
PR target/63986
PR target/51244
* config/sh/sh.c (sh_unspec_insn_p,
sh_insn_operands_modified_between_p): New functions.
(sh_split_movrt_negc_to_movt_xor): Do not delete insn if its operands
are modified or if it has side effects, may trap or is volatile.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/sh.c


[Bug target/63986] [5 Regression][SH] gcc.target/sh/pr51244-15.c failures

2014-11-24 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63986

--- Comment #11 from Oleg Endo olegendo at gcc dot gnu.org ---
(In reply to Oleg Endo from comment #10)
 Author: olegendo
 Date: Sat Nov 22 15:06:34 2014
 New Revision: 217968
 
 URL: https://gcc.gnu.org/viewcvs?rev=217968root=gccview=rev

Hm, I think the patch is missing some additional checks on the operands of the
removed comparison insn, which might result in wrong code.  Please leave this
PR open for now.


[Bug target/63986] [5 Regression][SH] gcc.target/sh/pr51244-15.c failures

2014-11-22 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63986

--- Comment #10 from Oleg Endo olegendo at gcc dot gnu.org ---
Author: olegendo
Date: Sat Nov 22 15:06:34 2014
New Revision: 217968

URL: https://gcc.gnu.org/viewcvs?rev=217968root=gccview=rev
Log:
gcc/
PR target/63986
PR target/51244
* config/sh/sh.c (sh_is_logical_t_store_expr,
sh_try_omit_signzero_extend): Use rtx_insn* for insn argument.
(sh_split_movrt_negc_to_movt_xor): New function.
(sh_find_set_of_reg): Move to ...
* config/sh/sh-protos.h (sh_find_set_of_reg): ... here and convert
to template function.
(set_of_reg): Use rtx_insn* for insn member.
(sh_is_logical_t_store_expr, sh_try_omit_signzero_extend): Use
rtx_insn* for insn argument.
* config/sh/sh.md (movrt_negc, *movrt_negc): Split into movt-xor
sequence using new sh_split_movrt_negc_to_movt_xor function.
(movrt_xor): Allow also for SH2A.
(*movt_movrt): Delete insns and splits.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/sh-protos.h
trunk/gcc/config/sh/sh.c
trunk/gcc/config/sh/sh.md


[Bug target/63986] [5 Regression][SH] gcc.target/sh/pr51244-15.c failures

2014-11-21 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63986

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Component|tree-optimization   |target

--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org ---
Right.  Let's put it back to target land then.  I think what the tree level
does
is reasonable.


[Bug target/63986] [5 Regression][SH] gcc.target/sh/pr51244-15.c failures

2014-11-21 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63986

--- Comment #9 from Oleg Endo olegendo at gcc dot gnu.org ---
Created attachment 34073
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34073action=edit
A possible patch