Re: bitfield handling on m68k broken

2007-04-24 Thread Roman Zippel
Hi, On Tue, 24 Apr 2007, Andreas Schwab wrote: > > Even without this bug gcc usage of bitfield instruction has become a > > little insane lately, e.g. 2.95/3.4 produce this code: > > > > retmeK: > > link.w %a6,#0 > > move.l 8(%a6),%d0 > > unlk %a6 > > rts > > FWI

Re: bitfield handling on m68k broken

2007-04-24 Thread Andreas Schwab
Roman Zippel <[EMAIL PROTECTED]> writes: > This is taken from execute/20040709-1.c: > > struct K { unsigned int k : 6, l : 1, j : 10, i : 15; }; > struct K retmeK (struct K x) > { > return x; > } > > This produces the following code: > > retmeK: > link.w %fp,#0 > move.l %d3,-(%sp

Re: bitfield handling on m68k broken

2007-04-24 Thread Roman Zippel
Hi, On Tue, 24 Apr 2007, I wrote: > simply copying values like this it's overkill, what makes this worse is > that the rtl optimizers can often do as much with this (and in combination ^ not > with subreg it's not getting better...) This should make more sens

bitfield handling on m68k broken

2007-04-24 Thread Roman Zippel
Hi, Something broke the bitfield handling recently and before I delve deeper into it, I'm hoping someone admits guilt. :) This is taken from execute/20040709-1.c: struct K { unsigned int k : 6, l : 1, j : 10, i : 15; }; struct K retmeK (struct K x) { return x; } This produces the following c