# objects that need LOWER set
GenerateCombinationObjects("${UL_SOURCES}" "LOWER" "U" "DOUBLE" "" 1)
-list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
# objects that need TRANSA and UNIT set
# N.B. BLAS wants to put the U/L from the filename in the *MIDDLE* because of course why not have a different naming scheme for every single object -hpa
GenerateCombinationObjects("${NU_SOURCES}" "TRANSA;UNIT" "N;N" "DOUBLE" "" 3)
-list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
# gbmv uses a lowercase n and t. WHY? WHO KNOWS!
GenerateNamedObjects("gbmv_k.c" "DOUBLE" "" "gbmv_n")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("gbmv_k.c" "DOUBLE" "TRANS" "gbmv_t")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
if (SMP)
# gbmv uses a lowercase n and t. N.B. this uses TRANSA where gbmv.c uses TRANS. Intentional?
GenerateNamedObjects("gbmv_thread.c" "DOUBLE" "" "gbmv_thread_n")
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("gbmv_thread.c" "DOUBLE" "TRANSA" "gbmv_thread_t")
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("gemv_thread.c" "DOUBLE" "" "gemv_thread_n")
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("gemv_thread.c" "DOUBLE" "TRANSA" "gemv_thread_t")
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("ger_thread.c" "DOUBLE")
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
set(UL_SMP_SOURCES
symv_thread.c
)
GenerateCombinationObjects("${UL_SMP_SOURCES}" "LOWER" "U" "DOUBLE" "" 2)
- list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
-
set(NU_SMP_SOURCES
trmv_thread.c
)
GenerateCombinationObjects("${NU_SMP_SOURCES}" "TRANSA;LOWER;UNIT" "N;U;N" "DOUBLE" "" 2)
- list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
endif ()
foreach (GEMM_DEFINE ${GEMM_DEFINES})
string(TOLOWER ${GEMM_DEFINE} GEMM_DEFINE_LC)
GenerateNamedObjects("gemm.c" "DOUBLE" "${GEMM_DEFINE}" "gemm_${GEMM_DEFINE_LC}" 0)
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
if (SMP AND NOT USE_SIMPLE_THREADED_LEVEL3)
GenerateNamedObjects("gemm.c" "DOUBLE" "${GEMM_DEFINE};THREADED_LEVEL3" "gemm_thread_${GEMM_DEFINE_LC}" 0)
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
endif ()
endforeach ()
GenerateCombinationObjects("trmm_L.c;trmm_R.c;trsm_L.c;trsm_R.c" "TRANS;UPPER;UNIT" "N;L;N" "DOUBLE" "" 0)
-list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
GenerateCombinationObjects("symm_k.c" "RSIDE;LOWER" "L;U" "DOUBLE" "NN" 1)
-list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
GenerateCombinationObjects("syrk_k.c;syr2k_k.c" "LOWER;TRANS" "U;N" "DOUBLE" "" 1)
-list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
GenerateCombinationObjects("syrk_kernel.c;syr2k_kernel.c" "LOWER" "U" "DOUBLE" "" 2)
-list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
if (SMP)
# N.B. these do NOT have a float type (e.g. DOUBLE) defined!
GenerateNamedObjects("gemm_thread_m.c;gemm_thread_n.c;gemm_thread_mn.c;gemm_thread_variable.c;syrk_thread.c" "" "" "" 0)
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
if (NOT USE_SIMPLE_THREADED_LEVEL3)
GenerateCombinationObjects("syrk_k.c" "LOWER;TRANS" "U;N" "DOUBLE" "THREADED_LEVEL3" 2 "syrk_thread")
- list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
GenerateCombinationObjects("symm_k.c" "RSIDE;LOWER" "L;U" "DOUBLE" "THREADED_LEVEL3;NN" 2 "symm_thread")
- list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
endif ()
endif ()
foreach (CBLAS_FLAG ${CBLAS_FLAGS})
GenerateNamedObjects("${BLAS1_SOURCES}" "DOUBLE" "" "" ${CBLAS_FLAG})
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${BLAS2_SOURCES}" "DOUBLE" "" "" ${CBLAS_FLAG})
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${BLAS3_SOURCES}" "DOUBLE" "" "" ${CBLAS_FLAG})
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
# trmm is trsm with a compiler flag set
GenerateNamedObjects("trsm.c" "DOUBLE" "TRMM" "trmm" ${CBLAS_FLAG})
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
# max and imax are compiled 4 times
GenerateNamedObjects("max.c" "DOUBLE" "" "" ${CBLAS_FLAG})
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("max.c" "DOUBLE" "USE_ABS" "amax" ${CBLAS_FLAG})
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("max.c" "DOUBLE" "USE_ABS;USE_MIN" "amin" ${CBLAS_FLAG})
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("max.c" "DOUBLE" "USE_MIN" "min" ${CBLAS_FLAG})
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("imax.c" "DOUBLE" "" "i*max" ${CBLAS_FLAG})
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("imax.c" "DOUBLE" "USE_ABS" "i*amax" ${CBLAS_FLAG})
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("imax.c" "DOUBLE" "USE_ABS;USE_MIN" "i*amin" ${CBLAS_FLAG})
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("imax.c" "DOUBLE" "USE_MIN" "i*min" ${CBLAS_FLAG})
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
endforeach ()
lapack/lauum.c lapack/trti2.c lapack/trtri.c
)
GenerateNamedObjects("${LAPACK_SOURCES}" "DOUBLE" "" "" 0)
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
endif ()
set(DBLAS_OBJS ${DBLAS_OBJS} PARENT_SCOPE) # list append removes the scope from DBLAS_OBJS
set(DGEMMKERNEL gemm_kernel_2x4_penryn.S)
GenerateNamedObjects("${KERNELDIR}/${DGEMMKERNEL}" "DOUBLE")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
if (DGEMMINCOPY)
GenerateNamedObjects(${DGEMMINCOPY} "DOUBLE")
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
endif ()
if (DGEMMITCOPY)
GenerateNamedObjects(${DGEMMITCOPY} "DOUBLE")
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
endif ()
if (DGEMMONCOPY)
GenerateNamedObjects(${DGEMMONCOPY} "DOUBLE")
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
endif ()
if (DGEMMOTCOPY)
GenerateNamedObjects(${DGEMMOTCOPY} "DOUBLE")
- list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
endif ()
GenerateNamedObjects("${KERNELDIR}/${DGEMM_BETA}" "DOUBLE")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateCombinationObjects("${KERNELDIR}/${DGEMMKERNEL}" "LEFT;TRANSA" "R;N" "DOUBLE" "TRMMKERNEL" 2 "trmm_kernel")
-list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/${DGEMMKERNEL}" "DOUBLE" "UPPER;LN;TRSMKERNEL" "trsm_kernel_LN")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/${DGEMMKERNEL}" "DOUBLE" "LT;TRSMKERNEL" "trsm_kernel_LT")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/${DGEMMKERNEL}" "DOUBLE" "UPPER;RN;TRSMKERNEL" "trsm_kernel_RN")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/${DGEMMKERNEL}" "DOUBLE" "RT;TRSMKERNEL" "trsm_kernel_RT")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
# These don't use a scheme that is easy to iterate over - the filenames have part of the DEFINE codes in them, for UPPER/TRANS but not for UNIT/OUTER. Also TRANS is not passed in as a define.
# Could simplify it a bit by pairing up by -UUNIT/-DUNIT.
GenerateNamedObjects("generic/trmm_uncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "UNIT" "trmm_iunucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_uncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "" "trmm_iunncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_uncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER;UNIT" "trmm_ounucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_uncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER" "trmm_ounncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_lncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "LOWER;UNIT" "trmm_ilnucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_lncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "LOWER" "trmm_ilnncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_lncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER;LOWER;UNIT" "trmm_olnucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_lncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER;LOWER" "trmm_olnncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_utcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "UNIT" "trmm_iutucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_utcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "" "trmm_iutncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_utcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER;UNIT" "trmm_outucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_utcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER" "trmm_outncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_ltcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "LOWER;UNIT" "trmm_iltucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_ltcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "LOWER" "trmm_iltncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_ltcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER;LOWER;UNIT" "trmm_oltucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trmm_ltcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER;LOWER" "trmm_oltncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_uncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "UNIT" "trsm_iunucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_uncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "" "trsm_iunncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_uncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER;UNIT" "trsm_ounucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_uncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER" "trsm_ounncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_lncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "LOWER;UNIT" "trsm_ilnucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_lncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "LOWER" "trsm_ilnncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_lncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER;LOWER;UNIT" "trsm_olnucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_lncopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER;LOWER" "trsm_olnncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_utcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "UNIT" "trsm_iutucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_utcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "" "trsm_iutncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_utcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER;UNIT" "trsm_outucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_utcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER" "trsm_outncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_ltcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "LOWER;UNIT" "trsm_iltucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_ltcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "LOWER" "trsm_iltncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_ltcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER;LOWER;UNIT" "trsm_oltucopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/trsm_ltcopy_${DGEMM_UNROLL_M}.c" "DOUBLE" "OUTER;LOWER" "trsm_oltncopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/symm_ucopy_${DGEMM_UNROLL_N}.c" "DOUBLE" "OUTER" "symm_outcopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/symm_ucopy_${DGEMM_UNROLL_N}.c" "DOUBLE" "" "symm_iutcopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/symm_lcopy_${DGEMM_UNROLL_N}.c" "DOUBLE" "LOWER;OUTER" "symm_oltcopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("generic/symm_lcopy_${DGEMM_UNROLL_N}.c" "DOUBLE" "LOWER" "symm_iltcopy")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
if (NOT DEFINED DOMATCOPY_CN)
set(DOMATCOPY_CN ../arm/omatcopy_cn.c)
endif ()
GenerateNamedObjects("${KERNELDIR}/${DOMATCOPY_CN}" "DOUBLE" "" "domatcopy_k_cn")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/${DOMATCOPY_RN}" "DOUBLE" "ROWM" "domatcopy_k_rn")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/${DOMATCOPY_CT}" "DOUBLE" "" "domatcopy_k_ct")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/${DOMATCOPY_RT}" "DOUBLE" "ROWM" "domatcopy_k_rt")
-list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
# Makefile.LA
#DBLASOBJS += dneg_tcopy$(TSUFFIX).$(SUFFIX) dlaswp_ncopy$(TSUFFIX).$(SUFFIX)