diff options
Diffstat (limited to 'src/Specific/montgomery32_2e222m117_7limbs')
20 files changed, 0 insertions, 262 deletions
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/CurveParameters.v b/src/Specific/montgomery32_2e222m117_7limbs/CurveParameters.v deleted file mode 100644 index fdfdf452e..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/CurveParameters.v +++ /dev/null @@ -1,39 +0,0 @@ -Require Import Crypto.Specific.Framework.RawCurveParameters. -Require Import Crypto.Util.LetIn. - -(*** -Modulus : 2^222 - 117 -Base: 32 -***) - -Definition curve : CurveParameters := - {| - sz := 7%nat; - base := 32; - bitwidth := 32; - s := 2^222; - c := [(1, 117)]; - 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_2e222m117_7limbs/Synthesis.v b/src/Specific/montgomery32_2e222m117_7limbs/Synthesis.v deleted file mode 100644 index 395113bd9..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/Synthesis.v +++ /dev/null @@ -1,9 +0,0 @@ -Require Import Crypto.Specific.Framework.SynthesisFramework. -Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.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_2e222m117_7limbs/compiler.sh b/src/Specific/montgomery32_2e222m117_7limbs/compiler.sh deleted file mode 100755 index 11acff1e4..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<222) - 117' "$@" diff --git a/src/Specific/montgomery32_2e222m117_7limbs/compilerxx.sh b/src/Specific/montgomery32_2e222m117_7limbs/compilerxx.sh deleted file mode 100755 index 1dc8fd0f2..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<222) - 117' "$@" diff --git a/src/Specific/montgomery32_2e222m117_7limbs/feadd.c b/src/Specific/montgomery32_2e222m117_7limbs/feadd.c deleted file mode 100644 index b687807e2..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/feadd.c +++ /dev/null @@ -1,46 +0,0 @@ -static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) { - { const uint32_t x14 = 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 x26 = in2[6]; - { const uint32_t x27 = in2[5]; - { const uint32_t x25 = in2[4]; - { const uint32_t x23 = in2[3]; - { const uint32_t x21 = in2[2]; - { const uint32_t x19 = in2[1]; - { const uint32_t x17 = in2[0]; - { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x5, x17, &x29); - { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x7, x19, &x32); - { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x9, x21, &x35); - { uint32_t x38; uint8_t x39 = _addcarryx_u32(x36, x11, x23, &x38); - { uint32_t x41; uint8_t x42 = _addcarryx_u32(x39, x13, x25, &x41); - { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x15, x27, &x44); - { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x14, x26, &x47); - { uint32_t x50; uint8_t x51 = _subborrow_u32(0x0, x29, 0xffffff8b, &x50); - { uint32_t x53; uint8_t x54 = _subborrow_u32(x51, x32, 0xffffffff, &x53); - { uint32_t x56; uint8_t x57 = _subborrow_u32(x54, x35, 0xffffffff, &x56); - { uint32_t x59; uint8_t x60 = _subborrow_u32(x57, x38, 0xffffffff, &x59); - { uint32_t x62; uint8_t x63 = _subborrow_u32(x60, x41, 0xffffffff, &x62); - { uint32_t x65; uint8_t x66 = _subborrow_u32(x63, x44, 0xffffffff, &x65); - { uint32_t x68; uint8_t x69 = _subborrow_u32(x66, x47, 0x3fffffff, &x68); - { uint32_t _; uint8_t x72 = _subborrow_u32(x69, x48, 0x0, &_); - { uint32_t x73 = cmovznz32(x72, x68, x47); - { uint32_t x74 = cmovznz32(x72, x65, x44); - { uint32_t x75 = cmovznz32(x72, x62, x41); - { uint32_t x76 = cmovznz32(x72, x59, x38); - { uint32_t x77 = cmovznz32(x72, x56, x35); - { uint32_t x78 = cmovznz32(x72, x53, x32); - { uint32_t x79 = cmovznz32(x72, x50, x29); - out[0] = x79; - out[1] = x78; - out[2] = x77; - out[3] = x76; - out[4] = x75; - out[5] = x74; - out[6] = x73; - }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} -} diff --git a/src/Specific/montgomery32_2e222m117_7limbs/feadd.v b/src/Specific/montgomery32_2e222m117_7limbs/feadd.v deleted file mode 100644 index 2e16f156d..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/feadd.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.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_2e222m117_7limbs/feaddDisplay.log b/src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.log deleted file mode 100644 index 42c686f39..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.log +++ /dev/null @@ -1,29 +0,0 @@ -λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32, -Interp-η -(λ var : Syntax.base_type → Type, - λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, - uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17); - uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19); - uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21); - uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23); - uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25); - uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27); - uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26); - uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xffffff8b); - uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff); - uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff); - uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffffff); - uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff); - uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff); - uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0x3fffffff); - uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0); - uint32_t x73 = cmovznz32(x72, x68, x47); - uint32_t x74 = cmovznz32(x72, x65, x44); - uint32_t x75 = cmovznz32(x72, x62, x41); - uint32_t x76 = cmovznz32(x72, x59, x38); - uint32_t x77 = cmovznz32(x72, x56, x35); - uint32_t x78 = cmovznz32(x72, x53, x32); - uint32_t x79 = cmovznz32(x72, x50, x29); - return (x73, x74, x75, x76, x77, x78, x79)) -(x, x0)%core - : 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) diff --git a/src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.v b/src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.v deleted file mode 100644 index 96e40d62b..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.feadd. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display add. diff --git a/src/Specific/montgomery32_2e222m117_7limbs/femul.v b/src/Specific/montgomery32_2e222m117_7limbs/femul.v deleted file mode 100644 index 83cc67c29..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/femul.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.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_2e222m117_7limbs/femulDisplay.v b/src/Specific/montgomery32_2e222m117_7limbs/femulDisplay.v deleted file mode 100644 index e50d33416..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/femulDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.femul. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display mul. diff --git a/src/Specific/montgomery32_2e222m117_7limbs/fenz.c b/src/Specific/montgomery32_2e222m117_7limbs/fenz.c deleted file mode 100644 index 387dcfe67..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/fenz.c +++ /dev/null @@ -1,17 +0,0 @@ -static void fenz(ReturnType uint32_t out[1], const uint32_t in1[7]) { - { const uint32_t x11 = 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 x13 = (x12 | x11); - { uint32_t x14 = (x10 | x13); - { uint32_t x15 = (x8 | x14); - { uint32_t x16 = (x6 | x15); - { uint32_t x17 = (x4 | x16); - { uint32_t x18 = (x2 | x17); - out[0] = x18; - }}}}}}}}}}}}} -} diff --git a/src/Specific/montgomery32_2e222m117_7limbs/fenz.v b/src/Specific/montgomery32_2e222m117_7limbs/fenz.v deleted file mode 100644 index 52897c98e..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/fenz.v +++ /dev/null @@ -1,16 +0,0 @@ -Require Import Coq.ZArith.ZArith. -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.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_2e222m117_7limbs/fenzDisplay.log b/src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.log deleted file mode 100644 index 9685f89d7..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.log +++ /dev/null @@ -1,13 +0,0 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32, -Interp-η -(λ var : Syntax.base_type → Type, - λ '(x11, x12, x10, x8, x6, x4, x2)%core, - uint32_t x13 = (x12 | x11); - uint32_t x14 = (x10 | x13); - uint32_t x15 = (x8 | x14); - uint32_t x16 = (x6 | x15); - uint32_t x17 = (x4 | x16); - uint32_t x18 = (x2 | x17); - return x18) -x - : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t diff --git a/src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.v b/src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.v deleted file mode 100644 index 5938d7ab9..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.fenz. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display nonzero. diff --git a/src/Specific/montgomery32_2e222m117_7limbs/feopp.v b/src/Specific/montgomery32_2e222m117_7limbs/feopp.v deleted file mode 100644 index 31c54f100..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/feopp.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.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_2e222m117_7limbs/feoppDisplay.v b/src/Specific/montgomery32_2e222m117_7limbs/feoppDisplay.v deleted file mode 100644 index e51b7e893..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/feoppDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.feopp. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display opp. diff --git a/src/Specific/montgomery32_2e222m117_7limbs/fesquare.c b/src/Specific/montgomery32_2e222m117_7limbs/fesquare.c deleted file mode 100644 index e3345edfe..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/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_2e222m117_7limbs/fesub.v b/src/Specific/montgomery32_2e222m117_7limbs/fesub.v deleted file mode 100644 index 24410b11b..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/fesub.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.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_2e222m117_7limbs/fesubDisplay.v b/src/Specific/montgomery32_2e222m117_7limbs/fesubDisplay.v deleted file mode 100644 index c099e31ef..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/fesubDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.fesub. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display sub. diff --git a/src/Specific/montgomery32_2e222m117_7limbs/py_interpreter.sh b/src/Specific/montgomery32_2e222m117_7limbs/py_interpreter.sh deleted file mode 100755 index db48f60b3..000000000 --- a/src/Specific/montgomery32_2e222m117_7limbs/py_interpreter.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -set -eu - -/usr/bin/env python3 "$@" -Dq='2**222 - 117' -Dmodulus_bytes='32' -Da24='121665' |