diff options
Diffstat (limited to 'ecdsa_fpga_curve_microcode.cpp')
-rw-r--r-- | ecdsa_fpga_curve_microcode.cpp | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/ecdsa_fpga_curve_microcode.cpp b/ecdsa_fpga_curve_microcode.cpp index 128e087..84083f6 100644 --- a/ecdsa_fpga_curve_microcode.cpp +++ b/ecdsa_fpga_curve_microcode.cpp @@ -398,34 +398,14 @@ void fpga_curve_base_scalar_multiply_microcode(const FPGA_BUFFER *k, FPGA_BUFFER /* BEGIN_MICROCODE: CONVERT */ - uop_calc(MUL, BANK_HI, INVERT_A2, CYCLE_R0X, BANK_LO, CYCLE_SX); - uop_calc(MUL, BANK_HI, INVERT_A3, CYCLE_R0Y, BANK_LO, CYCLE_SY); - uop_cmpz(BANK_LO, CYCLE_R0Z); + uop_calc(MUL, BANK_HI, INVERT_A2, CYCLE_R0X, BANK_LO, CYCLE_R1X); + uop_calc(MUL, BANK_HI, INVERT_A3, CYCLE_R0Y, BANK_LO, CYCLE_R1Y); /* END_MICROCODE */ - if (uop_flagz_r0z) - { - /* BEGIN_MICROCODE: CONVERT_AT_INFINITY */ - - uop_move(BANK_LO, CONST_ZERO, BANK_HI, CYCLE_R0X); - uop_move(BANK_LO, CONST_ZERO, BANK_HI, CYCLE_R0Y); - - /* END_MICROCODE */ - } - else - { - /* BEGIN_MICROCODE: CONVERT_REGULAR */ - - uop_move(BANK_LO, CYCLE_SX, BANK_HI, CYCLE_R0X); - uop_move(BANK_LO, CYCLE_SY, BANK_HI, CYCLE_R0Y); - - /* END_MICROCODE */ - } - // return - uop_stor(BANK_HI, CYCLE_R0X, qx); - uop_stor(BANK_HI, CYCLE_R0Y, qy); + uop_stor(BANK_LO, CYCLE_R1X, qx); + uop_stor(BANK_LO, CYCLE_R1Y, qy); } #endif USE_MICROCODE |