Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

mpopt.h

Go to the documentation of this file.
00001 /* 00002 * Copyright (c) 2003 Bob Deblier 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 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

Generated on Mon Aug 9 02:23:21 2004 for BeeCrypt by doxygen 1.3.8