@@ -75,18 +75,31 @@ endif
7575ifeq ($(CORE), COOPERLAKE)
7676ifndef NO_AVX512
7777ifeq ($(C_COMPILER), GCC)
78- # cooperlake support was added in 10.1
79- ifeq ($(GCCVERSIONGTEQ10)$(GCCMINORVERSIONGTEQ1), 11)
80- CCOMMON_OPT += -march=cooperlake
81- ifneq ($(F_COMPILER), NAG)
82- FCOMMON_OPT += -march=cooperlake
83- endif
84- else # gcc not support, fallback to avx512
85- CCOMMON_OPT += -march=skylake-avx512
86- ifneq ($(F_COMPILER), NAG)
87- FCOMMON_OPT += -march=skylake-avx512
88- endif
89- endif
78+ # cooperlake support was added in 10.1
79+ ifeq ($(GCCVERSIONGTEQ10)$(GCCMINORVERSIONGTEQ1), 11)
80+ CCOMMON_OPT += -march=cooperlake
81+ ifneq ($(F_COMPILER), NAG)
82+ FCOMMON_OPT += -march=cooperlake
83+ endif
84+ else # gcc not support, fallback to avx512
85+ CCOMMON_OPT += -march=skylake-avx512
86+ ifneq ($(F_COMPILER), NAG)
87+ FCOMMON_OPT += -march=skylake-avx512
88+ endif
89+ endif
90+ else ifeq ($(C_COMPILER), CLANG)
91+ # cooperlake support was added in clang 9
92+ ifeq ($(CLANGVERSIONGTEQ9), 1)
93+ CCOMMON_OPT += -march=cooperlake
94+ ifneq ($(F_COMPILER), NAG)
95+ FCOMMON_OPT += -march=cooperlake
96+ endif
97+ else # not supported in clang, fallback to avx512
98+ CCOMMON_OPT += -march=skylake-avx512
99+ ifneq ($(F_COMPILER), NAG)
100+ FCOMMON_OPT += -march=skylake-avx512
101+ endif
102+ endif
90103endif
91104ifeq ($(OSNAME), CYGWIN_NT)
92105CCOMMON_OPT += -fno-asynchronous-unwind-tables
@@ -104,18 +117,31 @@ endif
104117ifeq ($(CORE), SAPPHIRERAPIDS)
105118ifndef NO_AVX512
106119ifeq ($(C_COMPILER), GCC)
107- # sapphire rapids support was added in 11
108- ifeq ($(GCCVERSIONGTEQ11), 1)
109- CCOMMON_OPT += -march=sapphirerapids
110- ifneq ($(F_COMPILER), NAG)
111- FCOMMON_OPT += -march=sapphirerapids
112- endif
113- else # gcc not support, fallback to avx512
114- CCOMMON_OPT += -march=skylake-avx512
115- ifneq ($(F_COMPILER), NAG)
116- FCOMMON_OPT += -march=skylake-avx512
117- endif
118- endif
120+ # sapphire rapids support was added in 11
121+ ifeq ($(GCCVERSIONGTEQ11), 1)
122+ CCOMMON_OPT += -march=sapphirerapids
123+ ifneq ($(F_COMPILER), NAG)
124+ FCOMMON_OPT += -march=sapphirerapids
125+ endif
126+ else # gcc not support, fallback to avx512
127+ CCOMMON_OPT += -march=skylake-avx512
128+ ifneq ($(F_COMPILER), NAG)
129+ FCOMMON_OPT += -march=skylake-avx512
130+ endif
131+ endif
132+ else ifeq ($(C_COMPILER), CLANG)
133+ # cooperlake support was added in clang 12
134+ ifeq ($(CLANGVERSIONGTEQ12), 1)
135+ CCOMMON_OPT += -march=cooperlake
136+ ifneq ($(F_COMPILER), NAG)
137+ FCOMMON_OPT += -march=cooperlake
138+ endif
139+ else # not supported in clang, fallback to avx512
140+ CCOMMON_OPT += -march=skylake-avx512
141+ ifneq ($(F_COMPILER), NAG)
142+ FCOMMON_OPT += -march=skylake-avx512
143+ endif
144+ endif
119145endif
120146ifeq ($(OSNAME), CYGWIN_NT)
121147CCOMMON_OPT += -fno-asynchronous-unwind-tables
0 commit comments