@@ -628,6 +628,18 @@ set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${CCOMMON_OPT}")
628
628
endif ()
629
629
# TODO: not sure what PFLAGS is -hpa
630
630
set (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
+
631
643
632
644
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${FCOMMON_OPT} " )
633
645
# TODO: not sure what FPFLAGS is -hpa
@@ -653,7 +665,7 @@ if (CMAKE_Fortran_COMPILER)
653
665
if ("${F_COMPILER} " STREQUAL "NAGFOR" OR "${F_COMPILER} " STREQUAL "CRAY" OR CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*" )
654
666
set (FILTER_FLAGS "-msse3;-mssse3;-msse4.1;-mavx;-mavx2,-mskylake-avx512" )
655
667
if (CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*" )
656
- message (STATUS "removing fortran flags" )
668
+ message (STATUS "removing fortran flags not supported by the compiler " )
657
669
set (FILTER_FLAGS "${FILTER_FLAGS} ;-m32;-m64" )
658
670
endif ()
659
671
foreach (FILTER_FLAG ${FILTER_FLAGS} )
@@ -684,13 +696,6 @@ if (${CMAKE_C_COMPILER_ID} MATCHES "IntelLLVM" AND ${CMAKE_SYSTEM_NAME} STREQUAL
684
696
set (LAPACK_CFLAGS "${LAPACK_CFLAGS} -DNOCHANGE" )
685
697
endif ()
686
698
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 ()
694
699
695
700
if (NOT DEFINED SUFFIX )
696
701
set (SUFFIX o )
0 commit comments