1 ifneq ($(C_COMPILER), PGI)
3 ifeq ($(C_COMPILER), CLANG)
6 ifneq (1, $(filter 1,$(GCCVERSIONGT4) $(ISCLANG)))
7 CCOMMON_OPT += -march=armv8-a
8 ifneq ($(F_COMPILER), NAG)
9 FCOMMON_OPT += -march=armv8-a
17 CCOMMON_OPT += -march=armv8-a
18 ifneq ($(F_COMPILER), NAG)
19 FCOMMON_OPT += -march=armv8-a
23 ifeq ($(CORE), ARMV8SVE)
24 CCOMMON_OPT += -march=armv8-a+sve
25 ifneq ($(F_COMPILER), NAG)
26 FCOMMON_OPT += -march=armv8-a+sve
30 ifeq ($(CORE), CORTEXA53)
31 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
32 ifneq ($(F_COMPILER), NAG)
33 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
37 ifeq ($(CORE), CORTEXA57)
38 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a57
39 ifneq ($(F_COMPILER), NAG)
40 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a57
44 ifeq ($(CORE), CORTEXA72)
45 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
46 ifneq ($(F_COMPILER), NAG)
47 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
51 ifeq ($(CORE), CORTEXA73)
52 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a73
53 ifneq ($(F_COMPILER), NAG)
54 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a73
58 ifeq ($(CORE), FT2000)
59 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
60 ifneq ($(F_COMPILER), NAG)
61 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
65 # Use a72 tunings because Neoverse-N1 is only available
67 ifeq ($(CORE), NEOVERSEN1)
68 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ7) $(ISCLANG)))
69 ifeq ($(GCCVERSIONGTEQ9), 1)
70 CCOMMON_OPT += -march=armv8.2-a -mtune=neoverse-n1
71 ifneq ($(F_COMPILER), NAG)
72 FCOMMON_OPT += -march=armv8.2-a -mtune=neoverse-n1
75 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
76 ifneq ($(F_COMPILER), NAG)
77 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
81 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
82 ifneq ($(F_COMPILER), NAG)
83 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
88 # Use a72 tunings because Neoverse-V1 is only available
90 ifeq ($(CORE), NEOVERSEV1)
91 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ7) $(ISCLANG)))
92 ifeq ($(GCCVERSIONGTEQ9), 1)
93 ifeq (1, $(filter 1,$(GCCMINORVERSIONGTEQ4) $(GCCVERSIONGTEQ10)))
94 CCOMMON_OPT += -march=armv8.4-a -mtune=neoverse-v1
95 ifneq ($(F_COMPILER), NAG)
96 FCOMMON_OPT += -march=armv8.4-a -mtune=neoverse-v1
99 CCOMMON_OPT += -march=armv8.4-a -mtune=native
100 ifneq ($(F_COMPILER), NAG)
101 FCOMMON_OPT += -march=armv8.4-a -mtune=native
105 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
106 ifneq ($(F_COMPILER), NAG)
107 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
111 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
112 ifneq ($(F_COMPILER), NAG)
113 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
118 # Use a72 tunings because Neoverse-N2 is only available
120 ifeq ($(CORE), NEOVERSEN2)
121 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ7) $(ISCLANG)))
122 ifeq ($(GCCVERSIONGTEQ9), 1)
123 ifeq (1, $(filter 1,$(GCCMINORVERSIONGTEQ4) $(GCCVERSIONGTEQ10)))
124 CCOMMON_OPT += -march=armv8.5-a -mtune=neoverse-n2
125 ifneq ($(F_COMPILER), NAG)
126 FCOMMON_OPT += -march=armv8.5-a -mtune=neoverse-n2
129 CCOMMON_OPT += -march=armv8.5-a -mtune=native
130 ifneq ($(F_COMPILER), NAG)
131 FCOMMON_OPT += -march=armv8.5-a -mtune=native
135 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
136 ifneq ($(F_COMPILER), NAG)
137 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
141 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
142 ifneq ($(F_COMPILER), NAG)
143 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
148 # Use a53 tunings because a55 is only available in GCC>=8.1
149 ifeq ($(CORE), CORTEXA55)
150 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ7) $(ISCLANG)))
151 ifeq ($(GCCVERSIONGTEQ8), 1)
152 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a55
153 ifneq ($(F_COMPILER), NAG)
154 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a55
157 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a53
158 ifneq ($(F_COMPILER), NAG)
159 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a53
163 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
164 ifneq ($(F_COMPILER), NAG)
165 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
170 ifeq ($(CORE), THUNDERX)
171 CCOMMON_OPT += -march=armv8-a -mtune=thunderx
172 ifneq ($(F_COMPILER), NAG)
173 FCOMMON_OPT += -march=armv8-a -mtune=thunderx
177 ifeq ($(CORE), FALKOR)
178 CCOMMON_OPT += -march=armv8-a -mtune=falkor
179 ifneq ($(F_COMPILER), NAG)
180 FCOMMON_OPT += -march=armv8-a -mtune=falkor
184 ifeq ($(CORE), THUNDERX2T99)
185 CCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
186 ifneq ($(F_COMPILER), NAG)
187 FCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
191 ifeq ($(CORE), THUNDERX3T110)
192 ifeq ($(GCCVERSIONGTEQ10), 1)
193 CCOMMON_OPT += -march=armv8.3-a -mtune=thunderx3t110
194 ifneq ($(F_COMPILER), NAG)
195 FCOMMON_OPT += -march=armv8.3-a -mtune=thunderx3t110
198 CCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
199 ifneq ($(F_COMPILER), NAG)
200 FCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
205 ifeq ($(CORE), VORTEX)
206 CCOMMON_OPT += -march=armv8.3-a
207 ifneq ($(F_COMPILER), NAG)
208 FCOMMON_OPT += -march=armv8.3-a
212 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ9) $(ISCLANG)))
213 ifeq ($(CORE), TSV110)
214 CCOMMON_OPT += -march=armv8.2-a -mtune=tsv110
215 ifneq ($(F_COMPILER), NAG)
216 FCOMMON_OPT += -march=armv8.2-a -mtune=tsv110
221 ifeq ($(GCCVERSIONGTEQ9), 1)
222 ifeq ($(CORE), EMAG8180)
223 CCOMMON_OPT += -march=armv8-a -mtune=emag
224 ifneq ($(F_COMPILER), NAG)
225 FCOMMON_OPT += -march=armv8-a -mtune=emag
230 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ11) $(ISCLANG)))
231 ifeq ($(CORE), A64FX)
232 CCOMMON_OPT += -march=armv8.2-a+sve -mtune=a64fx
233 ifneq ($(F_COMPILER), NAG)
234 FCOMMON_OPT += -march=armv8.2-a+sve -mtune=a64fx
239 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ11) $(ISCLANG)))
240 ifeq ($(CORE), CORTEXX1)
241 CCOMMON_OPT += -march=armv8.2-a -mtune=cortexa72
242 ifneq ($(F_COMPILER), NAG)
243 FCOMMON_OPT += -march=armv8.2-a -mtune=cortexa72
248 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ11) $(ISCLANG)))
249 ifeq ($(CORE), CORTEXX2)
250 CCOMMON_OPT += -march=armv8.4-a+sve
251 ifneq ($(F_COMPILER), NAG)
252 FCOMMON_OPT += -march=armv8.4-a+sve
257 #ifeq (1, $(filter 1,$(ISCLANG)))
258 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ11) $(ISCLANG)))
259 ifeq ($(CORE), CORTEXA510)
260 CCOMMON_OPT += -march=armv8.4-a+sve
261 ifneq ($(F_COMPILER), NAG)
262 FCOMMON_OPT += -march=armv8.4-a+sve
267 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ11) $(ISCLANG)))
268 ifeq ($(CORE), CORTEXA710)
269 CCOMMON_OPT += -march=armv8.4-a+sve
270 ifneq ($(F_COMPILER), NAG)
271 FCOMMON_OPT += -march=armv8.4-a+sve