cvs commit: src/include _ctype.h
danfe at FreeBSD.org
Wed Oct 31 15:33:49 PDT 2007
On Thu, Nov 01, 2007 at 12:55:26AM +0300, Andrey Chernov wrote:
> On Tue, Oct 30, 2007 at 10:03:31AM -1000, Juli Mallett wrote:
> > * "Andrey A. Chernov" <ache at FreeBSD.org> [ 2007-10-27 ]
> > [ cvs commit: src/include _ctype.h ]
> > > ache 2007-10-27 22:32:28 UTC
> > >
> > > FreeBSD src repository
> > >
> > > Modified files:
> > > include _ctype.h
> > > Log:
> > > Micro-optimization of prev. commit, change
> > > (_c < 0 || _c >= 128) to (_c & ~0x7F)
> > Isn't that a non-optimization in code and a minor pessimization of readability?
> > Maybe I'm getting rusty, but those seem to result in nearly identical code on
> > i386 with a relatively modern GCC. Did you look at the compiler output for this
> > optimization? Is there a specific expensive instruction you're trying to avoid?
> > For such thoroughyl bit-aligned range checks, you shouldn't even get a branch
> > for the former case. Is there a platform other than i386 I should look at where
> > the previous expression is more clearly pessimized? Or a different compiler
> > than GCC?
> For ones who doubts there two tests compiled with -O2. As you may see the
> result is almost identical (andl vs cmpl):
Q.E.D. How about to restore original, more reader-friendly version then?
More information about the cvs-src