Remove building with NOCRYPTO option
[minix.git] / external / lgpl3 / gmp / lib / libgmp / arch / arm / gmp-mparam.h
blobe6321dde8aa49994e42085c8640a2560e2e78a41
1 /* gmp-mparam.h -- Compiler/machine parameter header file.
3 Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2009, 2010 Free
4 Software Foundation, Inc.
6 This file is part of the GNU MP Library.
8 The GNU MP Library is free software; you can redistribute it and/or modify
9 it under the terms of the GNU Lesser General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or (at your
11 option) any later version.
13 The GNU MP Library is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
16 License for more details.
18 You should have received a copy of the GNU Lesser General Public License
19 along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
21 #define GMP_LIMB_BITS 32
22 #define BYTES_PER_MP_LIMB 4
24 /* 1193MHz ARM (gcc55.fsffrance.org) */
26 #define DIVREM_1_NORM_THRESHOLD 0 /* preinv always */
27 #define DIVREM_1_UNNORM_THRESHOLD 0 /* always */
28 #define MOD_1_NORM_THRESHOLD 0 /* always */
29 #define MOD_1_UNNORM_THRESHOLD 0 /* always */
30 #define MOD_1N_TO_MOD_1_1_THRESHOLD 56
31 #define MOD_1U_TO_MOD_1_1_THRESHOLD 11
32 #define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 /* never mpn_mod_1_1p */
33 #define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX
34 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD 71
35 #define USE_PREINV_DIVREM_1 1 /* preinv always */
36 #define DIVREM_2_THRESHOLD 0 /* preinv always */
37 #define DIVEXACT_1_THRESHOLD 0 /* always */
38 #define BMOD_1_TO_MOD_1_THRESHOLD 41
40 #define MUL_TOOM22_THRESHOLD 36
41 #define MUL_TOOM33_THRESHOLD 125
42 #define MUL_TOOM44_THRESHOLD 193
43 #define MUL_TOOM6H_THRESHOLD 303
44 #define MUL_TOOM8H_THRESHOLD 418
46 #define MUL_TOOM32_TO_TOOM43_THRESHOLD 125
47 #define MUL_TOOM32_TO_TOOM53_THRESHOLD 176
48 #define MUL_TOOM42_TO_TOOM53_THRESHOLD 114
49 #define MUL_TOOM42_TO_TOOM63_THRESHOLD 129
51 #define SQR_BASECASE_THRESHOLD 12
52 #define SQR_TOOM2_THRESHOLD 78
53 #define SQR_TOOM3_THRESHOLD 137
54 #define SQR_TOOM4_THRESHOLD 212
55 #define SQR_TOOM6_THRESHOLD 306
56 #define SQR_TOOM8_THRESHOLD 422
58 #define MULMOD_BNM1_THRESHOLD 20
59 #define SQRMOD_BNM1_THRESHOLD 26
61 #define MUL_FFT_MODF_THRESHOLD 436 /* k = 5 */
62 #define MUL_FFT_TABLE3 \
63 { { 436, 5}, { 27, 6}, { 28, 7}, { 15, 6}, \
64 { 32, 7}, { 17, 6}, { 35, 7}, { 19, 6}, \
65 { 39, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \
66 { 19, 7}, { 41, 8}, { 23, 7}, { 49, 8}, \
67 { 27, 9}, { 15, 8}, { 31, 7}, { 63, 8}, \
68 { 256, 9}, { 512,10}, { 1024,11}, { 2048,12}, \
69 { 4096,13}, { 8192,14}, { 16384,15}, { 32768,16} }
70 #define MUL_FFT_TABLE3_SIZE 28
71 #define MUL_FFT_THRESHOLD 5760
73 #define SQR_FFT_MODF_THRESHOLD 404 /* k = 5 */
74 #define SQR_FFT_TABLE3 \
75 { { 404, 5}, { 13, 4}, { 27, 5}, { 27, 6}, \
76 { 28, 7}, { 15, 6}, { 32, 7}, { 17, 6}, \
77 { 35, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \
78 { 19, 7}, { 41, 8}, { 23, 7}, { 47, 8}, \
79 { 27, 9}, { 15, 8}, { 39, 9}, { 512,10}, \
80 { 1024,11}, { 2048,12}, { 4096,13}, { 8192,14}, \
81 { 16384,15}, { 32768,16} }
82 #define SQR_FFT_TABLE3_SIZE 26
83 #define SQR_FFT_THRESHOLD 3776
85 #define MULLO_BASECASE_THRESHOLD 0 /* always */
86 #define MULLO_DC_THRESHOLD 137
87 #define MULLO_MUL_N_THRESHOLD 11479
89 #define DC_DIV_QR_THRESHOLD 150
90 #define DC_DIVAPPR_Q_THRESHOLD 494
91 #define DC_BDIV_QR_THRESHOLD 148
92 #define DC_BDIV_Q_THRESHOLD 345
94 #define INV_MULMOD_BNM1_THRESHOLD 70
95 #define INV_NEWTON_THRESHOLD 474
96 #define INV_APPR_THRESHOLD 478
98 #define BINV_NEWTON_THRESHOLD 542
99 #define REDC_1_TO_REDC_N_THRESHOLD 117
101 #define MU_DIV_QR_THRESHOLD 2089
102 #define MU_DIVAPPR_Q_THRESHOLD 2172
103 #define MUPI_DIV_QR_THRESHOLD 225
104 #define MU_BDIV_QR_THRESHOLD 1528
105 #define MU_BDIV_Q_THRESHOLD 2089
107 #define MATRIX22_STRASSEN_THRESHOLD 16
108 #define HGCD_THRESHOLD 197
109 #define GCD_DC_THRESHOLD 902
110 #define GCDEXT_DC_THRESHOLD 650
111 #define JACOBI_BASE_METHOD 2
113 #define GET_STR_DC_THRESHOLD 20
114 #define GET_STR_PRECOMPUTE_THRESHOLD 39
115 #define SET_STR_DC_THRESHOLD 1045
116 #define SET_STR_PRECOMPUTE_THRESHOLD 2147