/home/dko/projects/mobilec/trunk/src/security/xyssl-0.7/include/xyssl/bn_asm.h File Reference

Go to the source code of this file.

Defines

#define MULADDC_INIT
#define MULADDC_CORE
#define MULADDC_STOP   }


Detailed Description

Multiply source vector [s] with b, add result to destination vector [d] and set carry c.

Currently supports:

. IA-32 (386+) . IA-32 (SSE2) . AMD64 / EM64T . Motorola 68000 . PowerPC, 32-bit . PowerPC, 64-bit . SPARC v8 . MicroBlaze . TriCore . ARM v3+ . Alpha . MIPS32 . C, generic . C, longlong

Definition in file bn_asm.h.


Define Documentation

#define MULADDC_CORE

Value:

s0 = ( *s << biH ) >> biH;          \
    s1 = ( *s >> biH ); s++;            \
    rx = s0 * b1; r0 = s0 * b0;         \
    ry = s1 * b0; r1 = s1 * b1;         \
    r1 += ( rx >> biH );                \
    r1 += ( ry >> biH );                \
    rx <<= biH; ry <<= biH;             \
    r0 += rx; r1 += (r0 < rx);          \
    r0 += ry; r1 += (r0 < ry);          \
    r0 +=  c; r1 += (r0 <  c);          \
    r0 += *d; r1 += (r0 < *d);          \
    c = r1; *(d++) = r0;

Definition at line 594 of file bn_asm.h.

Referenced by mpi_mul_hlp().

#define MULADDC_INIT

Value:

{                                       \
    t_int s0, s1, b0, b1;               \
    t_int r0, r1, rx, ry;               \
    b0 = ( b << biH ) >> biH;           \
    b1 = ( b >> biH );

Definition at line 587 of file bn_asm.h.

Referenced by mpi_mul_hlp().

#define MULADDC_STOP   }

Definition at line 608 of file bn_asm.h.

Referenced by mpi_mul_hlp().


Generated on Fri May 16 14:49:56 2008 for Mobile-C by  doxygen 1.5.4