[Bug target/51244] [SH] Inefficient conditional branch and code around T bit

2013-07-28 Thread olegendo at gcc dot gnu.org
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

[Bug target/51244] [SH] Inefficient conditional branch and code around T bit

2013-07-28 Thread olegendo at gcc dot gnu.org
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

[Bug target/58017] New: [SH] Use shift and test for unsigned compare

2013-07-28 Thread olegendo at gcc dot gnu.org
: target Assignee: unassigned at gcc dot gnu.org Reporter: olegendo at gcc dot gnu.org Target: sh*-*-* On SH unsigned int comparisons against some constants can be converted to shift and test sequences to potentially save one register. For example: int test_00

[Bug rtl-optimization/9702] [ARM] Constant pools are not shared among functions

2013-07-28 Thread olegendo at gcc dot gnu.org
||olegendo at gcc dot gnu.org --- Comment #8 from Oleg Endo --- The same applies to SH and probably other targets that use constant pools in the text sections.

[Bug tree-optimization/58011] GCC segfaults at -O1

2013-07-28 Thread olegendo at gcc dot gnu.org
||2013-07-28 CC||eraman at google dot com, ||olegendo at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Oleg Endo --- With SVN rev 201282, SH cross compiler and

[Bug target/54682] [SH] Replace constant loads with reg-reg copies

2013-07-30 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54682 --- Comment #2 from Oleg Endo --- A related case, but the other way around: #include std::bitset<32> make_bits (void) { std::bitset<32> r; for (auto&& i : { 4, 5, 6, 10 }) if (i < r.size ()) r.set (i); return r; } results in t

[Bug rtl-optimization/58033] New: counterproductive bb-reorder

2013-07-30 Thread olegendo at gcc dot gnu.org
Assignee: unassigned at gcc dot gnu.org Reporter: olegendo at gcc dot gnu.org CC: steven at gcc dot gnu.org, tejohnson at google dot com Target: sh*-*-* On SH, compiling the following code with -O2 #include std::bitset<32> make_bits (void) {

[Bug rtl-optimization/58033] counterproductive bb-reorder

2013-07-30 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58033 --- Comment #1 from Oleg Endo --- ... according to the changelog you've been doing some things on bb-reorder.c, maybe you have an idea?

[Bug rtl-optimization/58033] counterproductive bb-reorder

2013-07-30 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58033 --- Comment #3 from Oleg Endo --- Created attachment 30574 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30574&action=edit bbro dump (In reply to Teresa Johnson from comment #2) > > I assume it is the above branch that is the issue (not th

[Bug target/53513] SH Target: Add support for fschg and fpchg insns

2013-07-31 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53513 --- Comment #2 from Oleg Endo --- See also PR 29349.

[Bug target/51244] [SH] Inefficient conditional branch and code around T bit

2013-07-31 Thread olegendo at gcc dot gnu.org
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 >

[Bug target/53976] [SH] Unnecessary clrt after bt

2013-08-03 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53976 --- Comment #3 from Oleg Endo --- (In reply to Oleg Endo from comment #2) > Interestingly, the following function shows some improved behavior (notice > the removed volatile mem store): > > int test_2_1 (int* a, int b, int c) > { > a[1] = b !=

[Bug other/12081] Gcc can't be compiled with -mregparm=3

2013-08-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12081 Oleg Endo changed: What|Removed |Added Component|target |other --- Comment #26 from Oleg Endo --- I d

[Bug other/12081] Gcc can't be compiled with -mregparm=3

2013-08-07 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12081 --- Comment #29 from Oleg Endo --- (In reply to Uroš Bizjak from comment #28) > (In reply to Michael Meissner from comment #27) > > The patch from Oleg Endo breaks the PowerPC build. > > > > .../gcc/config/rs6000/rs6000.c: In function ‘void > > r

[Bug target/42947] multilib and startup files paths differ on sh4 with -m4 and without -m4 where -m4 is default multilib

2013-08-11 Thread olegendo at gcc dot gnu.org
, ||olegendo at gcc dot gnu.org --- Comment #2 from Oleg Endo --- Kaz, maybe you have an idea whether/how this could be improved?

