From: Sebastian Schuberth Date: Tue, 18 Aug 2009 13:17:33 GMT Subject: Re: [PATCH] block-sha1: Windows declares ntohl() in winsock2.h Message-ID: In-Reply-To: <4A8AA511.1060205@gmail.com> On Tue, Aug 18, 2009 at 14:56, Artur Skawina wrote: > I did try using __builtin_bswap32 directly and the result was a few > (3 or 4, iirc) differently scheduled instructions, that's all, no > performance difference. [...] > I'd limit it to windows and any other ia32 platform that doesn't pick the > bswaps itself; as is, it just adds an unnecessary hidden gcc dependency. > > Hmm, it's actually a gcc-4.3+ dependency, so it won't even build w/ gcc 4.2; > something like this would be required: "(__GNUC__>=4 && __GNUC_MINOR__>=3)" . So, as you say the code makes no difference under Linux, would you be OK with just testing for GCC 4.3+, and not for Windows? That would get rid of the "hidden" GCC dependency and not make the preprocessor checks overly complex. Moreover, limiting my patch to any "platform that doesn't pick the bswaps itself" could possibly require maintenance on compiler / CRT updates. -- Sebastian Schuberth