diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-08-28 16:31:44 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-08-28 16:31:44 +0200 |
commit | 2095bdbf454fbe01501d0cda74e34ecb4b9d90ae (patch) | |
tree | 94aa320572d979e8c278a047d822259036163c75 | |
parent | 0e51046942cb5f7168b24b719761297d100082b0 (diff) |
libsec: work arround 8c running out of registers compiling curve25519.c
-rw-r--r-- | sys/src/libsec/port/curve25519.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/src/libsec/port/curve25519.c b/sys/src/libsec/port/curve25519.c index 6fef89fb0..527b8d8b0 100644 --- a/sys/src/libsec/port/curve25519.c +++ b/sys/src/libsec/port/curve25519.c @@ -235,6 +235,7 @@ fmul(felem *output, felem *in, felem *in2) { } static void fsquare_inner(felem *output, felem *in) { + felem tmp; output[0] = in[0] * in[0]; output[1] = 2 * in[0] * in[1]; output[2] = 2 * (in[1] * in[1] + @@ -255,21 +256,21 @@ static void fsquare_inner(felem *output, felem *in) { in[2] * in[5] + in[1] * in[6] + in[0] * in[7]); + tmp = in[1] * in[7] + in[3] * in[5]; output[8] = in[4] * in[4] + 2 * (in[2] * in[6] + in[0] * in[8] + - 2 * (in[1] * in[7] + - in[3] * in[5])); + 2 * tmp); output[9] = 2 * (in[4] * in[5] + in[3] * in[6] + in[2] * in[7] + in[1] * in[8] + in[0] * in[9]); + tmp = in[3] * in[7] + in[1] * in[9]; output[10] = 2 * (in[5] * in[5] + in[4] * in[6] + in[2] * in[8] + - 2 * (in[3] * in[7] + - in[1] * in[9])); + 2 * tmp); output[11] = 2 * (in[5] * in[6] + in[4] * in[7] + in[3] * in[8] + |