[Bug tree-optimization/58122] New: loops are not evaluated at compile time if loop count > 17

2013-08-11 Thread olegendo at gcc dot gnu.org
mal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: olegendo at gcc dot gnu.org This one was originally reported here: http://gcc.gnu.org/ml/gcc-help/2013-08/msg00124.html The original example was: #include template inlin

[Bug tree-optimization/58122] loops are not evaluated at compile time if loop count > 17

2013-08-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58122 --- Comment #1 from Oleg Endo --- (In reply to Oleg Endo from comment #0) > > I've checked this with an SH cross compiler setup, but I don't think it > matters. > The loops do get eliminated if the number of loop iterations is max. 17, for > both

[Bug tree-optimization/58122] loops are not evaluated at compile time if loop count > 17

2013-08-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58122 --- Comment #3 from Oleg Endo --- Looking at the tree dump (-fdump-tree-all -fdump-tree-all-details), it seems that this is related to loop unrolling (dump file *t.cunroll) and induction variable optimization. If the number of iterations is small

[Bug target/53976] [SH] Unnecessary clrt after bt

2013-08-18 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53976 --- Comment #4 from Oleg Endo --- One option to get rid of the redundant clrt and sett in BBs that are reached with a conditional branch would be to add an SH specific RTL pass that analyses the BBs and eliminates the insns in question. Another o

[Bug target/58219] New: [SH] mov.l insn length is wrong on SH2A

2013-08-22 Thread olegendo at gcc dot gnu.org
Assignee: unassigned at gcc dot gnu.org Reporter: olegendo at gcc dot gnu.org Target: sh2a*-*-* As of rev 201282, when compiling for SH2A mov.l insn lengths are wrongly set to 4 bytes: int test (int* x) { return x[0]; } void test (int* x, int y) { x[0] = y

[Bug target/51244] [SH] Inefficient conditional branch and code around T bit

2013-08-22 Thread olegendo at gcc dot gnu.org
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

[Bug other/12081] Gcc can't be compiled with -mregparm=3

2013-08-29 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12081 --- Comment #31 from Oleg Endo --- Author: olegendo Date: Thu Aug 29 18:37:46 2013 New Revision: 202083 URL: http://gcc.gnu.org/viewcvs?rev=202083&root=gcc&view=rev Log: Backport from mainline 2013-08-05 Oleg Endo PR other/12081

[Bug other/12081] Gcc can't be compiled with -mregparm=3

2013-08-29 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12081 Oleg Endo changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug target/54272] [SH] Add support for addv / subv instructions

2013-09-19 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54272 --- Comment #6 from Oleg Endo --- Another example where addv could be used: int test (int a) { if (a == 0x7FFF) return a; return a + 1; } currently compiles to: -O2 -m2a: mov.l .L6,r1 cmp/eq r1,r4 bt.s

[Bug target/58475] SH4 insn swapb does not satisfy its constraints:

2013-09-20 Thread olegendo at gcc dot gnu.org
|NEW Last reconfirmed||2013-09-20 CC||olegendo at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from Oleg Endo --- FPUL handling seems to need some work in general, see also

[Bug target/54236] [SH] Improve addc and subc insn utilization

2013-09-22 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54236 --- Comment #3 from Oleg Endo --- Some more addc candidates I ran into: int test00 (int a, int b, int c, int d) { return (d & 1) + a + b; } -O2 -m4: mov r7,r0 and #1,r0 add r4,r0 rts add

[Bug target/58517] New: [SH] wrong code with subc and movsicc (-mpretend-cmove) after ce2

2013-09-23 Thread olegendo at gcc dot gnu.org
Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: olegendo at gcc dot gnu.org Target: sh*-*-* While working on something else, I've noticed the following sequence in the CSiBE set in the file zlib-1.1.4/infbl

[Bug target/51244] [SH] Inefficient conditional branch and code around T bit

2013-09-24 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244 Oleg Endo changed: What|Removed |Added Attachment #30689|0 |1 is obsolete|

[Bug target/52941] SH Target: Add support for movco.l / movli.l atomics on SH4A

2012-04-30 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52941 --- Comment #9 from Oleg Endo 2012-04-30 19:16:31 UTC --- (In reply to comment #8) > (In reply to comment #7) > > Created attachment 27173 [details] > > Proposed patch > > Looks even better. > > > Only one thing ... is it safe to do the > > "@-

[Bug target/52941] SH Target: Add support for movco.l / movli.l atomics on SH4A

2012-04-30 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52941 Oleg Endo changed: What|Removed |Added Attachment #27173|0 |1 is obsolete|

[Bug target/50751] SH Target: Displacement addressing does not work for QImode and HImode

2012-04-30 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50751 --- Comment #29 from Oleg Endo 2012-04-30 19:37:50 UTC --- (In reply to comment #28) > I'm now trying to work around this by adding special insn_and_split patterns > for the reload phase and removing the displacement addressing special cases in >

[Bug target/53250] [4.8 Regression] [SH] ICE: in change_address_1, at emit-rtl.c:2018

2012-05-06 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53250 Oleg Endo changed: What|Removed |Added Target|sh4-unknown-linux-gnu |sh*-*-* Status|UNCONFIRMED

[Bug target/53250] [4.8 Regression] [SH] ICE: in change_address_1, at emit-rtl.c:2018

2012-05-06 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53250 --- Comment #2 from Oleg Endo 2012-05-06 18:04:27 UTC --- Created attachment 27326 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27326 Proposed patch (In reply to comment #0) > On sh4-unknown-linux-gnu, there are many new failures after re

[Bug rtl-optimization/53176] [4.8 Regression] gcc.dg/lower-subreg-1.c FAILs

2012-05-06 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53176 Oleg Endo changed: What|Removed |Added CC||olegendo at gcc dot gnu.org --- Comment #18

[Bug rtl-optimization/53176] [4.8 Regression] gcc.dg/lower-subreg-1.c FAILs

2012-05-06 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53176 --- Comment #20 from Oleg Endo 2012-05-06 19:21:18 UTC --- (In reply to comment #19) > "olegendo at gcc dot gnu.org" writes: > > --- Comment #18 from Oleg Endo 2012-05-06 > > 18:09:37 UTC --- > > On SH an issue

[Bug target/53250] [4.8 Regression] [SH] ICE: in change_address_1, at emit-rtl.c:2018

2012-05-06 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53250 --- Comment #3 from Oleg Endo 2012-05-06 22:39:01 UTC --- Author: olegendo Date: Sun May 6 22:38:57 2012 New Revision: 187218 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187218 Log: PR target/53250 * config/sh/sh.c (sh_rtx_cos

[Bug target/53268] New: [4.8 Regression] [SH] libstdc++-dg/conformance.exp failures

2012-05-07 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53268 Bug #: 53268 Summary: [4.8 Regression] [SH] libstdc++-dg/conformance.exp failures Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED

[Bug target/51244] SH Target: Inefficient conditional branch

2012-05-07 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244 --- Comment #37 from Oleg Endo 2012-05-07 20:50:31 UTC --- Created attachment 27336 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27336 Supplementary patch As of rev 187217, the pr51244-1.c target testcase fails at least for m4*. The attac

[Bug target/51244] SH Target: Inefficient conditional branch

2012-05-08 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244 --- Comment #38 from Oleg Endo 2012-05-08 21:36:35 UTC --- Author: olegendo Date: Tue May 8 21:36:30 2012 New Revision: 187298 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187298 Log: PR target/51244 * config/sh/sh.md (*branch_

[Bug target/53268] [4.8 Regression] [SH] libstdc++-dg/conformance.exp failures

2012-05-28 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53268 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|

[Bug target/53511] New: SH Target: Add support for fma patterns

2012-05-28 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53511 Bug #: 53511 Summary: SH Target: Add support for fma patterns Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority:

[Bug target/51340] SH Target: Make -mfused-madd enabled by default

2012-05-28 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51340 Oleg Endo changed: What|Removed |Added CC||olegendo at gcc dot gnu.org --- Comment #5

[Bug target/53512] New: SH Target: Allow fsca and fsrra for non-SH4A

2012-05-28 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53512 Bug #: 53512 Summary: SH Target: Allow fsca and fsrra for non-SH4A Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Prior

[Bug target/53513] New: SH Target: Add support for fschg and fpchg insns

