On Tue, 10 May 2011, Richard Guenther wrote:
> And I now get
>
> FAIL: gcc.target/i386/pr45903.c scan-assembler-not shr[qdl]
>
> because the optimization Jakub put in place relies on operations
> carried out in smaller modes.
>
> That's of course a conflict of interest. I'm going to sit on thi
On Tue, 10 May 2011, Steven Bosscher wrote:
> On Tue, May 10, 2011 at 1:25 PM, Richard Guenther wrote:
> > The generated code is
> > the same though, and still contains too many masking operations.
>
> The lowering you're planning -- does that mean lowering all bitfield
> ops for all targets? Yo
On Tue, May 10, 2011 at 1:25 PM, Richard Guenther wrote:
> The generated code is
> the same though, and still contains too many masking operations.
The lowering you're planning -- does that mean lowering all bitfield
ops for all targets? You've noticed "expand" makes some very
conservative assump
On Tue, 10 May 2011, Richard Guenther wrote:
> On Tue, 10 May 2011, Michael Matz wrote:
>
> > Hi,
> >
> > On Tue, 10 May 2011, Richard Guenther wrote:
> >
> > > struct B {
> > > unsigned bit0 : 1;
> > > unsigned bit1 : 1;
> > > };
> > >
> > > void
> > > foo (struct B *b)
> > > {
> > > b-
On Tue, 10 May 2011, Michael Matz wrote:
> Hi,
>
> On Tue, 10 May 2011, Richard Guenther wrote:
>
> > struct B {
> > unsigned bit0 : 1;
> > unsigned bit1 : 1;
> > };
> >
> > void
> > foo (struct B *b)
> > {
> > b->bit0 = b->bit0 | b->bit1;
> > }
> >
> > we with this patch generate
> >
>
Hi,
On Tue, 10 May 2011, Richard Guenther wrote:
> struct B {
> unsigned bit0 : 1;
> unsigned bit1 : 1;
> };
>
> void
> foo (struct B *b)
> {
> b->bit0 = b->bit0 | b->bit1;
> }
>
> we with this patch generate
>
> D.2686_2 = b_1(D)->bit0;
> D.2688_4 = b_1(D)->bit1;
> D.2693_10 = D.2