A super trimmed down TLS stack, GPL licensed

Dependents:   MiniTLS-HTTPS-Example

MiniTLS - A super trimmed down TLS/SSL Library for embedded devices Author: Donatien Garnier Copyright (C) 2013-2014 AppNearMe Ltd

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Committer:
MiniTLS
Date:
Tue Jun 10 14:23:09 2014 +0000
Revision:
4:cbaf466d717d
Parent:
0:35aa5be3b78d
Fixes for mbed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MiniTLS 0:35aa5be3b78d 1 #define TFM_DEFINES
MiniTLS 0:35aa5be3b78d 2 #include "fp_mul_comba.c"
MiniTLS 0:35aa5be3b78d 3
MiniTLS 0:35aa5be3b78d 4 #ifdef TFM_MUL24
MiniTLS 0:35aa5be3b78d 5 void fp_mul_comba24(fp_int *A, fp_int *B, fp_int *C)
MiniTLS 0:35aa5be3b78d 6 {
MiniTLS 0:35aa5be3b78d 7 fp_digit c0, c1, c2, at[48];
MiniTLS 0:35aa5be3b78d 8
MiniTLS 0:35aa5be3b78d 9 memcpy(at, A->dp, 24 * sizeof(fp_digit));
MiniTLS 0:35aa5be3b78d 10 memcpy(at+24, B->dp, 24 * sizeof(fp_digit));
MiniTLS 0:35aa5be3b78d 11 COMBA_START;
MiniTLS 0:35aa5be3b78d 12
MiniTLS 0:35aa5be3b78d 13 COMBA_CLEAR;
MiniTLS 0:35aa5be3b78d 14 /* 0 */
MiniTLS 0:35aa5be3b78d 15 MULADD(at[0], at[24]);
MiniTLS 0:35aa5be3b78d 16 COMBA_STORE(C->dp[0]);
MiniTLS 0:35aa5be3b78d 17 /* 1 */
MiniTLS 0:35aa5be3b78d 18 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 19 MULADD(at[0], at[25]); MULADD(at[1], at[24]);
MiniTLS 0:35aa5be3b78d 20 COMBA_STORE(C->dp[1]);
MiniTLS 0:35aa5be3b78d 21 /* 2 */
MiniTLS 0:35aa5be3b78d 22 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 23 MULADD(at[0], at[26]); MULADD(at[1], at[25]); MULADD(at[2], at[24]);
MiniTLS 0:35aa5be3b78d 24 COMBA_STORE(C->dp[2]);
MiniTLS 0:35aa5be3b78d 25 /* 3 */
MiniTLS 0:35aa5be3b78d 26 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 27 MULADD(at[0], at[27]); MULADD(at[1], at[26]); MULADD(at[2], at[25]); MULADD(at[3], at[24]);
MiniTLS 0:35aa5be3b78d 28 COMBA_STORE(C->dp[3]);
MiniTLS 0:35aa5be3b78d 29 /* 4 */
MiniTLS 0:35aa5be3b78d 30 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 31 MULADD(at[0], at[28]); MULADD(at[1], at[27]); MULADD(at[2], at[26]); MULADD(at[3], at[25]); MULADD(at[4], at[24]);
MiniTLS 0:35aa5be3b78d 32 COMBA_STORE(C->dp[4]);
MiniTLS 0:35aa5be3b78d 33 /* 5 */
MiniTLS 0:35aa5be3b78d 34 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 35 MULADD(at[0], at[29]); MULADD(at[1], at[28]); MULADD(at[2], at[27]); MULADD(at[3], at[26]); MULADD(at[4], at[25]); MULADD(at[5], at[24]);
MiniTLS 0:35aa5be3b78d 36 COMBA_STORE(C->dp[5]);
MiniTLS 0:35aa5be3b78d 37 /* 6 */
MiniTLS 0:35aa5be3b78d 38 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 39 MULADD(at[0], at[30]); MULADD(at[1], at[29]); MULADD(at[2], at[28]); MULADD(at[3], at[27]); MULADD(at[4], at[26]); MULADD(at[5], at[25]); MULADD(at[6], at[24]);
MiniTLS 0:35aa5be3b78d 40 COMBA_STORE(C->dp[6]);
MiniTLS 0:35aa5be3b78d 41 /* 7 */
MiniTLS 0:35aa5be3b78d 42 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 43 MULADD(at[0], at[31]); MULADD(at[1], at[30]); MULADD(at[2], at[29]); MULADD(at[3], at[28]); MULADD(at[4], at[27]); MULADD(at[5], at[26]); MULADD(at[6], at[25]); MULADD(at[7], at[24]);
MiniTLS 0:35aa5be3b78d 44 COMBA_STORE(C->dp[7]);
MiniTLS 0:35aa5be3b78d 45 /* 8 */
MiniTLS 0:35aa5be3b78d 46 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 47 MULADD(at[0], at[32]); MULADD(at[1], at[31]); MULADD(at[2], at[30]); MULADD(at[3], at[29]); MULADD(at[4], at[28]); MULADD(at[5], at[27]); MULADD(at[6], at[26]); MULADD(at[7], at[25]); MULADD(at[8], at[24]);
MiniTLS 0:35aa5be3b78d 48 COMBA_STORE(C->dp[8]);
MiniTLS 0:35aa5be3b78d 49 /* 9 */
MiniTLS 0:35aa5be3b78d 50 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 51 MULADD(at[0], at[33]); MULADD(at[1], at[32]); MULADD(at[2], at[31]); MULADD(at[3], at[30]); MULADD(at[4], at[29]); MULADD(at[5], at[28]); MULADD(at[6], at[27]); MULADD(at[7], at[26]); MULADD(at[8], at[25]); MULADD(at[9], at[24]);
MiniTLS 0:35aa5be3b78d 52 COMBA_STORE(C->dp[9]);
MiniTLS 0:35aa5be3b78d 53 /* 10 */
MiniTLS 0:35aa5be3b78d 54 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 55 MULADD(at[0], at[34]); MULADD(at[1], at[33]); MULADD(at[2], at[32]); MULADD(at[3], at[31]); MULADD(at[4], at[30]); MULADD(at[5], at[29]); MULADD(at[6], at[28]); MULADD(at[7], at[27]); MULADD(at[8], at[26]); MULADD(at[9], at[25]); MULADD(at[10], at[24]);
MiniTLS 0:35aa5be3b78d 56 COMBA_STORE(C->dp[10]);
MiniTLS 0:35aa5be3b78d 57 /* 11 */
MiniTLS 0:35aa5be3b78d 58 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 59 MULADD(at[0], at[35]); MULADD(at[1], at[34]); MULADD(at[2], at[33]); MULADD(at[3], at[32]); MULADD(at[4], at[31]); MULADD(at[5], at[30]); MULADD(at[6], at[29]); MULADD(at[7], at[28]); MULADD(at[8], at[27]); MULADD(at[9], at[26]); MULADD(at[10], at[25]); MULADD(at[11], at[24]);
MiniTLS 0:35aa5be3b78d 60 COMBA_STORE(C->dp[11]);
MiniTLS 0:35aa5be3b78d 61 /* 12 */
MiniTLS 0:35aa5be3b78d 62 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 63 MULADD(at[0], at[36]); MULADD(at[1], at[35]); MULADD(at[2], at[34]); MULADD(at[3], at[33]); MULADD(at[4], at[32]); MULADD(at[5], at[31]); MULADD(at[6], at[30]); MULADD(at[7], at[29]); MULADD(at[8], at[28]); MULADD(at[9], at[27]); MULADD(at[10], at[26]); MULADD(at[11], at[25]); MULADD(at[12], at[24]);
MiniTLS 0:35aa5be3b78d 64 COMBA_STORE(C->dp[12]);
MiniTLS 0:35aa5be3b78d 65 /* 13 */
MiniTLS 0:35aa5be3b78d 66 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 67 MULADD(at[0], at[37]); MULADD(at[1], at[36]); MULADD(at[2], at[35]); MULADD(at[3], at[34]); MULADD(at[4], at[33]); MULADD(at[5], at[32]); MULADD(at[6], at[31]); MULADD(at[7], at[30]); MULADD(at[8], at[29]); MULADD(at[9], at[28]); MULADD(at[10], at[27]); MULADD(at[11], at[26]); MULADD(at[12], at[25]); MULADD(at[13], at[24]);
MiniTLS 0:35aa5be3b78d 68 COMBA_STORE(C->dp[13]);
MiniTLS 0:35aa5be3b78d 69 /* 14 */
MiniTLS 0:35aa5be3b78d 70 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 71 MULADD(at[0], at[38]); MULADD(at[1], at[37]); MULADD(at[2], at[36]); MULADD(at[3], at[35]); MULADD(at[4], at[34]); MULADD(at[5], at[33]); MULADD(at[6], at[32]); MULADD(at[7], at[31]); MULADD(at[8], at[30]); MULADD(at[9], at[29]); MULADD(at[10], at[28]); MULADD(at[11], at[27]); MULADD(at[12], at[26]); MULADD(at[13], at[25]); MULADD(at[14], at[24]);
MiniTLS 0:35aa5be3b78d 72 COMBA_STORE(C->dp[14]);
MiniTLS 0:35aa5be3b78d 73 /* 15 */
MiniTLS 0:35aa5be3b78d 74 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 75 MULADD(at[0], at[39]); MULADD(at[1], at[38]); MULADD(at[2], at[37]); MULADD(at[3], at[36]); MULADD(at[4], at[35]); MULADD(at[5], at[34]); MULADD(at[6], at[33]); MULADD(at[7], at[32]); MULADD(at[8], at[31]); MULADD(at[9], at[30]); MULADD(at[10], at[29]); MULADD(at[11], at[28]); MULADD(at[12], at[27]); MULADD(at[13], at[26]); MULADD(at[14], at[25]); MULADD(at[15], at[24]);
MiniTLS 0:35aa5be3b78d 76 COMBA_STORE(C->dp[15]);
MiniTLS 0:35aa5be3b78d 77 /* 16 */
MiniTLS 0:35aa5be3b78d 78 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 79 MULADD(at[0], at[40]); MULADD(at[1], at[39]); MULADD(at[2], at[38]); MULADD(at[3], at[37]); MULADD(at[4], at[36]); MULADD(at[5], at[35]); MULADD(at[6], at[34]); MULADD(at[7], at[33]); MULADD(at[8], at[32]); MULADD(at[9], at[31]); MULADD(at[10], at[30]); MULADD(at[11], at[29]); MULADD(at[12], at[28]); MULADD(at[13], at[27]); MULADD(at[14], at[26]); MULADD(at[15], at[25]); MULADD(at[16], at[24]);
MiniTLS 0:35aa5be3b78d 80 COMBA_STORE(C->dp[16]);
MiniTLS 0:35aa5be3b78d 81 /* 17 */
MiniTLS 0:35aa5be3b78d 82 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 83 MULADD(at[0], at[41]); MULADD(at[1], at[40]); MULADD(at[2], at[39]); MULADD(at[3], at[38]); MULADD(at[4], at[37]); MULADD(at[5], at[36]); MULADD(at[6], at[35]); MULADD(at[7], at[34]); MULADD(at[8], at[33]); MULADD(at[9], at[32]); MULADD(at[10], at[31]); MULADD(at[11], at[30]); MULADD(at[12], at[29]); MULADD(at[13], at[28]); MULADD(at[14], at[27]); MULADD(at[15], at[26]); MULADD(at[16], at[25]); MULADD(at[17], at[24]);
MiniTLS 0:35aa5be3b78d 84 COMBA_STORE(C->dp[17]);
MiniTLS 0:35aa5be3b78d 85 /* 18 */
MiniTLS 0:35aa5be3b78d 86 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 87 MULADD(at[0], at[42]); MULADD(at[1], at[41]); MULADD(at[2], at[40]); MULADD(at[3], at[39]); MULADD(at[4], at[38]); MULADD(at[5], at[37]); MULADD(at[6], at[36]); MULADD(at[7], at[35]); MULADD(at[8], at[34]); MULADD(at[9], at[33]); MULADD(at[10], at[32]); MULADD(at[11], at[31]); MULADD(at[12], at[30]); MULADD(at[13], at[29]); MULADD(at[14], at[28]); MULADD(at[15], at[27]); MULADD(at[16], at[26]); MULADD(at[17], at[25]); MULADD(at[18], at[24]);
MiniTLS 0:35aa5be3b78d 88 COMBA_STORE(C->dp[18]);
MiniTLS 0:35aa5be3b78d 89 /* 19 */
MiniTLS 0:35aa5be3b78d 90 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 91 MULADD(at[0], at[43]); MULADD(at[1], at[42]); MULADD(at[2], at[41]); MULADD(at[3], at[40]); MULADD(at[4], at[39]); MULADD(at[5], at[38]); MULADD(at[6], at[37]); MULADD(at[7], at[36]); MULADD(at[8], at[35]); MULADD(at[9], at[34]); MULADD(at[10], at[33]); MULADD(at[11], at[32]); MULADD(at[12], at[31]); MULADD(at[13], at[30]); MULADD(at[14], at[29]); MULADD(at[15], at[28]); MULADD(at[16], at[27]); MULADD(at[17], at[26]); MULADD(at[18], at[25]); MULADD(at[19], at[24]);
MiniTLS 0:35aa5be3b78d 92 COMBA_STORE(C->dp[19]);
MiniTLS 0:35aa5be3b78d 93 /* 20 */
MiniTLS 0:35aa5be3b78d 94 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 95 MULADD(at[0], at[44]); MULADD(at[1], at[43]); MULADD(at[2], at[42]); MULADD(at[3], at[41]); MULADD(at[4], at[40]); MULADD(at[5], at[39]); MULADD(at[6], at[38]); MULADD(at[7], at[37]); MULADD(at[8], at[36]); MULADD(at[9], at[35]); MULADD(at[10], at[34]); MULADD(at[11], at[33]); MULADD(at[12], at[32]); MULADD(at[13], at[31]); MULADD(at[14], at[30]); MULADD(at[15], at[29]); MULADD(at[16], at[28]); MULADD(at[17], at[27]); MULADD(at[18], at[26]); MULADD(at[19], at[25]); MULADD(at[20], at[24]);
MiniTLS 0:35aa5be3b78d 96 COMBA_STORE(C->dp[20]);
MiniTLS 0:35aa5be3b78d 97 /* 21 */
MiniTLS 0:35aa5be3b78d 98 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 99 MULADD(at[0], at[45]); MULADD(at[1], at[44]); MULADD(at[2], at[43]); MULADD(at[3], at[42]); MULADD(at[4], at[41]); MULADD(at[5], at[40]); MULADD(at[6], at[39]); MULADD(at[7], at[38]); MULADD(at[8], at[37]); MULADD(at[9], at[36]); MULADD(at[10], at[35]); MULADD(at[11], at[34]); MULADD(at[12], at[33]); MULADD(at[13], at[32]); MULADD(at[14], at[31]); MULADD(at[15], at[30]); MULADD(at[16], at[29]); MULADD(at[17], at[28]); MULADD(at[18], at[27]); MULADD(at[19], at[26]); MULADD(at[20], at[25]); MULADD(at[21], at[24]);
MiniTLS 0:35aa5be3b78d 100 COMBA_STORE(C->dp[21]);
MiniTLS 0:35aa5be3b78d 101 /* 22 */
MiniTLS 0:35aa5be3b78d 102 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 103 MULADD(at[0], at[46]); MULADD(at[1], at[45]); MULADD(at[2], at[44]); MULADD(at[3], at[43]); MULADD(at[4], at[42]); MULADD(at[5], at[41]); MULADD(at[6], at[40]); MULADD(at[7], at[39]); MULADD(at[8], at[38]); MULADD(at[9], at[37]); MULADD(at[10], at[36]); MULADD(at[11], at[35]); MULADD(at[12], at[34]); MULADD(at[13], at[33]); MULADD(at[14], at[32]); MULADD(at[15], at[31]); MULADD(at[16], at[30]); MULADD(at[17], at[29]); MULADD(at[18], at[28]); MULADD(at[19], at[27]); MULADD(at[20], at[26]); MULADD(at[21], at[25]); MULADD(at[22], at[24]);
MiniTLS 0:35aa5be3b78d 104 COMBA_STORE(C->dp[22]);
MiniTLS 0:35aa5be3b78d 105 /* 23 */
MiniTLS 0:35aa5be3b78d 106 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 107 MULADD(at[0], at[47]); MULADD(at[1], at[46]); MULADD(at[2], at[45]); MULADD(at[3], at[44]); MULADD(at[4], at[43]); MULADD(at[5], at[42]); MULADD(at[6], at[41]); MULADD(at[7], at[40]); MULADD(at[8], at[39]); MULADD(at[9], at[38]); MULADD(at[10], at[37]); MULADD(at[11], at[36]); MULADD(at[12], at[35]); MULADD(at[13], at[34]); MULADD(at[14], at[33]); MULADD(at[15], at[32]); MULADD(at[16], at[31]); MULADD(at[17], at[30]); MULADD(at[18], at[29]); MULADD(at[19], at[28]); MULADD(at[20], at[27]); MULADD(at[21], at[26]); MULADD(at[22], at[25]); MULADD(at[23], at[24]);
MiniTLS 0:35aa5be3b78d 108 COMBA_STORE(C->dp[23]);
MiniTLS 0:35aa5be3b78d 109 /* 24 */
MiniTLS 0:35aa5be3b78d 110 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 111 MULADD(at[1], at[47]); MULADD(at[2], at[46]); MULADD(at[3], at[45]); MULADD(at[4], at[44]); MULADD(at[5], at[43]); MULADD(at[6], at[42]); MULADD(at[7], at[41]); MULADD(at[8], at[40]); MULADD(at[9], at[39]); MULADD(at[10], at[38]); MULADD(at[11], at[37]); MULADD(at[12], at[36]); MULADD(at[13], at[35]); MULADD(at[14], at[34]); MULADD(at[15], at[33]); MULADD(at[16], at[32]); MULADD(at[17], at[31]); MULADD(at[18], at[30]); MULADD(at[19], at[29]); MULADD(at[20], at[28]); MULADD(at[21], at[27]); MULADD(at[22], at[26]); MULADD(at[23], at[25]);
MiniTLS 0:35aa5be3b78d 112 COMBA_STORE(C->dp[24]);
MiniTLS 0:35aa5be3b78d 113 /* 25 */
MiniTLS 0:35aa5be3b78d 114 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 115 MULADD(at[2], at[47]); MULADD(at[3], at[46]); MULADD(at[4], at[45]); MULADD(at[5], at[44]); MULADD(at[6], at[43]); MULADD(at[7], at[42]); MULADD(at[8], at[41]); MULADD(at[9], at[40]); MULADD(at[10], at[39]); MULADD(at[11], at[38]); MULADD(at[12], at[37]); MULADD(at[13], at[36]); MULADD(at[14], at[35]); MULADD(at[15], at[34]); MULADD(at[16], at[33]); MULADD(at[17], at[32]); MULADD(at[18], at[31]); MULADD(at[19], at[30]); MULADD(at[20], at[29]); MULADD(at[21], at[28]); MULADD(at[22], at[27]); MULADD(at[23], at[26]);
MiniTLS 0:35aa5be3b78d 116 COMBA_STORE(C->dp[25]);
MiniTLS 0:35aa5be3b78d 117 /* 26 */
MiniTLS 0:35aa5be3b78d 118 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 119 MULADD(at[3], at[47]); MULADD(at[4], at[46]); MULADD(at[5], at[45]); MULADD(at[6], at[44]); MULADD(at[7], at[43]); MULADD(at[8], at[42]); MULADD(at[9], at[41]); MULADD(at[10], at[40]); MULADD(at[11], at[39]); MULADD(at[12], at[38]); MULADD(at[13], at[37]); MULADD(at[14], at[36]); MULADD(at[15], at[35]); MULADD(at[16], at[34]); MULADD(at[17], at[33]); MULADD(at[18], at[32]); MULADD(at[19], at[31]); MULADD(at[20], at[30]); MULADD(at[21], at[29]); MULADD(at[22], at[28]); MULADD(at[23], at[27]);
MiniTLS 0:35aa5be3b78d 120 COMBA_STORE(C->dp[26]);
MiniTLS 0:35aa5be3b78d 121 /* 27 */
MiniTLS 0:35aa5be3b78d 122 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 123 MULADD(at[4], at[47]); MULADD(at[5], at[46]); MULADD(at[6], at[45]); MULADD(at[7], at[44]); MULADD(at[8], at[43]); MULADD(at[9], at[42]); MULADD(at[10], at[41]); MULADD(at[11], at[40]); MULADD(at[12], at[39]); MULADD(at[13], at[38]); MULADD(at[14], at[37]); MULADD(at[15], at[36]); MULADD(at[16], at[35]); MULADD(at[17], at[34]); MULADD(at[18], at[33]); MULADD(at[19], at[32]); MULADD(at[20], at[31]); MULADD(at[21], at[30]); MULADD(at[22], at[29]); MULADD(at[23], at[28]);
MiniTLS 0:35aa5be3b78d 124 COMBA_STORE(C->dp[27]);
MiniTLS 0:35aa5be3b78d 125 /* 28 */
MiniTLS 0:35aa5be3b78d 126 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 127 MULADD(at[5], at[47]); MULADD(at[6], at[46]); MULADD(at[7], at[45]); MULADD(at[8], at[44]); MULADD(at[9], at[43]); MULADD(at[10], at[42]); MULADD(at[11], at[41]); MULADD(at[12], at[40]); MULADD(at[13], at[39]); MULADD(at[14], at[38]); MULADD(at[15], at[37]); MULADD(at[16], at[36]); MULADD(at[17], at[35]); MULADD(at[18], at[34]); MULADD(at[19], at[33]); MULADD(at[20], at[32]); MULADD(at[21], at[31]); MULADD(at[22], at[30]); MULADD(at[23], at[29]);
MiniTLS 0:35aa5be3b78d 128 COMBA_STORE(C->dp[28]);
MiniTLS 0:35aa5be3b78d 129 /* 29 */
MiniTLS 0:35aa5be3b78d 130 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 131 MULADD(at[6], at[47]); MULADD(at[7], at[46]); MULADD(at[8], at[45]); MULADD(at[9], at[44]); MULADD(at[10], at[43]); MULADD(at[11], at[42]); MULADD(at[12], at[41]); MULADD(at[13], at[40]); MULADD(at[14], at[39]); MULADD(at[15], at[38]); MULADD(at[16], at[37]); MULADD(at[17], at[36]); MULADD(at[18], at[35]); MULADD(at[19], at[34]); MULADD(at[20], at[33]); MULADD(at[21], at[32]); MULADD(at[22], at[31]); MULADD(at[23], at[30]);
MiniTLS 0:35aa5be3b78d 132 COMBA_STORE(C->dp[29]);
MiniTLS 0:35aa5be3b78d 133 /* 30 */
MiniTLS 0:35aa5be3b78d 134 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 135 MULADD(at[7], at[47]); MULADD(at[8], at[46]); MULADD(at[9], at[45]); MULADD(at[10], at[44]); MULADD(at[11], at[43]); MULADD(at[12], at[42]); MULADD(at[13], at[41]); MULADD(at[14], at[40]); MULADD(at[15], at[39]); MULADD(at[16], at[38]); MULADD(at[17], at[37]); MULADD(at[18], at[36]); MULADD(at[19], at[35]); MULADD(at[20], at[34]); MULADD(at[21], at[33]); MULADD(at[22], at[32]); MULADD(at[23], at[31]);
MiniTLS 0:35aa5be3b78d 136 COMBA_STORE(C->dp[30]);
MiniTLS 0:35aa5be3b78d 137 /* 31 */
MiniTLS 0:35aa5be3b78d 138 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 139 MULADD(at[8], at[47]); MULADD(at[9], at[46]); MULADD(at[10], at[45]); MULADD(at[11], at[44]); MULADD(at[12], at[43]); MULADD(at[13], at[42]); MULADD(at[14], at[41]); MULADD(at[15], at[40]); MULADD(at[16], at[39]); MULADD(at[17], at[38]); MULADD(at[18], at[37]); MULADD(at[19], at[36]); MULADD(at[20], at[35]); MULADD(at[21], at[34]); MULADD(at[22], at[33]); MULADD(at[23], at[32]);
MiniTLS 0:35aa5be3b78d 140 COMBA_STORE(C->dp[31]);
MiniTLS 0:35aa5be3b78d 141 /* 32 */
MiniTLS 0:35aa5be3b78d 142 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 143 MULADD(at[9], at[47]); MULADD(at[10], at[46]); MULADD(at[11], at[45]); MULADD(at[12], at[44]); MULADD(at[13], at[43]); MULADD(at[14], at[42]); MULADD(at[15], at[41]); MULADD(at[16], at[40]); MULADD(at[17], at[39]); MULADD(at[18], at[38]); MULADD(at[19], at[37]); MULADD(at[20], at[36]); MULADD(at[21], at[35]); MULADD(at[22], at[34]); MULADD(at[23], at[33]);
MiniTLS 0:35aa5be3b78d 144 COMBA_STORE(C->dp[32]);
MiniTLS 0:35aa5be3b78d 145 /* 33 */
MiniTLS 0:35aa5be3b78d 146 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 147 MULADD(at[10], at[47]); MULADD(at[11], at[46]); MULADD(at[12], at[45]); MULADD(at[13], at[44]); MULADD(at[14], at[43]); MULADD(at[15], at[42]); MULADD(at[16], at[41]); MULADD(at[17], at[40]); MULADD(at[18], at[39]); MULADD(at[19], at[38]); MULADD(at[20], at[37]); MULADD(at[21], at[36]); MULADD(at[22], at[35]); MULADD(at[23], at[34]);
MiniTLS 0:35aa5be3b78d 148 COMBA_STORE(C->dp[33]);
MiniTLS 0:35aa5be3b78d 149 /* 34 */
MiniTLS 0:35aa5be3b78d 150 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 151 MULADD(at[11], at[47]); MULADD(at[12], at[46]); MULADD(at[13], at[45]); MULADD(at[14], at[44]); MULADD(at[15], at[43]); MULADD(at[16], at[42]); MULADD(at[17], at[41]); MULADD(at[18], at[40]); MULADD(at[19], at[39]); MULADD(at[20], at[38]); MULADD(at[21], at[37]); MULADD(at[22], at[36]); MULADD(at[23], at[35]);
MiniTLS 0:35aa5be3b78d 152 COMBA_STORE(C->dp[34]);
MiniTLS 0:35aa5be3b78d 153 /* 35 */
MiniTLS 0:35aa5be3b78d 154 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 155 MULADD(at[12], at[47]); MULADD(at[13], at[46]); MULADD(at[14], at[45]); MULADD(at[15], at[44]); MULADD(at[16], at[43]); MULADD(at[17], at[42]); MULADD(at[18], at[41]); MULADD(at[19], at[40]); MULADD(at[20], at[39]); MULADD(at[21], at[38]); MULADD(at[22], at[37]); MULADD(at[23], at[36]);
MiniTLS 0:35aa5be3b78d 156 COMBA_STORE(C->dp[35]);
MiniTLS 0:35aa5be3b78d 157 /* 36 */
MiniTLS 0:35aa5be3b78d 158 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 159 MULADD(at[13], at[47]); MULADD(at[14], at[46]); MULADD(at[15], at[45]); MULADD(at[16], at[44]); MULADD(at[17], at[43]); MULADD(at[18], at[42]); MULADD(at[19], at[41]); MULADD(at[20], at[40]); MULADD(at[21], at[39]); MULADD(at[22], at[38]); MULADD(at[23], at[37]);
MiniTLS 0:35aa5be3b78d 160 COMBA_STORE(C->dp[36]);
MiniTLS 0:35aa5be3b78d 161 /* 37 */
MiniTLS 0:35aa5be3b78d 162 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 163 MULADD(at[14], at[47]); MULADD(at[15], at[46]); MULADD(at[16], at[45]); MULADD(at[17], at[44]); MULADD(at[18], at[43]); MULADD(at[19], at[42]); MULADD(at[20], at[41]); MULADD(at[21], at[40]); MULADD(at[22], at[39]); MULADD(at[23], at[38]);
MiniTLS 0:35aa5be3b78d 164 COMBA_STORE(C->dp[37]);
MiniTLS 0:35aa5be3b78d 165 /* 38 */
MiniTLS 0:35aa5be3b78d 166 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 167 MULADD(at[15], at[47]); MULADD(at[16], at[46]); MULADD(at[17], at[45]); MULADD(at[18], at[44]); MULADD(at[19], at[43]); MULADD(at[20], at[42]); MULADD(at[21], at[41]); MULADD(at[22], at[40]); MULADD(at[23], at[39]);
MiniTLS 0:35aa5be3b78d 168 COMBA_STORE(C->dp[38]);
MiniTLS 0:35aa5be3b78d 169 /* 39 */
MiniTLS 0:35aa5be3b78d 170 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 171 MULADD(at[16], at[47]); MULADD(at[17], at[46]); MULADD(at[18], at[45]); MULADD(at[19], at[44]); MULADD(at[20], at[43]); MULADD(at[21], at[42]); MULADD(at[22], at[41]); MULADD(at[23], at[40]);
MiniTLS 0:35aa5be3b78d 172 COMBA_STORE(C->dp[39]);
MiniTLS 0:35aa5be3b78d 173 /* 40 */
MiniTLS 0:35aa5be3b78d 174 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 175 MULADD(at[17], at[47]); MULADD(at[18], at[46]); MULADD(at[19], at[45]); MULADD(at[20], at[44]); MULADD(at[21], at[43]); MULADD(at[22], at[42]); MULADD(at[23], at[41]);
MiniTLS 0:35aa5be3b78d 176 COMBA_STORE(C->dp[40]);
MiniTLS 0:35aa5be3b78d 177 /* 41 */
MiniTLS 0:35aa5be3b78d 178 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 179 MULADD(at[18], at[47]); MULADD(at[19], at[46]); MULADD(at[20], at[45]); MULADD(at[21], at[44]); MULADD(at[22], at[43]); MULADD(at[23], at[42]);
MiniTLS 0:35aa5be3b78d 180 COMBA_STORE(C->dp[41]);
MiniTLS 0:35aa5be3b78d 181 /* 42 */
MiniTLS 0:35aa5be3b78d 182 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 183 MULADD(at[19], at[47]); MULADD(at[20], at[46]); MULADD(at[21], at[45]); MULADD(at[22], at[44]); MULADD(at[23], at[43]);
MiniTLS 0:35aa5be3b78d 184 COMBA_STORE(C->dp[42]);
MiniTLS 0:35aa5be3b78d 185 /* 43 */
MiniTLS 0:35aa5be3b78d 186 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 187 MULADD(at[20], at[47]); MULADD(at[21], at[46]); MULADD(at[22], at[45]); MULADD(at[23], at[44]);
MiniTLS 0:35aa5be3b78d 188 COMBA_STORE(C->dp[43]);
MiniTLS 0:35aa5be3b78d 189 /* 44 */
MiniTLS 0:35aa5be3b78d 190 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 191 MULADD(at[21], at[47]); MULADD(at[22], at[46]); MULADD(at[23], at[45]);
MiniTLS 0:35aa5be3b78d 192 COMBA_STORE(C->dp[44]);
MiniTLS 0:35aa5be3b78d 193 /* 45 */
MiniTLS 0:35aa5be3b78d 194 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 195 MULADD(at[22], at[47]); MULADD(at[23], at[46]);
MiniTLS 0:35aa5be3b78d 196 COMBA_STORE(C->dp[45]);
MiniTLS 0:35aa5be3b78d 197 /* 46 */
MiniTLS 0:35aa5be3b78d 198 COMBA_FORWARD;
MiniTLS 0:35aa5be3b78d 199 MULADD(at[23], at[47]);
MiniTLS 0:35aa5be3b78d 200 COMBA_STORE(C->dp[46]);
MiniTLS 0:35aa5be3b78d 201 COMBA_STORE2(C->dp[47]);
MiniTLS 0:35aa5be3b78d 202 C->used = 48;
MiniTLS 0:35aa5be3b78d 203 C->sign = A->sign ^ B->sign;
MiniTLS 0:35aa5be3b78d 204 fp_clamp(C);
MiniTLS 0:35aa5be3b78d 205 COMBA_FINI;
MiniTLS 0:35aa5be3b78d 206 }
MiniTLS 0:35aa5be3b78d 207 #endif