2012-05-28 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53513 Bug #: 53513 Summary: SH Target: Add support for fschg and fpchg insns Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal P

[Bug target/52941] SH Target: Add support for movco.l / movli.l atomics on SH4A

2012-05-29 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52941 --- Comment #11 from Oleg Endo 2012-05-29 20:26:46 UTC --- Author: olegendo Date: Tue May 29 20:26:41 2012 New Revision: 187987 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187987 Log: PR target/52941 * config/sh/predicates.md (

[Bug target/51340] SH Target: Make -mfused-madd enabled by default

2012-05-29 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51340 --- Comment #6 from Oleg Endo 2012-05-29 20:56:02 UTC --- Author: olegendo Date: Tue May 29 20:55:58 2012 New Revision: 187988 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187988 Log: PR target/51340 * config/sh/sh.c (sh_option_

[Bug target/51340] SH Target: Make -mfused-madd enabled by default

2012-05-29 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51340 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|

[Bug libstdc++/29366] atomics config for sh is weird

2012-05-29 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29366 Oleg Endo changed: What|Removed |Added Depends on|52941 | --- Comment #4 from Oleg Endo 2012-05-29 21

[Bug target/52971] gcc ICE with an sh64 cross-compilation

2012-05-31 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52971 Oleg Endo changed: What|Removed |Added CC||olegendo at gcc dot gnu.org --- Comment #1

[Bug target/52642] SH Target: libstdc++ failures due to call insn swapped before prologue frame insns

2012-05-31 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52642 --- Comment #2 from Oleg Endo 2012-05-31 23:01:22 UTC --- Author: olegendo Date: Thu May 31 23:01:13 2012 New Revision: 188087 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188087 Log: Backport from mainline 2012-03-21 Kaz Kojim

[Bug target/52667] sh_reorg segfault

2012-05-31 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52667 --- Comment #4 from Oleg Endo 2012-05-31 23:04:08 UTC --- Author: olegendo Date: Thu May 31 23:04:02 2012 New Revision: 188089 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188089 Log: Backport from mainline 2012-03-27 Chung-Lin

[Bug target/53512] SH Target: Allow fsca and fsrra for non-SH4A

2012-06-03 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53512 --- Comment #2 from Oleg Endo 2012-06-03 11:26:58 UTC --- Author: olegendo Date: Sun Jun 3 11:26:54 2012 New Revision: 188149 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188149 Log: PR target/53512 * sh.opt (mfsca, mfsrra): Ne

[Bug target/53512] SH Target: Allow fsca and fsrra for non-SH4A

2012-06-03 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53512 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|

[Bug target/53511] SH Target: Add support for fma patterns

2012-06-03 Thread olegendo at gcc dot gnu.org
||2012-06-03 AssignedTo|unassigned at gcc dot |olegendo at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1

[Bug target/53511] SH Target: Add support for fma patterns

2012-06-03 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53511 --- Comment #1 from Oleg Endo 2012-06-03 18:01:31 UTC --- Created attachment 27547 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27547 Propo

[Bug target/53511] SH Target: Add support for fma patterns

2012-06-03 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53511 Oleg Endo changed: What|Removed |Added CC||kkojima at gcc dot gnu.org --- Comment #2 fro

[Bug target/53568] New: SH Target: Add support for bswap built-ins

2012-06-03 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53568 Bug #: 53568 Summary: SH Target: Add support for bswap built-ins Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priorit

[Bug libstdc++/53579] New: libstdc++ configure atomicity tests use CXXFLAGS instead of CXXFLAGS_FOR_TARGET

2012-06-04 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53579 Bug #: 53579 Summary: libstdc++ configure atomicity tests use CXXFLAGS instead of CXXFLAGS_FOR_TARGET Classification: Unclassified Product: gcc Version: 4.8.0 Status:

[Bug libstdc++/29366] atomics config for sh is weird

2012-06-04 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29366 Oleg Endo changed: What|Removed |Added Depends on||53579 --- Comment #5 from Oleg Endo 2012-06-

[Bug target/53511] SH Target: Add support for fma patterns

2012-06-04 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53511 Oleg Endo changed: What|Removed |Added Attachment #27547|0 |1 is obsolete|

