Question on PR36873

2009-12-22 Thread Jie Zhang
Hi, We just got a similar problem on Blackfin GCC recently. Let me take the test code from the bug as an example: typedef unsigned short u16; typedef unsigned int u32; u32 a(volatile u16* off) { return *off; } u32 b(u16* off) { return *off; } compiled with mingw32-gcc-4.3.0.

Re: Question on PR36873

2009-12-23 Thread Jie Zhang
On 12/23/2009 02:43 PM, Jie Zhang wrote: Hi, We just got a similar problem on Blackfin GCC recently. Let me take the test code from the bug as an example: I reduce the test case to a simpler one: $ cat foo.c unsigned int foo (volatile unsigned short *p) { return *p; } I the tree dump "foo.

Re: Question on PR36873

2009-12-23 Thread Dave Korn
Jie Zhang wrote: > typedef unsigned short u16; > typedef unsigned int u32; > > u32 a(volatile u16* off) { > return *off; > } > mingw32-gcc-4.3.0.exe -c -O2 -fomit-frame-pointer -mtune=core2 test.c > > it produces: > <_a>: >0: 8b 44 24 04 mov0x4(%esp),%eax

Re: Question on PR36873

2009-12-23 Thread Jie Zhang
On 12/23/2009 06:12 PM, Dave Korn wrote: Jie Zhang wrote: typedef unsigned short u16; typedef unsigned int u32; u32 a(volatile u16* off) { return *off; } mingw32-gcc-4.3.0.exe -c -O2 -fomit-frame-pointer -mtune=core2 test.c it produces: <_a>: 0: 8b 44 24 04