40 Commits

Author SHA1 Message Date
Dmitry Vagner
cd5c92b574 merge 2023-02-01 08:51:42 -08:00
wborgeaud
ca002aeafa
Optimize ecrecover ASM (#840)
* windowed mul

* Working

* Window of 4 bits

* Fix

* Comments

* Unroll loop

* Unroll loop

* remove global

* Minor

* Minor

* Implement `CALLVALUE, CALLDATALOAD, CALLDATASIZE, CALLDATACOPY` in interpreter

* Minor

* Doesn't work

* Minor

* Minor

* wnaf msm

* Working hardcoded values: 28657 opcodes

* Working wnaf

* Small wnaf optim

* Precompute works

* Working together

* Bump to 129 bits

* Working glv decomposition

* Working MSM with GLV

* Almost working

* Working

* ECC test folder

* Working with real sig data

* Fix tests + Clippy

* Minor

* Cleaning

* Comments

* Cleaning

* Smaller glv test file

* Print opcode count at the end of interpreter run

* More constants

* Add z3 proof that the GLV scalars are 129-bit or less

* Minor change to z3 proof

* Minor

* Hamish's suggestion

* Working

* Cleaning

* Clippy

* PR feedback

* Minor PR feedback
2023-01-31 19:23:54 +01:00
Dmitry Vagner
8c064b8624 merge 2022-12-13 16:32:13 -08:00
Dmitry Vagner
a9f80d383d spacing 2022-12-13 16:31:16 -08:00
Nicholas Ward
53004867b3 macro 2022-12-13 10:08:36 -08:00
Nicholas Ward
a564d7350c fixes and addressed comments 2022-12-13 10:08:36 -08:00
Nicholas Ward
24d6627a62 addressed comments 2022-12-13 10:08:36 -08:00
wborgeaud
6b4cce21d8 Start 2022-10-21 18:00:41 +02:00
Daniel Lubarov
cad0473e1d More MPT insert logic 2022-10-10 09:40:28 -07:00
Dmitry Vagner
d42250d677 merge 2022-10-03 14:25:33 -07:00
Nicholas Ward
99fb730aea rearranging and cleanup 2022-10-03 14:07:21 -07:00
Nicholas Ward
7eba422792 addressed comments 2022-10-03 13:34:16 -07:00
Nicholas Ward
bff3da1da1 removed duplicate macros 2022-10-03 13:34:16 -07:00
Nicholas Ward
6a31a4b7ec fixes 2022-10-03 13:34:16 -07:00
Nicholas Ward
c24af37288 fixes 2022-10-03 13:34:16 -07:00
Nicholas Ward
aba45e2d2c finished pad 2022-10-03 13:34:16 -07:00
Nicholas Ward
042da0c8e9 starting on sha2 2022-10-03 13:34:16 -07:00
Dmitry Vagner
d6b3522b34 reverse bytes via BYTE code 2022-09-29 16:21:10 -07:00
Dmitry Vagner
abff978826 Daniel's comments 2022-09-29 13:58:49 -07:00
Dmitry Vagner
71d8384a0f Nick's comments 2022-09-27 22:17:48 -07:00
Dmitry Vagner
41ce8e94b9 FIRST UNIT TEST PASSED! 2022-09-23 10:39:49 -07:00
Dmitry Vagner
c6b62eaf2f fix update 2022-09-23 08:05:14 -07:00
Dmitry Vagner
a25aea8e2e Nick's comments 2022-09-21 20:03:11 -07:00
Dmitry Vagner
76d50f336c duplicate macro, test skeleton 2022-09-19 18:38:43 -07:00
Dmitry Vagner
aa862b7662 delete needless 2022-09-19 18:15:22 -07:00
Dmitry Vagner
d032b7fbfb merge 2022-09-19 18:13:00 -07:00
Dmitry Vagner
145eb5865b flip bytes of a u32 macro 2022-09-15 11:02:03 -07:00
Dmitry Vagner
cf80668ce3 formatting 2022-09-09 17:42:49 -07:00
Dmitry Vagner
7ed78c22a3 minor errors 2022-09-08 15:47:18 -07:00
Jacqueline Nabaglo
4c52d37546
Save columns by verifying invalid opcodes in software (#701)
* Save columns by verifying invalid opcodes in software

* Autogenerate invalid opcode bitfield (Daniel comment)

* Remove unnecessary panic label
2022-08-30 13:06:03 -07:00
Dmitry Vagner
03b4d0a9da all but memory 2022-08-23 12:03:06 -07:00
Dmitry Vagner
48f17e484b space 2022-08-08 11:04:05 -04:00
Dmitry Vagner
4633845452 fix merge conflict 2022-08-08 10:57:39 -04:00
Dmitry Vagner
ac4d7820e3 merge 2022-08-08 10:56:23 -04:00
Daniel Lubarov
233584e945
Merge pull request #656 from mir-protocol/min_max
min, max macros
2022-08-03 21:41:23 -07:00
Daniel Lubarov
f58990160e min, max macros
Will be used later for things like updating `MemorySize`.
2022-08-03 13:44:44 -07:00
Daniel Lubarov
6416826643 Feedback 2022-08-02 15:44:50 -07:00
Daniel Lubarov
a34a4c8184 fix 2022-07-31 13:03:07 -07:00
Daniel Lubarov
497b26dee6 Some simple optimization rules
Depends on #647.
2022-07-31 13:00:27 -07:00
Daniel Lubarov
7a6d996fe7 Move couple asm files 2022-07-31 09:28:16 -07:00