371ba7f9de72539d88059976ddba1bc62427186b
[dragonfly.git] / gnu / usr.bin / mpfr / mparam.h
1 /* Various Thresholds of MPFR, not exported.  -*- mode: C -*-
2
3 Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
4
5 This file is part of the GNU MPFR Library.
6
7 The GNU MPFR Library is free software; you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11
12 The GNU MPFR Library is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
15 License for more details.
16
17 You should have received a copy of the GNU Lesser General Public License
18 along with the GNU MPFR Library; see the file COPYING.LESSER.  If not, see
19 http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
20 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
21
22 #ifndef __MPFR_IMPL_H__
23 # error "MPFR Internal not included"
24 #endif
25
26 /* Note: the different macros used here are those defined by gcc,
27    for example with gcc -dM -E -xc /dev/null
28    As of gcc 4.2, you can also use: -march=native or -mtune=native */
29
30 #if defined (__tune_pentium4__) /* Threshold for Pentium 4 */
31 #define MPFR_TUNE_CASE "src/x86_64/pentium4/mparam.h"
32 #include "x86_64/pentium4/mparam.h"
33
34 #elif defined (__tune_core2__) && defined (__x86_64) /* 64-bit Core 2 */
35 #define MPFR_TUNE_CASE "src/x86_64/core2/mparam.h"
36 #include "x86_64/core2/mparam.h"
37
38 #elif defined (__tune_core2__) && defined (__i386) /* 32-bit Core 2,
39       for example a 64-bit machine with gmp/mpfr compiled with ABI=32 */
40 #define MPFR_TUNE_CASE "src/x86/core2/mparam.h"
41 #include "x86/core2/mparam.h"
42
43 #elif defined (__tune_k8__) /* Threshold for AMD 64 */
44 #define MPFR_TUNE_CASE "src/amd/k8/mparam.h"
45 #include "amd/k8/mparam.h"
46
47 #elif defined (__tune_athlon__) /* Threshold for Athlon */
48 #define MPFR_TUNE_CASE "src/amd/athlon/mparam.h"
49 #include "amd/athlon/mparam.h"
50
51 #elif defined (__tune_pentiumpro__) || defined (__tune_i686__) || defined (__i386) /* we consider all other 386's here */
52 #define MPFR_TUNE_CASE "src/x86/mparam.h"
53 #include "x86/mparam.h"
54
55 #elif defined (__ia64) || defined (__itanium__) || defined (__tune_ia64__)
56 /* Threshold for IA64 */
57 #define MPFR_TUNE_CASE "src/ia64/mparam.h"
58 #include "ia64/mparam.h"
59
60 #elif defined (__arm__) /* Threshold for ARM */
61 #define MPFR_TUNE_CASE "src/arm/mparam.h"
62 #include "arm/mparam.h"
63
64 #elif defined (_ARCH_PPC) /* Threshold for 32-bit PowerPC */
65 #define MPFR_TUNE_CASE "src/powerpc32/mparam.h"
66 #include "powerpc32/mparam.h"
67
68 #elif defined (__PPC64__) /* Threshold for 64-bit PowerPC */
69 #define MPFR_TUNE_CASE "src/powerpc64/mparam.h"
70 #include "powerpc64/mparam.h"
71
72 #elif defined (__sparc_v9__) /* Threshold for 64-bits Sparc */
73 #define MPFR_TUNE_CASE "src/sparc64/mparam.h"
74 #include "sparc64/mparam.h"
75
76 #elif defined (__hppa__) /* Threshold for HPPA */
77 #define MPFR_TUNE_CASE "src/hppa/mparam.h"
78 #include "hppa/mparam.h"
79
80 #else
81 #define MPFR_TUNE_CASE "default"
82 #endif
83
84 /****************************************************************
85  * Default values of Threshold.                                 *
86  * Must be included in any case: it checks, for every constant, *
87  * if it has been defined, and it sets it to a default value if *
88  * it was not previously defined.                               *
89  ****************************************************************/
90 #include "generic/mparam.h"