[Bug target/52480] SH Target: SH4A movua.l does not work for big endian

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

[Bug target/54762] [SH] Utilize zero-displacement branches for conditional far branches

2012-10-08 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54762 --- Comment #2 from Oleg Endo 2012-10-08 18:07:30 UTC --- (In reply to comment #1) > When you do this, I'd recommend generating "real" labels in gcc based on %= > (say, ".L.fb%=" instead of local labels, which should be left to the gcc use

[Bug middle-end/54685] [SH] Improve unsigned int comparison with 0x7FFFFFFF

2012-10-08 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54685 Oleg Endo changed: What|Removed |Added Component|target |middle-end --- Comment #3 from Oleg

[Bug target/54699] [4.8 Regression] [SH] gfortran.dg/class_array_9.f03 ICEs

2012-10-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54699 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug target/54760] [SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer

2012-10-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54760 --- Comment #3 from Oleg Endo 2012-10-09 18:59:19 UTC --- Author: olegendo Date: Tue Oct 9 18:59:11 2012 New Revision: 192269 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192269 Log: PR target/54760 * doc/extend.tex

[Bug target/54760] [SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer

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

[Bug target/54680] [SH] Unnecessary int-float-int conversion of fsca fixed point input

2012-10-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54680 --- Comment #1 from Oleg Endo 2012-10-09 19:57:35 UTC --- (In reply to comment #0) > > Another scenario that does not work however is: > > float test03 (int x) > { > return sinf ( x * 2 * pi / 65536 ); > } > > (Notice the missi

[Bug target/54602] [SH] Register pop insn not put in rts delay slot

2012-10-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54602 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug target/54602] [SH] Register pop insn not put in rts delay slot

2012-10-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54602 --- Comment #2 from Oleg Endo 2012-10-09 22:57:40 UTC --- (In reply to comment #1) > The problem is the "*movsi_pop" insn. It prevents delay-slot stuffing of pop > insns on everything < SH3. This was probably added to avoid pop insns in

[Bug target/54699] [4.8 Regression] [SH] gfortran.dg/class_array_9.f03 ICEs

2012-10-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54699 --- Comment #6 from Oleg Endo 2012-10-10 00:22:54 UTC --- (In reply to comment #5) > > It looks we've got reg+reg+const addressing. It seems that > reload_completed simply means that hard register are allocated > already but doesn't me

[Bug target/54602] [SH] Register pop insn not put in rts delay slot

2012-10-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54602 Oleg Endo changed: What|Removed |Added CC||kkojima at gcc dot gnu.org --- Comm

[Bug target/52480] SH Target: SH4A movua.l does not work for big endian

2012-10-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52480 --- Comment #4 from Oleg Endo 2012-10-10 00:51:03 UTC --- Author: olegendo Date: Wed Oct 10 00:50:37 2012 New Revision: 192283 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192283 Log: PR target/52480 * config/sh/sh.m

[Bug target/52480] SH Target: SH4A movua.l does not work for big endian

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

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

2012-10-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54682 --- Comment #1 from Oleg Endo 2012-10-10 22:17:13 UTC --- Another thing that could be considered are T bit stores via the 'movt' insn. For example: movt r2 ! EX < something else; r2, T not modified> movt r4 ! EX

[Bug target/54602] [SH] Register pop insn not put in rts delay slot

2012-10-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54602 --- Comment #5 from Oleg Endo 2012-10-10 23:24:07 UTC --- (In reply to comment #4) > > I don't know the history about it. I can only imagine that some > system could assume some banked regs will be not clobbered with > their exception

[Bug target/54602] [SH] Register pop insn not put in rts delay slot

2012-10-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54602 --- Comment #6 from Oleg Endo 2012-10-11 13:48:04 UTC --- (In reply to comment #5) > (In reply to comment #4) > > > > I don't know the history about it. I can only imagine that some > > system could assume some banked regs will be not

[Bug target/54760] [SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer

2012-10-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54760 Oleg Endo changed: What|Removed |Added Status|RESOLVED|REOPENED CC|

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

2012-10-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53949 --- Comment #7 from Oleg Endo 2012-10-11 20:43:02 UTC --- A note regarding the SR.S bit. The insns sets and clrs are available only on SH3* and SH4*. SH1* and SH2* (incl SH2A) do not implement them.

[Bug target/54760] [SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer

2012-10-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54760 --- Comment #7 from Oleg Endo 2012-10-12 00:26:42 UTC --- (In reply to comment #6) > (In reply to comment #5) > > Kaz, do you happen to know something regarding this matter? > > My SH4 software manual says for STC that all stc/stc.l ins

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

2012-10-11 Thread olegendo at gcc dot gnu.org
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.

[Bug target/54760] [SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer

2012-10-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54760 --- Comment #9 from Oleg Endo 2012-10-12 00:45:45 UTC --- Author: olegendo Date: Fri Oct 12 00:45:36 2012 New Revision: 192388 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192388 Log: PR target/54760 * config/sh/sh.c

[Bug target/54760] [SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer

2012-10-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54760 --- Comment #10 from Oleg Endo 2012-10-12 00:50:44 UTC --- (In reply to comment #8) > (In reply to comment #7) > > * Slot illegal instruction exception <<< but which insns?!?! > > Ah, you could see a list in that manual rej09b0003_

[Bug target/54680] [SH] Unnecessary int-float-int conversion of fsca fixed point input

2012-10-12 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54680 --- Comment #2 from Oleg Endo 2012-10-12 23:19:32 UTC --- Author: olegendo Date: Fri Oct 12 23:19:27 2012 New Revision: 192416 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192416 Log: PR target/54680 * config/sh/sh.c

[Bug target/54602] [SH] Register pop insn not put in rts delay slot

2012-10-12 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54602 --- Comment #7 from Oleg Endo 2012-10-12 23:22:52 UTC --- Author: olegendo Date: Fri Oct 12 23:22:48 2012 New Revision: 192417 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192417 Log: PR target/54602 * config/sh/sh.m

[Bug target/54925] Segfault in gen_split_910

2012-10-14 Thread olegendo at gcc dot gnu.org
|UNCONFIRMED |ASSIGNED Last reconfirmed||2012-10-14 AssignedTo|unassigned at gcc dot |olegendo at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Oleg

[Bug target/34777] uClibc-0.9.29 compilation error for sh4 arch with gcc-4.x

2012-10-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34777 --- Comment #7 from Oleg Endo 2012-10-15 21:59:27 UTC --- Author: olegendo Date: Mon Oct 15 21:59:21 2012 New Revision: 192478 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192478 Log: PR target/34777 * gcc.target/sh/

[Bug target/54760] [SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer

2012-10-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54760 --- Comment #11 from Oleg Endo 2012-10-15 22:04:42 UTC --- Author: olegendo Date: Mon Oct 15 22:04:37 2012 New Revision: 192480 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192480 Log: PR target/54760 * config/sh/sh.

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

2012-10-15 Thread olegendo at gcc dot gnu.org
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-

[Bug target/34777] uClibc-0.9.29 compilation error for sh4 arch with gcc-4.x

2012-10-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34777 --- Comment #8 from Oleg Endo 2012-10-15 22:09:34 UTC --- Since this doesn't seem to be an issue on current trunk (4.8), can we close this PR?

[Bug target/54925] Segfault in gen_split_910

2012-10-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54925 --- Comment #2 from Oleg Endo 2012-10-15 22:15:24 UTC --- Author: olegendo Date: Mon Oct 15 22:15:18 2012 New Revision: 192482 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192482 Log: PR target/54925 * gcc.c-torture/

[Bug target/34777] uClibc-0.9.29 compilation error for sh4 arch with gcc-4.x

2012-10-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34777 --- Comment #10 from Oleg Endo 2012-10-16 00:17:41 UTC --- (In reply to comment #9) > (In reply to comment #8) > > Since this doesn't seem to be an issue on current trunk (4.8), can we close > > this PR? > > The test case in PR 34807 w

[Bug target/34777] uClibc-0.9.29 compilation error for sh4 arch with gcc-4.x

2012-10-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34777 --- Comment #11 from Oleg Endo 2012-10-16 00:58:27 UTC --- The following... Index: gcc/config/sh/sh.c === --- gcc/config/sh/sh.c(revision 192482) +++ gcc/config/sh/sh.

[Bug target/54925] Segfault in gen_split_910

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

[Bug target/54938] sh libgcc_unpack_df.o fails to build: ../../../srcw/libgcc/fp-bit.h:221:19: internal compiler error: in emit_cmp_and_jump_insn_1, at optabs.c:4273

2012-10-16 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54938 Oleg Endo changed: What|Removed |Added CC||olegendo at gcc dot gnu.org

[Bug target/54089] [SH] Refactor shift patterns

2012-10-16 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #23 from Oleg Endo 2012-10-16 11:49:14 UTC --- (In reply to comment #22) > (In reply to comment #0) > > The code related to shift patterns in sh.c / sh.md maybe could use some > > improvements here and there. In some places c

[Bug target/54938] sh libgcc_unpack_df.o fails to build: ../../../srcw/libgcc/fp-bit.h:221:19: internal compiler error: in emit_cmp_and_jump_insn_1, at optabs.c:4273

2012-10-16 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54938 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug target/54938] sh libgcc_unpack_df.o fails to build: ../../../srcw/libgcc/fp-bit.h:221:19: internal compiler error: in emit_cmp_and_jump_insn_1, at optabs.c:4273

2012-10-16 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54938 --- Comment #5 from Oleg Endo 2012-10-16 21:22:02 UTC --- (In reply to comment #4) > > > > In emit_cmp_and_jump_insn_1, the line > > > > gcc_assert (!find_reg_note (insn, REG_BR_PROB, 0)); > > > > blows up, because of config/s

[Bug target/54830] [SH] Unnecessary exts.w before extu.b

2012-10-18 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54830 --- Comment #1 from Oleg Endo 2012-10-18 19:24:36 UTC --- Created attachment 28487 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28487 Reduced test case This is the reduced test case. It shows that there are actually two redundan

[Bug target/54830] [SH] Unnecessary exts.w before extu.b

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

[Bug target/54963] [4.8 Regression] Wrong code generated for libgfortran/generated/eoshift3_8.c on SH

2012-10-20 Thread olegendo at gcc dot gnu.org
||2012-10-20 AssignedTo|unassigned at gcc dot |olegendo at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #2 from Oleg Endo 2012-10-20 09:29:10 UTC --- Thanks for tracking

[Bug target/54673] [SH] Unnecessary sign extension of logical operation results

2012-10-27 Thread olegendo at gcc dot gnu.org
||2012-10-27 AssignedTo|unassigned at gcc dot |olegendo at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Oleg Endo 2012-10-27 13:15:12 UTC --- Created attachment

[Bug target/55042] sh.c:11586:1: error: ‘bool sh1_builtin_p()’ defined but not used

2012-10-27 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55042 --- Comment #1 from Oleg Endo 2012-10-27 13:36:24 UTC --- Author: olegendo Date: Sat Oct 27 13:36:20 2012 New Revision: 192877 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192877 Log: PR target/55042 * config/sh/sh.c

[Bug target/54760] [SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer

2012-10-27 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54760 --- Comment #13 from Oleg Endo 2012-10-27 13:41:25 UTC --- (In reply to comment #12) > (In reply to comment #9) > > > Log: > > PR target/54760 > > * config/sh/sh.c (bdesc): Remove thread pointer built-ins. > > You left sh1_b

[Bug target/55042] sh.c:11586:1: error: ‘bool sh1_builtin_p()’ defined but not used

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

[Bug target/55042] sh.c:11586:1: error: ‘bool sh1_builtin_p()’ defined but not used

2012-10-27 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55042 --- Comment #4 from Oleg Endo 2012-10-27 14:39:46 UTC --- (In reply to comment #3) > static bool ATTRIBUTE_UNUSED > > perhaps? Yeah, that would also do the job. Do you insist? :) Personally, I don't care, except for the comment that

[Bug target/49263] SH Target: underutilized "TST #imm, R0" instruction

2012-10-28 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49263 --- Comment #19 from Oleg Endo 2012-10-28 22:01:47 UTC --- Another thing I've noticed... Cases such as: mov.l r0,@r2! LS mov r13,r0! MT and #7,r0 ! EX tst r0,r0

[Bug target/54963] [4.8 Regression] Wrong code generated for libgfortran/generated/eoshift3_8.c on SH

2012-10-28 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54963 --- Comment #3 from Oleg Endo 2012-10-28 23:01:24 UTC --- Created attachment 28551 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28551 Proposed patch This patch fixes the problem, by using 'emit_move_insn' instead of manually doi

[Bug target/54963] [4.8 Regression] Wrong code generated for libgfortran/generated/eoshift3_8.c on SH

2012-10-29 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54963 --- Comment #5 from Oleg Endo 2012-10-29 11:13:19 UTC --- (In reply to comment #4) > (In reply to comment #3) > > Created attachment 28551 [details] > > Proposed patch > > > > This patch fixes the problem, by using 'emit_move_insn' ins

[Bug middle-end/54386] Unaligned mem load wrongly generated for inlined inline/static function

2012-10-29 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54386 Oleg Endo changed: What|Removed |Added Target|sh*-*-* |sh*-*-* arm* Status|UNCO

[Bug middle-end/54386] [4.8 Regression] Unaligned mem load wrongly generated for inlined inline/static function

2012-10-29 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54386 Oleg Endo changed: What|Removed |Added Summary|Unaligned mem load wrongly |[4.8 Regression] Unaligned

[Bug target/54963] [4.8 Regression] Wrong code generated for libgfortran/generated/eoshift3_8.c on SH

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

[Bug target/54602] [SH] Register pop insn not put in rts delay slot

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

[Bug target/54680] [SH] Unnecessary int-float-int conversion of fsca fixed point input

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

[Bug middle-end/54386] [4.8 Regression] Unaligned mem load wrongly generated for inlined inline/static function

2012-10-30 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54386 --- Comment #6 from Oleg Endo 2012-10-30 09:04:37 UTC --- Just for the record, this seems to happen only for mem loads. Mem stores expand as expected.

[Bug c++/54988] fpmath=sse target pragma causes inlining failure because of target specific option mismatch

2012-10-30 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54988 --- Comment #8 from Oleg Endo 2012-10-30 09:07:17 UTC --- Author: olegendo Date: Tue Oct 30 09:07:08 2012 New Revision: 192982 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192982 Log: PR target/54988 * config/sh/sh.m

[Bug target/54963] [4.8 Regression] Wrong code generated for libgfortran/generated/eoshift3_8.c on SH

2012-10-30 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54963 --- Comment #8 from Oleg Endo 2012-10-30 09:22:31 UTC --- Author: olegendo Date: Tue Oct 30 09:22:14 2012 New Revision: 192983 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192983 Log: PR target/54963 * config/sh/iter

[Bug target/49263] SH Target: underutilized "TST #imm, R0" instruction

2012-10-31 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49263 --- Comment #20 from Oleg Endo 2012-10-31 13:47:07 UTC --- (In reply to comment #19) > Another thing I've noticed... > Cases such as: > > mov.l r0,@r2! LS > mov r13,r0! MT > and #7,r0

[Bug target/53988] [SH] tst Rm,Rn not used for QI/HImode

2012-10-31 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53988 --- Comment #2 from Oleg Endo 2012-10-31 22:08:42 UTC --- There was a typo in the PR number when committing the patch for this issue. This is the original commit message that accidentally ended up in PR 54988: Author: olegendo Date: Tue

[Bug c++/54988] fpmath=sse target pragma causes inlining failure because of target specific option mismatch

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

[Bug target/54963] [4.8 Regression] Wrong code generated for libgfortran/generated/eoshift3_8.c on SH

2012-10-31 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54963 --- Comment #9 from Oleg Endo 2012-11-01 00:01:13 UTC --- Kaz, can we close this PR?

[Bug target/54546] SH: Enable -fshrink-wrap

2012-10-31 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54546 --- Comment #3 from Oleg Endo 2012-11-01 00:03:11 UTC --- Even though simple_return is not supported on SHmedia, is it OK to close this PR?

[Bug rtl-optimization/55160] New: [4.8 Regression] Counterproductive loop induction variable optimization

2012-10-31 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55160 Bug #: 55160 Summary: [4.8 Regression] Counterproductive loop induction variable optimization Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONF

[Bug tree-optimization/55162] New: Loop ivopts cuts off top bits of loop counter

2012-11-01 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55162 Bug #: 55162 Summary: Loop ivopts cuts off top bits of loop counter Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal

[Bug tree-optimization/55162] Loop ivopts cuts off top bits of loop counter

2012-11-01 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55162 --- Comment #1 from Oleg Endo 2012-11-01 10:11:46 UTC --- (In reply to comment #0) > The same could be done on SH, too (comparing against the end address instead > of > using a loop counter), but it would add a loop setup overhead. In th

[Bug target/54938] sh libgcc_unpack_df.o fails to build: ../../../srcw/libgcc/fp-bit.h:221:19: internal compiler error: in emit_cmp_and_jump_insn_1, at optabs.c:4273

2012-11-01 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54938 --- Comment #7 from Oleg Endo 2012-11-01 21:19:53 UTC --- I guess this is done, isn't it Easwaran?

[Bug target/29963] could speed up variable access with different object layout

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

[Bug target/55160] [4.8 Regression] Counterproductive loop induction variable optimization

2012-11-01 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55160 --- Comment #3 from Oleg Endo 2012-11-01 21:28:53 UTC --- Author: olegendo Date: Thu Nov 1 21:28:49 2012 New Revision: 193071 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193071 Log: PR target/55160 * gcc.target/sh/

[Bug tree-optimization/55162] Loop ivopts cuts off top bits of loop counter

2012-11-02 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55162 Oleg Endo changed: What|Removed |Added CC||pinskia at gcc dot gnu.org --- Comm

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

2012-11-03 Thread olegendo at gcc dot gnu.org
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.

[Bug target/55190] New: [SH] ivopts causes loop setup bloat

2012-11-03 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55190 Bug #: 55190 Summary: [SH] ivopts causes loop setup bloat Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: enhancement

[Bug tree-optimization/55162] Loop ivopts cuts off top bits of loop counter

2012-11-03 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55162 --- Comment #4 from Oleg Endo 2012-11-03 12:19:28 UTC --- (In reply to comment #3) I've created a new PR 55190 for this.

[Bug target/54938] sh libgcc_unpack_df.o fails to build: ../../../srcw/libgcc/fp-bit.h:221:19: internal compiler error: in emit_cmp_and_jump_insn_1, at optabs.c:4273

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

[Bug target/55212] New: [SH] Switch from IRA to LRA

2012-11-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212 Bug #: 55212 Summary: [SH] Switch from IRA to LRA Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority:

[Bug target/53988] [SH] tst Rm,Rn not used for QI/HImode

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

[Bug target/54089] [SH] Refactor shift patterns

2012-11-06 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #24 from Oleg Endo 2012-11-06 11:55:47 UTC --- Author: olegendo Date: Tue Nov 6 11:55:43 2012 New Revision: 193236 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193236 Log: PR target/54089 * config/sh/sh.

[Bug middle-end/54685] [SH] Improve unsigned int comparison with 0x7FFFFFFF

2012-11-06 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54685 Oleg Endo changed: What|Removed |Added Status|ASSIGNED|SUSPENDED --- Comment #4 from Oleg

[Bug target/54830] [SH] Unnecessary exts.w before extu.b

2012-11-07 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54830 --- Comment #2 from Oleg Endo 2012-11-07 21:27:11 UTC --- Just for the record.. The arithmetic right shift by 16 splits into the sequence swap.w exts.w after combine. Thus, any other following extensions don't get combined away.

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

2012-11-07 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53949 --- Comment #8 from Oleg Endo 2012-11-07 21:31:39 UTC --- Christian, I just wanted to check with you whether you've already started doing something regarding the mac.w / mac.l instructions?

[Bug target/29845] sh floating point emulation is inefficient

2012-11-07 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29845 --- Comment #9 from Oleg Endo 2012-11-07 21:37:47 UTC --- Jörn, I was curious whether the soft fpu code of yours is also available as C/C++, or did you write it in asm only? I guess it would be an interesting bunch of code quality tests for the

[Bug target/54089] [SH] Refactor shift patterns

2012-11-07 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #25 from Oleg Endo 2012-11-07 23:31:20 UTC --- Created attachment 28633 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28633 Arithmetic right shift rework 2 This could be an alternative approach for the arith right shif

[Bug target/29845] sh floating point emulation is inefficient

2012-11-07 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29845 --- Comment #11 from Oleg Endo 2012-11-07 23:33:55 UTC --- (In reply to comment #10) > but the compiler is not much good at combining > high-level transformations with streamlined data representation, > ABI modification, register allocati

[Bug target/48806] ICE in reload_cse_simplify_operands, at postreload.c:403

2012-11-07 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48806 --- Comment #7 from Oleg Endo 2012-11-07 23:50:09 UTC --- I've tried to reproduce the test case of this PR on rev 193240 (4.8) with the change in rev 185714 reverted. It seems that this test case doesn't trigger the error any more. Howev

[Bug target/29845] sh floating point emulation is inefficient

2012-11-07 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29845 --- Comment #13 from Oleg Endo 2012-11-08 01:08:51 UTC --- (In reply to comment #12) > (In reply to comment #11) > > > Do you have any particular example in mind? > > Just compare the size & performance of the code generated from fp-b

[Bug target/54089] [SH] Refactor shift patterns

2012-11-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #26 from Oleg Endo 2012-11-09 10:48:17 UTC --- (In reply to comment #25) > Maybe the better solution would indeed be to add a > arith -> logical shift conversion pass before combine, or try to convert arith > shifts in the spl

[Bug target/22553] [4.6/4.7/4.8 regression] ICE building libstdc++

2012-11-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22553 --- Comment #26 from Oleg Endo 2012-11-09 21:44:16 UTC --- I've tried enabling sched1 on rev 193341 and ran the test suite with make -k -j4 check RUNTESTFLAGS="--target_board=sh-sim\{-m2/-ml,-m2/-mb,-m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-

[Bug target/22553] [4.6/4.7/4.8 regression] ICE building libstdc++

2012-11-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22553 --- Comment #27 from Oleg Endo 2012-11-09 22:41:15 UTC --- (In reply to comment #26) Another way that fixes the problem mentioned above is to not allow non-float mode operands in the first place. The patch below also fixes the failure,

[Bug tree-optimization/56547] [SH] missed opportunity for fmac with -ffast-math

2013-05-16 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56547 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug target/57339] New: [SH] Wrong ISR FPU register save/restore

2013-05-20 Thread olegendo at gcc dot gnu.org
Assignee: unassigned at gcc dot gnu.org Reporter: olegendo at gcc dot gnu.org CC: kkojima at gcc dot gnu.org Target: sh*-*-* The following test case extern void foo (void); #pragma interrupt #pragma nosave_low_regs void isr (void) { foo (); } with

[Bug tree-optimization/56547] [SH] missed opportunity for fmac with -ffast-math

2013-05-20 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56547 --- Comment #2 from Oleg Endo --- Fixed for SH on 4.9: http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=199110 gcc/ChangeLog: PR target/56547 * config/sh/sh.md (fmasf4): Remove empty constraints strings. (*fmasf4, *fmasf4_media

[Bug rtl-optimization/30807] postreload bug (might be generic in trunk)

2013-05-22 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30807 Oleg Endo changed: What|Removed |Added CC||olegendo at gcc dot gnu.org --- Comment #11

[Bug target/6526] [SH4] sdivsi3_i4 can clobber xd0/xd2

2013-06-09 Thread olegendo at gcc dot gnu.org
||olegendo at gcc dot gnu.org Resolution|--- |FIXED --- Comment #13 from Oleg Endo --- Fixed in 4.9. by picking up the suggestions from comment #3. http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=199873 PR target/6526 * confi

[Bug tree-optimization/56547] [SH] missed opportunity for fmac with -ffast-math

2013-06-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56547 --- Comment #3 from Oleg Endo --- Fixed for SH on 4.8: http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=199874 PR target/56547 * config/sh/sh.md (fmasf4): Remove empty constraints strings. (*fmasf4, *fmasf4_media): New insns.

[Bug rtl-optimization/55190] [SH] ivopts causes loop setup bloat

2013-06-16 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55190 Oleg Endo changed: What|Removed |Added Component|target |rtl-optimization --- Comment #2 from Oleg End

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

2013-06-22 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50749 --- Comment #14 from Oleg Endo --- Just wanted to clarify the reason why the examples in the description have '-fno-ivopts', as it caused some confusion on the mailing list: int test_0 (char* p, int c) { int r = 0; r += *p++; r += *p++; r

[Bug target/52483] SH Target: Loads from volatile memory leave redundant sign/zero extensions

2013-06-23 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52483 --- Comment #4 from Oleg Endo --- Loads from volatile mems have been fixed on 4.9 trunk. While working on it I noticed that stores to volatile mems have basically the same issue. I'll try to come up with a fix for that, too. http://gcc.gnu.org/v

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

2013-06-23 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39423 --- Comment #36 from Oleg Endo --- This is annoying: int foo (int tab[], int index) { return tab[index+1] + tab[index+2]; } -O2 -m4 -mb: add #1,r5 mov r4,r1 shll2 r5 add r5,r1 mov r5,r

[Bug tree-optimization/50417] regression: memcpy with known alignment

2013-07-14 Thread olegendo at gcc dot gnu.org
|UNCONFIRMED |NEW Last reconfirmed||2013-07-14 CC||olegendo at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #3 from Oleg Endo --- I ran into this issue when trying out

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

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

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

2013-07-27 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12081 Oleg Endo changed: What|Removed |Added CC||olegendo at gcc dot gnu.org --- Comment #25

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

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

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