#ifndef COMMON_S_H #define COMMON_S_H #ifndef DYNAMIC_ARCH #define SAMAX_K samax_k #define SAMIN_K samin_k #define SMAX_K smax_k #define SMIN_K smin_k #define ISAMAX_K isamax_k #define ISAMIN_K isamin_k #define ISMAX_K ismax_k #define ISMIN_K ismin_k #define SASUM_K sasum_k #define SAXPYU_K saxpy_k #define SAXPYC_K saxpy_k #define SCOPY_K scopy_k #define SDOTU_K sdot_k #define SDOTC_K sdot_k #define SDSDOT_K dsdot_k #define DSDOT_K dsdot_k #define SNRM2_K snrm2_k #define SSCAL_K sscal_k #define SSWAP_K sswap_k #define SROT_K srot_k #define SGEMV_N sgemv_n #define SGEMV_T sgemv_t #define SGEMV_R sgemv_n #define SGEMV_C sgemv_t #define SGEMV_O sgemv_n #define SGEMV_U sgemv_t #define SGEMV_S sgemv_n #define SGEMV_D sgemv_t #define SGERU_K sger_k #define SGERC_K sger_k #define SGERV_K sger_k #define SGERD_K sger_k #define SSYMV_U ssymv_U #define SSYMV_L ssymv_L #define SSYMV_THREAD_U ssymv_thread_U #define SSYMV_THREAD_L ssymv_thread_L #define SGEMM_ONCOPY sgemm_oncopy #define SGEMM_OTCOPY sgemm_otcopy #if SGEMM_DEFAULT_UNROLL_M == SGEMM_DEFAULT_UNROLL_N #define SGEMM_INCOPY sgemm_oncopy #define SGEMM_ITCOPY sgemm_otcopy #else #define SGEMM_INCOPY sgemm_incopy #define SGEMM_ITCOPY sgemm_itcopy #endif #define STRMM_OUNUCOPY strmm_ounucopy #define STRMM_OUNNCOPY strmm_ounncopy #define STRMM_OUTUCOPY strmm_outucopy #define STRMM_OUTNCOPY strmm_outncopy #define STRMM_OLNUCOPY strmm_olnucopy #define STRMM_OLNNCOPY strmm_olnncopy #define STRMM_OLTUCOPY strmm_oltucopy #define STRMM_OLTNCOPY strmm_oltncopy #define STRSM_OUNUCOPY strsm_ounucopy #define STRSM_OUNNCOPY strsm_ounncopy #define STRSM_OUTUCOPY strsm_outucopy #define STRSM_OUTNCOPY strsm_outncopy #define STRSM_OLNUCOPY strsm_olnucopy #define STRSM_OLNNCOPY strsm_olnncopy #define STRSM_OLTUCOPY strsm_oltucopy #define STRSM_OLTNCOPY strsm_oltncopy #if SGEMM_DEFAULT_UNROLL_M == SGEMM_DEFAULT_UNROLL_N #define STRMM_IUNUCOPY strmm_ounucopy #define STRMM_IUNNCOPY strmm_ounncopy #define STRMM_IUTUCOPY strmm_outucopy #define STRMM_IUTNCOPY strmm_outncopy #define STRMM_ILNUCOPY strmm_olnucopy #define STRMM_ILNNCOPY strmm_olnncopy #define STRMM_ILTUCOPY strmm_oltucopy #define STRMM_ILTNCOPY strmm_oltncopy #define STRSM_IUNUCOPY strsm_ounucopy #define STRSM_IUNNCOPY strsm_ounncopy #define STRSM_IUTUCOPY strsm_outucopy #define STRSM_IUTNCOPY strsm_outncopy #define STRSM_ILNUCOPY strsm_olnucopy #define STRSM_ILNNCOPY strsm_olnncopy #define STRSM_ILTUCOPY strsm_oltucopy #define STRSM_ILTNCOPY strsm_oltncopy #else #define STRMM_IUNUCOPY strmm_iunucopy #define STRMM_IUNNCOPY strmm_iunncopy #define STRMM_IUTUCOPY strmm_iutucopy #define STRMM_IUTNCOPY strmm_iutncopy #define STRMM_ILNUCOPY strmm_ilnucopy #define STRMM_ILNNCOPY strmm_ilnncopy #define STRMM_ILTUCOPY strmm_iltucopy #define STRMM_ILTNCOPY strmm_iltncopy #define STRSM_IUNUCOPY strsm_iunucopy #define STRSM_IUNNCOPY strsm_iunncopy #define STRSM_IUTUCOPY strsm_iutucopy #define STRSM_IUTNCOPY strsm_iutncopy #define STRSM_ILNUCOPY strsm_ilnucopy #define STRSM_ILNNCOPY strsm_ilnncopy #define STRSM_ILTUCOPY strsm_iltucopy #define STRSM_ILTNCOPY strsm_iltncopy #endif #define SGEMM_BETA sgemm_beta #define SGEMM_KERNEL sgemm_kernel #define STRMM_KERNEL_LN strmm_kernel_LN #define STRMM_KERNEL_LT strmm_kernel_LT #define STRMM_KERNEL_LR strmm_kernel_LN #define STRMM_KERNEL_LC strmm_kernel_LT #define STRMM_KERNEL_RN strmm_kernel_RN #define STRMM_KERNEL_RT strmm_kernel_RT #define STRMM_KERNEL_RR strmm_kernel_RN #define STRMM_KERNEL_RC strmm_kernel_RT #define STRSM_KERNEL_LN strsm_kernel_LN #define STRSM_KERNEL_LT strsm_kernel_LT #define STRSM_KERNEL_LR strsm_kernel_LN #define STRSM_KERNEL_LC strsm_kernel_LT #define STRSM_KERNEL_RN strsm_kernel_RN #define STRSM_KERNEL_RT strsm_kernel_RT #define STRSM_KERNEL_RR strsm_kernel_RN #define STRSM_KERNEL_RC strsm_kernel_RT #define SSYMM_OUTCOPY ssymm_outcopy #define SSYMM_OLTCOPY ssymm_oltcopy #if SGEMM_DEFAULT_UNROLL_M == SGEMM_DEFAULT_UNROLL_N #define SSYMM_IUTCOPY ssymm_outcopy #define SSYMM_ILTCOPY ssymm_oltcopy #else #define SSYMM_IUTCOPY ssymm_iutcopy #define SSYMM_ILTCOPY ssymm_iltcopy #endif #define SNEG_TCOPY sneg_tcopy #define SLASWP_NCOPY slaswp_ncopy #define SAXPBY_K saxpby_k #define SOMATCOPY_K_CN somatcopy_k_cn #define SOMATCOPY_K_RN somatcopy_k_rn #define SOMATCOPY_K_CT somatcopy_k_ct #define SOMATCOPY_K_RT somatcopy_k_rt #define SIMATCOPY_K_CN simatcopy_k_cn #define SIMATCOPY_K_RN simatcopy_k_rn #define SIMATCOPY_K_CT simatcopy_k_ct #define SIMATCOPY_K_RT simatcopy_k_rt #define SGEADD_K sgeadd_k #else #define SAMAX_K get_gotoblas() -> samax_k #define SAMIN_K get_gotoblas() -> samin_k #define SMAX_K get_gotoblas() -> smax_k #define SMIN_K get_gotoblas() -> smin_k #define ISAMAX_K get_gotoblas() -> isamax_k #define ISAMIN_K get_gotoblas() -> isamin_k #define ISMAX_K get_gotoblas() -> ismax_k #define ISMIN_K get_gotoblas() -> ismin_k #define SASUM_K get_gotoblas() -> sasum_k #define SAXPYU_K get_gotoblas() -> saxpy_k #define SAXPYC_K get_gotoblas() -> saxpy_k #define SCOPY_K get_gotoblas() -> scopy_k #define SDOTU_K get_gotoblas() -> sdot_k #define SDOTC_K get_gotoblas() -> sdot_k #define SDSDOT_K get_gotoblas() -> dsdot_k #define DSDOT_K get_gotoblas() -> dsdot_k #define SNRM2_K get_gotoblas() -> snrm2_k #define SSCAL_K get_gotoblas() -> sscal_k #define SSWAP_K get_gotoblas() -> sswap_k #define SROT_K get_gotoblas() -> srot_k #define SGEMV_N get_gotoblas() -> sgemv_n #define SGEMV_T get_gotoblas() -> sgemv_t #define SGEMV_R get_gotoblas() -> sgemv_n #define SGEMV_C get_gotoblas() -> sgemv_t #define SGEMV_O get_gotoblas() -> sgemv_n #define SGEMV_U get_gotoblas() -> sgemv_t #define SGEMV_S get_gotoblas() -> sgemv_n #define SGEMV_D get_gotoblas() -> sgemv_t #define SGERU_K get_gotoblas() -> sger_k #define SGERC_K get_gotoblas() -> sger_k #define SGERV_K get_gotoblas() -> sger_k #define SGERD_K get_gotoblas() -> sger_k #define SSYMV_U get_gotoblas() -> ssymv_U #define SSYMV_L get_gotoblas() -> ssymv_L #define SSYMV_THREAD_U ssymv_thread_U #define SSYMV_THREAD_L ssymv_thread_L #define SGEMM_ONCOPY get_gotoblas() -> sgemm_oncopy #define SGEMM_OTCOPY get_gotoblas() -> sgemm_otcopy #define SGEMM_INCOPY get_gotoblas() -> sgemm_incopy #define SGEMM_ITCOPY get_gotoblas() -> sgemm_itcopy #define STRMM_OUNUCOPY get_gotoblas() -> strmm_ounucopy #define STRMM_OUTUCOPY get_gotoblas() -> strmm_outucopy #define STRMM_OLNUCOPY get_gotoblas() -> strmm_olnucopy #define STRMM_OLTUCOPY get_gotoblas() -> strmm_oltucopy #define STRSM_OUNUCOPY get_gotoblas() -> strsm_ounucopy #define STRSM_OUTUCOPY get_gotoblas() -> strsm_outucopy #define STRSM_OLNUCOPY get_gotoblas() -> strsm_olnucopy #define STRSM_OLTUCOPY get_gotoblas() -> strsm_oltucopy #define STRMM_IUNUCOPY get_gotoblas() -> strmm_iunucopy #define STRMM_IUTUCOPY get_gotoblas() -> strmm_iutucopy #define STRMM_ILNUCOPY get_gotoblas() -> strmm_ilnucopy #define STRMM_ILTUCOPY get_gotoblas() -> strmm_iltucopy #define STRSM_IUNUCOPY get_gotoblas() -> strsm_iunucopy #define STRSM_IUTUCOPY get_gotoblas() -> strsm_iutucopy #define STRSM_ILNUCOPY get_gotoblas() -> strsm_ilnucopy #define STRSM_ILTUCOPY get_gotoblas() -> strsm_iltucopy #define STRMM_OUNNCOPY get_gotoblas() -> strmm_ounncopy #define STRMM_OUTNCOPY get_gotoblas() -> strmm_outncopy #define STRMM_OLNNCOPY get_gotoblas() -> strmm_olnncopy #define STRMM_OLTNCOPY get_gotoblas() -> strmm_oltncopy #define STRSM_OUNNCOPY get_gotoblas() -> strsm_ounncopy #define STRSM_OUTNCOPY get_gotoblas() -> strsm_outncopy #define STRSM_OLNNCOPY get_gotoblas() -> strsm_olnncopy #define STRSM_OLTNCOPY get_gotoblas() -> strsm_oltncopy #define STRMM_IUNNCOPY get_gotoblas() -> strmm_iunncopy #define STRMM_IUTNCOPY get_gotoblas() -> strmm_iutncopy #define STRMM_ILNNCOPY get_gotoblas() -> strmm_ilnncopy #define STRMM_ILTNCOPY get_gotoblas() -> strmm_iltncopy #define STRSM_IUNNCOPY get_gotoblas() -> strsm_iunncopy #define STRSM_IUTNCOPY get_gotoblas() -> strsm_iutncopy #define STRSM_ILNNCOPY get_gotoblas() -> strsm_ilnncopy #define STRSM_ILTNCOPY get_gotoblas() -> strsm_iltncopy #define SGEMM_BETA get_gotoblas() -> sgemm_beta #define SGEMM_KERNEL get_gotoblas() -> sgemm_kernel #define STRMM_KERNEL_LN get_gotoblas() -> strmm_kernel_LN #define STRMM_KERNEL_LT get_gotoblas() -> strmm_kernel_LT #define STRMM_KERNEL_LR get_gotoblas() -> strmm_kernel_LN #define STRMM_KERNEL_LC get_gotoblas() -> strmm_kernel_LT #define STRMM_KERNEL_RN get_gotoblas() -> strmm_kernel_RN #define STRMM_KERNEL_RT get_gotoblas() -> strmm_kernel_RT #define STRMM_KERNEL_RR get_gotoblas() -> strmm_kernel_RN #define STRMM_KERNEL_RC get_gotoblas() -> strmm_kernel_RT #define STRSM_KERNEL_LN get_gotoblas() -> strsm_kernel_LN #define STRSM_KERNEL_LT get_gotoblas() -> strsm_kernel_LT #define STRSM_KERNEL_LR get_gotoblas() -> strsm_kernel_LN #define STRSM_KERNEL_LC get_gotoblas() -> strsm_kernel_LT #define STRSM_KERNEL_RN get_gotoblas() -> strsm_kernel_RN #define STRSM_KERNEL_RT get_gotoblas() -> strsm_kernel_RT #define STRSM_KERNEL_RR get_gotoblas() -> strsm_kernel_RN #define STRSM_KERNEL_RC get_gotoblas() -> strsm_kernel_RT #define SSYMM_IUTCOPY get_gotoblas() -> ssymm_iutcopy #define SSYMM_ILTCOPY get_gotoblas() -> ssymm_iltcopy #define SSYMM_OUTCOPY get_gotoblas() -> ssymm_outcopy #define SSYMM_OLTCOPY get_gotoblas() -> ssymm_oltcopy #define SNEG_TCOPY get_gotoblas() -> sneg_tcopy #define SLASWP_NCOPY get_gotoblas() -> slaswp_ncopy #define SAXPBY_K get_gotoblas() -> saxpby_k #define SOMATCOPY_K_CN get_gotoblas() -> somatcopy_k_cn #define SOMATCOPY_K_RN get_gotoblas() -> somatcopy_k_rn #define SOMATCOPY_K_CT get_gotoblas() -> somatcopy_k_ct #define SOMATCOPY_K_RT get_gotoblas() -> somatcopy_k_rt #define SIMATCOPY_K_CN get_gotoblas() -> simatcopy_k_cn #define SIMATCOPY_K_RN get_gotoblas() -> simatcopy_k_rn #define SIMATCOPY_K_CT get_gotoblas() -> simatcopy_k_ct #define SIMATCOPY_K_RT get_gotoblas() -> simatcopy_k_rt #define SGEADD_K get_gotoblas() -> sgeadd_k #endif #define SGEMM_NN sgemm_nn #define SGEMM_CN sgemm_tn #define SGEMM_TN sgemm_tn #define SGEMM_NC sgemm_nt #define SGEMM_NT sgemm_nt #define SGEMM_CC sgemm_tt #define SGEMM_CT sgemm_tt #define SGEMM_TC sgemm_tt #define SGEMM_TT sgemm_tt #define SGEMM_NR sgemm_nn #define SGEMM_TR sgemm_tn #define SGEMM_CR sgemm_tn #define SGEMM_RN sgemm_nn #define SGEMM_RT sgemm_nt #define SGEMM_RC sgemm_nt #define SGEMM_RR sgemm_nn #define SSYMM_LU ssymm_LU #define SSYMM_LL ssymm_LL #define SSYMM_RU ssymm_RU #define SSYMM_RL ssymm_RL #define SHEMM_LU shemm_LU #define SHEMM_LL shemm_LL #define SHEMM_RU shemm_RU #define SHEMM_RL shemm_RL #define SSYRK_UN ssyrk_UN #define SSYRK_UT ssyrk_UT #define SSYRK_LN ssyrk_LN #define SSYRK_LT ssyrk_LT #define SSYRK_UR ssyrk_UN #define SSYRK_UC ssyrk_UT #define SSYRK_LR ssyrk_LN #define SSYRK_LC ssyrk_LT #define SSYRK_KERNEL_U ssyrk_kernel_U #define SSYRK_KERNEL_L ssyrk_kernel_L #define SHERK_UN ssyrk_UN #define SHERK_LN ssyrk_LN #define SHERK_UC ssyrk_UT #define SHERK_LC ssyrk_LT #define SHER2K_UN ssyr2k_UN #define SHER2K_LN ssyr2k_LN #define SHER2K_UC ssyr2k_UT #define SHER2K_LC ssyr2k_LT #define SSYR2K_UN ssyr2k_UN #define SSYR2K_UT ssyr2k_UT #define SSYR2K_LN ssyr2k_LN #define SSYR2K_LT ssyr2k_LT #define SSYR2K_UR ssyr2k_UN #define SSYR2K_UC ssyr2k_UT #define SSYR2K_LR ssyr2k_LN #define SSYR2K_LC ssyr2k_LT #define SSYR2K_KERNEL_U ssyr2k_kernel_U #define SSYR2K_KERNEL_L ssyr2k_kernel_L #define STRMM_LNUU strmm_LNUU #define STRMM_LNUN strmm_LNUN #define STRMM_LNLU strmm_LNLU #define STRMM_LNLN strmm_LNLN #define STRMM_LTUU strmm_LTUU #define STRMM_LTUN strmm_LTUN #define STRMM_LTLU strmm_LTLU #define STRMM_LTLN strmm_LTLN #define STRMM_LRUU strmm_LNUU #define STRMM_LRUN strmm_LNUN #define STRMM_LRLU strmm_LNLU #define STRMM_LRLN strmm_LNLN #define STRMM_LCUU strmm_LTUU #define STRMM_LCUN strmm_LTUN #define STRMM_LCLU strmm_LTLU #define STRMM_LCLN strmm_LTLN #define STRMM_RNUU strmm_RNUU #define STRMM_RNUN strmm_RNUN #define STRMM_RNLU strmm_RNLU #define STRMM_RNLN strmm_RNLN #define STRMM_RTUU strmm_RTUU #define STRMM_RTUN strmm_RTUN #define STRMM_RTLU strmm_RTLU #define STRMM_RTLN strmm_RTLN #define STRMM_RRUU strmm_RNUU #define STRMM_RRUN strmm_RNUN #define STRMM_RRLU strmm_RNLU #define STRMM_RRLN strmm_RNLN #define STRMM_RCUU strmm_RTUU #define STRMM_RCUN strmm_RTUN #define STRMM_RCLU strmm_RTLU #define STRMM_RCLN strmm_RTLN #define STRSM_LNUU strsm_LNUU #define STRSM_LNUN strsm_LNUN #define STRSM_LNLU strsm_LNLU #define STRSM_LNLN strsm_LNLN #define STRSM_LTUU strsm_LTUU #define STRSM_LTUN strsm_LTUN #define STRSM_LTLU strsm_LTLU #define STRSM_LTLN strsm_LTLN #define STRSM_LRUU strsm_LNUU #define STRSM_LRUN strsm_LNUN #define STRSM_LRLU strsm_LNLU #define STRSM_LRLN strsm_LNLN #define STRSM_LCUU strsm_LTUU #define STRSM_LCUN strsm_LTUN #define STRSM_LCLU strsm_LTLU #define STRSM_LCLN strsm_LTLN #define STRSM_RNUU strsm_RNUU #define STRSM_RNUN strsm_RNUN #define STRSM_RNLU strsm_RNLU #define STRSM_RNLN strsm_RNLN #define STRSM_RTUU strsm_RTUU #define STRSM_RTUN strsm_RTUN #define STRSM_RTLU strsm_RTLU #define STRSM_RTLN strsm_RTLN #define STRSM_RRUU strsm_RNUU #define STRSM_RRUN strsm_RNUN #define STRSM_RRLU strsm_RNLU #define STRSM_RRLN strsm_RNLN #define STRSM_RCUU strsm_RTUU #define STRSM_RCUN strsm_RTUN #define STRSM_RCLU strsm_RTLU #define STRSM_RCLN strsm_RTLN #define SGEMM_THREAD_NN sgemm_thread_nn #define SGEMM_THREAD_CN sgemm_thread_tn #define SGEMM_THREAD_TN sgemm_thread_tn #define SGEMM_THREAD_NC sgemm_thread_nt #define SGEMM_THREAD_NT sgemm_thread_nt #define SGEMM_THREAD_CC sgemm_thread_tt #define SGEMM_THREAD_CT sgemm_thread_tt #define SGEMM_THREAD_TC sgemm_thread_tt #define SGEMM_THREAD_TT sgemm_thread_tt #define SGEMM_THREAD_NR sgemm_thread_nn #define SGEMM_THREAD_TR sgemm_thread_tn #define SGEMM_THREAD_CR sgemm_thread_tn #define SGEMM_THREAD_RN sgemm_thread_nn #define SGEMM_THREAD_RT sgemm_thread_nt #define SGEMM_THREAD_RC sgemm_thread_nt #define SGEMM_THREAD_RR sgemm_thread_nn #define SSYMM_THREAD_LU ssymm_thread_LU #define SSYMM_THREAD_LL ssymm_thread_LL #define SSYMM_THREAD_RU ssymm_thread_RU #define SSYMM_THREAD_RL ssymm_thread_RL #define SHEMM_THREAD_LU shemm_thread_LU #define SHEMM_THREAD_LL shemm_thread_LL #define SHEMM_THREAD_RU shemm_thread_RU #define SHEMM_THREAD_RL shemm_thread_RL #define SSYRK_THREAD_UN ssyrk_thread_UN #define SSYRK_THREAD_UT ssyrk_thread_UT #define SSYRK_THREAD_LN ssyrk_thread_LN #define SSYRK_THREAD_LT ssyrk_thread_LT #define SSYRK_THREAD_UR ssyrk_thread_UN #define SSYRK_THREAD_UC ssyrk_thread_UT #define SSYRK_THREAD_LR ssyrk_thread_LN #define SSYRK_THREAD_LC ssyrk_thread_LT #define SHERK_THREAD_UN ssyrk_thread_UN #define SHERK_THREAD_UT ssyrk_thread_UT #define SHERK_THREAD_LN ssyrk_thread_LN #define SHERK_THREAD_LT ssyrk_thread_LT #define SHERK_THREAD_UR ssyrk_thread_UN #define SHERK_THREAD_UC ssyrk_thread_UT #define SHERK_THREAD_LR ssyrk_thread_LN #define SHERK_THREAD_LC ssyrk_thread_LT #endif