Further examination of the source makes it clear that the hashing is done in blocks of 64 bytes. I was able to hack the SHA256 functions from PolarSSL and got it to do the block hashing just like the current code, with about a 10% increase in speed. I verified the hashes produced are the same.
I took the plunge and got all the dependencies together and compiled Bitcoin myself to try to get the new hashing in place. It's odd that you say that a MSVC build decreases the hashing performance, as I've found it increases it. I'm using Visual Studio 2008 Standard on a 32bit dual core machine, so maybe that has something to do with it. I went from ~1000khash/sec with the build from the Bitcoin website, to ~1350khash/sec by just compiling the source with Visual Studio 2008, to ~15000khash/sec with Visual Studio 2008 using the PolarSSL hashing functions.
edit - latest binary 2010-07-22You can get my build here :
http://www.filedropper.com/bitcoin-032_3You'll need the Visual Studio 2008 redistributable to run this, so if it crashes immediately or complains about an incorrect configuration you need to install this. It includes the modified sources. I used the latest bdb, which seems to update the database format, so you can't go back to the old client because it can't open the newer database. I suggest you save your database before you try this build if you want to revert back later.