#include <botan/internal/mp_asm.h>
Go to the source code of this file.
|
void | Botan::word3_muladd (word *w2, word *w1, word *w0, word a, word b) |
|
void | Botan::word3_muladd_2 (word *w2, word *w1, word *w0, word a, word b) |
|
word | Botan::word8_add2 (word x[8], const word y[8], word carry) |
|
word | Botan::word8_add3 (word z[8], const word x[8], const word y[8], word carry) |
|
word | Botan::word8_linmul2 (word x[8], word y, word carry) |
|
word | Botan::word8_linmul3 (word z[8], const word x[8], word y, word carry) |
|
word | Botan::word8_madd3 (word z[8], const word x[8], word y, word carry) |
|
word | Botan::word8_sub2 (word x[8], const word y[8], word carry) |
|
word | Botan::word8_sub2_rev (word x[8], const word y[8], word carry) |
|
word | Botan::word8_sub3 (word z[8], const word x[8], const word y[8], word carry) |
|
word | Botan::word_add (word x, word y, word *carry) |
|
word | Botan::word_sub (word x, word y, word *carry) |
|
◆ ADD_OR_SUBTRACT
#define ADD_OR_SUBTRACT |
( |
|
CORE_CODE | ) |
|
Value: ASM(
"sbbq %[carry],%[carry]") \
ASM("negq %[carry]")
Definition at line 62 of file mp_asmi.h.
◆ ADDSUB2_OP
#define ADDSUB2_OP |
( |
|
OPERATION, |
|
|
|
INDEX |
|
) |
| |
Value:ASM(
"movq 8*" #INDEX
"(%[y]), %[carry]") \
ASM(OPERATION " %[carry], 8*" #INDEX "(%[x])") \
Definition at line 25 of file mp_asmi.h.
◆ ADDSUB3_OP
#define ADDSUB3_OP |
( |
|
OPERATION, |
|
|
|
INDEX |
|
) |
| |
Value:ASM(
"movq 8*" #INDEX
"(%[x]), %[carry]") \
ASM(OPERATION " 8*" #INDEX "(%[y]), %[carry]") \
ASM("movq %[carry], 8*" #INDEX "(%[z])") \
Definition at line 29 of file mp_asmi.h.
◆ ASM
#define ASM |
( |
|
x | ) |
x "\n\t" |
◆ DO_8_TIMES
#define DO_8_TIMES |
( |
|
MACRO, |
|
|
|
ARG |
|
) |
| |
◆ LINMUL_OP
#define LINMUL_OP |
( |
|
WRITE_TO, |
|
|
|
INDEX |
|
) |
| |
Value:ASM(
"movq 8*" #INDEX
"(%[x]),%%rax") \
ASM("mulq %[y]") \
ASM("addq %[carry],%%rax") \
ASM("adcq $0,%%rdx") \
ASM("movq %%rdx,%[carry]") \
ASM("movq %%rax, 8*" #INDEX "(%[" WRITE_TO "])")
Definition at line 34 of file mp_asmi.h.
◆ MULADD_OP
#define MULADD_OP |
( |
|
IGNORED, |
|
|
|
INDEX |
|
) |
| |
Value:ASM(
"movq 8*" #INDEX
"(%[x]),%%rax") \
ASM("mulq %[y]") \
ASM("addq %[carry],%%rax") \
ASM("adcq $0,%%rdx") \
ASM("addq 8*" #INDEX "(%[z]),%%rax") \
ASM("adcq $0,%%rdx") \
ASM("movq %%rdx,%[carry]") \
ASM("movq %%rax, 8*" #INDEX " (%[z])")
Definition at line 42 of file mp_asmi.h.