aboutsummaryrefslogtreecommitdiff
path: root/src/Specific
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2018-01-10 18:24:13 -0500
committerGravatar Jason Gross <jgross@mit.edu>2018-01-10 18:24:13 -0500
commit6116ea88aba613cc5318311796743d82109e4814 (patch)
tree4307581707b5b198e1df5bea2e9d32092522eb54 /src/Specific
parenta4789ec72a32b6d3b1d40154626e8c6674d4aa7d (diff)
Add some fecarry .log and .c files
Diffstat (limited to 'src/Specific')
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fecarry.c58
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fecarry.c63
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fecarry.c33
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fecarry.c38
4 files changed, 192 insertions, 0 deletions
diff --git a/src/Specific/solinas32_2e255m19_10limbs/fecarry.c b/src/Specific/solinas32_2e255m19_10limbs/fecarry.c
new file mode 100644
index 000000000..cd97f6d5f
--- /dev/null
+++ b/src/Specific/solinas32_2e255m19_10limbs/fecarry.c
@@ -0,0 +1,58 @@
+static void fecarry(uint32_t out[10], const uint32_t in1[10]) {
+ { const uint32_t x17 = in1[9];
+ { const uint32_t x18 = 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 x19 = (x2 >> 0x1a);
+ { uint32_t x20 = (x2 & 0x3ffffff);
+ { uint32_t x21 = (x19 + x4);
+ { uint32_t x22 = (x21 >> 0x19);
+ { uint32_t x23 = (x21 & 0x1ffffff);
+ { uint32_t x24 = (x22 + x6);
+ { uint32_t x25 = (x24 >> 0x1a);
+ { uint32_t x26 = (x24 & 0x3ffffff);
+ { uint32_t x27 = (x25 + x8);
+ { uint32_t x28 = (x27 >> 0x19);
+ { uint32_t x29 = (x27 & 0x1ffffff);
+ { uint32_t x30 = (x28 + x10);
+ { uint32_t x31 = (x30 >> 0x1a);
+ { uint32_t x32 = (x30 & 0x3ffffff);
+ { uint32_t x33 = (x31 + x12);
+ { uint32_t x34 = (x33 >> 0x19);
+ { uint32_t x35 = (x33 & 0x1ffffff);
+ { uint32_t x36 = (x34 + x14);
+ { uint32_t x37 = (x36 >> 0x1a);
+ { uint32_t x38 = (x36 & 0x3ffffff);
+ { uint32_t x39 = (x37 + x16);
+ { uint32_t x40 = (x39 >> 0x19);
+ { uint32_t x41 = (x39 & 0x1ffffff);
+ { uint32_t x42 = (x40 + x18);
+ { uint32_t x43 = (x42 >> 0x1a);
+ { uint32_t x44 = (x42 & 0x3ffffff);
+ { uint32_t x45 = (x43 + x17);
+ { uint32_t x46 = (x45 >> 0x19);
+ { uint32_t x47 = (x45 & 0x1ffffff);
+ { uint32_t x48 = (x20 + (0x13 * x46));
+ { uint32_t x49 = (x48 >> 0x1a);
+ { uint32_t x50 = (x48 & 0x3ffffff);
+ { uint32_t x51 = (x49 + x23);
+ { uint32_t x52 = (x51 >> 0x19);
+ { uint32_t x53 = (x51 & 0x1ffffff);
+ out[0] = x50;
+ out[1] = x53;
+ out[2] = (x52 + x26);
+ out[3] = x29;
+ out[4] = x32;
+ out[5] = x35;
+ out[6] = x38;
+ out[7] = x41;
+ out[8] = x44;
+ out[9] = x47;
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e255m19_11limbs/fecarry.c b/src/Specific/solinas32_2e255m19_11limbs/fecarry.c
new file mode 100644
index 000000000..ec622a02f
--- /dev/null
+++ b/src/Specific/solinas32_2e255m19_11limbs/fecarry.c
@@ -0,0 +1,63 @@
+static void fecarry(uint32_t out[11], const uint32_t in1[11]) {
+ { const uint32_t x19 = in1[10];
+ { const uint32_t x20 = in1[9];
+ { const uint32_t x18 = 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 x21 = (x2 >> 0x18);
+ { uint32_t x22 = (x2 & 0xffffff);
+ { uint32_t x23 = (x21 + x4);
+ { uint32_t x24 = (x23 >> 0x17);
+ { uint32_t x25 = (x23 & 0x7fffff);
+ { uint32_t x26 = (x24 + x6);
+ { uint32_t x27 = (x26 >> 0x17);
+ { uint32_t x28 = (x26 & 0x7fffff);
+ { uint32_t x29 = (x27 + x8);
+ { uint32_t x30 = (x29 >> 0x17);
+ { uint32_t x31 = (x29 & 0x7fffff);
+ { uint32_t x32 = (x30 + x10);
+ { uint32_t x33 = (x32 >> 0x17);
+ { uint32_t x34 = (x32 & 0x7fffff);
+ { uint32_t x35 = (x33 + x12);
+ { uint32_t x36 = (x35 >> 0x18);
+ { uint32_t x37 = (x35 & 0xffffff);
+ { uint32_t x38 = (x36 + x14);
+ { uint32_t x39 = (x38 >> 0x17);
+ { uint32_t x40 = (x38 & 0x7fffff);
+ { uint32_t x41 = (x39 + x16);
+ { uint32_t x42 = (x41 >> 0x17);
+ { uint32_t x43 = (x41 & 0x7fffff);
+ { uint32_t x44 = (x42 + x18);
+ { uint32_t x45 = (x44 >> 0x17);
+ { uint32_t x46 = (x44 & 0x7fffff);
+ { uint32_t x47 = (x45 + x20);
+ { uint32_t x48 = (x47 >> 0x17);
+ { uint32_t x49 = (x47 & 0x7fffff);
+ { uint32_t x50 = (x48 + x19);
+ { uint32_t x51 = (x50 >> 0x17);
+ { uint32_t x52 = (x50 & 0x7fffff);
+ { uint32_t x53 = (x22 + (0x13 * x51));
+ { uint32_t x54 = (x53 >> 0x18);
+ { uint32_t x55 = (x53 & 0xffffff);
+ { uint32_t x56 = (x54 + x25);
+ { uint32_t x57 = (x56 >> 0x17);
+ { uint32_t x58 = (x56 & 0x7fffff);
+ out[0] = x55;
+ out[1] = x58;
+ out[2] = (x57 + x28);
+ out[3] = x31;
+ out[4] = x34;
+ out[5] = x37;
+ out[6] = x40;
+ out[7] = x43;
+ out[8] = x46;
+ out[9] = x49;
+ out[10] = x52;
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas64_2e255m19_5limbs/fecarry.c b/src/Specific/solinas64_2e255m19_5limbs/fecarry.c
new file mode 100644
index 000000000..1fe627be4
--- /dev/null
+++ b/src/Specific/solinas64_2e255m19_5limbs/fecarry.c
@@ -0,0 +1,33 @@
+static void fecarry(uint64_t out[5], const uint64_t in1[5]) {
+ { const uint64_t x7 = in1[4];
+ { const uint64_t x8 = in1[3];
+ { const uint64_t x6 = in1[2];
+ { const uint64_t x4 = in1[1];
+ { const uint64_t x2 = in1[0];
+ { uint64_t x9 = (x2 >> 0x33);
+ { uint64_t x10 = (x2 & 0x7ffffffffffff);
+ { uint64_t x11 = (x9 + x4);
+ { uint64_t x12 = (x11 >> 0x33);
+ { uint64_t x13 = (x11 & 0x7ffffffffffff);
+ { uint64_t x14 = (x12 + x6);
+ { uint64_t x15 = (x14 >> 0x33);
+ { uint64_t x16 = (x14 & 0x7ffffffffffff);
+ { uint64_t x17 = (x15 + x8);
+ { uint64_t x18 = (x17 >> 0x33);
+ { uint64_t x19 = (x17 & 0x7ffffffffffff);
+ { uint64_t x20 = (x18 + x7);
+ { uint64_t x21 = (x20 >> 0x33);
+ { uint64_t x22 = (x20 & 0x7ffffffffffff);
+ { uint64_t x23 = (x10 + (0x13 * x21));
+ { uint64_t x24 = (x23 >> 0x33);
+ { uint64_t x25 = (x23 & 0x7ffffffffffff);
+ { uint64_t x26 = (x24 + x13);
+ { uint64_t x27 = (x26 >> 0x33);
+ { uint64_t x28 = (x26 & 0x7ffffffffffff);
+ out[0] = x25;
+ out[1] = x28;
+ out[2] = (x27 + x16);
+ out[3] = x19;
+ out[4] = x22;
+ }}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas64_2e255m19_6limbs/fecarry.c b/src/Specific/solinas64_2e255m19_6limbs/fecarry.c
new file mode 100644
index 000000000..203bac29b
--- /dev/null
+++ b/src/Specific/solinas64_2e255m19_6limbs/fecarry.c
@@ -0,0 +1,38 @@
+static void fecarry(uint64_t out[6], const uint64_t in1[6]) {
+ { const uint64_t x9 = in1[5];
+ { const uint64_t x10 = in1[4];
+ { const uint64_t x8 = in1[3];
+ { const uint64_t x6 = in1[2];
+ { const uint64_t x4 = in1[1];
+ { const uint64_t x2 = in1[0];
+ { uint64_t x11 = (x2 >> 0x2b);
+ { uint64_t x12 = (x2 & 0x7ffffffffff);
+ { uint64_t x13 = (x11 + x4);
+ { uint64_t x14 = (x13 >> 0x2a);
+ { uint64_t x15 = (x13 & 0x3ffffffffff);
+ { uint64_t x16 = (x14 + x6);
+ { uint64_t x17 = (x16 >> 0x2b);
+ { uint64_t x18 = (x16 & 0x7ffffffffff);
+ { uint64_t x19 = (x17 + x8);
+ { uint64_t x20 = (x19 >> 0x2a);
+ { uint64_t x21 = (x19 & 0x3ffffffffff);
+ { uint64_t x22 = (x20 + x10);
+ { uint64_t x23 = (x22 >> 0x2b);
+ { uint64_t x24 = (x22 & 0x7ffffffffff);
+ { uint64_t x25 = (x23 + x9);
+ { uint64_t x26 = (x25 >> 0x2a);
+ { uint64_t x27 = (x25 & 0x3ffffffffff);
+ { uint64_t x28 = (x12 + (0x13 * x26));
+ { uint64_t x29 = (x28 >> 0x2b);
+ { uint64_t x30 = (x28 & 0x7ffffffffff);
+ { uint64_t x31 = (x29 + x15);
+ { uint64_t x32 = (x31 >> 0x2a);
+ { uint64_t x33 = (x31 & 0x3ffffffffff);
+ out[0] = x30;
+ out[1] = x33;
+ out[2] = (x32 + x18);
+ out[3] = x21;
+ out[4] = x24;
+ out[5] = x27;
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}