[Bug target/53511] SH Target: Add support for fma patterns

2012-06-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53511 --- Comment #7 from Oleg Endo 2012-06-05 20:08:08 UTC --- > (In reply to comment #4) > > Make -mfused-madd no-op instead to remove for the backward > compatibility. Sorry, I don't quite follow. According to my understanding we have something l

[Bug target/53511] SH Target: Add support for fma patterns

2012-06-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53511 --- Comment #8 from Oleg Endo 2012-06-05 20:12:51 UTC --- (In reply to comment #6) > Looking into the __builtin_sh_media_FMAC_S implementation, it takes > 2 floating arguments and one return float value. It looks that > "a = __builtin_sh_media_F

[Bug target/53511] SH Target: Add support for fma patterns

2012-06-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53511 --- Comment #10 from Oleg Endo 2012-06-05 23:06:33 UTC --- (In reply to comment #9) > Yes. -mfused-madd is for a micro optimization after all. It would > be tolerable even if it can't generate fmac insns in the case like (*). > OTOH deleting th

[Bug target/53621] [SH] Frame pointers not generated with -fno-omit-frame-pointer on GCC 4.7.0

2012-06-10 Thread olegendo at gcc dot gnu.org
||2012-06-10 CC||kkojima at gcc dot gnu.org, ||olegendo at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #2 from Oleg Endo 2012-06-10 19:13:44 UTC --- (In reply to

[Bug target/53511] SH Target: Add support for fma patterns

2012-06-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53511 --- Comment #12 from Oleg Endo 2012-06-11 19:24:24 UTC --- Author: olegendo Date: Mon Jun 11 19:24:20 2012 New Revision: 188396 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188396 Log: PR target/53511 * config/sh/sh.md (fmasf4):

[Bug target/53568] SH Target: Add support for bswap built-ins

2012-06-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53568 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed|

[Bug middle-end/50749] Auto-inc-dec does not find subsequent contiguous mem accesses

2012-06-12 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50749 --- Comment #12 from Oleg Endo 2012-06-12 07:09:58 UTC --- Author: olegendo Date: Tue Jun 12 07:09:52 2012 New Revision: 188426 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188426 Log: PR target/50749 * gcc.target/sh/pr50749-sf-

[Bug target/53511] SH Target: Add support for fma patterns

2012-06-12 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53511 --- Comment #13 from Oleg Endo 2012-06-12 18:25:46 UTC --- Author: olegendo Date: Tue Jun 12 18:25:40 2012 New Revision: 188471 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188471 Log: PR target/53511 * gcc.target/sh/pr51340-1.c

[Bug target/53568] SH Target: Add support for bswap built-ins

2012-06-13 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53568 --- Comment #1 from Oleg Endo 2012-06-13 18:45:56 UTC --- Author: olegendo Date: Wed Jun 13 18:45:17 2012 New Revision: 188524 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188524 Log: PR target/53568 * config/sh/sh.md (bswapsi2)

[Bug target/53568] SH Target: Add support for bswap built-ins

2012-06-14 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53568 --- Comment #2 from Oleg Endo 2012-06-14 19:33:17 UTC --- Author: olegendo Date: Thu Jun 14 19:33:10 2012 New Revision: 188632 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188632 Log: PR target/53568 * config/sh/sh.md: Add peeph

[Bug target/52941] SH Target: Add support for movco.l / movli.l atomics on SH4A

2012-06-16 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52941 --- Comment #13 from Oleg Endo 2012-06-16 08:30:34 UTC --- (In reply to comment #12) > Probably, you should update libjava/sysdep/sh/locks.h as well. Just for the record, this was fixed by: http://gcc.gnu.org/ml/gcc-patches/2012-06/msg00971.html

[Bug target/51244] SH Target: Inefficient conditional branch

2012-06-30 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244 --- Comment #39 from Oleg Endo 2012-06-30 12:00:38 UTC --- Created attachment 27724 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27724 Another patch I have noticed that the branch_true and branch_false insns also require some subreg varia

[Bug target/51244] SH Target: Inefficient conditional branch

