[Bug target/59689] Code bloat introduced by pointer arithmetic

2014-01-05 Thread til...@code-monkey.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59689 --- Comment #2 from Tilman Sauerbeck --- Sigh, I wondered about that but wasn't sure. Sorry about the noise.

[Bug target/59689] New: Code bloat introduced by pointer arithmetic

2014-01-05 Thread til...@code-monkey.de
: target Assignee: unassigned at gcc dot gnu.org Reporter: til...@code-monkey.de The C snippet below contains two lines which AFAICS should be equivalent, but depending on which of the two is used, gcc will either generate "good" (few instructions) or "bad" (mor

[Bug target/56110] Sub-optimal code: unnecessary CMP after AND

2013-03-16 Thread til...@code-monkey.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56110 --- Comment #2 from Tilman Sauerbeck 2013-03-16 09:01:17 UTC --- Created attachment 29677 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29677 WIP patch I'm not really sure if this patch is good or bad. The discussion on the ML die

[Bug target/56110] Sub-optimal code: unnecessary CMP after AND

2013-02-16 Thread til...@code-monkey.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56110 --- Comment #1 from Tilman Sauerbeck 2013-02-16 16:49:34 UTC --- Changing the literal in the test function so that it fits in 8 bits makes gcc go with the TST instruction instead of AND+CMP: unsigned f2 (unsigned x, unsigned m) { i

[Bug target/55987] Redundant constant emitted

2013-02-15 Thread til...@code-monkey.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55987 --- Comment #2 from Tilman Sauerbeck 2013-02-15 16:50:52 UTC --- Created attachment 29470 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29470 dejagnu testcase Simplified dejagnu test case.

[Bug target/56110] New: Sub-optimal code: unnecessary CMP after AND

2013-01-25 Thread til...@code-monkey.de
Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: til...@code-monkey.de Target: arm Compiling this code unsigned f1 (unsigned x, unsigned m) { if (m & 0x008080) x >>= 8; return x; }

[Bug target/56096] New: Bad code generated for conditional shift

2013-01-23 Thread til...@code-monkey.de
Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: til...@code-monkey.de Compiling this snippet unsigned f1 (unsigned x, unsigned m) { x >>= ((m & 0x008080) ? 8 : 0); return x; } with gcc 4.7.2 gives this code

[Bug pending/55987] New: Redundant constant emitted

2013-01-14 Thread til...@code-monkey.de
: P3 Component: pending AssignedTo: unassig...@gcc.gnu.org ReportedBy: til...@code-monkey.de Target: arm For this code uint32_t add (uint32_t x, uint32_t y) { uint32_t a, b; a = (x & 0x7f7f7f7f) + (y & 0x7f7f7f7f); b