@@ -21,7 +21,15 @@ endif()
21
21
# Other files expect CORE, which is actually TARGET and will become TARGET_CORE for kernel build. Confused yet?
22
22
# It seems we are meant to use TARGET as input and CORE internally as kernel.
23
23
if (NOT DEFINED CORE AND DEFINED TARGET )
24
- set (CORE ${TARGET} )
24
+ if (${TARGET} STREQUAL "LOONGSON3R5" )
25
+ set (CORE "LA464" )
26
+ elseif (${TARGET} STREQUAL "LOONGSON2K1000" )
27
+ set (CORE "LA264" )
28
+ elseif (${TARGET} STREQUAL "LOONGSONGENERIC" )
29
+ set (CORE "LA64_GENERIC)" )
30
+ else ()
31
+ set (CORE ${TARGET} )
32
+ endif ()
25
33
endif ()
26
34
27
35
# TARGET_CORE will override TARGET which is used in DYNAMIC_ARCH=1.
@@ -310,6 +318,9 @@ if (${TARGET} STREQUAL NEOVERSEV1)
310
318
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=armv8.2-a+sve" )
311
319
endif ()
312
320
endif ()
321
+ if (${TARGET} STREQUAL ARMV9SME )
322
+ set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=armv9-a+sme -O3" )
323
+ endif ()
313
324
if (${TARGET} STREQUAL A64FX )
314
325
if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI" AND NOT NO_SVE )
315
326
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -Msve-intrinsics -march=armv8.2-a+sve -mtune=a64fx" )
@@ -382,6 +393,8 @@ if (NEED_PIC)
382
393
if (NOT NOFORTRAN )
383
394
if (${F_COMPILER} STREQUAL "SUN" )
384
395
set (FCOMMON_OPT "${FCOMMON_OPT} -pic" )
396
+ elseif (${F_COMPILER} STREQUAL "NAGFOR" )
397
+ set (FCOMMON_OPT "${FCOMMON_OPT} -PIC" )
385
398
else ()
386
399
set (FCOMMON_OPT "${FCOMMON_OPT} -fPIC" )
387
400
endif ()
@@ -640,17 +653,17 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
640
653
endif ()
641
654
642
655
if (CMAKE_Fortran_COMPILER )
643
- if ("${F_COMPILER} " STREQUAL "NAG" OR "${F_COMPILER} " STREQUAL "CRAY" OR CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*" )
644
- set (FILTER_FLAGS "-msse3;-mssse3;-msse4.1;-mavx;-mavx2,-mskylake-avx512" )
645
- if (CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*" )
646
- message (STATUS "removing fortran flags" )
647
- set (FILTER_FLAGS "${FILTER_FLAGS} ;-m32;-m64" )
656
+ if ("${F_COMPILER} " STREQUAL "NAGFOR" OR "${F_COMPILER} " STREQUAL "CRAY" OR CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*" )
657
+ set (FILTER_FLAGS "-msse3;-mssse3;-msse4.1;-mavx;-mavx2,-mskylake-avx512" )
658
+ if (CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*" )
659
+ message (STATUS "removing fortran flags" )
660
+ set (FILTER_FLAGS "${FILTER_FLAGS} ;-m32;-m64" )
661
+ endif ()
662
+ foreach (FILTER_FLAG ${FILTER_FLAGS} )
663
+ string (REPLACE ${FILTER_FLAG} "" LAPACK_FFLAGS ${LAPACK_FFLAGS} )
664
+ string (REPLACE ${FILTER_FLAG} "" LAPACK_FPFLAGS ${LAPACK_FPFLAGS} )
665
+ endforeach ()
648
666
endif ()
649
- foreach (FILTER_FLAG ${FILTER_FLAGS} )
650
- string (REPLACE ${FILTER_FLAG} "" LAPACK_FFLAGS ${LAPACK_FFLAGS} )
651
- string (REPLACE ${FILTER_FLAG} "" LAPACK_FPFLAGS ${LAPACK_FPFLAGS} )
652
- endforeach ()
653
- endif ()
654
667
endif ()
655
668
656
669
if ("${F_COMPILER} " STREQUAL "GFORTRAN" )
@@ -670,6 +683,9 @@ endif ()
670
683
if (${CMAKE_C_COMPILER} STREQUAL "LSB" OR ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" )
671
684
set (LAPACK_CFLAGS "${LAPACK_CFLAGS} -DLAPACK_COMPLEX_STRUCTURE" )
672
685
endif ()
686
+ if (${CMAKE_C_COMPILER_ID} MATCHES "IntelLLVM" AND ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" )
687
+ set (LAPACK_CFLAGS "${LAPACK_CFLAGS} -DNOCHANGE" )
688
+ endif ()
673
689
674
690
if ("${CMAKE_BUILD_TYPE} " STREQUAL "Release" )
675
691
if ("${F_COMPILER} " STREQUAL "FLANG" )
0 commit comments