> > 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]

Reply via email to