Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Saturated arithmetic experiment #1609

Draft
wants to merge 45 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
b41ffbf
WIP
JasonGross Aug 15, 2023
94eec46
WIP reworking value type
JasonGross Aug 16, 2023
2e49ffa
WIP
JasonGross Aug 16, 2023
187a6d7
rewrite cmov c,0,-1 to sbb
andres-erbsen Apr 27, 2023
1f7f336
saturated non-canonical pseudo-Mersenne addition
andres-erbsen May 8, 2023
a7c0485
WIP before sub
andres-erbsen May 9, 2023
e8c4417
bracketize eval_reduce3
andres-erbsen May 9, 2023
d7fcb74
reduce3 cleanup WIP
andres-erbsen May 9, 2023
60de154
SolinasReduction cleanup WIP
andres-erbsen May 9, 2023
40480e5
saturated_pseudomersenne_reduction_converges
andres-erbsen May 10, 2023
1fc5677
saturated_pseudomersenne_reduction_converges'
andres-erbsen May 10, 2023
b02ad58
example of needless substitution in DCE
andres-erbsen May 10, 2023
598c717
WIP
andres-erbsen May 15, 2023
c37e376
WIP
andres-erbsen May 15, 2023
9c83da7
WIP
andres-erbsen May 15, 2023
4e69cce
WIP
andres-erbsen May 15, 2023
e60e284
Compilers positive WIP
andres-erbsen May 16, 2023
cca1d1c
WIP Z reification fails
andres-erbsen May 16, 2023
108e222
minor cleanup in eval
andres-erbsen May 16, 2023
7f6c4c3
eval_mul
andres-erbsen May 19, 2023
e24dc54
mulmod
andres-erbsen May 19, 2023
85339a7
eval_mulmod
andres-erbsen May 19, 2023
32aa606
things kinda build now
andres-erbsen May 22, 2023
453d314
use positive
andres-erbsen May 22, 2023
b522ee7
cleanup
andres-erbsen May 23, 2023
e847dc3
canon_correct
andres-erbsen May 23, 2023
39dc6d9
canon still does not reify
andres-erbsen May 23, 2023
d6a1bac
hackily reify weight
andres-erbsen May 24, 2023
8881279
divmodw
andres-erbsen Jun 5, 2023
1b6e43f
prototype bounds-checked mul
andres-erbsen Jun 6, 2023
599ab30
union bounds of conditionals
andres-erbsen Aug 4, 2023
6492826
fix build enough to see synthesis output
andres-erbsen Aug 21, 2023
e3dd69c
genereate reasonable fe4_mul by iterating rw/bounds
andres-erbsen Aug 21, 2023
29da032
dlet more
andres-erbsen Aug 22, 2023
fb346d9
start implementing interleaved Montgomery reduction
andres-erbsen Aug 23, 2023
68ba51e
p256_mul draft
andres-erbsen Aug 23, 2023
47f058a
p256 square
andres-erbsen Sep 6, 2023
0267d1b
refactor product_scan_ for p256 sqr bounds
andres-erbsen Sep 8, 2023
3d4d51d
p256 square diagonal carry chain optimization
andres-erbsen Sep 19, 2023
43a5e6a
p256_adx in CLI, not particularly clean
andres-erbsen Sep 19, 2023
2a6f73f
condsub' instead of canon in p256_mul
andres-erbsen Sep 27, 2023
dd405bb
fill in some admits
andres-erbsen Sep 29, 2023
b0c6b36
fix p256_sqr Qed
andres-erbsen Sep 29, 2023
0d69640
clean up p256adx
andres-erbsen Sep 29, 2023
e6077db
garbage-collect SlowPrimeSynthesisExamples
andres-erbsen Sep 29, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile.config
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ else
if_SKIP_BEDROCK2 = $(1)
endif

BASE_STANDALONE := unsaturated_solinas saturated_solinas dettman_multiplication word_by_word_montgomery base_conversion solinas_reduction
BASE_STANDALONE := unsaturated_solinas dettman_multiplication word_by_word_montgomery base_conversion p256adx
BEDROCK2_STANDALONE := $(addprefix bedrock2_,$(BASE_STANDALONE)) $(addprefix with_bedrock2_,$(BASE_STANDALONE))
STANDALONE := $(BASE_STANDALONE) $(call if_SKIP_BEDROCK2,,$(BEDROCK2_STANDALONE) $(WITH_BEDROCK2_STANDALONE))
PERF_STANDALONE := perf_unsaturated_solinas perf_word_by_word_montgomery
Expand Down
403 changes: 201 additions & 202 deletions fiat-bedrock2/src/curve25519_32.c

Large diffs are not rendered by default.

325 changes: 162 additions & 163 deletions fiat-bedrock2/src/curve25519_64.c

Large diffs are not rendered by default.

661 changes: 330 additions & 331 deletions fiat-bedrock2/src/curve25519_scalar_32.c

Large diffs are not rendered by default.

355 changes: 177 additions & 178 deletions fiat-bedrock2/src/curve25519_scalar_64.c

Large diffs are not rendered by default.

601 changes: 300 additions & 301 deletions fiat-bedrock2/src/p224_32.c

Large diffs are not rendered by default.

367 changes: 183 additions & 184 deletions fiat-bedrock2/src/p224_64.c

Large diffs are not rendered by default.

661 changes: 330 additions & 331 deletions fiat-bedrock2/src/p256_32.c

Large diffs are not rendered by default.

355 changes: 177 additions & 178 deletions fiat-bedrock2/src/p256_64.c

Large diffs are not rendered by default.

685 changes: 342 additions & 343 deletions fiat-bedrock2/src/p256_scalar_32.c

Large diffs are not rendered by default.

367 changes: 183 additions & 184 deletions fiat-bedrock2/src/p256_scalar_64.c

Large diffs are not rendered by default.

1,017 changes: 508 additions & 509 deletions fiat-bedrock2/src/p384_32.c

Large diffs are not rendered by default.

539 changes: 269 additions & 270 deletions fiat-bedrock2/src/p384_64.c

Large diffs are not rendered by default.

1,041 changes: 520 additions & 521 deletions fiat-bedrock2/src/p384_scalar_32.c

Large diffs are not rendered by default.

539 changes: 269 additions & 270 deletions fiat-bedrock2/src/p384_scalar_64.c

Large diffs are not rendered by default.

611 changes: 305 additions & 306 deletions fiat-bedrock2/src/p434_64.c

Large diffs are not rendered by default.

487 changes: 243 additions & 244 deletions fiat-bedrock2/src/p448_solinas_64.c

Large diffs are not rendered by default.

861 changes: 430 additions & 431 deletions fiat-bedrock2/src/p521_32.c

Large diffs are not rendered by default.

645 changes: 322 additions & 323 deletions fiat-bedrock2/src/p521_64.c

Large diffs are not rendered by default.

195 changes: 97 additions & 98 deletions fiat-bedrock2/src/poly1305_32.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading