9 #ifndef BOTAN_MP_ASM_INTERNAL_H__
10 #define BOTAN_MP_ASM_INTERNAL_H__
12 #include <botan/internal/mp_asm.h>
21 inline word
word_add(word x, word y, word* carry)
26 *carry = c1 | (z < *carry);
33 inline word
word8_add2(word x[8],
const word y[8], word carry)
64 inline word
word8_add3(word z[8],
const word x[8],
const word y[8], word carry)
112 inline word
word_sub(word x, word y, word* carry)
116 word z = t0 - *carry;
117 *carry = c1 | (z > t0);
124 inline word
word8_sub2(word x[8],
const word y[8], word carry)
163 inline word
word8_sub2_rev(word x[8],
const word y[8], word carry)
165 x[0] =
word_sub(y[0], x[0], &carry);
166 x[1] =
word_sub(y[1], x[1], &carry);
167 x[2] =
word_sub(y[2], x[2], &carry);
168 x[3] =
word_sub(y[3], x[3], &carry);
169 x[4] =
word_sub(y[4], x[4], &carry);
170 x[5] =
word_sub(y[5], x[5], &carry);
171 x[6] =
word_sub(y[6], x[6], &carry);
172 x[7] =
word_sub(y[7], x[7], &carry);
180 inline word
word8_sub3(word z[8],
const word x[8],
181 const word y[8], word carry)
494 inline word
word8_madd3(word z[8],
const word x[8], word y, word carry)
510 inline void word3_muladd(word* w2, word* w1, word* w0, word a, word b)
515 *w2 += (*w1 < carry) ? 1 : 0;
521 inline void word3_muladd_2(word* w2, word* w1, word* w0, word a, word b)
527 word top = (b >> (BOTAN_MP_WORD_BITS-1));
529 b |= (a >> (BOTAN_MP_WORD_BITS-1));
word word8_muladd(word z[8], const word x[8], word y, word carry)
word word8_sub2_rev(word x[8], const word y[8], word carry)
word word8_add2(word x[8], const word y[8], word carry)
word word8_linmul3(word z[8], const word x[8], word y, word carry)
word word_madd3(word a, word b, word c, word *d)
word word8_sub2(word x[8], const word y[8], word carry)
word word_madd2(word a, word b, word *c)
word word8_madd3(word z[8], const word x[8], word y, word carry)
word word8_linmul2(word x[8], word y, word carry)
void word3_muladd(word *w2, word *w1, word *w0, word a, word b)
word word8_add3(word z[8], const word x[8], const word y[8], word carry)
word word_sub(word x, word y, word *carry)
void word3_muladd_2(word *w2, word *w1, word *w0, word a, word b)
word word_add(word x, word y, word *carry)
word word8_sub3(word z[8], const word x[8], const word y[8], word carry)