Fix generator rules for ?laswp_ncopy and ?neg_tcopy
authorMartin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Sat, 30 Apr 2022 13:28:38 +0000 (15:28 +0200)
committerGitHub <noreply@github.com>
Sat, 30 Apr 2022 13:28:38 +0000 (15:28 +0200)
kernel/CMakeLists.txt

index 98c803e..ddc7beb 100644 (file)
@@ -854,49 +854,49 @@ endif ()
     # Makefile.LA
     if(NOT NO_LAPACK)
       foreach (float_type ${FLOAT_TYPES})
+        string(SUBSTRING ${float_type} 0 1 float_char)
              if (${float_type} STREQUAL "BFLOAT16")
        set (float_char "SB")
       endif ()
         if (NOT DEFINED ${float_char}NEG_TCOPY)
           if (${float_char} STREQUAL "Z" OR ${float_char} STREQUAL "C" OR ${float_char} STREQUAL "X")
-            set(${float_char}NEG_TCOPY ../generic/zneg_tcopy.c)
+            set(${float_char}NEG_TCOPY ../generic/zneg_tcopy_${${float_char}GEMM_UNROLL_M}.c)
           else ()
-            set(${float_char}NEG_TCOPY ../generic/neg_tcopy.c)
+            set(${float_char}NEG_TCOPY ../generic/neg_tcopy_${${float_char}GEMM_UNROLL_M}.c)
           endif ()
         endif ()
 
         if (NOT DEFINED ${float_char}LASWP_NCOPY)
           if (${float_char} STREQUAL "Z" OR ${float_char} STREQUAL "C" OR ${float_char} STREQUAL "X")
-            set(${float_char}LASWP_NCOPY ../generic/zlaswp_ncopy.c)
+            set(${float_char}LASWP_NCOPY ../generic/zlaswp_ncopy_${${float_char}GEMM_UNROLL_N}.c)
           else ()
-            set(${float_char}LASWP_NCOPY ../generic/laswp_ncopy.c)
+            set(${float_char}LASWP_NCOPY ../generic/laswp_ncopy_${${float_char}GEMM_UNROLL_N}.c)
           endif ()
         endif ()
-        string(SUBSTRING ${float_type} 0 1 float_char)
-        GenerateNamedObjects("${KERNELDIR}/${${float_char}NEG_TCOPY}_${${float_char}GEMM_UNROLL_M}" "" "neg_tcopy" false "" "" false ${float_type})
-        GenerateNamedObjects("${KERNELDIR}/${${float_char}LASWP_NCOPY}_${${float_char}GEMM_UNROLL_N}" "" "laswp_ncopy" false "" "" false ${float_type})
+        GenerateNamedObjects("${KERNELDIR}/${${float_char}NEG_TCOPY}" "" "neg_tcopy" false "" "" false ${float_type})
+        GenerateNamedObjects("${KERNELDIR}/${${float_char}LASWP_NCOPY}" "" "laswp_ncopy" false "" "" false ${float_type})
       endforeach()
       if (BUILD_COMPLEX AND NOT BUILD_SINGLE) 
         if (NOT DEFINED SNEG_TCOPY)
-            set(SNEG_TCOPY ../generic/neg_tcopy.c)
+            set(SNEG_TCOPY ../generic/neg_tcopy_${${float_char}GEMM_UNROLL_M}.c)
         endif ()
 
         if (NOT DEFINED SLASWP_NCOPY)
-            set(SLASWP_NCOPY ../generic/laswp_ncopy.c)
+            set(SLASWP_NCOPY ../generic/laswp_ncopy_${${float_char}GEMM_UNROLL_N}.c)
         endif ()
-       GenerateNamedObjects("${KERNELDIR}/${SNEG_TCOPY}_${SGEMM_UNROLL_M}" "" "neg_tcopy" false "" "" false "SINGLE")
-       GenerateNamedObjects("${KERNELDIR}/${SLASWP_NCOPY}_${SGEMM_UNROLL_N}" "" "laswp_ncopy" false "" "" false "SINGLE")
+       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.c)
+            set(DNEG_TCOPY ../generic/neg_tcopy_${${float_char}GEMM_UNROLL_M}.c)
         endif ()
 
         if (NOT DEFINED DLASWP_NCOPY)
-            set(DLASWP_NCOPY ../generic/laswp_ncopy.c)
+            set(DLASWP_NCOPY ../generic/laswp_ncopy_${${float_char}GEMM_UNROLL_N}.c)
         endif ()
-       GenerateNamedObjects("${KERNELDIR}/${DNEG_TCOPY}_${DGEMM_UNROLL_M}" "" "neg_tcopy" false "" "" false "DOUBLE")
-       GenerateNamedObjects("${KERNELDIR}/${DLASWP_NCOPY}_${DGEMM_UNROLL_N}" "" "laswp_ncopy" false "" "" false "DOUBLE")
+       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")
       endif()
     endif()