Rename the Elliptic Curves extension to supported_groups
[openssl.git] / crypto / ec / ec_ppccap.c
1 /*
2  * Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved.
3  *
4  * Licensed under the OpenSSL license (the "License").  You may not use
5  * this file except in compliance with the License.  You can obtain a copy
6  * in the file LICENSE in the source distribution or at
7  * https://www.openssl.org/source/license.html
8  */
9
10 #include <openssl/opensslconf.h>
11 #include "../ppc_arch.h"
12
13 #ifndef ECP_NISTZ256_ASM
14 NON_EMPTY_TRANSLATION_UNIT
15 #else
16 void ecp_nistz256_mul_mont(unsigned long res[4], const unsigned long a[4],
17                            const unsigned long b[4]);
18
19 void ecp_nistz256_to_mont(unsigned long res[4], const unsigned long in[4]);
20 void ecp_nistz256_to_mont(unsigned long res[4], const unsigned long in[4])
21 {
22     static const unsigned long RR[] = { 0x0000000000000003U,
23                                         0xfffffffbffffffffU,
24                                         0xfffffffffffffffeU,
25                                         0x00000004fffffffdU };
26
27     ecp_nistz256_mul_mont(res, in, RR);
28 }
29
30 void ecp_nistz256_from_mont(unsigned long res[4], const unsigned long in[4]);
31 void ecp_nistz256_from_mont(unsigned long res[4], const unsigned long in[4])
32 {
33     static const unsigned long one[] = { 1, 0, 0, 0 };
34
35     ecp_nistz256_mul_mont(res, in, one);
36 }
37 #endif
38