[Bug target/81426] [SH]: unable to find a register to spill in class 'R0_REGS' when building webkit2gtk

2020-03-07 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81426 Oleg Endo changed: What|Removed |Added CC||olegendo at gcc dot gnu.org Ever

[Bug tree-optimization/60540] Don't convert int to float when comparing int with float (double) constant

2019-10-18 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60540 Oleg Endo changed: What|Removed |Added Target|sh*-*-* | --- Comment #12 from Oleg Endo --- (In rep

[Bug target/81426] [SH]: unable to find a register to spill in class 'R0_REGS' when building webkit2gtk

2019-11-03 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81426 --- Comment #9 from Oleg Endo --- (In reply to Sergei Trofimovich from comment #7) > Not sure if it's the same bug or not, but I get the same error building GHC "unable to find a register to spill in class 'R0_REGS'" ... kind of errors are

[Bug libgcc/78804] [RX] -m64bit-doubles does not work

2019-11-03 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78804 --- Comment #19 from Oleg Endo --- Author: olegendo Date: Sun Nov 3 12:09:26 2019 New Revision: 277752 URL: https://gcc.gnu.org/viewcvs?rev=277752&root=gcc&view=rev Log: libgcc/ PR libgcc/78804 * fp-bit.h: Remove FLOAT_BIT_ORDER

[Bug target/83464] [SH] ICE: in final_scan_insn, at final.c:3025 with -mlra

2019-12-13 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83464 --- Comment #3 from Oleg Endo --- Is this still an issue with current trunk? Can you please check?

[Bug target/83464] [SH] ICE: in final_scan_insn, at final.c:3025 with -mlra

2019-12-15 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83464 --- Comment #5 from Oleg Endo --- (In reply to John Paul Adrian Glaubitz from comment #4) > > I have to try. I'll run a testbuild. Currently the package has the following > workaround for PR/81426: > > # See https://gcc.gnu.org/bugzilla/show_bu

[Bug target/93396] New: [RX] tail call optimization does not work with indirect call

2020-01-22 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 Milestone: --- Compiling the following on RX with -O2 [[gnu::noinline]] int test_1 (int x) { return x + 1; } [[gnu::noinline]] int test_2 (int x

[Bug target/83832] [RX] Improve bittests

2020-01-26 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83832 --- Comment #1 from Oleg Endo --- Another bit test case I ran into (on GCC 8) is something like unsigned int bleh = (i & 4) == 0 ? 0 : 3; An optimized result would be something like tst #4,r1 stz #0,r14 stnz

[Bug target/83832] [RX] Improve bittests

2020-01-26 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83832 --- Comment #2 from Oleg Endo --- bset, bclr, bnot insns can be utiized with inline asm: asm volatile ("bclr %1,%0.B" : "+Q" (*(volatile unsigned char*)byte_addr) : "ir" (bitnum) : "memory"); When the bitnum is not a constan

[Bug target/65249] unable to find a register to spill in class 'R0_REGS' when compiling protobuf on sh4

2020-01-31 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65249 --- Comment #28 from Oleg Endo --- (In reply to Rich Felker from comment #27) > We've hit what seems like almost the exact same issue on gcc 8.3.0 with this > minimized testcase: > > void fg(int *); > int get_response(int a) > { > int b; > i

[Bug target/93587] New: [RX] bclr,bnot,bset on byte memory with bit 7 not fused

2020-02-04 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 Milestone: --- The bit manipulation of bit 7 in a byte variable doesn't get fused into a single instruction. void bleh_0 (uint8_t* x, uint8_t* y, ui

[Bug target/93808] [9 Regression] [SH] Ruby crashes with 'Illegal Instruction' when compiled with gcc-9

2020-02-18 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808 --- Comment #2 from Oleg Endo --- (In reply to John Paul Adrian Glaubitz from comment #0) > > Printing the assembly with GDB shows that the IP seems to be pointing at > data instead of code(?): > > (gdb) x/5i $pc > => 0x5380c0 : .word 0x0

[Bug target/93808] [9 Regression] [SH] Ruby crashes with 'Illegal Instruction' when compiled with gcc-9

2020-02-18 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808 --- Comment #4 from Oleg Endo --- (In reply to John Paul Adrian Glaubitz from comment #3) > > I have put the compiled source into a tarball so you can have a look > yourself: > > > https://people.debian.org/~glaubitz/ruby2.5-G7ZWPI.tgz Sorry,

[Bug target/93808] [9 Regression] [SH] Ruby crashes with 'Illegal Instruction' when compiled with gcc-9

2020-02-18 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808 --- Comment #6 from Oleg Endo --- Thanks, that's good. I can look at the disassembly of string.o and found the spot. I suspect the switch statements in the code are turned into jump tables, and for some reason the jump offset is wrong in some c

[Bug target/93808] [9 Regression] [SH] Ruby crashes with 'Illegal Instruction' when compiled with gcc-9

2020-02-19 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808 --- Comment #10 from Oleg Endo --- I've just tried to compile the preprocessed string.i with the current gcc 9 branch sh-elf cross compiler with the following options: sh-elf-gcc -c -mieee -g -O2 -fstack-protector-strong -Wformat -Werror=format

[Bug target/93808] [9 Regression] [SH] Ruby crashes with 'Illegal Instruction' with -fcrossjumping

2020-02-20 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808 --- Comment #14 from Oleg Endo --- Created attachment 47879 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47879&action=edit reduced case I've reduced the preprocessed file string.c down to the problematic function 'coderange_scan'

[Bug target/93808] [9 Regression] [SH] Ruby crashes with 'Illegal Instruction' with -fcrossjumping

2020-02-20 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug target/93808] [9 Regression] [SH] Ruby crashes with 'Illegal Instruction' with -fcrossjumping

