diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt index ddc7beb98..99447588c 100644 --- a/kernel/CMakeLists.txt +++ b/kernel/CMakeLists.txt @@ -825,7 +825,7 @@ endif () GenerateNamedObjects("${KERNELDIR}/${${float_char}GEADD_KERNEL}" "" "geadd_k" false "" "" false ${float_type}) endforeach () - if (BUILD_DOUBLE AND NOT BUILD_SINGLE) + if ((BUILD_DOUBLE OR BUILD_COMPLEX) AND NOT BUILD_SINGLE) GenerateNamedObjects("${KERNELDIR}/${STRSMKERNEL_LN}" "UPPER;LN;TRSMKERNEL" "trsm_kernel_LN" false "" "" false "SINGLE") GenerateNamedObjects("${KERNELDIR}/${STRSMKERNEL_LT}" "LT;TRSMKERNEL" "trsm_kernel_LT" false "" "" false "SINGLE") GenerateNamedObjects("${KERNELDIR}/${STRSMKERNEL_RN}" "UPPER;RN;TRSMKERNEL" "trsm_kernel_RN" false "" "" false "SINGLE") @@ -849,6 +849,45 @@ endif () GenerateNamedObjects("generic/trsm_ltcopy_${SGEMM_UNROLL_M}.c" "LOWER" "trsm_iltncopy" false "" "" false "SINGLE") GenerateNamedObjects("generic/trsm_ltcopy_${SGEMM_UNROLL_N}.c" "OUTER;LOWER;UNIT" "trsm_oltucopy" false "" "" false "SINGLE") GenerateNamedObjects("generic/trsm_ltcopy_${SGEMM_UNROLL_N}.c" "OUTER;LOWER" "trsm_oltncopy" false "" "" false "SINGLE") + if (SMALL_MATRIX_OPT) + if (NOT DEFINED SGEMM_SMALL_M_PERMIT) + set(SGEMM_SMALL_M_PERMIT ../generic/gemm_small_matrix_permit.c) + endif () + if (NOT DEFINED SGEMM_SMALL_K_NN) + set(SGEMM_SMALL_K_NN ../generic/gemm_small_matrix_kernel_nn.c) + endif () + if (NOT DEFINED SGEMM_SMALL_K_NT) + set(SGEMM_SMALL_K_NT ../generic/gemm_small_matrix_kernel_nt.c) + endif () + if (NOT DEFINED SGEMM_SMALL_K_TN) + set(SGEMM_SMALL_K_TN ../generic/gemm_small_matrix_kernel_tn.c) + endif () + if (NOT DEFINED SGEMM_SMALL_K_TT) + set(SGEMM_SMALL_K_TT ../generic/gemm_small_matrix_kernel_tt.c) + endif () + if (NOT DEFINED SGEMM_SMALL_K_B0_NN) + set(SGEMM_SMALL_K_B0_NN ../generic/gemm_small_matrix_kernel_nn.c) + endif () + if (NOT DEFINED SGEMM_SMALL_K_B0_NT) + set(SGEMM_SMALL_K_B0_NT ../generic/gemm_small_matrix_kernel_nt.c) + endif () + if (NOT DEFINED SGEMM_SMALL_K_B0_TN) + set(SGEMM_SMALL_K_B0_TN ../generic/gemm_small_matrix_kernel_tn.c) + endif () + if (NOT DEFINED SGEMM_SMALL_K_B0_TT) + set(SGEMM_SMALL_K_B0_TT ../generic/gemm_small_matrix_kernel_tt.c) + endif () + GenerateNamedObjects("${KERNELDIR}/${SGEMM_SMALL_M_PERMIT}" "" "gemm_small_matrix_permit" false "" "" false "SINGLE") + GenerateNamedObjects("${KERNELDIR}/${SGEMM_SMALL_K_NN}" "" "gemm_small_kernel_nn" false "" "" false "SINGLE") + GenerateNamedObjects("${KERNELDIR}/${SGEMM_SMALL_K_NT}" "" "gemm_small_kernel_nt" false "" "" false "SINGLE") + GenerateNamedObjects("${KERNELDIR}/${SGEMM_SMALL_K_TN}" "" "gemm_small_kernel_tn" false "" "" false "SINGLE") + GenerateNamedObjects("${KERNELDIR}/${SGEMM_SMALL_K_TT}" "" "gemm_small_kernel_tt" false "" "" false "SINGLE") + GenerateNamedObjects("${KERNELDIR}/${SGEMM_SMALL_K_B0_NN}" "B0" "gemm_small_kernel_b0_nn" false "" "" false "SINGLE") + GenerateNamedObjects("${KERNELDIR}/${SGEMM_SMALL_K_B0_NT}" "B0" "gemm_small_kernel_b0_nt" false "" "" false "SINGLE") + GenerateNamedObjects("${KERNELDIR}/${SGEMM_SMALL_K_B0_TN}" "B0" "gemm_small_kernel_b0_tn" false "" "" false "SINGLE") + GenerateNamedObjects("${KERNELDIR}/${SGEMM_SMALL_K_B0_TT}" "B0" "gemm_small_kernel_b0_tt" false "" "" false "SINGLE") + endif () + endif () # Makefile.LA @@ -878,25 +917,25 @@ endif () endforeach() if (BUILD_COMPLEX AND NOT BUILD_SINGLE) if (NOT DEFINED SNEG_TCOPY) - set(SNEG_TCOPY ../generic/neg_tcopy_${${float_char}GEMM_UNROLL_M}.c) + set(SNEG_TCOPY ../generic/neg_tcopy_${SGEMM_UNROLL_M}.c) endif () if (NOT DEFINED SLASWP_NCOPY) - set(SLASWP_NCOPY ../generic/laswp_ncopy_${${float_char}GEMM_UNROLL_N}.c) + set(SLASWP_NCOPY ../generic/laswp_ncopy_${SGEMM_UNROLL_N}.c) endif () GenerateNamedObjects("${KERNELDIR}/${SNEG_TCOPY}" "" "neg_tcopy" false "" "" false "SINGLE") GenerateNamedObjects("${KERNELDIR}/${SLASWP_NCOPY}" "" "laswp_ncopy" false "" "" false "SINGLE") endif() if (BUILD_COMPLEX16 AND NOT BUILD_DOUBLE) if (NOT DEFINED DNEG_TCOPY) - set(DNEG_TCOPY ../generic/neg_tcopy_${${float_char}GEMM_UNROLL_M}.c) + set(DNEG_TCOPY ../generic/neg_tcopy_${DGEMM_UNROLL_M}.c) endif () if (NOT DEFINED DLASWP_NCOPY) - set(DLASWP_NCOPY ../generic/laswp_ncopy_${${float_char}GEMM_UNROLL_N}.c) + set(DLASWP_NCOPY ../generic/laswp_ncopy_${DGEMM_UNROLL_N}.c) endif () - GenerateNamedObjects("${KERNELDIR}/${DNEG_TCOPY}_${DGEMM_UNROLL_M}.c" "" "neg_tcopy" false "" "" false "DOUBLE") - GenerateNamedObjects("${KERNELDIR}/${DLASWP_NCOPY}_${DGEMM_UNROLL_N}.c" "" "laswp_ncopy" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DNEG_TCOPY}" "" "neg_tcopy" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DLASWP_NCOPY}" "" "laswp_ncopy" false "" "" false "DOUBLE") endif() endif() @@ -981,6 +1020,68 @@ endif () if (BUILD_COMPLEX16 AND NOT BUILD_DOUBLE) GenerateNamedObjects("generic/neg_tcopy_${DGEMM_UNROLL_M}.c" "" "neg_tcopy" false "" ${TSUFFIX} false "DOUBLE") GenerateNamedObjects("generic/laswp_ncopy_${DGEMM_UNROLL_N}.c" "" "laswp_ncopy" false "" ${TSUFFIX} false "DOUBLE") + if (SMALL_MATRIX_OPT) + if (NOT DEFINED DGEMM_SMALL_M_PERMIT) + set(DGEMM_SMALL_M_PERMIT ../generic/gemm_small_matrix_permit.c) + endif () + if (NOT DEFINED DGEMM_SMALL_K_NN) + set(DGEMM_SMALL_K_NN ../generic/gemm_small_matrix_kernel_nn) + endif () + if (NOT DEFINED DGEMM_SMALL_K_NT) + set(DGEMM_SMALL_K_NT ../generic/gemm_small_matrix_kernel_nt) + endif () + if (NOT DEFINED DGEMM_SMALL_K_TN) + set(DGEMM_SMALL_K_TN ../generic/gemm_small_matrix_kernel_tn) + endif () + if (NOT DEFINED DGEMM_SMALL_K_TT) + set(DGEMM_SMALL_K_TT ../generic/gemm_small_matrix_kernel_tt) + endif () + if (NOT DEFINED DGEMM_SMALL_K_B0_NN) + set(DGEMM_SMALL_K_B0_NN ../generic/gemm_small_matrix_kernel_nn) + endif () + if (NOT DEFINED DGEMM_SMALL_K_B0_NT) + set(DGEMM_SMALL_K_B0_NT ../generic/gemm_small_matrix_kernel_nt) + endif () + if (NOT DEFINED DGEMM_SMALL_K_B0_TN) + set(DGEMM_SMALL_K_B0_TN ../generic/gemm_small_matrix_kernel_tn) + endif () + if (NOT DEFINED DGEMM_SMALL_K_B0_TT) + set(DGEMM_SMALL_K_B0_TT ../generic/gemm_small_matrix_kernel_tt) + endif () + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_M_PERMIT}" "" "gemm_small_matrix_permit" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_NN}.c" "NN" "gemm_small_kernel_nn" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_NN}.c" "NR" "gemm_small_kernel_nr" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_NN}.c" "RN" "gemm_small_kernel_rn" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_NN}.c" "RR" "gemm_small_kernel_rr" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_NT}.c" "NT" "gemm_small_kernel_nt" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_NT}.c" "NC" "gemm_small_kernel_nc" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_NT}.c" "RT" "gemm_small_kernel_rt" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_NT}.c" "RC" "gemm_small_kernel_rc" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_TN}.c" "TN" "gemm_small_kernel_tn" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_TN}.c" "TR" "gemm_small_kernel_tr" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_TN}.c" "CN" "gemm_small_kernel_cn" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_TN}.c" "CR" "gemm_small_kernel_cr" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_TT}.c" "TT" "gemm_small_kernel_tt" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_TT}.c" "TC" "gemm_small_kernel_tc" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_TT}.c" "CT" "gemm_small_kernel_ct" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_TT}.c" "CC" "gemm_small_kernel_cc" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_NN}.c" "NN;B0" "gemm_small_kernel_b0_nn" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_NN}.c" "NR;B0" "gemm_small_kernel_b0_nr" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_NN}.c" "RN;B0" "gemm_small_kernel_b0_rn" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_NN}.c" "RR;B0" "gemm_small_kernel_b0_rr" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_NT}.c" "NT;B0" "gemm_small_kernel_b0_nt" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_NT}.c" "NC;B0" "gemm_small_kernel_b0_nc" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_NT}.c" "RT;B0" "gemm_small_kernel_b0_rt" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_NT}.c" "RC;B0" "gemm_small_kernel_b0_rc" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_TN}.c" "TN;B0" "gemm_small_kernel_b0_tn" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_TN}.c" "TR;B0" "gemm_small_kernel_b0_tr" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_TN}.c" "CN;B0" "gemm_small_kernel_b0_cn" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_TN}.c" "CR;B0" "gemm_small_kernel_b0_cr" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_TT}.c" "TT;B0" "gemm_small_kernel_b0_tt" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_TT}.c" "TC;B0" "gemm_small_kernel_b0_tc" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_TT}.c" "CT;B0" "gemm_small_kernel_b0_ct" false "" "" false "DOUBLE") + GenerateNamedObjects("${KERNELDIR}/${DGEMM_SMALL_K_B0_TT}.c" "CC;B0" "gemm_small_kernel_b0_cc" false "" "" false "DOUBLE") + endif () endif () if (BUILD_COMPLEX16 AND NOT BUILD_COMPLEX) GenerateNamedObjects("${KERNELDIR}/${CAMAXKERNEL}" "USE_ABS" "amax_k" false "" "" false "COMPLEX") @@ -1046,7 +1147,69 @@ endif () if (CGEMMOTCOPY) GenerateNamedObjects("${KERNELDIR}/${CGEMMOTCOPY}" "COMPLEX" "${CGEMMOTCOPYOBJ}" false "" "" true "COMPLEX") endif () - GenerateNamedObjects("${KERNELDIR}/${CGEMM_BETA}" "" "gemm_beta" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_BETA}" "" "gemm_beta" false "" "" false "COMPLEX") + if (SMALL_MATRIX_OPT) + if (NOT DEFINED CGEMM_SMALL_M_PERMIT) + set(CGEMM_SMALL_M_PERMIT ../generic/zgemm_small_matrix_permit) + endif () + if (NOT DEFINED CGEMM_SMALL_K_NN) + set(CGEMM_SMALL_K_NN ../generic/zgemm_small_matrix_kernel_nn) + endif () + if (NOT DEFINED CGEMM_SMALL_K_NT) + set(CGEMM_SMALL_K_NT ../generic/zgemm_small_matrix_kernel_nt) + endif () + if (NOT DEFINED CGEMM_SMALL_K_TN) + set(CGEMM_SMALL_K_TN ../generic/zgemm_small_matrix_kernel_tn) + endif () + if (NOT DEFINED CGEMM_SMALL_K_TT) + set(CGEMM_SMALL_K_TT ../generic/zgemm_small_matrix_kernel_tt) + endif () + if (NOT DEFINED CGEMM_SMALL_K_B0_NN) + set(CGEMM_SMALL_K_B0_NN ../generic/zgemm_small_matrix_kernel_nn) + endif () + if (NOT DEFINED CGEMM_SMALL_K_B0_NT) + set(CGEMM_SMALL_K_B0_NT ../generic/zgemm_small_matrix_kernel_nt) + endif () + if (NOT DEFINED CGEMM_SMALL_K_B0_TN) + set(CGEMM_SMALL_K_B0_TN ../generic/zgemm_small_matrix_kernel_tn) + endif () + if (NOT DEFINED CGEMM_SMALL_K_B0_TT) + set(CGEMM_SMALL_K_B0_TT ../generic/zgemm_small_matrix_kernel_tt) + endif () + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_M_PERMIT}.c" "" "gemm_small_matrix_permit" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_NN}.c" "NN" "gemm_small_kernel_nn" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_NN}.c" "NR" "gemm_small_kernel_nr" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_NN}.c" "RN" "gemm_small_kernel_rn" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_NN}.c" "RR" "gemm_small_kernel_rr" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_NT}.c" "NT" "gemm_small_kernel_nt" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_NT}.c" "NC" "gemm_small_kernel_nc" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_NT}.c" "RT" "gemm_small_kernel_rt" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_NT}.c" "RC" "gemm_small_kernel_rc" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_TN}.c" "TN" "gemm_small_kernel_tn" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_TN}.c" "TR" "gemm_small_kernel_tr" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_TN}.c" "CN" "gemm_small_kernel_cn" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_TN}.c" "CR" "gemm_small_kernel_cr" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_TT}.c" "TT" "gemm_small_kernel_tt" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_TT}.c" "TC" "gemm_small_kernel_tc" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_TT}.c" "CT" "gemm_small_kernel_ct" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_TT}.c" "CC" "gemm_small_kernel_cc" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_NN}.c" "NN;B0" "gemm_small_kernel_b0_nn" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_NN}.c" "NR;B0" "gemm_small_kernel_b0_nr" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_NN}.c" "RN;B0" "gemm_small_kernel_b0_rn" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_NN}.c" "RR;B0" "gemm_small_kernel_b0_rr" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_NT}.c" "NT;B0" "gemm_small_kernel_b0_nt" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_NT}.c" "NC;B0" "gemm_small_kernel_b0_nc" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_NT}.c" "RT;B0" "gemm_small_kernel_b0_rt" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_NT}.c" "RC;B0" "gemm_small_kernel_b0_rc" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_TN}.c" "TN;B0" "gemm_small_kernel_b0_tn" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_TN}.c" "TR;B0" "gemm_small_kernel_b0_tr" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_TN}.c" "CN;B0" "gemm_small_kernel_b0_cn" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_TN}.c" "CR;B0" "gemm_small_kernel_b0_cr" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_TT}.c" "TT;B0" "gemm_small_kernel_b0_tt" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_TT}.c" "TC;B0" "gemm_small_kernel_b0_tc" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_TT}.c" "CT;B0" "gemm_small_kernel_b0_ct" false "" "" false "COMPLEX") + GenerateNamedObjects("${KERNELDIR}/${CGEMM_SMALL_K_B0_TT}.c" "CC;B0" "gemm_small_kernel_b0_cc" false "" "" false "COMPLEX") + endif () GenerateNamedObjects("generic/ztrsm_uncopy_${CGEMM_UNROLL_M}.c" "UNIT" "trsm_iunucopy" false "" ${TSUFFIX} false "COMPLEX") GenerateNamedObjects("generic/ztrsm_uncopy_${CGEMM_UNROLL_M}.c" "" "trsm_iunncopy" false "" ${TSUFFIX} false "COMPLEX") GenerateNamedObjects("generic/ztrsm_uncopy_${CGEMM_UNROLL_N}.c" "OUTER;UNIT" "trsm_ounucopy" false "" ${TSUFFIX} false "COMPLEX")