aboutsummaryrefslogtreecommitdiff
path: root/ecdsa_fpga_curve_microcode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ecdsa_fpga_curve_microcode.cpp')
-rw-r--r--ecdsa_fpga_curve_microcode.cpp28
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