2020-02-20 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808 --- Comment #16 from Oleg Endo --- This seems to be actually valid code?! switch (e - p) { default: __builtin_unreachable(); case 3: if (e[-3]&0x80) return e-3; case 2: if (e[-2]&0x80) return e-2; case 1: if (e[-1]&0x80) retu

[Bug target/93808] [9 Regression] [SH] Ruby crashes with 'Illegal Instruction' with -fcrossjumping

2020-02-20 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808 --- Comment #18 from Oleg Endo --- (In reply to Andrew Pinski from comment #17) > In the original code we have: > if ((uintptr_t)p % 4) { > int l = 4 - (uintptr_t)p % 4; > p += l; > switch (l) { > > l range should be 0...3 Ha!

[Bug target/93808] [9 Regression] [SH] Ruby crashes with 'Illegal Instruction' with -fcrossjumping

2020-02-20 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808 --- Comment #20 from Oleg Endo --- (In reply to Andrew Pinski from comment #19) > t = (const uintptr_t *)(e - (4 -1)); > > is problemantic though. e is not known to be aligned to uintptr_t. That's right. But it makes me wonder, why this h

[Bug target/91913] [8/9/10 Regression] ICE in extract_constrain_insn, at recog.c:2211

2020-02-21 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91913 --- Comment #8 from Oleg Endo --- (In reply to John Paul Adrian Glaubitz from comment #6) > I'm seeing this exact problem SH as well when trying to build webkit2gtk: > > internal compiler error: in extract_constrain_insn, at recog.c:2211 > > Sh

[Bug target/93808] [9 Regression] [SH] Ruby crashes with 'Illegal Instruction' with -fcrossjumping

2020-02-22 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808 --- Comment #22 from Oleg Endo --- (In reply to Andrew Pinski from comment #21) > > I think it is more by accident.strict-alginment here should not make a > difference really as it is undefined even on non-strict targets. > fcross-jumping i

[Bug target/93808] [9 Regression] [SH] Ruby crashes with 'Illegal Instruction' with -fcrossjumping

2020-02-22 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808 --- Comment #23 from Oleg Endo --- (In reply to Oleg Endo from comment #22) > > I see at least one encoder function that ... does not check that p is >= e and blindly starts reading data at p. ... so I'd like to try to narrow it down a bit.

[Bug target/93876] [9 10 Regression] [SH] webkit2gtk fails to build with "error: unable to find a register to spill in class 'R0_REGS'"

