[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 8 Aug 2011 12:04:05 -0500
From: "Bob Pearson" <rpearson@...temfabricworks.com>
To: "'Joakim Tjernlund'" <joakim.tjernlund@...nsmode.se>,
"'George Spelvin'" <linux@...izon.com>
Cc: <akpm@...ux-foundation.org>, <fzago@...temfabricworks.com>,
<linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] add slice by 8 algorithm to crc32.c
Same for x86. The code for the pre and post cleanup loops are the same
there.
> -----Original Message-----
> From: Joakim Tjernlund [mailto:joakim.tjernlund@...nsmode.se]
> Sent: Monday, August 08, 2011 6:11 AM
> To: George Spelvin
> Cc: akpm@...ux-foundation.org; fzago@...temfabricworks.com; linux-
> kernel@...r.kernel.org; rpearson@...temfabricworks.com
> Subject: Re: [PATCH] add slice by 8 algorithm to crc32.c
>
> "George Spelvin" <linux@...izon.com> wrote on 2011/08/08 12:52:01:
> >
> > > I prefer to keep the current code which (at the time) generated good
> code
> > > for at least ppc:
> > > /* Align it */
> > > if (unlikely((long)buf & 3 && len)) {
> > > do {
> > > DO_CRC(*buf++);
> > > } while ((--len) && ((long)buf)&3);
> > > }
> >
> > Ah, I was looking at fzago's initial patch; I hadn't realized you'd
> > tweaked it. That's pretty much what I was talking about.
> >
> > Would
> > if (unlikely((long)buf & 3) && len) {
> >
> > give the compiler better hints? len != 0 is awfully
> > likely, actually.
>
> Doesn't matter on ppc(gcc 4.4.4). The whole while loop is moved out of
line
> in both cases and the generated asm is identical.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists