It has been a while. But finally I’ve ported Bernstein’s x86-64 Salsa20 code (the original code is at: http://cr.yp.to/snuffle/salsa20/amd64-3/salsa20.s). In the process, I realized that the “glue” code used to call the i586 version and the x86-64 version is exactly the same so I combined them into just one salsa20_glue.c file. This was what Sebastian Siewior did for the AES “glue” code too and I think it is a good thing to do for code reuse.
As usual, the patches and the Python script used to automate the reformatting of salsa20.s are available in the Tools & Patches section I am not sure how the x86-64 patch works out since I don’t have a 64-bit machine to test on. Hopefully someone will give it a test-drive.
18 Dec 2007: Herbert and Sebastian tested it on their 64-bit machines. It works! Yeah!