2020-02-22 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93876 --- Comment #4 from Oleg Endo --- the error message is unable to find a register to spill in class 'R0_REGS' please try to re-build with -mlra

[Bug target/93876] [9 10 Regression] [SH] webkit2gtk fails to build with "error: unable to find a register to spill in class 'R0_REGS'"

2020-02-22 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93876 --- Comment #6 from Oleg Endo --- If -mlra helps with this case, then let's close this one as 'WON'T FIX', ok?

[Bug target/93876] [9 10 Regression] [SH] webkit2gtk fails to build with "error: unable to find a register to spill in class 'R0_REGS'"

2020-02-22 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93876 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug target/55212] [SH] Switch to LRA

2020-02-25 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212 --- Comment #119 from Oleg Endo --- (In reply to John Paul Adrian Glaubitz from comment #118) > Is there anything that currently speaks against switching to LRA by default > now? There were a couple of code quality issues, which I would need to

[Bug target/93877] [9/10 Regression] [SH] webkit2gtk fails to build with "internal compiler error: in extract_constrain_insn, at recog.c:2211"

2020-02-25 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93877 --- Comment #6 from Oleg Endo --- (In reply to John Paul Adrian Glaubitz from comment #5) > Hmm, there is one other source code file within webkit2gtk where > -fno-move-loop-invariants does not help. I can only get that particular > source file t

[Bug target/93877] [9/10 Regression] [SH] webkit2gtk fails to build with "internal compiler error: in extract_constrain_insn, at recog.c:2211"

2020-02-25 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93877 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug target/55212] [SH] Switch to LRA

2020-02-25 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212 --- Comment #121 from Oleg Endo --- (In reply to John Paul Adrian Glaubitz from comment #120) > > That's a huge task which is why I prefer fixing issues on the fly. I thought this is almost fully automated? You can apply this patch to GCC to e

[Bug target/93808] [9 Regression] [SH] Ruby crashes with 'Illegal Instruction' with -fcrossjumping

2020-02-26 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808 --- Comment #24 from Oleg Endo --- Adrian, have you had a chance to apply the test patch in comment #22 and re-run it?

[Bug target/55212] [SH] Switch to LRA

2020-02-26 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212 --- Comment #125 from Oleg Endo --- (In reply to John Paul Adrian Glaubitz from comment #122) > > The build process is. Fixing broken packages isn't. > > Everything is around 13.000 source packages. > > And, finally, the buildd capacity is lim

[Bug target/93877] [9/10 Regression] [SH] webkit2gtk fails to build with "internal compiler error: in extract_constrain_insn, at recog.c:2211"

2020-02-26 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93877 --- Comment #10 from Oleg Endo --- I can't reproduce the first case with a standalone sh-elf compiler (GCC 9). The compile flags mention -specs=/usr/share/dpkg/pie-compile.specs ... what's in that specs file?

[Bug target/93877] [9/10 Regression] [SH] webkit2gtk fails to build with "internal compiler error: in extract_constrain_insn, at recog.c:2211"

2020-02-26 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93877 Oleg Endo changed: What|Removed |Added CC||vmakarov at gcc dot gnu.org --- Comment #12

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

2013-02-04 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54386 --- Comment #15 from Oleg Endo 2013-02-04 22:41:47 UTC --- Author: olegendo Date: Mon Feb 4 22:41:44 2013 New Revision: 195742 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195742 Log: PR tree-optimization/54386 * gc

[Bug target/55146] jumptables with byte entries produce wrong code with -Os/-O2 for SH-1

2013-02-04 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55146 --- Comment #4 from Oleg Endo 2013-02-04 22:43:50 UTC --- Author: olegendo Date: Mon Feb 4 22:43:47 2013 New Revision: 195743 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195743 Log: PR target/55146 * gcc.target/sh/

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

2013-02-04 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54685 Oleg Endo changed: What|Removed |Added CC||kkojima at gcc dot gnu.org --- Comm

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

2013-02-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54685 --- Comment #7 from Oleg Endo 2013-02-15 21:28:32 UTC --- Author: olegendo Date: Fri Feb 15 21:28:26 2013 New Revision: 196092 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196092 Log: PR target/54685 * gcc.target/sh/

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

