diff options
Diffstat (limited to 'src/math/bigint/mp_asm64/mp_asm.h')
-rw-r--r-- | src/math/bigint/mp_asm64/mp_asm.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/math/bigint/mp_asm64/mp_asm.h b/src/math/bigint/mp_asm64/mp_asm.h index e455b3616..f751a50f8 100644 --- a/src/math/bigint/mp_asm64/mp_asm.h +++ b/src/math/bigint/mp_asm64/mp_asm.h @@ -21,6 +21,13 @@ namespace Botan { z1 = a * b; \ } while(0); +#elif defined(BOTAN_TARGET_ARCH_IS_AMD64) + +#define BOTAN_WORD_MUL(a,b,z1,z0) do { \ + asm("mulq %3" : "=d" (z0), "=a" (z1) : \ + "a" (a), "rm" (b) : "cc"); \ +} while(0); + #elif defined(BOTAN_TARGET_ARCH_IS_IA64) #define BOTAN_WORD_MUL(a,b,z1,z0) do { \ |