> There will be more comments later. BODY_00_xx in SHA1 module. There is branch covering for unaligned input. I'd suggest movua.l, but then I noticed that it's missing in manual you've mentioned. Is it recently introduced instruction or is it erroneously omitted from manual? On a side note I personally would settle for single branch in the beginning of grand loop for aligning input...
Another concern I have is usage of gbr. What I'd like to know is that it is *not* used for something else, for example as thread pointer. I simply don't know enough about SH4, but I know thread pointer is problem on e.g. PPC platform. Trouble is that the problem doesn't and can't emerge in our tests, but it can ruin for real-life application when asynchronous signal handler has to dereference thread pointer. As for SHA245 module. *If* gbr is safe to use and loading small constants gives better instruction-level parallelism [on older CPUs], then it might be more appropriate to setup gbr to point at shared small constant table. Thing is that it takes more time to bring multiple small constant tables to cache, then single one. What do you think? A. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