2013-02-15 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54685 --- Comment #8 from Oleg Endo 2013-02-15 21:33:45 UTC --- (In reply to comment #6) > (In reply to comment #5) > > FAIL: gcc.target/sh/pr54685.c scan-assembler-not not > > > > I'm curious why this fails. On my sh-elf / newlib config it

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

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

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

2013-02-16 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #29 from Oleg Endo 2013-02-16 11:36:37 UTC --- Another case taken from CSiBE / bzip2, where reusing the intermediate shift result would be better: void uInt64_from_UInt32s ( UInt64* n, UInt32 lo32, UInt32 hi32 ) { n->b[7

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

2013-02-17 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54673 --- Comment #2 from Oleg Endo 2013-02-17 11:38:21 UTC --- A related reduced example from CSiBE bzip2.c (compressStream): typedef struct { int _r[3]; short _flags; } FILE; void BZ2_bzWriteOpen (int* e, FILE* f, int a, int b,

[Bug tree-optimization/56365] New: Missed opportunities for smin/smax standard name patterns

2013-02-17 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56365 Bug #: 56365 Summary: Missed opportunities for smin/smax standard name patterns Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED

[Bug tree-optimization/56369] New: Missed opportunity to combine comparisons with zero

2013-02-17 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56369 Bug #: 56369 Summary: Missed opportunity to combine comparisons with zero Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: enhan

[Bug tree-optimization/56365] Missed opportunities for smin/smax standard name patterns

2013-02-18 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56365 --- Comment #2 from Oleg Endo 2013-02-18 20:04:40 UTC --- (In reply to comment #1) > I see, at -O2, on x86_64 in 070t.phiopt: > > test_04 (int a, int b) > { > int D.1744; > int D.1741; > int _3; > int _4; > > : > _3

[Bug target/56508] New: [SH] Add support for rtv/n instruction

2013-03-02 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56508 Bug #: 56508 Summary: [SH] Add support for rtv/n instruction Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: enhancement

[Bug target/55303] [SH] Add support for clips / clipu instructions

2013-03-02 Thread olegendo at gcc dot gnu.org
||2013-03-02 AssignedTo|unassigned at gcc dot |olegendo at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Oleg Endo 2013-03-02 16:16:41 UTC --- Created attachment 29567 --> h

[Bug target/55303] [SH] Add support for clips / clipu instructions

2013-03-02 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55303 --- Comment #2 from Oleg Endo 2013-03-02 16:23:57 UTC --- For non-SH2A targets there is an opportunity to generate better insn sequences for the special case unsigned int test (unsigned int a) { return a > 1 ? 1 : a; } on SH2A:

[Bug target/55295] [SH] Add support for fipr instruction

2013-03-04 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55295 --- Comment #3 from Oleg Endo 2013-03-04 21:50:58 UTC --- (In reply to comment #2) > +1 > > I'm seeing the same pattern. > Infact, I'm noticing a lot of my maths code seems to be performing a lot of > redundant moves. Some examples

