diff options
Diffstat (limited to 'src/Specific/montgomery32_2e285m9_9limbs')
20 files changed, 0 insertions, 286 deletions
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/CurveParameters.v b/src/Specific/montgomery32_2e285m9_9limbs/CurveParameters.v deleted file mode 100644 index a17478355..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/CurveParameters.v +++ /dev/null @@ -1,39 +0,0 @@ -Require Import Crypto.Specific.Framework.RawCurveParameters. -Require Import Crypto.Util.LetIn. - -(*** -Modulus : 2^285 - 9 -Base: 32 -***) - -Definition curve : CurveParameters := - {| - sz := 9%nat; - base := 32; - bitwidth := 32; - s := 2^285; - c := [(1, 9)]; - carry_chains := None; - - a24 := None; - coef_div_modulus := None; - - goldilocks := None; - karatsuba := None; - montgomery := true; - freeze := Some false; - ladderstep := false; - - mul_code := None; - - square_code := None; - - upper_bound_of_exponent_loose := None; - upper_bound_of_exponent_tight := None; - allowable_bit_widths := None; - freeze_extra_allowable_bit_widths := None; - modinv_fuel := None - |}. - -Ltac extra_prove_mul_eq _ := idtac. -Ltac extra_prove_square_eq _ := idtac. diff --git a/src/Specific/montgomery32_2e285m9_9limbs/Synthesis.v b/src/Specific/montgomery32_2e285m9_9limbs/Synthesis.v deleted file mode 100644 index de9d8e76e..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/Synthesis.v +++ /dev/null @@ -1,9 +0,0 @@ -Require Import Crypto.Specific.Framework.SynthesisFramework. -Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.CurveParameters. - -Module P <: PrePackage. - Definition package : Tag.Context. - Proof. make_Synthesis_package curve extra_prove_mul_eq extra_prove_square_eq. Defined. -End P. - -Module Export S := PackageSynthesis P. diff --git a/src/Specific/montgomery32_2e285m9_9limbs/compiler.sh b/src/Specific/montgomery32_2e285m9_9limbs/compiler.sh deleted file mode 100755 index c1dc7bdb1..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/compiler.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -set -eu - -clang -fbracket-depth=999999 -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fuse-ld=lld -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Da24_hex='0x3039' -Da24_val='12345' -Da_minus_two_over_four_array='{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<285) - 9' "$@" diff --git a/src/Specific/montgomery32_2e285m9_9limbs/compilerxx.sh b/src/Specific/montgomery32_2e285m9_9limbs/compilerxx.sh deleted file mode 100755 index 4dc514d7d..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/compilerxx.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -set -eu - -clang++ -fbracket-depth=999999 -march=native -mbmi2 -mtune=native -std=gnu++11 -O3 -flto -fuse-ld=lld -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Da24_hex='0x3039' -Da24_val='12345' -Da_minus_two_over_four_array='{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<285) - 9' "$@" diff --git a/src/Specific/montgomery32_2e285m9_9limbs/feadd.c b/src/Specific/montgomery32_2e285m9_9limbs/feadd.c deleted file mode 100644 index 2d47c9464..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/feadd.c +++ /dev/null @@ -1,58 +0,0 @@ -static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) { - { const uint32_t x18 = in1[8]; - { const uint32_t x19 = in1[7]; - { const uint32_t x17 = in1[6]; - { const uint32_t x15 = in1[5]; - { const uint32_t x13 = in1[4]; - { const uint32_t x11 = in1[3]; - { const uint32_t x9 = in1[2]; - { const uint32_t x7 = in1[1]; - { const uint32_t x5 = in1[0]; - { const uint32_t x34 = in2[8]; - { const uint32_t x35 = in2[7]; - { const uint32_t x33 = in2[6]; - { const uint32_t x31 = in2[5]; - { const uint32_t x29 = in2[4]; - { const uint32_t x27 = in2[3]; - { const uint32_t x25 = in2[2]; - { const uint32_t x23 = in2[1]; - { const uint32_t x21 = in2[0]; - { uint32_t x37; uint8_t x38 = _addcarryx_u32(0x0, x5, x21, &x37); - { uint32_t x40; uint8_t x41 = _addcarryx_u32(x38, x7, x23, &x40); - { uint32_t x43; uint8_t x44 = _addcarryx_u32(x41, x9, x25, &x43); - { uint32_t x46; uint8_t x47 = _addcarryx_u32(x44, x11, x27, &x46); - { uint32_t x49; uint8_t x50 = _addcarryx_u32(x47, x13, x29, &x49); - { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x15, x31, &x52); - { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x17, x33, &x55); - { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x19, x35, &x58); - { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x18, x34, &x61); - { uint32_t x64; uint8_t x65 = _subborrow_u32(0x0, x37, 0xfffffff7, &x64); - { uint32_t x67; uint8_t x68 = _subborrow_u32(x65, x40, 0xffffffff, &x67); - { uint32_t x70; uint8_t x71 = _subborrow_u32(x68, x43, 0xffffffff, &x70); - { uint32_t x73; uint8_t x74 = _subborrow_u32(x71, x46, 0xffffffff, &x73); - { uint32_t x76; uint8_t x77 = _subborrow_u32(x74, x49, 0xffffffff, &x76); - { uint32_t x79; uint8_t x80 = _subborrow_u32(x77, x52, 0xffffffff, &x79); - { uint32_t x82; uint8_t x83 = _subborrow_u32(x80, x55, 0xffffffff, &x82); - { uint32_t x85; uint8_t x86 = _subborrow_u32(x83, x58, 0xffffffff, &x85); - { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x61, 0x1fffffff, &x88); - { uint32_t _; uint8_t x92 = _subborrow_u32(x89, x62, 0x0, &_); - { uint32_t x93 = cmovznz32(x92, x88, x61); - { uint32_t x94 = cmovznz32(x92, x85, x58); - { uint32_t x95 = cmovznz32(x92, x82, x55); - { uint32_t x96 = cmovznz32(x92, x79, x52); - { uint32_t x97 = cmovznz32(x92, x76, x49); - { uint32_t x98 = cmovznz32(x92, x73, x46); - { uint32_t x99 = cmovznz32(x92, x70, x43); - { uint32_t x100 = cmovznz32(x92, x67, x40); - { uint32_t x101 = cmovznz32(x92, x64, x37); - out[0] = x101; - out[1] = x100; - out[2] = x99; - out[3] = x98; - out[4] = x97; - out[5] = x96; - out[6] = x95; - out[7] = x94; - out[8] = x93; - }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} -} diff --git a/src/Specific/montgomery32_2e285m9_9limbs/feadd.v b/src/Specific/montgomery32_2e285m9_9limbs/feadd.v deleted file mode 100644 index 548a2f636..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/feadd.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.Synthesis. - -(* TODO : change this to field once field isomorphism happens *) -Definition add : - { add : feBW_small -> feBW_small -> feBW_small - | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }. -Proof. - Set Ltac Profiling. - Time synthesize_add (). - Show Ltac Profile. -Time Defined. - -Print Assumptions add. diff --git a/src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.log b/src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.log deleted file mode 100644 index 1dabeafdc..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.log +++ /dev/null @@ -1,35 +0,0 @@ -λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, -Interp-η -(λ var : Syntax.base_type → Type, - λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - uint32_t x37, uint8_t x38 = addcarryx_u32(0x0, x5, x21); - uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x7, x23); - uint32_t x43, uint8_t x44 = addcarryx_u32(x41, x9, x25); - uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x11, x27); - uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x13, x29); - uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x15, x31); - uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x17, x33); - uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x19, x35); - uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x18, x34); - uint32_t x64, uint8_t x65 = subborrow_u32(0x0, x37, 0xfffffff7); - uint32_t x67, uint8_t x68 = subborrow_u32(x65, x40, 0xffffffff); - uint32_t x70, uint8_t x71 = subborrow_u32(x68, x43, 0xffffffff); - uint32_t x73, uint8_t x74 = subborrow_u32(x71, x46, 0xffffffff); - uint32_t x76, uint8_t x77 = subborrow_u32(x74, x49, 0xffffffff); - uint32_t x79, uint8_t x80 = subborrow_u32(x77, x52, 0xffffffff); - uint32_t x82, uint8_t x83 = subborrow_u32(x80, x55, 0xffffffff); - uint32_t x85, uint8_t x86 = subborrow_u32(x83, x58, 0xffffffff); - uint32_t x88, uint8_t x89 = subborrow_u32(x86, x61, 0x1fffffff); - uint32_t _, uint8_t x92 = subborrow_u32(x89, x62, 0x0); - uint32_t x93 = cmovznz32(x92, x88, x61); - uint32_t x94 = cmovznz32(x92, x85, x58); - uint32_t x95 = cmovznz32(x92, x82, x55); - uint32_t x96 = cmovznz32(x92, x79, x52); - uint32_t x97 = cmovznz32(x92, x76, x49); - uint32_t x98 = cmovznz32(x92, x73, x46); - uint32_t x99 = cmovznz32(x92, x70, x43); - uint32_t x100 = cmovznz32(x92, x67, x40); - uint32_t x101 = cmovznz32(x92, x64, x37); - return (x93, x94, x95, x96, x97, x98, x99, x100, x101)) -(x, x0)%core - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.v b/src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.v deleted file mode 100644 index 7d021f1e1..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.feadd. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display add. diff --git a/src/Specific/montgomery32_2e285m9_9limbs/femul.v b/src/Specific/montgomery32_2e285m9_9limbs/femul.v deleted file mode 100644 index 395794549..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/femul.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.Synthesis. - -(* TODO : change this to field once field isomorphism happens *) -Definition mul : - { mul : feBW_small -> feBW_small -> feBW_small - | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }. -Proof. - Set Ltac Profiling. - Time synthesize_mul (). - Show Ltac Profile. -Time Defined. - -Print Assumptions mul. diff --git a/src/Specific/montgomery32_2e285m9_9limbs/femulDisplay.v b/src/Specific/montgomery32_2e285m9_9limbs/femulDisplay.v deleted file mode 100644 index bde3785e9..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/femulDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.femul. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display mul. diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fenz.c b/src/Specific/montgomery32_2e285m9_9limbs/fenz.c deleted file mode 100644 index c10600790..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/fenz.c +++ /dev/null @@ -1,21 +0,0 @@ -static void fenz(ReturnType uint32_t out[1], const uint32_t in1[9]) { - { const uint32_t x15 = in1[8]; - { const uint32_t x16 = in1[7]; - { const uint32_t x14 = in1[6]; - { const uint32_t x12 = in1[5]; - { const uint32_t x10 = in1[4]; - { const uint32_t x8 = in1[3]; - { const uint32_t x6 = in1[2]; - { const uint32_t x4 = in1[1]; - { const uint32_t x2 = in1[0]; - { uint32_t x17 = (x16 | x15); - { uint32_t x18 = (x14 | x17); - { uint32_t x19 = (x12 | x18); - { uint32_t x20 = (x10 | x19); - { uint32_t x21 = (x8 | x20); - { uint32_t x22 = (x6 | x21); - { uint32_t x23 = (x4 | x22); - { uint32_t x24 = (x2 | x23); - out[0] = x24; - }}}}}}}}}}}}}}}}} -} diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fenz.v b/src/Specific/montgomery32_2e285m9_9limbs/fenz.v deleted file mode 100644 index 5c5c5a2cc..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/fenz.v +++ /dev/null @@ -1,16 +0,0 @@ -Require Import Coq.ZArith.ZArith. -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.Synthesis. -Local Open Scope Z_scope. - -(* TODO : change this to field once field isomorphism happens *) -Definition nonzero : - { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1 - | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }. -Proof. - Set Ltac Profiling. - Time synthesize_nonzero (). - Show Ltac Profile. -Time Defined. - -Print Assumptions nonzero. diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.log b/src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.log deleted file mode 100644 index d8d43b40b..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.log +++ /dev/null @@ -1,15 +0,0 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, -Interp-η -(λ var : Syntax.base_type → Type, - λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint32_t x17 = (x16 | x15); - uint32_t x18 = (x14 | x17); - uint32_t x19 = (x12 | x18); - uint32_t x20 = (x10 | x19); - uint32_t x21 = (x8 | x20); - uint32_t x22 = (x6 | x21); - uint32_t x23 = (x4 | x22); - uint32_t x24 = (x2 | x23); - return x24) -x - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.v b/src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.v deleted file mode 100644 index 79fbfa65e..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.fenz. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display nonzero. diff --git a/src/Specific/montgomery32_2e285m9_9limbs/feopp.v b/src/Specific/montgomery32_2e285m9_9limbs/feopp.v deleted file mode 100644 index 944c20a63..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/feopp.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.Synthesis. - -(* TODO : change this to field once field isomorphism happens *) -Definition opp : - { opp : feBW_small -> feBW_small - | forall a, phiM_small (opp a) = F.opp (phiM_small a) }. -Proof. - Set Ltac Profiling. - Time synthesize_opp (). - Show Ltac Profile. -Time Defined. - -Print Assumptions opp. diff --git a/src/Specific/montgomery32_2e285m9_9limbs/feoppDisplay.v b/src/Specific/montgomery32_2e285m9_9limbs/feoppDisplay.v deleted file mode 100644 index 4a157a6db..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/feoppDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.feopp. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display opp. diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fesquare.c b/src/Specific/montgomery32_2e285m9_9limbs/fesquare.c deleted file mode 100644 index e3345edfe..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/fesquare.c +++ /dev/null @@ -1,5 +0,0 @@ -/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c. - If you edit it here, changes will be erased the next time remake_curves.sh is run. */ -static void fesquare(uint32_t *out, const uint32_t *in) { - femul(out, in, in); -} diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fesub.v b/src/Specific/montgomery32_2e285m9_9limbs/fesub.v deleted file mode 100644 index 94dfd086c..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/fesub.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.Synthesis. - -(* TODO : change this to field once field isomorphism happens *) -Definition sub : - { sub : feBW_small -> feBW_small -> feBW_small - | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }. -Proof. - Set Ltac Profiling. - Time synthesize_sub (). - Show Ltac Profile. -Time Defined. - -Print Assumptions sub. diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fesubDisplay.v b/src/Specific/montgomery32_2e285m9_9limbs/fesubDisplay.v deleted file mode 100644 index 6981915a3..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/fesubDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.fesub. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display sub. diff --git a/src/Specific/montgomery32_2e285m9_9limbs/py_interpreter.sh b/src/Specific/montgomery32_2e285m9_9limbs/py_interpreter.sh deleted file mode 100755 index c07e3f4a1..000000000 --- a/src/Specific/montgomery32_2e285m9_9limbs/py_interpreter.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -set -eu - -/usr/bin/env python3 "$@" -Dq='2**285 - 9' -Dmodulus_bytes='32' -Da24='121665' |