https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713
Oleg Endo changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
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
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
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
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.
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
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
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
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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69713
Oleg Endo changed:
What|Removed |Added
Target|sh-unknown-linux|sh*-*-*
Status|UNCONFIRMED
10 matches
Mail list logo