@@ -628,6 +628,18 @@ set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${CCOMMON_OPT}")
628628endif ()
629629# TODO: not sure what PFLAGS is -hpa
630630set (PFLAGS "${PFLAGS} ${CCOMMON_OPT} -I${TOPDIR} -DPROFILE ${COMMON_PROF} " )
631+ if ("${CMAKE_BUILD_TYPE} " STREQUAL "Release" )
632+
633+ if ("${F_COMPILER} " STREQUAL "FLANG" )
634+ if (${CMAKE_Fortran_COMPILER_VERSION} VERSION_LESS_EQUAL 3)
635+ set (CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -fno-unroll-loops" )
636+ endif ()
637+ endif ()
638+ if (ARM64 AND CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*" AND CMAKE_SYSTEM_NAME STREQUAL "Windows" )
639+ set (CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -O2" )
640+ endif ()
641+ endif ()
642+
631643
632644set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${FCOMMON_OPT} " )
633645# TODO: not sure what FPFLAGS is -hpa
@@ -653,7 +665,7 @@ if (CMAKE_Fortran_COMPILER)
653665 if ("${F_COMPILER} " STREQUAL "NAGFOR" OR "${F_COMPILER} " STREQUAL "CRAY" OR CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*" )
654666 set (FILTER_FLAGS "-msse3;-mssse3;-msse4.1;-mavx;-mavx2,-mskylake-avx512" )
655667 if (CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*" )
656- message (STATUS "removing fortran flags" )
668+ message (STATUS "removing fortran flags not supported by the compiler " )
657669 set (FILTER_FLAGS "${FILTER_FLAGS} ;-m32;-m64" )
658670 endif ()
659671 foreach (FILTER_FLAG ${FILTER_FLAGS} )
@@ -684,13 +696,6 @@ if (${CMAKE_C_COMPILER_ID} MATCHES "IntelLLVM" AND ${CMAKE_SYSTEM_NAME} STREQUAL
684696 set (LAPACK_CFLAGS "${LAPACK_CFLAGS} -DNOCHANGE" )
685697endif ()
686698
687- if ("${CMAKE_BUILD_TYPE} " STREQUAL "Release" )
688- if ("${F_COMPILER} " STREQUAL "FLANG" )
689- if (${CMAKE_Fortran_COMPILER_VERSION} VERSION_LESS_EQUAL 3)
690- set (CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -fno-unroll-loops" )
691- endif ()
692- endif ()
693- endif ()
694699
695700if (NOT DEFINED SUFFIX )
696701 set (SUFFIX o)
0 commit comments