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 > > FWIW, I get this very code with 4.3.0 20070122 when compiling without > optimisation. -fno-tree-sra does the same. I don't know if disabling this is the best way to go as in some cases it makes sense, the problem is that there is nothing that undoes this pass later, when needed. This pass makes more sense with larger structures in memory, but with small structures in registers it makes things worse, e.g. some C++ structure may look like this: struct B { bool a, b, c, d; }; and this also produces lots of bitfield instructions... bye, Roman