1 ifneq ($(C_COMPILER), PGI)
3 ifeq ($(C_COMPILER), CLANG)
6 ifeq ($(C_COMPILER), FUJITSU)
9 ifneq (1, $(filter 1,$(GCCVERSIONGT4) $(ISCLANG)))
10 CCOMMON_OPT += -march=armv8-a
11 ifneq ($(F_COMPILER), NAG)
12 FCOMMON_OPT += -march=armv8-a
20 CCOMMON_OPT += -march=armv8-a
21 ifneq ($(F_COMPILER), NAG)
22 FCOMMON_OPT += -march=armv8-a
26 ifeq ($(CORE), ARMV8SVE)
27 CCOMMON_OPT += -march=armv8-a+sve
28 ifneq ($(F_COMPILER), NAG)
29 FCOMMON_OPT += -march=armv8-a+sve
33 ifeq ($(CORE), CORTEXA53)
34 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
35 ifneq ($(F_COMPILER), NAG)
36 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
40 ifeq ($(CORE), CORTEXA57)
41 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a57
42 ifneq ($(F_COMPILER), NAG)
43 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a57
47 ifeq ($(CORE), CORTEXA72)
48 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
49 ifneq ($(F_COMPILER), NAG)
50 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
54 ifeq ($(CORE), CORTEXA73)
55 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a73
56 ifneq ($(F_COMPILER), NAG)
57 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a73
61 ifeq ($(CORE), FT2000)
62 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
63 ifneq ($(F_COMPILER), NAG)
64 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
68 # Use a72 tunings because Neoverse-N1 is only available
70 ifeq ($(CORE), NEOVERSEN1)
71 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ7) $(ISCLANG)))
72 ifeq ($(GCCVERSIONGTEQ9), 1)
73 CCOMMON_OPT += -march=armv8.2-a -mtune=neoverse-n1
74 ifneq ($(F_COMPILER), NAG)
75 FCOMMON_OPT += -march=armv8.2-a -mtune=neoverse-n1
78 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
79 ifneq ($(F_COMPILER), NAG)
80 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
84 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
85 ifneq ($(F_COMPILER), NAG)
86 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
91 # Use a72 tunings because Neoverse-V1 is only available
93 ifeq ($(CORE), NEOVERSEV1)
94 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ7) $(ISCLANG)))
95 ifeq ($(GCCVERSIONGTEQ9), 1)
96 ifeq (1, $(filter 1,$(GCCMINORVERSIONGTEQ4) $(GCCVERSIONGTEQ10)))
97 CCOMMON_OPT += -march=armv8.4-a -mtune=neoverse-v1
98 ifneq ($(F_COMPILER), NAG)
99 FCOMMON_OPT += -march=armv8.4-a -mtune=neoverse-v1
102 CCOMMON_OPT += -march=armv8.4-a -mtune=native
103 ifneq ($(F_COMPILER), NAG)
104 FCOMMON_OPT += -march=armv8.4-a -mtune=native
108 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
109 ifneq ($(F_COMPILER), NAG)
110 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
114 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
115 ifneq ($(F_COMPILER), NAG)
116 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
121 # Use a72 tunings because Neoverse-N2 is only available
123 ifeq ($(CORE), NEOVERSEN2)
124 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ7) $(ISCLANG)))
125 ifeq ($(GCCVERSIONGTEQ9), 1)
126 ifeq (1, $(filter 1,$(GCCMINORVERSIONGTEQ4) $(GCCVERSIONGTEQ10)))
127 CCOMMON_OPT += -march=armv8.5-a+sve+sve2+bf16 -mtune=neoverse-n2
128 ifneq ($(F_COMPILER), NAG)
129 FCOMMON_OPT += -march=armv8.5-a+sve+sve2+bf16 -mtune=neoverse-n2
132 CCOMMON_OPT += -march=armv8.5-a -mtune=native
133 ifneq ($(F_COMPILER), NAG)
134 FCOMMON_OPT += -march=armv8.5-a -mtune=native
138 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
139 ifneq ($(F_COMPILER), NAG)
140 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
144 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
145 ifneq ($(F_COMPILER), NAG)
146 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
151 # Use a53 tunings because a55 is only available in GCC>=8.1
152 ifeq ($(CORE), CORTEXA55)
153 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ7) $(ISCLANG)))
154 ifeq ($(GCCVERSIONGTEQ8), 1)
155 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a55
156 ifneq ($(F_COMPILER), NAG)
157 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a55
160 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a53
161 ifneq ($(F_COMPILER), NAG)
162 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a53
166 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
167 ifneq ($(F_COMPILER), NAG)
168 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
173 ifeq ($(CORE), THUNDERX)
174 CCOMMON_OPT += -march=armv8-a -mtune=thunderx
175 ifneq ($(F_COMPILER), NAG)
176 FCOMMON_OPT += -march=armv8-a -mtune=thunderx
180 ifeq ($(CORE), FALKOR)
181 CCOMMON_OPT += -march=armv8-a -mtune=falkor
182 ifneq ($(F_COMPILER), NAG)
183 FCOMMON_OPT += -march=armv8-a -mtune=falkor
187 ifeq ($(CORE), THUNDERX2T99)
188 CCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
189 ifneq ($(F_COMPILER), NAG)
190 FCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
194 ifeq ($(CORE), THUNDERX3T110)
195 ifeq ($(GCCVERSIONGTEQ10), 1)
196 CCOMMON_OPT += -march=armv8.3-a -mtune=thunderx3t110
197 ifneq ($(F_COMPILER), NAG)
198 FCOMMON_OPT += -march=armv8.3-a -mtune=thunderx3t110
201 CCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
202 ifneq ($(F_COMPILER), NAG)
203 FCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
208 ifeq ($(CORE), VORTEX)
209 CCOMMON_OPT += -march=armv8.3-a
210 ifneq ($(F_COMPILER), NAG)
211 FCOMMON_OPT += -march=armv8.3-a
215 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ9) $(ISCLANG)))
216 ifeq ($(CORE), TSV110)
217 CCOMMON_OPT += -march=armv8.2-a -mtune=tsv110
218 ifneq ($(F_COMPILER), NAG)
219 FCOMMON_OPT += -march=armv8.2-a -mtune=tsv110
224 ifeq ($(GCCVERSIONGTEQ9), 1)
225 ifeq ($(CORE), EMAG8180)
226 CCOMMON_OPT += -march=armv8-a -mtune=emag
227 ifneq ($(F_COMPILER), NAG)
228 FCOMMON_OPT += -march=armv8-a -mtune=emag
233 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ11) $(ISCLANG)))
234 ifeq ($(CORE), A64FX)
235 CCOMMON_OPT += -march=armv8.2-a+sve -mtune=a64fx
236 ifneq ($(F_COMPILER), NAG)
237 FCOMMON_OPT += -march=armv8.2-a+sve -mtune=a64fx
242 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ11) $(ISCLANG)))
243 ifeq ($(CORE), CORTEXX1)
244 CCOMMON_OPT += -march=armv8.2-a -mtune=cortexa72
245 ifneq ($(F_COMPILER), NAG)
246 FCOMMON_OPT += -march=armv8.2-a -mtune=cortexa72
251 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ11) $(ISCLANG)))
252 ifeq ($(CORE), CORTEXX2)
253 CCOMMON_OPT += -march=armv8.4-a+sve
254 ifneq ($(F_COMPILER), NAG)
255 FCOMMON_OPT += -march=armv8.4-a+sve
260 #ifeq (1, $(filter 1,$(ISCLANG)))
261 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ11) $(ISCLANG)))
262 ifeq ($(CORE), CORTEXA510)
263 CCOMMON_OPT += -march=armv8.4-a+sve
264 ifneq ($(F_COMPILER), NAG)
265 FCOMMON_OPT += -march=armv8.4-a+sve
270 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ11) $(ISCLANG)))
271 ifeq ($(CORE), CORTEXA710)
272 CCOMMON_OPT += -march=armv8.4-a+sve
273 ifneq ($(F_COMPILER), NAG)
274 FCOMMON_OPT += -march=armv8.4-a+sve