https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #88 from Oleg Endo ---
Author: olegendo
Date: Tue Sep 27 12:50:27 2016
New Revision: 240533
URL: https://gcc.gnu.org/viewcvs?rev=240533&root=gcc&view=rev
Log:
gcc/
PR target/51244
* config/sh/sh.c (sh_rtx_costs): Fix
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #87 from Oleg Endo ---
Author: olegendo
Date: Sun Sep 25 06:59:37 2016
New Revision: 240471
URL: https://gcc.gnu.org/viewcvs?rev=240471&root=gcc&view=rev
Log:
This fixes a fallout that actually goes back to 5.0 but went unnoticed.
Th
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
Oleg Endo changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #85 from Oleg Endo ---
Author: olegendo
Date: Sat Jan 24 13:04:53 2015
New Revision: 220081
URL: https://gcc.gnu.org/viewcvs?rev=220081&root=gcc&view=rev
Log:
gcc/
PR target/49263
PR target/53987
PR target/64345
PR ta
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #84 from Oleg Endo ---
Author: olegendo
Date: Wed Dec 24 21:55:59 2014
New Revision: 219062
URL: https://gcc.gnu.org/viewcvs?rev=219062&root=gcc&view=rev
Log:
gcc/
PR target/51244
* config/sh/sh.md (*mov_t_msb_neg): Convert s
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #83 from Oleg Endo ---
(In reply to Oleg Endo from comment #71)
>
> * The RTL pass does the treg combine only when there is a conditional
> branch. It should also handle conditional move insns (-mpretend-cmove).
>
It does now. It
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #82 from Oleg Endo ---
Author: olegendo
Date: Wed Dec 17 23:08:14 2014
New Revision: 218850
URL: https://gcc.gnu.org/viewcvs?rev=218850&root=gcc&view=rev
Log:
gcc/
PR target/51244
* config/sh/sh_treg_combine.cc (is_conditiona
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #81 from Oleg Endo ---
Author: olegendo
Date: Wed Dec 17 22:52:21 2014
New Revision: 218847
URL: https://gcc.gnu.org/viewcvs?rev=218847&root=gcc&view=rev
Log:
gcc/
PR target/51244
* config/sh/sh_treg_combine.cc (sh_treg_combi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #80 from Oleg Endo ---
Author: olegendo
Date: Mon Dec 1 06:50:06 2014
New Revision: 218200
URL: https://gcc.gnu.org/viewcvs?rev=218200&root=gcc&view=rev
Log:
gcc/
PR target/63986
PR target/51244
* config/sh/sh.c (sh_unsp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #79 from Oleg Endo ---
Author: olegendo
Date: Sat Nov 22 16:07:25 2014
New Revision: 217970
URL: https://gcc.gnu.org/viewcvs?rev=217970&root=gcc&view=rev
Log:
gcc/
Backport from mainline
2014-11-22 Oleg Endo
PR target
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #78 from Oleg Endo ---
Author: olegendo
Date: Sat Nov 22 15:50:10 2014
New Revision: 217969
URL: https://gcc.gnu.org/viewcvs?rev=217969&root=gcc&view=rev
Log:
gcc/
PR target/63783
PR target/51244
* config/sh/sh_treg_combi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #77 from Oleg Endo ---
Author: olegendo
Date: Sat Nov 22 15:06:34 2014
New Revision: 217968
URL: https://gcc.gnu.org/viewcvs?rev=217968&root=gcc&view=rev
Log:
gcc/
PR target/63986
PR target/51244
* config/sh/sh.c (sh_is_l
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #76 from Oleg Endo ---
When compiling the libgcc divsc3 from PR 55212 with "-O2 -m2 -ml" (on sh-lra
branch) the following sequences are generated:
tst r0,r0
subcr0,r0 ! r0: T == 0 -> 0x, T == 1 ->
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #75 from Oleg Endo ---
Author: olegendo
Date: Fri May 16 22:54:32 2014
New Revision: 210535
URL: http://gcc.gnu.org/viewcvs?rev=210535&root=gcc&view=rev
Log:
gcc/
PR target/51244
* config/sh/sh.c (sh_eval_treg_value): Handle
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #73 from Oleg Endo ---
Author: olegendo
Date: Fri Dec 6 10:46:53 2013
New Revision: 205734
URL: http://gcc.gnu.org/viewcvs?rev=205734&root=gcc&view=rev
Log:
PR target/51244
PR target/59343
* config/sh/sh.md (*cbranch_t):
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #72 from Oleg Endo ---
The original test case in PR 59343 is an interesting one with regard to T bit
optimizations (or the lack thereof):
void validate_number (char **numbertext)
{
char *ptr = *numbertext;
int valid = (ptr != 0) &
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #71 from Oleg Endo ---
(In reply to Oleg Endo from comment #70)
> Author: olegendo
> Date: Sat Oct 12 20:47:22 2013
> New Revision: 203492
>
The issue raised in comment #59 has been fixed on 4.9.
There are some open issues though, wh
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #70 from Oleg Endo ---
Author: olegendo
Date: Sat Oct 12 20:47:22 2013
New Revision: 203492
URL: http://gcc.gnu.org/viewcvs?rev=203492&root=gcc&view=rev
Log:
PR target/51244
* config/sh/sh_treg_combine.cc: New SH specific RTL
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
Oleg Endo changed:
What|Removed |Added
Attachment #30889|0 |1
is obsolete|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
Oleg Endo changed:
What|Removed |Added
Attachment #30689|0 |1
is obsolete|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #67 from Kazumoto Kojima ---
(In reply to Oleg Endo from comment #66)
> Kaz, the "WIP status" aside, would you be OK with something like that?
Yep. Sounds good to me.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #66 from Oleg Endo ---
Created attachment 30689
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30689&action=edit
WIP RTL pass
Just wanted to give an update on the issue.
I've been writing an SH specific RTL pass that handles tho
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #65 from Oleg Endo ---
(In reply to Oleg Endo from comment #64)
>
> would be simplified to this:
>
> mov.l @(4,r4),r1
> tst r1,r1 // T = @(4,r4) == 0
> .L3:
> bt/s.L5
> mov #1,r1
>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #64 from Oleg Endo ---
(In reply to Laurent Aflonsi from comment #61)
>
> The movt(L2) and the tst(L3) are both removed, and that's coherent for that
> run path, because it is preceded by the tst r2,r2.
> But that makes the first path
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #63 from Oleg Endo ---
Created attachment 30566
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30566&action=edit
Reduced test
(In reply to Laurent Aflonsi from comment #58)
> Created attachment 30524 [details]
> functional regres
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #62 from Oleg Endo ---
(In reply to Laurent Aflonsi from comment #61)
>
> More generally, I'm surprised to see that optimization at mapping level,
> isn't this a generic problematic that should be handled at rtl dead code
> eliminatio
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #61 from Laurent Aflonsi ---
Yes that's the point. L3 can be reached by another block (L2):
tstr2,r2
mov#-1,r2
negcr2,r2
.L3:
tstr2,r2
bt/s.L11
[...]
.L2:
mov.l@r4,r2
tst
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #60 from Oleg Endo ---
(In reply to Laurent Aflonsi from comment #59)
> I have a functional regression due to this improvement when we are compiling
> the enclosed example in -O2.
> $ sh-superh-elf-gcc -O2 pr51244-20-main.c pr51244-20
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #59 from Laurent Aflonsi ---
I have a functional regression due to this improvement when we are compiling
the enclosed example in -O2.
$ sh-superh-elf-gcc -O2 pr51244-20-main.c pr51244-20.c
$ sh-superh-elf-run a.out
FAIL
Thus, the
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
Laurent Aflonsi changed:
What|Removed |Added
CC||laurent.alfonsi at st dot com
--- Comme
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #57 from Oleg Endo 2012-11-03
12:01:05 UTC ---
Author: olegendo
Date: Sat Nov 3 12:01:01 2012
New Revision: 193119
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193119
Log:
PR target/51244
* config/sh/sh.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #56 from Oleg Endo 2012-10-15
22:08:14 UTC ---
Author: olegendo
Date: Mon Oct 15 22:08:07 2012
New Revision: 192481
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192481
Log:
PR target/51244
* config/sh/sh-
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #55 from Oleg Endo 2012-10-12
00:41:31 UTC ---
Author: olegendo
Date: Fri Oct 12 00:41:23 2012
New Revision: 192387
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192387
Log:
PR target/51244
* config/sh/sh.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #54 from Oleg Endo 2012-10-03
21:39:22 UTC ---
Author: olegendo
Date: Wed Oct 3 21:39:18 2012
New Revision: 192052
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192052
Log:
PR target/51244
* config/sh/sh.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #53 from Oleg Endo 2012-09-23
21:41:55 UTC ---
Another case that seems to go awry:
int test_1 (int a, int b, int c, int* d)
{
bool x = a == 0;
d[2] = !x;
return x ? b : c;
}
-O2 -m4:
tst r4,r4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
Oleg Endo changed:
What|Removed |Added
Summary|SH Target: Inefficient |[SH] Inefficient
|
36 matches
Mail list logo