[Bug tree-optimization/42494] [4.4 Regression] Missed dead-code-elimination

2010-01-07 Thread sliao at google dot com
--- Comment #6 from sliao at google dot com 2010-01-07 09:18 --- For the trunk snapshot of 20100102, GCC 4.5.0 indeed removes most of the redundancy. However, -O1 and -Os still produce an extra instruction, while -O2 doesn't. Do we care about an extra instruction below? Thanks

[Bug middle-end/42505] [4.4 / 4.5 regression] loop canonicalization causes a lot of unnecessary temporary variables

2010-01-07 Thread sliao at google dot com
--- Comment #2 from sliao at google dot com 2010-01-07 11:31 --- 1. Yes, the flags used are -mthumb -Os -march=armv5te. 2. For completeness, I also tried to generate 32-bit instructions. In this case of ARM mode, GCC 4.5.0 (trunk as of last week) didn't store things onto stack

[Bug rtl-optimization/42499] Bad register allocation in multiplication code by constant

2010-01-07 Thread sliao at google dot com
--- Comment #3 from sliao at google dot com 2010-01-07 12:43 --- Because: This bug can be more easily demonstrated with multiplication of tv_sec by 10 and tv_usec/ 1000 removed , the input program is: #include sys/time.h extern void get_time(struct timeval*); void test(long long *res

[Bug rtl-optimization/42499] Bad register allocation in multiplication code by constant

2010-01-07 Thread sliao at google dot com
--- Comment #4 from sliao at google dot com 2010-01-07 12:55 --- Compilation flags: -march=armv5te -mthumb -Os gcc.4.2.1: (code size 0x1e bytes) push {r4, lr} sub sp, #8 adds r4, r0, #0 mov r0, sp bl 0 get_time ldr r2, [sp, #0] add sp, #8 lsls r3, r2, #2 adds r3, r3, r2 lsls

[Bug rtl-optimization/42502] Bad register allocation in a very simple code

2010-01-07 Thread sliao at google dot com
--- Comment #2 from sliao at google dot com 2010-01-07 13:28 --- Using flags, -march=armv5te -mthumb -Os, GCC 4.5.0 (trunk) generates the following code: test: 0:b570 push{r4, r5, r6, lr} 2:b084 subsp, #16 4:1c05 adds

[Bug middle-end/42501] [4.4 only] Code bloating on operations with bit fields

2010-01-07 Thread sliao at google dot com
--- Comment #3 from sliao at google dot com 2010-01-08 00:29 --- Yes, I generated the code from the trunk and got the same code as Ramana got, except for the last line below. (Sorry that I filed this bug right before the Christmas flight and couldn't check the trunk at that time.) 815c

[Bug middle-end/42574] New: Address of global variable is calculated multiple times; CSE doesn't work properly

2010-01-01 Thread sliao at google dot com
Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sliao at google dot com GCC build triplet: i686-linux GCC host triplet: i686-linux GCC target triplet: arm-eabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42574

[Bug c/42575] New: arm-eabi-gcc 4.2.1 64-bit multiply weirdness

2010-01-01 Thread sliao at google dot com
Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sliao at google dot com GCC build triplet: i686-linux GCC host triplet: i686-linux GCC target triplet: arm-eabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42575

[Bug rtl-optimization/42499] New: Bad register allocation in multiplication code by constant

2009-12-25 Thread sliao at google dot com
by constant Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sliao at google dot com GCC build triplet: i686

[Bug middle-end/42501] New: Code bloating on operations with bit fields

2009-12-25 Thread sliao at google dot com
Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sliao at google dot com GCC build triplet: i686-linux GCC host triplet: i686-linux GCC target triplet: arm-eabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42501

[Bug rtl-optimization/42502] New: Bad register allocation in a very simple code

2009-12-25 Thread sliao at google dot com
ReportedBy: sliao at google dot com GCC build triplet: i686-linux GCC host triplet: i686-linux GCC target triplet: arm-eabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42502

[Bug middle-end/42505] New: loop canonicalization causes a lot of unnecessary temporary variables

2009-12-25 Thread sliao at google dot com
Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sliao at google dot com GCC build triplet: i686-linux GCC host triplet

[Bug c/42494] New: Regression on dead-code-elimination: GCC 4.2.1 generates better code than 4.4.0

2009-12-24 Thread sliao at google dot com
at gcc dot gnu dot org ReportedBy: sliao at google dot com GCC build triplet: i686-linux GCC host triplet: i686-linux GCC target triplet: arm-eabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42494

[Bug testsuite/39774] New: New: FAIL: g++/g++.dg-struct-layout-1//t004_x.C on arm target

2009-04-14 Thread sliao at google dot com
Severity: normal Priority: P3 Component: testsuite AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sliao at google dot com GCC build triplet: i686-linux-gnu GCC host triplet: i686-linux-gnu GCC target triplet: arm-unknown-eabi http