1 #ifndef COMMON_S_H 2 #define COMMON_S_H 3 4 #ifndef DYNAMIC_ARCH 5 6 #define SAMAX_K samax_k 7 #define SAMIN_K samin_k 8 #define SMAX_K smax_k 9 #define SMIN_K smin_k 10 #define ISAMAX_K isamax_k 11 #define ISAMIN_K isamin_k 12 #define ISMAX_K ismax_k 13 #define ISMIN_K ismin_k 14 #define SASUM_K sasum_k 15 #define SAXPYU_K saxpy_k 16 #define SAXPYC_K saxpy_k 17 #define SCOPY_K scopy_k 18 #define SDOTU_K sdot_k 19 #define SDOTC_K sdot_k 20 #define SDSDOT_K sdot_k 21 #define DSDOT_K dsdot_k 22 #define SNRM2_K snrm2_k 23 #define SSCAL_K sscal_k 24 #define SSWAP_K sswap_k 25 #define SROT_K srot_k 26 27 #define SGEMV_N sgemv_n 28 #define SGEMV_T sgemv_t 29 #define SGEMV_R sgemv_n 30 #define SGEMV_C sgemv_t 31 #define SGEMV_O sgemv_n 32 #define SGEMV_U sgemv_t 33 #define SGEMV_S sgemv_n 34 #define SGEMV_D sgemv_t 35 36 #define SGERU_K sger_k 37 #define SGERC_K sger_k 38 #define SGERV_K sger_k 39 #define SGERD_K sger_k 40 41 #define SSYMV_U ssymv_U 42 #define SSYMV_L ssymv_L 43 44 #define SSYMV_THREAD_U ssymv_thread_U 45 #define SSYMV_THREAD_L ssymv_thread_L 46 47 #define SGEMM_ONCOPY sgemm_oncopy 48 #define SGEMM_OTCOPY sgemm_otcopy 49 50 #if SGEMM_DEFAULT_UNROLL_M == SGEMM_DEFAULT_UNROLL_N 51 #define SGEMM_INCOPY sgemm_oncopy 52 #define SGEMM_ITCOPY sgemm_otcopy 53 #else 54 #define SGEMM_INCOPY sgemm_incopy 55 #define SGEMM_ITCOPY sgemm_itcopy 56 #endif 57 58 #define STRMM_OUNUCOPY strmm_ounucopy 59 #define STRMM_OUNNCOPY strmm_ounncopy 60 #define STRMM_OUTUCOPY strmm_outucopy 61 #define STRMM_OUTNCOPY strmm_outncopy 62 #define STRMM_OLNUCOPY strmm_olnucopy 63 #define STRMM_OLNNCOPY strmm_olnncopy 64 #define STRMM_OLTUCOPY strmm_oltucopy 65 #define STRMM_OLTNCOPY strmm_oltncopy 66 67 #define STRSM_OUNUCOPY strsm_ounucopy 68 #define STRSM_OUNNCOPY strsm_ounncopy 69 #define STRSM_OUTUCOPY strsm_outucopy 70 #define STRSM_OUTNCOPY strsm_outncopy 71 #define STRSM_OLNUCOPY strsm_olnucopy 72 #define STRSM_OLNNCOPY strsm_olnncopy 73 #define STRSM_OLTUCOPY strsm_oltucopy 74 #define STRSM_OLTNCOPY strsm_oltncopy 75 76 #if SGEMM_DEFAULT_UNROLL_M == SGEMM_DEFAULT_UNROLL_N 77 #define STRMM_IUNUCOPY strmm_ounucopy 78 #define STRMM_IUNNCOPY strmm_ounncopy 79 #define STRMM_IUTUCOPY strmm_outucopy 80 #define STRMM_IUTNCOPY strmm_outncopy 81 #define STRMM_ILNUCOPY strmm_olnucopy 82 #define STRMM_ILNNCOPY strmm_olnncopy 83 #define STRMM_ILTUCOPY strmm_oltucopy 84 #define STRMM_ILTNCOPY strmm_oltncopy 85 86 #define STRSM_IUNUCOPY strsm_ounucopy 87 #define STRSM_IUNNCOPY strsm_ounncopy 88 #define STRSM_IUTUCOPY strsm_outucopy 89 #define STRSM_IUTNCOPY strsm_outncopy 90 #define STRSM_ILNUCOPY strsm_olnucopy 91 #define STRSM_ILNNCOPY strsm_olnncopy 92 #define STRSM_ILTUCOPY strsm_oltucopy 93 #define STRSM_ILTNCOPY strsm_oltncopy 94 #else 95 #define STRMM_IUNUCOPY strmm_iunucopy 96 #define STRMM_IUNNCOPY strmm_iunncopy 97 #define STRMM_IUTUCOPY strmm_iutucopy 98 #define STRMM_IUTNCOPY strmm_iutncopy 99 #define STRMM_ILNUCOPY strmm_ilnucopy 100 #define STRMM_ILNNCOPY strmm_ilnncopy 101 #define STRMM_ILTUCOPY strmm_iltucopy 102 #define STRMM_ILTNCOPY strmm_iltncopy 103 104 #define STRSM_IUNUCOPY strsm_iunucopy 105 #define STRSM_IUNNCOPY strsm_iunncopy 106 #define STRSM_IUTUCOPY strsm_iutucopy 107 #define STRSM_IUTNCOPY strsm_iutncopy 108 #define STRSM_ILNUCOPY strsm_ilnucopy 109 #define STRSM_ILNNCOPY strsm_ilnncopy 110 #define STRSM_ILTUCOPY strsm_iltucopy 111 #define STRSM_ILTNCOPY strsm_iltncopy 112 #endif 113 114 #define SGEMM_BETA sgemm_beta 115 116 #define SGEMM_KERNEL sgemm_kernel 117 118 #define STRMM_KERNEL_LN strmm_kernel_LN 119 #define STRMM_KERNEL_LT strmm_kernel_LT 120 #define STRMM_KERNEL_LR strmm_kernel_LN 121 #define STRMM_KERNEL_LC strmm_kernel_LT 122 #define STRMM_KERNEL_RN strmm_kernel_RN 123 #define STRMM_KERNEL_RT strmm_kernel_RT 124 #define STRMM_KERNEL_RR strmm_kernel_RN 125 #define STRMM_KERNEL_RC strmm_kernel_RT 126 127 #define STRSM_KERNEL_LN strsm_kernel_LN 128 #define STRSM_KERNEL_LT strsm_kernel_LT 129 #define STRSM_KERNEL_LR strsm_kernel_LN 130 #define STRSM_KERNEL_LC strsm_kernel_LT 131 #define STRSM_KERNEL_RN strsm_kernel_RN 132 #define STRSM_KERNEL_RT strsm_kernel_RT 133 #define STRSM_KERNEL_RR strsm_kernel_RN 134 #define STRSM_KERNEL_RC strsm_kernel_RT 135 136 #define SSYMM_OUTCOPY ssymm_outcopy 137 #define SSYMM_OLTCOPY ssymm_oltcopy 138 #if SGEMM_DEFAULT_UNROLL_M == SGEMM_DEFAULT_UNROLL_N 139 #define SSYMM_IUTCOPY ssymm_outcopy 140 #define SSYMM_ILTCOPY ssymm_oltcopy 141 #else 142 #define SSYMM_IUTCOPY ssymm_iutcopy 143 #define SSYMM_ILTCOPY ssymm_iltcopy 144 #endif 145 146 #define SNEG_TCOPY sneg_tcopy 147 #define SLASWP_NCOPY slaswp_ncopy 148 149 #else 150 151 #define SAMAX_K gotoblas -> samax_k 152 #define SAMIN_K gotoblas -> samin_k 153 #define SMAX_K gotoblas -> smax_k 154 #define SMIN_K gotoblas -> smin_k 155 #define ISAMAX_K gotoblas -> isamax_k 156 #define ISAMIN_K gotoblas -> isamin_k 157 #define ISMAX_K gotoblas -> ismax_k 158 #define ISMIN_K gotoblas -> ismin_k 159 #define SASUM_K gotoblas -> sasum_k 160 #define SAXPYU_K gotoblas -> saxpy_k 161 #define SAXPYC_K gotoblas -> saxpy_k 162 #define SCOPY_K gotoblas -> scopy_k 163 #define SDOTU_K gotoblas -> sdot_k 164 #define SDOTC_K gotoblas -> sdot_k 165 #define SDSDOT_K gotoblas -> sdot_k 166 #define DSDOT_K gotoblas -> dsdot_k 167 #define SNRM2_K gotoblas -> snrm2_k 168 #define SSCAL_K gotoblas -> sscal_k 169 #define SSWAP_K gotoblas -> sswap_k 170 #define SROT_K gotoblas -> srot_k 171 172 #define SGEMV_N gotoblas -> sgemv_n 173 #define SGEMV_T gotoblas -> sgemv_t 174 #define SGEMV_R gotoblas -> sgemv_n 175 #define SGEMV_C gotoblas -> sgemv_t 176 #define SGEMV_O gotoblas -> sgemv_n 177 #define SGEMV_U gotoblas -> sgemv_t 178 #define SGEMV_S gotoblas -> sgemv_n 179 #define SGEMV_D gotoblas -> sgemv_t 180 181 #define SGERU_K gotoblas -> sger_k 182 #define SGERC_K gotoblas -> sger_k 183 #define SGERV_K gotoblas -> sger_k 184 #define SGERD_K gotoblas -> sger_k 185 186 #define SSYMV_U gotoblas -> ssymv_U 187 #define SSYMV_L gotoblas -> ssymv_L 188 189 #define SSYMV_THREAD_U ssymv_thread_U 190 #define SSYMV_THREAD_L ssymv_thread_L 191 192 #define SGEMM_ONCOPY gotoblas -> sgemm_oncopy 193 #define SGEMM_OTCOPY gotoblas -> sgemm_otcopy 194 #define SGEMM_INCOPY gotoblas -> sgemm_incopy 195 #define SGEMM_ITCOPY gotoblas -> sgemm_itcopy 196 197 #define STRMM_OUNUCOPY gotoblas -> strmm_ounucopy 198 #define STRMM_OUTUCOPY gotoblas -> strmm_outucopy 199 #define STRMM_OLNUCOPY gotoblas -> strmm_olnucopy 200 #define STRMM_OLTUCOPY gotoblas -> strmm_oltucopy 201 #define STRSM_OUNUCOPY gotoblas -> strsm_ounucopy 202 #define STRSM_OUTUCOPY gotoblas -> strsm_outucopy 203 #define STRSM_OLNUCOPY gotoblas -> strsm_olnucopy 204 #define STRSM_OLTUCOPY gotoblas -> strsm_oltucopy 205 206 #define STRMM_IUNUCOPY gotoblas -> strmm_iunucopy 207 #define STRMM_IUTUCOPY gotoblas -> strmm_iutucopy 208 #define STRMM_ILNUCOPY gotoblas -> strmm_ilnucopy 209 #define STRMM_ILTUCOPY gotoblas -> strmm_iltucopy 210 #define STRSM_IUNUCOPY gotoblas -> strsm_iunucopy 211 #define STRSM_IUTUCOPY gotoblas -> strsm_iutucopy 212 #define STRSM_ILNUCOPY gotoblas -> strsm_ilnucopy 213 #define STRSM_ILTUCOPY gotoblas -> strsm_iltucopy 214 215 #define STRMM_OUNNCOPY gotoblas -> strmm_ounncopy 216 #define STRMM_OUTNCOPY gotoblas -> strmm_outncopy 217 #define STRMM_OLNNCOPY gotoblas -> strmm_olnncopy 218 #define STRMM_OLTNCOPY gotoblas -> strmm_oltncopy 219 #define STRSM_OUNNCOPY gotoblas -> strsm_ounncopy 220 #define STRSM_OUTNCOPY gotoblas -> strsm_outncopy 221 #define STRSM_OLNNCOPY gotoblas -> strsm_olnncopy 222 #define STRSM_OLTNCOPY gotoblas -> strsm_oltncopy 223 224 #define STRMM_IUNNCOPY gotoblas -> strmm_iunncopy 225 #define STRMM_IUTNCOPY gotoblas -> strmm_iutncopy 226 #define STRMM_ILNNCOPY gotoblas -> strmm_ilnncopy 227 #define STRMM_ILTNCOPY gotoblas -> strmm_iltncopy 228 #define STRSM_IUNNCOPY gotoblas -> strsm_iunncopy 229 #define STRSM_IUTNCOPY gotoblas -> strsm_iutncopy 230 #define STRSM_ILNNCOPY gotoblas -> strsm_ilnncopy 231 #define STRSM_ILTNCOPY gotoblas -> strsm_iltncopy 232 233 #define SGEMM_BETA gotoblas -> sgemm_beta 234 #define SGEMM_KERNEL gotoblas -> sgemm_kernel 235 236 #define STRMM_KERNEL_LN gotoblas -> strmm_kernel_LN 237 #define STRMM_KERNEL_LT gotoblas -> strmm_kernel_LT 238 #define STRMM_KERNEL_LR gotoblas -> strmm_kernel_LN 239 #define STRMM_KERNEL_LC gotoblas -> strmm_kernel_LT 240 #define STRMM_KERNEL_RN gotoblas -> strmm_kernel_RN 241 #define STRMM_KERNEL_RT gotoblas -> strmm_kernel_RT 242 #define STRMM_KERNEL_RR gotoblas -> strmm_kernel_RN 243 #define STRMM_KERNEL_RC gotoblas -> strmm_kernel_RT 244 245 #define STRSM_KERNEL_LN gotoblas -> strsm_kernel_LN 246 #define STRSM_KERNEL_LT gotoblas -> strsm_kernel_LT 247 #define STRSM_KERNEL_LR gotoblas -> strsm_kernel_LN 248 #define STRSM_KERNEL_LC gotoblas -> strsm_kernel_LT 249 #define STRSM_KERNEL_RN gotoblas -> strsm_kernel_RN 250 #define STRSM_KERNEL_RT gotoblas -> strsm_kernel_RT 251 #define STRSM_KERNEL_RR gotoblas -> strsm_kernel_RN 252 #define STRSM_KERNEL_RC gotoblas -> strsm_kernel_RT 253 254 #define SSYMM_IUTCOPY gotoblas -> ssymm_iutcopy 255 #define SSYMM_ILTCOPY gotoblas -> ssymm_iltcopy 256 #define SSYMM_OUTCOPY gotoblas -> ssymm_outcopy 257 #define SSYMM_OLTCOPY gotoblas -> ssymm_oltcopy 258 259 #define SNEG_TCOPY gotoblas -> sneg_tcopy 260 #define SLASWP_NCOPY gotoblas -> slaswp_ncopy 261 262 #endif 263 264 #define SGEMM_NN sgemm_nn 265 #define SGEMM_CN sgemm_tn 266 #define SGEMM_TN sgemm_tn 267 #define SGEMM_NC sgemm_nt 268 #define SGEMM_NT sgemm_nt 269 #define SGEMM_CC sgemm_tt 270 #define SGEMM_CT sgemm_tt 271 #define SGEMM_TC sgemm_tt 272 #define SGEMM_TT sgemm_tt 273 #define SGEMM_NR sgemm_nn 274 #define SGEMM_TR sgemm_tn 275 #define SGEMM_CR sgemm_tn 276 #define SGEMM_RN sgemm_nn 277 #define SGEMM_RT sgemm_nt 278 #define SGEMM_RC sgemm_nt 279 #define SGEMM_RR sgemm_nn 280 281 #define SSYMM_LU ssymm_LU 282 #define SSYMM_LL ssymm_LL 283 #define SSYMM_RU ssymm_RU 284 #define SSYMM_RL ssymm_RL 285 286 #define SHEMM_LU shemm_LU 287 #define SHEMM_LL shemm_LL 288 #define SHEMM_RU shemm_RU 289 #define SHEMM_RL shemm_RL 290 291 #define SSYRK_UN ssyrk_UN 292 #define SSYRK_UT ssyrk_UT 293 #define SSYRK_LN ssyrk_LN 294 #define SSYRK_LT ssyrk_LT 295 #define SSYRK_UR ssyrk_UN 296 #define SSYRK_UC ssyrk_UT 297 #define SSYRK_LR ssyrk_LN 298 #define SSYRK_LC ssyrk_LT 299 300 #define SSYRK_KERNEL_U ssyrk_kernel_U 301 #define SSYRK_KERNEL_L ssyrk_kernel_L 302 303 #define SHERK_UN ssyrk_UN 304 #define SHERK_LN ssyrk_LN 305 #define SHERK_UC ssyrk_UT 306 #define SHERK_LC ssyrk_LT 307 308 #define SHER2K_UN ssyr2k_UN 309 #define SHER2K_LN ssyr2k_LN 310 #define SHER2K_UC ssyr2k_UT 311 #define SHER2K_LC ssyr2k_LT 312 313 #define SSYR2K_UN ssyr2k_UN 314 #define SSYR2K_UT ssyr2k_UT 315 #define SSYR2K_LN ssyr2k_LN 316 #define SSYR2K_LT ssyr2k_LT 317 #define SSYR2K_UR ssyr2k_UN 318 #define SSYR2K_UC ssyr2k_UT 319 #define SSYR2K_LR ssyr2k_LN 320 #define SSYR2K_LC ssyr2k_LT 321 322 #define SSYR2K_KERNEL_U ssyr2k_kernel_U 323 #define SSYR2K_KERNEL_L ssyr2k_kernel_L 324 325 #define STRMM_LNUU strmm_LNUU 326 #define STRMM_LNUN strmm_LNUN 327 #define STRMM_LNLU strmm_LNLU 328 #define STRMM_LNLN strmm_LNLN 329 #define STRMM_LTUU strmm_LTUU 330 #define STRMM_LTUN strmm_LTUN 331 #define STRMM_LTLU strmm_LTLU 332 #define STRMM_LTLN strmm_LTLN 333 #define STRMM_LRUU strmm_LNUU 334 #define STRMM_LRUN strmm_LNUN 335 #define STRMM_LRLU strmm_LNLU 336 #define STRMM_LRLN strmm_LNLN 337 #define STRMM_LCUU strmm_LTUU 338 #define STRMM_LCUN strmm_LTUN 339 #define STRMM_LCLU strmm_LTLU 340 #define STRMM_LCLN strmm_LTLN 341 #define STRMM_RNUU strmm_RNUU 342 #define STRMM_RNUN strmm_RNUN 343 #define STRMM_RNLU strmm_RNLU 344 #define STRMM_RNLN strmm_RNLN 345 #define STRMM_RTUU strmm_RTUU 346 #define STRMM_RTUN strmm_RTUN 347 #define STRMM_RTLU strmm_RTLU 348 #define STRMM_RTLN strmm_RTLN 349 #define STRMM_RRUU strmm_RNUU 350 #define STRMM_RRUN strmm_RNUN 351 #define STRMM_RRLU strmm_RNLU 352 #define STRMM_RRLN strmm_RNLN 353 #define STRMM_RCUU strmm_RTUU 354 #define STRMM_RCUN strmm_RTUN 355 #define STRMM_RCLU strmm_RTLU 356 #define STRMM_RCLN strmm_RTLN 357 358 #define STRSM_LNUU strsm_LNUU 359 #define STRSM_LNUN strsm_LNUN 360 #define STRSM_LNLU strsm_LNLU 361 #define STRSM_LNLN strsm_LNLN 362 #define STRSM_LTUU strsm_LTUU 363 #define STRSM_LTUN strsm_LTUN 364 #define STRSM_LTLU strsm_LTLU 365 #define STRSM_LTLN strsm_LTLN 366 #define STRSM_LRUU strsm_LNUU 367 #define STRSM_LRUN strsm_LNUN 368 #define STRSM_LRLU strsm_LNLU 369 #define STRSM_LRLN strsm_LNLN 370 #define STRSM_LCUU strsm_LTUU 371 #define STRSM_LCUN strsm_LTUN 372 #define STRSM_LCLU strsm_LTLU 373 #define STRSM_LCLN strsm_LTLN 374 #define STRSM_RNUU strsm_RNUU 375 #define STRSM_RNUN strsm_RNUN 376 #define STRSM_RNLU strsm_RNLU 377 #define STRSM_RNLN strsm_RNLN 378 #define STRSM_RTUU strsm_RTUU 379 #define STRSM_RTUN strsm_RTUN 380 #define STRSM_RTLU strsm_RTLU 381 #define STRSM_RTLN strsm_RTLN 382 #define STRSM_RRUU strsm_RNUU 383 #define STRSM_RRUN strsm_RNUN 384 #define STRSM_RRLU strsm_RNLU 385 #define STRSM_RRLN strsm_RNLN 386 #define STRSM_RCUU strsm_RTUU 387 #define STRSM_RCUN strsm_RTUN 388 #define STRSM_RCLU strsm_RTLU 389 #define STRSM_RCLN strsm_RTLN 390 391 #define SGEMM_THREAD_NN sgemm_thread_nn 392 #define SGEMM_THREAD_CN sgemm_thread_tn 393 #define SGEMM_THREAD_TN sgemm_thread_tn 394 #define SGEMM_THREAD_NC sgemm_thread_nt 395 #define SGEMM_THREAD_NT sgemm_thread_nt 396 #define SGEMM_THREAD_CC sgemm_thread_tt 397 #define SGEMM_THREAD_CT sgemm_thread_tt 398 #define SGEMM_THREAD_TC sgemm_thread_tt 399 #define SGEMM_THREAD_TT sgemm_thread_tt 400 #define SGEMM_THREAD_NR sgemm_thread_nn 401 #define SGEMM_THREAD_TR sgemm_thread_tn 402 #define SGEMM_THREAD_CR sgemm_thread_tn 403 #define SGEMM_THREAD_RN sgemm_thread_nn 404 #define SGEMM_THREAD_RT sgemm_thread_nt 405 #define SGEMM_THREAD_RC sgemm_thread_nt 406 #define SGEMM_THREAD_RR sgemm_thread_nn 407 408 #define SSYMM_THREAD_LU ssymm_thread_LU 409 #define SSYMM_THREAD_LL ssymm_thread_LL 410 #define SSYMM_THREAD_RU ssymm_thread_RU 411 #define SSYMM_THREAD_RL ssymm_thread_RL 412 413 #define SHEMM_THREAD_LU shemm_thread_LU 414 #define SHEMM_THREAD_LL shemm_thread_LL 415 #define SHEMM_THREAD_RU shemm_thread_RU 416 #define SHEMM_THREAD_RL shemm_thread_RL 417 418 #define SSYRK_THREAD_UN ssyrk_thread_UN 419 #define SSYRK_THREAD_UT ssyrk_thread_UT 420 #define SSYRK_THREAD_LN ssyrk_thread_LN 421 #define SSYRK_THREAD_LT ssyrk_thread_LT 422 #define SSYRK_THREAD_UR ssyrk_thread_UN 423 #define SSYRK_THREAD_UC ssyrk_thread_UT 424 #define SSYRK_THREAD_LR ssyrk_thread_LN 425 #define SSYRK_THREAD_LC ssyrk_thread_LT 426 427 #define SHERK_THREAD_UN ssyrk_thread_UN 428 #define SHERK_THREAD_UT ssyrk_thread_UT 429 #define SHERK_THREAD_LN ssyrk_thread_LN 430 #define SHERK_THREAD_LT ssyrk_thread_LT 431 #define SHERK_THREAD_UR ssyrk_thread_UN 432 #define SHERK_THREAD_UC ssyrk_thread_UT 433 #define SHERK_THREAD_LR ssyrk_thread_LN 434 #define SHERK_THREAD_LC ssyrk_thread_LT 435 436 #endif 437