[Bug target/56529] New: [SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2

2013-03-04 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56529 Bug #: 56529 Summary: [SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UN

[Bug target/56529] [SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2

2013-03-04 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56529 --- Comment #1 from Oleg Endo 2013-03-04 23:44:09 UTC --- Created attachment 29581 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29581 A possible patch This patch seems to fix the problem, although tested only with 'make all-gcc'.

[Bug target/55295] [SH] Add support for fipr instruction

2013-03-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55295 --- Comment #5 from Oleg Endo 2013-03-05 12:28:22 UTC --- (In reply to comment #4) > > Why is a new ABI important? > Because currently, there is no way to pass something like struct { float x, y, z, w }; as function arguments i

[Bug target/56529] [SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2

2013-03-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56529 --- Comment #3 from Oleg Endo 2013-03-06 00:41:33 UTC --- Author: olegendo Date: Wed Mar 6 00:41:25 2013 New Revision: 196484 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196484 Log: PR target/56529 * config/sh/sh.c

[Bug target/40797] [4.6/4.7/4.8 Regression] ICE in df_refs_verify, at df-scan.c:4361

2013-03-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40797 --- Comment #12 from Oleg Endo 2013-03-06 00:54:36 UTC --- (In reply to comment #11) > I've tried current 4.6/4.7/4.8 with --enable-checking=df on sh4-linux > and found that the ice has gone for both original and reduced test cases. > I'd

[Bug target/56547] New: [SH] missed opportunity for fmac with -ffast-math

2013-03-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56547 Bug #: 56547 Summary: [SH] missed opportunity for fmac with -ffast-math Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: enhance

[Bug target/55295] [SH] Add support for fipr instruction

2013-03-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55295 --- Comment #7 from Oleg Endo 2013-03-06 01:05:14 UTC --- (In reply to comment #5) > > > > I'm also noticing that -ffast-math is inhibiting fmac emission in some > > cases: > > > > Compiled with: -O3 -mfused-madd -ffast-math > > >

[Bug target/56529] [SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2

2013-03-06 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56529 --- Comment #4 from Oleg Endo 2013-03-06 22:54:18 UTC --- Author: olegendo Date: Wed Mar 6 22:54:11 2013 New Revision: 196510 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196510 Log: Backport from mainline 2013-03-0

[Bug target/56529] [SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2

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

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

2013-03-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|REOPENED|RESOLVED Resolution|

[Bug target/55146] jumptables with byte entries produce wrong code with -Os/-O2 for SH-1

2013-03-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55146 --- Comment #5 from Oleg Endo 2013-03-09 13:00:33 UTC --- Kaz, do you have any suggestion what to do with this issue on < 4.8 ? Although I haven't looked deeper into the problem, I'm afraid the actual bug is not in the sh-target but somewh

[Bug target/51708] SH Target: SHAD / SHLD constant not CSE-ed

2013-03-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51708 --- Comment #3 from Oleg Endo 2013-03-09 14:43:07 UTC --- (In reply to comment #2) > In order to 'force' the constant load to be CSE-ed the constant load and > dynamic shift patterns have to be emitted in the respective expanders, so that

[Bug target/13423] sh-elf: V4SFmode passed in integer registers

2013-03-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13423 Oleg Endo changed: What|Removed |Added CC||olegendo at gcc dot gnu.org

[Bug target/56508] [SH] Add support for rtv/n instruction

2013-03-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56508 --- Comment #1 from Oleg Endo 2013-03-10 12:08:24 UTC --- I've only looked briefly how this could be implemented. As far as I can see, there are two basic cases: 1) int test0 (int a, int b) { return a; } currently compiles to

[Bug rtl-optimization/56590] New: Replace auto-inc-dec pass with generic address mode selection pass

2013-03-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56590 Bug #: 56590 Summary: Replace auto-inc-dec pass with generic address mode selection pass Classification: Unclassified Product: gcc Version: 4.8.0 Status: UN

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

2013-03-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53513 --- Comment #1 from Oleg Endo 2013-03-10 19:53:56 UTC --- Some related notes: According to the public documentation, the 'fschg' insn is only valid when FPSCR.PR = 0 on all FPU enabled cores (SH2A, SH4, SH4A). On SH4 and SH4A the 'frc

[Bug target/56592] New: [SH] Add vector ABI

2013-03-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56592 Bug #: 56592 Summary: [SH] Add vector ABI Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3

[Bug target/40797] [4.6/4.7/4.8 Regression] ICE in df_refs_verify, at df-scan.c:4361

2013-03-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40797 --- Comment #14 from Oleg Endo 2013-03-11 01:04:17 UTC --- Author: olegendo Date: Mon Mar 11 01:04:13 2013 New Revision: 196590 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196590 Log: PR target/40797 * gcc.c-torture

[Bug target/40797] [4.6/4.7/4.8 Regression] ICE in df_refs_verify, at df-scan.c:4361

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

[Bug target/13423] sh-elf: V4SFmode passed in integer registers

2013-03-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13423 --- Comment #4 from Oleg Endo 2013-03-11 19:56:20 UTC --- (In reply to comment #3) > > ideally, this would be something like (no insn scheduling applied): > > fmov.s @r4+,fr0 > fmov.s @r4+,fr1 > fmov.s @r4+

[Bug target/49880] SuperH: ICE when -m4 is used with -mdiv=call-div1

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

[Bug target/49880] SuperH: ICE when -m4 is used with -mdiv=call-div1

2013-03-13 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49880 --- Comment #4 from Oleg Endo 2013-03-13 18:09:16 UTC --- Author: olegendo Date: Wed Mar 13 18:09:10 2013 New Revision: 196636 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196636 Log: PR target/49880 * config/sh/sh.o

[Bug target/55295] [SH] Add support for fipr instruction

2013-03-13 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55295 --- Comment #8 from Oleg Endo 2013-03-13 18:21:37 UTC --- (In reply to comment #5) > > This is another reason for adding a new ABI, BTW. Just for the record, I've opened a new PR 56592 for this.

[Bug target/56592] [SH] Add vector ABI

2013-03-17 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56592 --- Comment #2 from Oleg Endo 2013-03-17 14:19:55 UTC --- Regarding multi-word arguments: > 'double' values are passed in DR registers, where the high 32 bits are passed > in FR(n*2) and the low 32 bits in FR(n*2+1) regardless of the end

[Bug target/49880] SuperH: ICE when -m4 is used with -mdiv=call-div1

2013-03-25 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49880 --- Comment #5 from Oleg Endo 2013-03-25 23:02:04 UTC --- Although it doesn't show up here, I've also backported the fix to the 4.7 branch and committed it as rev. 197071. OK to close this PR?

[Bug target/49880] SuperH: ICE when -m4 is used with -mdiv=call-div1

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

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

2013-05-04 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53949 --- Comment #9 from Oleg Endo 2013-05-04 13:39:10 UTC --- (In reply to comment #3) > - Loops with multiple running sums like > for (int i = 0; i < 16; ++i) > { > sum0 += (int64_t)(*a++) * (int64_t)(*b++); > sum1 += (int64_t)

[Bug target/57177] New: [SH] Improve integer division

2013-05-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57177 Bug #: 57177 Summary: [SH] Improve integer division Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: enhancement Prio

[Bug target/55303] [SH] Add support for clips / clipu instructions

2013-05-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55303 --- Comment #3 from Oleg Endo 2013-05-06 05:48:18 UTC --- (In reply to comment #1) > I will modify the attached patch so that it will allow only the HW clip > constants for now. This has been committed as rev 198617: http://gcc.gnu.org

[Bug target/52933] SH Target: Use div0s for integer sign comparisons

2013-05-06 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52933 --- Comment #3 from Oleg Endo 2013-05-06 20:10:11 UTC --- http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=198646 PR target/52933 * config/sh/sh.md (*cmp_div0s_0, *cmp_div0s_1, *movsicc_div0s): Add variations of these pattern

[Bug rtl-optimization/56451] [4.8/4.9 regression] Wrong code for gcc.c-torture/execute/941015-1.c on SH

2013-05-12 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56451 Oleg Endo changed: What|Removed |Added CC||steven at gcc dot gnu.org --- Comment #3 from

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

2012-08-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50751 --- Comment #30 from Oleg Endo 2012-08-09 15:51:25 UTC --- Author: olegendo Date: Thu Aug 9 15:51:20 2012 New Revision: 190257 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190257 Log: PR target/50751 * config/sh/sh.md (*extendq

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

2012-08-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244 --- Comment #46 from Oleg Endo 2012-08-09 15:55:23 UTC --- Author: olegendo Date: Thu Aug 9 15:55:18 2012 New Revision: 190258 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190258 Log: PR target/51244 * config/sh/sh.md: Add negc

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

2012-08-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39423 --- Comment #23 from Oleg Endo 2012-08-09 15:58:08 UTC --- Author: olegendo Date: Thu Aug 9 15:58:04 2012 New Revision: 190259 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190259 Log: PR target/39423 * config/sh/predicates.md (

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

2012-08-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39423 Oleg Endo changed: What|Removed |Added CC||kkojima at gcc dot gnu.org --- Comment #24 fr

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

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

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

2012-08-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #5 from Oleg Endo 2012-08-09 23:17:54 UTC --- OK, I checking out the preprocessed file reveals the following relevant pieces: typedef struct page { struct list_head list; struct address_space *mapping; unsigned long index; struct

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

2012-08-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #6 from Oleg Endo 2012-08-09 23:27:55 UTC --- Author: olegendo Date: Thu Aug 9 23:27:51 2012 New Revision: 190273 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190273 Log: PR target/54089 * config/sh/sh-protos (shift

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

2012-08-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #7 from Oleg Endo 2012-08-09 23:36:10 UTC --- Kaz, another thing I'm a bit unsure about ... #define SH_DYNAMIC_SHIFT_COST \ (TARGET_HARD_SH4 ? 1 : TARGET_DYNSHIFT ? (optimize_size ? 1 : 2) : 20) Do you have any idea, why this is n

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

2012-08-09 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #8 from Oleg Endo 2012-08-09 23:42:57 UTC --- (In reply to comment #7) > Kaz, another thing I'm a bit unsure about ... > > #define SH_DYNAMIC_SHIFT_COST \ > (TARGET_HARD_SH4 ? 1 : TARGET_DYNSHIFT ? (optimize_size ? 1 : 2) : 20) >

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

2012-08-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39423 --- Comment #27 from Oleg Endo 2012-08-10 12:26:52 UTC --- (In reply to comment #26) > > I got an ICE in elimination_costs_in_insn, at reload1.c:3654 when applying to > the 4.7 branch, but it seems to be resolved on trunk (hoping it's not hidden

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

2012-08-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39423 --- Comment #29 from Oleg Endo 2012-08-10 13:26:52 UTC --- (In reply to comment #28) > > This ICE does happen on trunk (rev190294). I have a testcase for it that I'm > reducing. There was a second ICE introduced by 190259 as well. > > /home/ry

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

2012-08-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #11 from Oleg Endo 2012-08-10 15:40:07 UTC --- (In reply to comment #10) > Created attachment 27985 [details] > preprocessed src > > ./xgcc -B. -w ~/ice2.i -c -Os > /home/ryan/ice2.i: In function 'tg_extent': > /home/ryan/ice2.i:81

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

2012-08-11 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #12 from Oleg Endo 2012-08-11 20:25:45 UTC --- (In reply to comment #9) > (In reply to comment #8) > > #define SH_DYNAMIC_SHIFT_COST (TARGET_DYNSHIFT ? 1 : 20) > > Sounds reasonable. Perhaps some historical reason for the original >

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

2012-08-12 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39423 --- Comment #31 from Oleg Endo 2012-08-12 13:23:24 UTC --- Author: olegendo Date: Sun Aug 12 13:23:20 2012 New Revision: 190326 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190326 Log: PR target/39423 * config/sh/predicates.md (

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

2012-08-12 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54236 Bug #: 54236 Summary: [SH] Improve addc and subc insn utilization Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: enhancement P

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

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

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

2012-08-12 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244 --- Comment #47 from Oleg Endo 2012-08-12 22:47:21 UTC --- Author: olegendo Date: Sun Aug 12 22:47:15 2012 New Revision: 190331 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190331 Log: PR target/51244 * config/sh/sh.md: Add spli

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

2012-08-14 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50751 --- Comment #31 from Oleg Endo 2012-08-14 17:54:35 UTC --- Author: olegendo Date: Tue Aug 14 17:54:28 2012 New Revision: 190395 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190395 Log: PR target/50751 * config/sh/constraints.md

[Bug target/52933] SH Target: Use div0s for integer sign comparisons

2012-08-14 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52933 --- Comment #2 from Oleg Endo 2012-08-14 17:59:11 UTC --- Author: olegendo Date: Tue Aug 14 17:59:03 2012 New Revision: 190396 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190396 Log: PR target/52933 * config/sh/sh.md (cmp_div0s

[Bug target/52933] SH Target: Use div0s for integer sign comparisons

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

  1   2   3   4   5   6   7   8   9   10   >