Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This patch adds `bignum_mont{sqr,mul}_p521_neon`. ``` bignum_montsqr_p521 : 114.7 ns each (var 0.2%, corr 0.06) = 8720010 ops/sec bignum_montsqr_p521_neon : 83.8 ns each (var 0.4%, corr -0.04) = 11926387 ops/sec bignum_montmul_p521 : 130.8 ns each (var 0.2%, corr -0.00) = 7644702 ops/sec bignum_montmul_p521_neon : 111.4 ns each (var 0.2%, corr 0.04) = 8978421 ops/sec ``` The new subroutine specs are added to specification.txt, and test as well as benchmark are updated. Modular squaring/multiplication functions are not included in this patch. This patch also contains the following updates: - A tactic for showing equivalence of loops is added (the tactic is not used yet). - Definitions for input state equivalence are canonicalized as `.. /\ (?a. read c1 s = a /\ read c1 s' = a /\ (?b. read c2 s = b /\ read c2 s' = b /\ ( ... )))` - Minor buggy behaviors in equiv tactics are fixed and performance improvements done
- Loading branch information