2012-07-02 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244 --- Comment #40 from Oleg Endo 2012-07-02 19:24:03 UTC --- Author: olegendo Date: Mon Jul 2 19:23:56 2012 New Revision: 189177 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=189177 Log: PR target/51244 * config/sh/predicates.md (

[Bug target/53568] SH Target: Add support for bswap built-ins

2012-07-02 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53568 --- Comment #3 from Oleg Endo 2012-07-02 23:00:05 UTC --- Author: olegendo Date: Mon Jul 2 22:59:59 2012 New Revision: 189181 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=189181 Log: PR target/53568 * gcc.target/sh/pr53568-1.c:

[Bug target/11606] testcases gcc.dg/pack-test-1.c, gcc.dg/pack-test-2.c fail

2012-07-02 Thread olegendo at gcc dot gnu.org
||olegendo at gcc dot gnu.org Resolution||FIXED --- Comment #8 from Oleg Endo 2012-07-02 23:37:59 UTC --- I'm not sure since when, but at least as of rev 189180 (4.8) this problem does not occur anymore.

[Bug target/53689] [SH] GCC emits an invalid slot instruction for RTE (Return from Exception)

2012-07-06 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53689 --- Comment #1 from Oleg Endo 2012-07-06 17:59:34 UTC --- (In reply to comment #0) > Under target (sh-elf) big-endian SuperH-2 (SH7604) (options -m2 -mb > -fno-omit-frame-pointer). > > When defining an interrupt handler: > static void __attribut

[Bug target/39423] [4.6/4.7/4.8 Regression] [SH] performance regression: lost mov @(disp,Rn)

2012-07-06 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39423 --- Comment #15 from Oleg Endo 2012-07-06 22:04:15 UTC --- Created attachment 27754 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27754 combine pass based patch A possible combine pass based solution for the problem. It fixes the case ment

[Bug target/53886] Seg fault in sh_insn_length_adjustment

2012-07-08 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53886 Oleg Endo changed: What|Removed |Added CC||olegendo at gcc dot gnu.org --- Comment #1

[Bug target/53886] Seg fault in sh_insn_length_adjustment

2012-07-08 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53886 Oleg Endo changed: What|Removed |Added CC||kkojima at gcc dot gnu.org --- Comment #2 fro

[Bug target/53886] Seg fault in sh_insn_length_adjustment

2012-07-08 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53886 --- Comment #4 from Oleg Endo 2012-07-08 12:19:09 UTC --- (In reply to comment #3) > Created attachment 27763 [details] > preprocessed src > > Sorry, I had tried to attach it during the bug creation but I didn't notice it > didn't take. Thanks.

[Bug target/53886] Seg fault in sh_insn_length_adjustment

2012-07-08 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53886 Oleg Endo changed: What|Removed |Added Target|sh4-unknown-linux-gnu |sh*-*-* Status|UNCONFIRMED

[Bug target/53886] Seg fault in sh_insn_length_adjustment

2012-07-08 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53886 --- Comment #6 from Oleg Endo 2012-07-08 13:45:28 UTC --- (In reply to comment #5) > (In reply to comment #4) > > The patch below fixes this particular crash, but I'm not sure whether it is > > the right thing to do in this case. > > Looks fine

[Bug target/51244] SH Target: Inefficient conditional branch

2012-07-08 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244 --- Comment #41 from Oleg Endo 2012-07-08 15:03:26 UTC --- Author: olegendo Date: Sun Jul 8 15:03:21 2012 New Revision: 189360 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=189360 Log: PR target/51244 * config/sh/sh.md (*branch_

[Bug target/53886] Seg fault in sh_insn_length_adjustment

2012-07-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53886 --- Comment #8 from Oleg Endo 2012-07-09 22:39:29 UTC --- Author: olegendo Date: Mon Jul 9 22:39:25 2012 New Revision: 189394 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=189394 Log: PR target/53886 * config/sh/sh.c (sequence_i

[Bug target/53911] New: [SH] Improve displacement addressing

2012-07-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53911 Bug #: 53911 Summary: [SH] Improve displacement addressing Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: enhancement Priority

[Bug target/53911] [SH] Improve displacement addressing

