> > Attached. Assembler optimizations for PowerPC Linux, 32 and 64 bit. > > > > (See attached file: linux_ppc32.s)(See attached file: linux_ppc64.s)
Which reminds me! I have had a look at the code in both Linux and AIX modules and several questions were risen. 1. I was under impression that AIX and Linux use different calling convention (stack frame and stuff). Am I wrong? I wonder because code in AIX and Linux modules appears essentially identical. Well, leaf functions can be identical, as they don't have to allocate a stack frame, but bn_div_words made me suspicious... 2. If code is essentially identical, why two separate modules? Why not let pre-processor take care of OS specifics and keep the same code base? 3. Can you comment on MacOS X? I mean can one use the code under MacOS X? As far as I know MacOS pre-X uses same calling convention as AIX, but I don't know if it's case for MacOS X... 4. Your bn_[add|sub]_words make no sense to me. You have 4 add instructions per loop spin... As far as I understand carry flag is preserved over branch instruction and therefore single addition/subtraction instruction, adde|subfe, should be sufficient per spin. What am I missing? I didn't have closer look at other routines [yet]... A. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]