aboutsummaryrefslogtreecommitdiff
path: root/ecdsa_fpga_curve_microcode.cpp
diff options
context:
space:
mode:
authorPavel V. Shatov (Meister) <meisterpaul1@yandex.ru>2021-04-12 16:30:11 +0300
committerPavel V. Shatov (Meister) <meisterpaul1@yandex.ru>2021-04-12 16:30:11 +0300
commite930850462e8cd6ea0ed4fc5327a456c59acf90b (patch)
treef22a1a39466f35fd74f6e131f0b73dae5eb9c5fb /ecdsa_fpga_curve_microcode.cpp
parentc94e882a3bad117fe6c260f8a4012a7305c02915 (diff)
* cleaned up a bit
* removed redundant check and refined microcode * re-enabled previously forgotten test
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