2012-07-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53911 --- Comment #1 from Oleg Endo 2012-07-10 22:01:53 UTC --- Author: olegendo Date: Tue Jul 10 22:01:44 2012 New Revision: 189416 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=189416 Log: PR target/53911 * config/sh/sh.md: Remove di

[Bug target/53886] Seg fault in sh_insn_length_adjustment

2012-07-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53886 --- Comment #9 from Oleg Endo 2012-07-10 22:07:36 UTC --- Author: olegendo Date: Tue Jul 10 22:07:29 2012 New Revision: 189417 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=189417 Log: PR target/53886 * gcc.c-torture/compile/pr53

[Bug target/53886] Seg fault in sh_insn_length_adjustment

2012-07-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53886 Oleg Endo changed: What|Removed |Added Status|NEW |RESOLVED Resolution|

[Bug target/53689] [SH] GCC emits an invalid slot instruction for RTE (Return from Exception)

2012-07-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53689 --- Comment #3 from Oleg Endo 2012-07-11 13:05:59 UTC --- (In reply to comment #2) > (In reply to comment #1) > > (In reply to comment #0) > > > Under target (sh-elf) big-endian SuperH-2 (SH7604) (options -m2 -mb > > > I've checked this case wit

[Bug target/39423] [4.6/4.7/4.8 Regression] [SH] performance regression: lost mov @(disp,Rn)

2012-07-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39423 --- Comment #18 from Oleg Endo 2012-07-11 15:09:02 UTC --- (In reply to comment #17) > Created attachment 27775 [details] > plus add combine > > Here is the patch that I've been running since some time, it also use the same > combine pattern mat

[Bug rtl-optimization/11708] [sh4-elf-gcc] Non-Optimal jump code generation.

2012-07-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11708 Oleg Endo changed: What|Removed |Added CC||olegendo at gcc dot gnu.org --- Comment #7

[Bug target/51241] SH Target: Unnecessary sign/zero extensions

2012-07-11 Thread olegendo at gcc dot gnu.org
||olegendo at gcc dot gnu.org Resolution||WORKSFORME --- Comment #2 from Oleg Endo 2012-07-11 23:44:40 UTC --- As of rev 189427 this seems to be OK. Probably the described cases were side effects of other issues which have been solved.

[Bug target/53949] New: [SH] Add support for mac.w / mac.l instructions

2012-07-13 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53949 Bug #: 53949 Summary: [SH] Add support for mac.w / mac.l instructions Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Pr

[Bug target/39423] [4.6/4.7/4.8 Regression] [SH] performance regression: lost mov @(disp,Rn)

2012-07-13 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39423 --- Comment #21 from Oleg Endo 2012-07-13 09:36:36 UTC --- (In reply to comment #20) > I like your mem,plus,plus combine that look better than my folding. just there > are 2 little details that I tried while playing with it: there was a > lost of

[Bug target/53949] [SH] Add support for mac.w / mac.l instructions

2012-07-13 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53949 --- Comment #1 from Oleg Endo 2012-07-13 10:34:20 UTC --- (In reply to comment #0) > So far, GCC does not utilize the integer multiply-add instructions. > On SH1 only the mac.w instruction is supported. > On SH2 and above the mac.w and mac.l inst

[Bug target/53949] [SH] Add support for mac.w / mac.l instructions

2012-07-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53949 --- Comment #3 from Oleg Endo 2012-07-15 12:11:20 UTC --- Created attachment 27799 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27799 Proof of concept patch This is a proof of concept patch just to probe around. The idea is to allow the R

[Bug target/29969] should use floating point registers for block copies

2012-07-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29969 Oleg Endo changed: What|Removed |Added CC||olegendo at gcc dot gnu.org --- Comment #4

[Bug target/33135] [SH] -ffinite-math-only should not be on by default

2012-07-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33135 Oleg Endo changed: What|Removed |Added CC||olegendo at gcc dot gnu.org --- Comment #1

[Bug target/53689] [SH] GCC emits an invalid slot instruction for RTE (Return from Exception)

2012-07-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53689 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|

[Bug target/53976] New: [SH] Unnecessary clrt after bt

2012-07-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53976 Bug #: 53976 Summary: [SH] Unnecessary clrt after bt Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: enhancement Priority: P3

<    1   2   3   4   5   6   7   8   9   10   >