cvs commit: src/include _ctype.h

Juli Mallett juli at clockworksquid.com
Tue Oct 30 13:27:28 PDT 2007


* "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?

juli.


More information about the cvs-all mailing list