[Bug target/69713] Invalid code of optimization in SH

2016-02-07 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713 Oleg Endo changed: What|Removed |Added Target|sh-unknown-linux|sh*-*-* Status|UNCONFIRMED

[Bug target/69713] Invalid code of optimization in SH

2016-02-07 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713 --- Comment #2 from Oleg Endo --- Looks like an SH specific issue. The bounds check is there, but it's in the wrong place: _lookup_user_key: mov.l r8,@-r15 mov #0,r3 mov.l r9,@-r15 mov #15,r1

[Bug target/69713] Invalid code of optimization in SH

2016-02-07 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713 --- Comment #3 from Oleg Endo --- It seems that one of the loop optimizations pulls the casesi_0 and casesi_worker_0 insns apart and then things go wrong from there on. Compiling the test case with -fno-move-loop-invariants results in the correc

[Bug target/69713] Invalid code of optimization in SH

2016-02-07 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713 --- Comment #4 from Oleg Endo --- (In reply to Oleg Endo from comment #3) > > One option could be to merge the casesi_0 and casesi_worker_0 / > casesi_worker_1 patterns somehow into one pattern, so that the block remains > in one place. > > Ano

[Bug target/69713] Invalid code of optimization in SH

2016-02-08 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713 --- Comment #5 from Oleg Endo --- (In reply to Oleg Endo from comment #4) > > Option 3) > Try adding a T_REG use in casesi_worker_0/casesi_worker_1 patterns to create > a link between the bounds checking insn and the table access insns. > The

[Bug target/69713] Invalid code of optimization in SH

2016-02-08 Thread kkojima at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713 --- Comment #6 from Kazumoto Kojima --- (In reply to Oleg Endo from comment #5) > Anyway, I think this could be applied to GCC 5 and GCC 6. Kaz, what do you > think? Looks fine to me. Please go ahead.

[Bug target/69713] Invalid code of optimization in SH

2016-02-11 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713 --- Comment #7 from Oleg Endo --- Author: olegendo Date: Thu Feb 11 09:12:18 2016 New Revision: 233324 URL: https://gcc.gnu.org/viewcvs?rev=233324&root=gcc&view=rev Log: gcc/ PR target/69713 * config/sh/sh.md (casesi_worker_0): A

[Bug target/69713] Invalid code of optimization in SH

2016-02-11 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713 --- Comment #8 from Oleg Endo --- Author: olegendo Date: Thu Feb 11 09:13:23 2016 New Revision: 233326 URL: https://gcc.gnu.org/viewcvs?rev=233326&root=gcc&view=rev Log: gcc/ Backport from mainline 2016-02-11 Oleg Endo

[Bug target/69713] Invalid code of optimization in SH

2016-02-11 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713 --- Comment #9 from Oleg Endo --- Author: olegendo Date: Thu Feb 11 09:15:26 2016 New Revision: 233329 URL: https://gcc.gnu.org/viewcvs?rev=233329&root=gcc&view=rev Log: gcc/ Backport from mainline 2016-02-11 Oleg Endo

[Bug target/69713] Invalid code of optimization in SH

2016-02-11 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713 Oleg Endo changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---