d942415a1c
2. Update MPIR version number in Windows config files to 1.1.2 3. Add an MSVC inline definition in in gmp-h.in 4. Correct locale test (as per GMP correction) 5. Add Windows x64 set/copy intrinsics to mul_fft.c (improves FFT speed score by 2%)
57 lines
9.7 KiB
C
57 lines
9.7 KiB
C
/* Generated by tuneup.c, 2009-05-08, system compiler */
|
|
|
|
#define MUL_KARATSUBA_THRESHOLD 16
|
|
#define MUL_TOOM3_THRESHOLD 114
|
|
#define MUL_TOOM4_THRESHOLD 199
|
|
#define MUL_TOOM7_THRESHOLD 390
|
|
|
|
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
|
|
#define SQR_KARATSUBA_THRESHOLD 26
|
|
#define SQR_TOOM3_THRESHOLD 176
|
|
|
|
#define MULLOW_BASECASE_THRESHOLD 7
|
|
#define MULLOW_DC_THRESHOLD 71
|
|
#define MULLOW_MUL_N_THRESHOLD 339
|
|
|
|
#define DIV_SB_PREINV_THRESHOLD 0 /* always */
|
|
#define DIV_DC_THRESHOLD 88
|
|
#define POWM_THRESHOLD 89
|
|
|
|
#define GCD_ACCEL_THRESHOLD 3
|
|
#define GCDEXT_THRESHOLD 173
|
|
#define JACOBI_BASE_METHOD 1
|
|
|
|
#define DIVREM_1_NORM_THRESHOLD MP_SIZE_T_MAX /* never */
|
|
#define DIVREM_1_UNNORM_THRESHOLD MP_SIZE_T_MAX /* never */
|
|
#define MOD_1_NORM_THRESHOLD 0 /* always */
|
|
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
|
|
#define USE_PREINV_DIVREM_1 0
|
|
#define USE_PREINV_MOD_1 1
|
|
#define DIVREM_2_THRESHOLD 0 /* always */
|
|
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
|
|
#define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */
|
|
|
|
#define GET_STR_DC_THRESHOLD 10
|
|
#define GET_STR_PRECOMPUTE_THRESHOLD 11
|
|
#define SET_STR_THRESHOLD 7764
|
|
|
|
#define MUL_FFT_TABLE { 432, 864, 2368, 2816, 7168, 20480, 0 }
|
|
#define MUL_FFT_MODF_THRESHOLD 1120
|
|
#define MUL_FFT_THRESHOLD 6016
|
|
|
|
#define SQR_FFT_TABLE { 432, 928, 2496, 2816, 7168, 20480, 49152, 0 }
|
|
#define SQR_FFT_MODF_THRESHOLD 1120
|
|
#define SQR_FFT_THRESHOLD 5408
|
|
|
|
/* Tuneup completed successfully, took 194 seconds */
|
|
|
|
#define MUL_FFT_TABLE2 {{1, 2}, {248, 3}, {254, 2}, {299, 3}, {306, 2}, {360, 3}, {368, 2}, {760, 3}, {777, 2}, {831, 3}, {869, 2}, {971, 3}, {993, 2}, {1015, 3}, {1038, 2}, {1085, 3}, {1109, 4}, {1159, 2}, {1211, 3}, {1238, 2}, {1266, 3}, {1294, 4}, {1323, 2}, {1444, 3}, {1476, 2}, {1799, 3}, {1839, 2}, {2098, 3}, {2144, 2}, {2392, 3}, {2445, 2}, {2668, 3}, {2727, 2}, {2787, 3}, {2849, 2}, {2912, 3}, {3042, 2}, {3109, 3}, {3248, 4}, {3320, 5}, {3468, 6}, {3544, 5}, {3622, 3}, {3784, 2}, {4504, 3}, {4603, 2}, {4808, 3}, {4914, 4}, {5022, 3}, {5245, 2}, {5478, 3}, {5721, 2}, {5976, 3}, {6107, 2}, {6378, 3}, {6518, 2}, {7110, 3}, {7756, 4}, {7926, 3}, {8100, 2}, {9431, 3}, {10066, 4}, {10287, 5}, {10513, 6}, {10744, 7}, {11221, 8}, {11467, 7}, {11719, 8}, {12507, 9}, {12781, 8}, {13347, 9}, {13939, 10}, {14876, 8}, {15202, 9}, {15876, 8}, {16224, 9}, {16944, 8}, {17316, 9}, {18480, 8}, {18885, 9}, {19722, 10}, {20596, 9}, {21047, 10}, {21508, 9}, {21979, 10}, {23970, 9}, {25581, 10}, {26715, 8}, {27300, 9}, {29134, 10}, {29772, 11}, {31091, 9}, {33179, 10}, {36977, 11}, {37787, 9}, {38615, 10}, {41210, 11}, {42113, 10}, {43036, 11}, {43979, 10}, {46934, 11}, {47962, 10}, {49013, 11}, {50087, 10}, {52305, 11}, {54622, 12}, {55819, 11}, {57042, 12}, {58292, 11}, {62207, 12}, {63570, 10}, {69326, 11}, {70845, 10}, {72397, 11}, {75604, 10}, {77260, 11}, {87985, 10}, {89912, 11}, {MP_SIZE_T_MAX,0}}
|
|
|
|
#define MUL_FFTM_TABLE2 {{1, 2}, {220, 3}, {225, 2}, {242, 3}, {248, 2}, {568, 3}, {581, 2}, {608, 3}, {622, 2}, {909, 3}, {971, 2}, {1015, 3}, {1061, 2}, {1109, 3}, {1134, 2}, {1185, 3}, {1211, 4}, {1238, 2}, {1266, 3}, {1294, 4}, {1323, 2}, {1382, 3}, {1413, 2}, {1444, 3}, {1476, 2}, {1685, 3}, {1722, 4}, {1799, 5}, {1839, 4}, {1880, 3}, {1965, 2}, {2340, 3}, {2445, 4}, {2499, 2}, {2610, 3}, {2668, 2}, {2727, 3}, {2849, 2}, {3320, 3}, {3393, 2}, {3468, 3}, {3544, 2}, {3622, 3}, {3702, 2}, {4128, 3}, {4219, 2}, {4504, 3}, {4603, 2}, {4704, 3}, {4808, 2}, {4914, 3}, {5245, 4}, {5360, 3}, {5478, 2}, {5598, 3}, {5721, 2}, {6241, 3}, {6378, 4}, {6518, 5}, {6661, 6}, {6807, 4}, {6957, 5}, {7110, 6}, {7266, 7}, {7589, 5}, {7756, 3}, {7926, 2}, {8100, 3}, {8460, 2}, {8646, 3}, {8836, 4}, {9030, 3}, {9228, 2}, {9431, 3}, {9850, 2}, {10066, 3}, {10744, 2}, {11221, 3}, {11467, 2}, {11719, 3}, {12507, 4}, {13061, 3}, {13347, 2}, {13939, 3}, {14245, 4}, {14557, 5}, {15535, 6}, {15876, 7}, {16580, 8}, {17696, 9}, {18084, 8}, {18480, 9}, {18885, 10}, {19299, 9}, {19722, 10}, {20154, 9}, {21047, 8}, {21508, 9}, {21979, 10}, {23456, 9}, {23970, 10}, {25032, 11}, {25581, 10}, {27300, 11}, {27898, 9}, {28509, 10}, {29772, 9}, {30424, 10}, {31091, 9}, {31772, 10}, {36184, 9}, {36977, 10}, {42113, 11}, {43979, 9}, {44943, 10}, {45928, 11}, {47962, 10}, {52305, 11}, {53451, 12}, {58292, 11}, {60874, 12}, {62207, 10}, {72397, 11}, {80681, 10}, {82448, 11}, {93893, 12}, {95949, 11}, {98051, 12}, {MP_SIZE_T_MAX,0}}
|
|
|
|
#define SQR_FFT_TABLE2 {{1, 2}, {328, 3}, {336, 2}, {360, 3}, {368, 2}, {433, 3}, {443, 2}, {453, 3}, {463, 2}, {555, 3}, {568, 2}, {650, 3}, {665, 2}, {680, 3}, {711, 2}, {777, 3}, {795, 2}, {1109, 3}, {1159, 2}, {1185, 3}, {1211, 2}, {1352, 3}, {1382, 4}, {1413, 3}, {1444, 2}, {1577, 3}, {1648, 2}, {1685, 3}, {1722, 2}, {1880, 3}, {1922, 4}, {1965, 2}, {2053, 3}, {2098, 4}, {2239, 3}, {2289, 2}, {2340, 3}, {2392, 2}, {2499, 3}, {2554, 2}, {2787, 3}, {2976, 2}, {3393, 3}, {3468, 2}, {3622, 3}, {3702, 2}, {4039, 3}, {4219, 2}, {4312, 3}, {4603, 2}, {5022, 3}, {5132, 2}, {5360, 3}, {5478, 2}, {5598, 3}, {5721, 2}, {5976, 3}, {6107, 4}, {6241, 3}, {6378, 2}, {6661, 3}, {6957, 2}, {7110, 3}, {7426, 2}, {7756, 3}, {8100, 4}, {8278, 2}, {8460, 3}, {9030, 2}, {9431, 3}, {9638, 2}, {9850, 3}, {10513, 4}, {10744, 2}, {10980, 3}, {11467, 2}, {11976, 3}, {12239, 4}, {12781, 3}, {13061, 2}, {13640, 3}, {13939, 4}, {14245, 5}, {14557, 4}, {14876, 3}, {15876, 4}, {16580, 3}, {16944, 4}, {17316, 3}, {17696, 2}, {18084, 3}, {18885, 2}, {19299, 3}, {19722, 2}, {20154, 3}, {20596, 4}, {21508, 3}, {21979, 4}, {22461, 5}, {25032, 3}, {25581, 4}, {27300, 3}, {27898, 4}, {31091, 3}, {32468, 2}, {33179, 3}, {33906, 4}, {34649, 2}, {36977, 3}, {38615, 4}, {39461, 3}, {41210, 4}, {42113, 5}, {43979, 6}, {45928, 5}, {50087, 6}, {52305, 7}, {53451, 8}, {54622, 9}, {55819, 10}, {57042, 11}, {58292, 12}, {59569, 11}, {60874, 12}, {63570, 11}, {64963, 9}, {66386, 10}, {73983, 11}, {75604, 10}, {77260, 11}, {80681, 10}, {84254, 11}, {91881, 12}, {93893, 11}, {98051, 10}, {MP_SIZE_T_MAX,0}}
|
|
|
|
#define SQR_FFTM_TABLE2 {{1, 2}, {443, 3}, {453, 2}, {496, 3}, {507, 2}, {636, 3}, {650, 2}, {665, 3}, {680, 2}, {743, 3}, {760, 2}, {777, 3}, {813, 2}, {1061, 3}, {1085, 2}, {1159, 3}, {1211, 2}, {1323, 3}, {1352, 2}, {1382, 3}, {1413, 2}, {1444, 3}, {1476, 2}, {1509, 3}, {1543, 2}, {1612, 3}, {1648, 2}, {1799, 3}, {1839, 2}, {2009, 3}, {2053, 2}, {2098, 3}, {2144, 4}, {2191, 3}, {2392, 2}, {2554, 3}, {2668, 2}, {2849, 3}, {2976, 2}, {4312, 3}, {4407, 2}, {4808, 3}, {5360, 2}, {5598, 3}, {5721, 4}, {5847, 3}, {5976, 2}, {6241, 3}, {6378, 2}, {6518, 3}, {6661, 4}, {6807, 3}, {7266, 4}, {7426, 2}, {7926, 3}, {8100, 2}, {8278, 3}, {8460, 4}, {9228, 2}, {9850, 3}, {10066, 2}, {10513, 3}, {10744, 4}, {11467, 3}, {11719, 2}, {11976, 3}, {12507, 2}, {13640, 3}, {13939, 2}, {14876, 3}, {16224, 2}, {16580, 3}, {16944, 4}, {17316, 2}, {17696, 3}, {18480, 2}, {19299, 3}, {19722, 2}, {20154, 3}, {20596, 4}, {21047, 3}, {21508, 2}, {22461, 3}, {23456, 4}, {24495, 5}, {25032, 4}, {25581, 2}, {26142, 3}, {26715, 4}, {27300, 2}, {29134, 3}, {29772, 4}, {30424, 5}, {31091, 6}, {31772, 4}, {34649, 2}, {35408, 3}, {36184, 4}, {37787, 5}, {38615, 6}, {39461, 7}, {40326, 6}, {41210, 7}, {42113, 8}, {43036, 9}, {45928, 10}, {52305, 11}, {54622, 10}, {57042, 11}, {58292, 12}, {63570, 11}, {64963, 10}, {66386, 11}, {70845, 10}, {73983, 11}, {80681, 10}, {86099, 11}, {95949, 10}, {98051, 11}, {MP_SIZE_T_MAX,0}}
|
|
|
|
#define MUL_FFT_FULL_TABLE2 {{16, 2}, {1045, 1}, {1068, 2}, {1092, 1}, {1141, 2}, {1192, 1}, {1331, 4}, {1361, 2}, {1391, 4}, {1422, 2}, {1454, 1}, {1486, 3}, {1553, 5}, {1588, 2}, {1623, 1}, {1696, 3}, {1734, 1}, {1892, 4}, {1934, 6}, {2021, 5}, {2159, 2}, {2207, 3}, {2462, 1}, {2516, 2}, {2746, 5}, {2807, 2}, {2869, 4}, {2932, 3}, {2997, 6}, {3063, 5}, {3200, 4}, {3271, 3}, {3343, 1}, {3417, 3}, {3492, 1}, {3728, 2}, {3980, 5}, {4158, 4}, {4538, 1}, {4638, 3}, {4740, 5}, {4844, 3}, {4951, 1}, {5060, 2}, {5171, 1}, {5285, 2}, {5641, 4}, {5765, 5}, {5892, 6}, {7010, 4}, {7164, 6}, {7482, 5}, {7814, 6}, {7986, 5}, {8161, 6}, {8340, 5}, {8523, 6}, {8710, 5}, {8901, 6}, {9096, 5}, {9296, 6}, {9500, 3}, {9709, 6}, {9922, 2}, {11803, 5}, {12062, 7}, {12327, 10}, {12597, 11}, {12873, 12}, {13155, 14}, {13444, 10}, {13739, 11}, {14040, 13}, {14663, 16}, {14985, 17}, {15314, 14}, {15650, 16}, {15993, 13}, {16344, 15}, {16702, 18}, {17068, 20}, {17442, 22}, {17824, 18}, {18614, 15}, {19022, 17}, {19439, 20}, {20300, 19}, {20745, 17}, {21200, 16}, {21665, 17}, {22140, 19}, {22625, 18}, {23121, 16}, {23628, 18}, {24675, 19}, {25216, 16}, {26334, 12}, {26911, 13}, {27501, 16}, {28104, 18}, {29349, 17}, {29992, 18}, {30649, 14}, {31321, 16}, {32007, 12}, {32708, 13}, {33425, 9}, {34157, 10}, {34905, 13}, {35670, 9}, {36452, 10}, {38901, 11}, {40624, 8}, {41514, 4}, {42424, 1}, {45274, 2}, {47280, 3}, {48316, 1}, {49374, 3}, {50456, 2}, {51561, 3}, {53845, 1}, {56230, 4}, {57462, 1}, {62664, 2}, {64037, 1}, {65440, 2}, {66873, 4}, {68338, 2}, {71365, 3}, {72928, 1}, {76157, 2}, {77825, 1}, {81272, 3}, {83052, 1}, {84871, 3}, {86730, 2}, {88630, 1}, {90571, 2}, {92555, 1}, {94582, 2}, {98771, 4}, {100934, 2}, {103145, 1}, {120038, 4}, {122667, 1}, {128099, 2}, {136702, 3}, {139696, 1}, {159086, 3}, {162570, 2}, {166130, 1}, {169768, 2}, {173486, 1}, {332284, 2}, {339561, 1}, {512464, 3}, {523686, 5}, {535154, 4}, {546873, 1}, {558848, 3}, {571086, 1}, {609431, 4}, {622776, 2}, {664591, 1}, {694016, 4}, {740613, 2}, {756831, 3}, {773404, 6}, {790340, 5}, {807647, 1}, {825333, 4}, {843406, 2}, {880748, 1}, {919743, 2}, {960464, 1}, {981496, 2}, {MP_SIZE_T_MAX,0}}
|