diff options
author | lloyd <[email protected]> | 2007-03-08 03:23:26 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2007-03-08 03:23:26 +0000 |
commit | e64c6391734e4e38d1d58b1c1d193b1156080372 (patch) | |
tree | 0db6fb455119a4e7103c5ac2cf37c76f585c7f30 /modules | |
parent | 18d3e9db5a6f19ee26c728f9f78be9accd4bdca0 (diff) |
Clean up the x86-64 bigint_mul_add_words implementation a bit using the
new register macros.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/alg_amd64/mp_mulop.S | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/modules/alg_amd64/mp_mulop.S b/modules/alg_amd64/mp_mulop.S index ebd6aa8c0..1988429f6 100644 --- a/modules/alg_amd64/mp_mulop.S +++ b/modules/alg_amd64/mp_mulop.S @@ -9,18 +9,20 @@ START_LISTING(mp_muladd.S) START_FUNCTION(bigint_mul_add_words) -#define LOOP_CTR %r11d -#define X_ARR %rsi -#define Z_ARR %rdi -#define Y %rcx -#define CARRY %r8 -#define Z_WORD %r9 -#define MUL_LO %rax -#define MUL_HI %rdx +#define Z_ARR ARG_1 +#define X_ARR ARG_2 +#define X_SIZE %edx +#define Y ARG_4 + +#define CARRY TEMP_1 +#define Z_WORD TEMP_2 +#define LOOP_CTR %r9d +#define MUL_LO %rax +#define MUL_HI %rdx ZEROIZE(CARRY) - ASSIGN(LOOP_CTR, %edx) + ASSIGN(LOOP_CTR, X_SIZE) JUMP_IF_ZERO(LOOP_CTR, .DONE) JUMP_IF_LT(LOOP_CTR, 8, .MULADD1_LOOP) |