00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00026 #ifndef _MPOPT_H
00027 #define _MPOPT_H
00028
00029 #if WIN32
00030 # if __MWERKS__ && __INTEL__
00031 # elif defined(_MSC_VER) && defined(_M_IX86)
00032 # define ASM_MPZERO
00033 # define ASM_MPFILL
00034 # define ASM_MPEVEN
00035 # define ASM_MPODD
00036 # define ASM_MPADDW
00037 # define ASM_MPSUBW
00038 # define ASM_MPADD
00039 # define ASM_MPSUB
00040 # define ASM_MPMULTWO
00041 # define ASM_MPDIVTWO
00042 # define ASM_MPSETMUL
00043 # define ASM_MPADDMUL
00044 # define ASM_MPADDSQRTRC
00045 # endif
00046 #endif
00047
00048 #if defined(__DECC)
00049 # if defined(OPTIMIZE_ALPHA)
00050 # define ASM_MPADD
00051 # define ASM_MPSUB
00052 # define ASM_MPSETMUL
00053 # define ASM_MPADDMUL
00054 # define ASM_MPADDSQRTRC
00055 # endif
00056 #endif
00057
00058 #if defined(__GNUC__)
00059 # if defined(OPTIMIZE_ALPHA)
00060 # define ASM_MPADD
00061 # define ASM_MPSUB
00062 # define ASM_MPSETMUL
00063 # define ASM_MPADDMUL
00064 # define ASM_MPADDSQRTRC
00065 # elif defined(OPTIMIZE_ARM)
00066 # define ASM_MPSETMUL
00067 # define ASM_MPADDMUL
00068 # define ASM_MPADDSQRTRC
00069 # elif defined(OPTIMIZE_I386) || defined(OPTIMIZE_I486) || defined(OPTIMIZE_I586) || defined(OPTIMIZE_I686)
00070 # define ASM_MPZERO
00071 # define ASM_MPFILL
00072 # define ASM_MPEVEN
00073 # define ASM_MPODD
00074 # define ASM_MPADDW
00075 # define ASM_MPSUBW
00076 # define ASM_MPADD
00077 # define ASM_MPSUB
00078 # define ASM_MPMULTWO
00079 # define ASM_MPDIVTWO
00080 # define ASM_MPSETMUL
00081 # define ASM_MPADDMUL
00082 # define ASM_MPADDSQRTRC
00083 # define ASM_MPPNDIV
00084 # elif defined(OPTIMIZE_IA64)
00085 # define ASM_MPZERO
00086 # define ASM_MPCOPY
00087 # define ASM_MPADD
00088 # define ASM_MPSUB
00089 # define ASM_MPMULTWO
00090 # define ASM_MPSETMUL
00091 # define ASM_MPADDMUL
00092 # elif defined(OPTIMIZE_M68K)
00093 # define ASM_MPADD
00094 # define ASM_MPSUB
00095 # define ASM_MPSETMUL
00096 # define ASM_MPADDMUL
00097 # define ASM_MPADDSQRTRC
00098 # elif defined(OPTIMIZE_POWERPC) || defined(OPTIMIZE_POWERPC64)
00099 # define ASM_MPSETMUL
00100 # define ASM_MPADDW
00101 # define ASM_MPSUBW
00102 # define ASM_MPADD
00103 # define ASM_MPSUB
00104 # define ASM_MPMULTWO
00105 # define ASM_MPADDMUL
00106 # define ASM_MPADDSQRTRC
00107 # elif defined(OPTIMIZE_S390X)
00108 # define ASM_MPSETMUL
00109 # define ASM_MPADDMUL
00110 # elif defined(OPTIMIZE_SPARCV8)
00111 # define ASM_MPSETMUL
00112 # define ASM_MPADDMUL
00113 # define ASM_MPADDSQRTRC
00114 # elif defined(OPTIMIZE_SPARCV8PLUS)
00115 # define ASM_MPADDW
00116 # define ASM_MPSUBW
00117 # define ASM_MPADD
00118 # define ASM_MPSUB
00119 # define ASM_MPMULTWO
00120 # define ASM_MPSETMUL
00121 # define ASM_MPADDMUL
00122 # define ASM_MPADDSQRTRC
00123 # elif defined(OPTIMIZE_X86_64)
00124 # define ASM_MPZERO
00125 # define ASM_MPFILL
00126 # define ASM_MPEVEN
00127 # define ASM_MPODD
00128 # define ASM_MPSETMUL
00129 # define ASM_MPADDMUL
00130 # endif
00131 #endif
00132
00133 #if defined(__IBMC__)
00134 # if defined(OPTIMIZE_POWERPC) || defined(OPTIMIZE_POWERPC64)
00135 # define ASM_MPSETMUL
00136 # define ASM_MPADDW
00137 # define ASM_MPSUBW
00138 # define ASM_MPADD
00139 # define ASM_MPSUB
00140 # define ASM_MPMULTWO
00141 # define ASM_MPADDMUL
00142 # define ASM_MPADDSQRTRC
00143 # endif
00144 #endif
00145
00146 #if defined(__INTEL_COMPILER)
00147 # if defined(OPTIMIZE_I386) || defined(OPTIMIZE_I486) || defined(OPTIMIZE_I586) || defined(OPTIMIZE_I686)
00148 # define ASM_MPZERO
00149 # define ASM_MPFILL
00150 # define ASM_MPEVEN
00151 # define ASM_MPODD
00152 # define ASM_MPADDW
00153 # define ASM_MPSUBW
00154 # define ASM_MPADD
00155 # define ASM_MPSUB
00156 # define ASM_MPMULTWO
00157 # define ASM_MPDIVTWO
00158 # define ASM_MPSETMUL
00159 # define ASM_MPADDMUL
00160 # define ASM_MPADDSQRTRC
00161 # define ASM_MPPNDIV
00162 # endif
00163 #endif
00164
00165 #if defined(__SUNPRO_C) || defined(__SUNPRO_CC)
00166 # if defined(OPTIMIZE_SPARCV8)
00167 # define ASM_MPSETMUL
00168 # define ASM_MPADDMUL
00169 # define ASM_MPADDSQRTRC
00170 # elif defined(OPTIMIZE_SPARCV8PLUS)
00171 # define ASM_MPADDW
00172 # define ASM_MPSUBW
00173 # define ASM_MPADD
00174 # define ASM_MPSUB
00175 # define ASM_MPMULTWO
00176 # define ASM_MPSETMUL
00177 # define ASM_MPADDMUL
00178 # define ASM_MPADDSQRTRC
00179 # endif
00180 #endif
00181
00182 #endif