Unroll Salsa20 fully for a little more speed (non-SSE now almost as fast as SSE)

This commit is contained in:
Adam Ierymenko 2015-10-09 09:39:27 -07:00
parent 3fa6dd377f
commit 0c498556d5
7 changed files with 1131 additions and 178 deletions

View file

@ -1149,9 +1149,9 @@ try_salsa2012sha512_again:
++*(reinterpret_cast<volatile uint64_t *>(candidate));
SHA512::hash(shabuf,candidate,16 + challengeLength);
s20.init(shabuf,256,&s20iv,12);
s20.init(shabuf,256,&s20iv);
memset(salsabuf,0,sizeof(salsabuf));
s20.encrypt(salsabuf,salsabuf,sizeof(salsabuf));
s20.encrypt12(salsabuf,salsabuf,sizeof(salsabuf));
SHA512::hash(shabuf,salsabuf,sizeof(salsabuf));
d = difficulty;
@ -1186,9 +1186,9 @@ bool IncomingPacket::testSalsa2012Sha512ProofOfWorkResult(unsigned int difficult
memcpy(candidate + 16,challenge,challengeLength);
SHA512::hash(shabuf,candidate,16 + challengeLength);
s20.init(shabuf,256,&s20iv,12);
s20.init(shabuf,256,&s20iv);
memset(salsabuf,0,sizeof(salsabuf));
s20.encrypt(salsabuf,salsabuf,sizeof(salsabuf));
s20.encrypt12(salsabuf,salsabuf,sizeof(salsabuf));
SHA512::hash(shabuf,salsabuf,sizeof(salsabuf));
d = difficulty;