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 # Use a72 tunings because Neoverse-N1 is only available
60 ifeq ($(CORE), NEOVERSEN1)
61 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ7) $(ISCLANG)))
62 ifeq ($(GCCVERSIONGTEQ9), 1)
63 CCOMMON_OPT += -march=armv8.2-a -mtune=neoverse-n1
64 ifneq ($(F_COMPILER), NAG)
65 FCOMMON_OPT += -march=armv8.2-a -mtune=neoverse-n1
68 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
69 ifneq ($(F_COMPILER), NAG)
70 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
74 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
75 ifneq ($(F_COMPILER), NAG)
76 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
81 # Use a53 tunings because a55 is only available in GCC>=8.1
82 ifeq ($(CORE), CORTEXA55)
83 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ7) $(ISCLANG)))
84 ifeq ($(GCCVERSIONGTEQ8), 1)
85 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a55
86 ifneq ($(F_COMPILER), NAG)
87 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a55
90 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a53
91 ifneq ($(F_COMPILER), NAG)
92 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a53
96 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
97 ifneq ($(F_COMPILER), NAG)
98 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
103 ifeq ($(CORE), THUNDERX)
104 CCOMMON_OPT += -march=armv8-a -mtune=thunderx
105 ifneq ($(F_COMPILER), NAG)
106 FCOMMON_OPT += -march=armv8-a -mtune=thunderx
110 ifeq ($(CORE), FALKOR)
111 CCOMMON_OPT += -march=armv8-a -mtune=falkor
112 ifneq ($(F_COMPILER), NAG)
113 FCOMMON_OPT += -march=armv8-a -mtune=falkor
117 ifeq ($(CORE), THUNDERX2T99)
118 CCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
119 ifneq ($(F_COMPILER), NAG)
120 FCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
124 ifeq ($(CORE), THUNDERX3T110)
125 ifeq ($(GCCVERSIONGTEQ10), 1)
126 CCOMMON_OPT += -march=armv8.3-a -mtune=thunderx3t110
127 ifneq ($(F_COMPILER), NAG)
128 FCOMMON_OPT += -march=armv8.3-a -mtune=thunderx3t110
131 CCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
132 ifneq ($(F_COMPILER), NAG)
133 FCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
138 ifeq ($(CORE), VORTEX)
139 CCOMMON_OPT += -march=armv8.3-a
140 ifneq ($(F_COMPILER), NAG)
141 FCOMMON_OPT += -march=armv8.3-a
145 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ9) $(ISCLANG)))
146 ifeq ($(CORE), TSV110)
147 CCOMMON_OPT += -march=armv8.2-a -mtune=tsv110
148 ifneq ($(F_COMPILER), NAG)
149 FCOMMON_OPT += -march=armv8.2-a -mtune=tsv110
154 ifeq ($(GCCVERSIONGTEQ9), 1)
155 ifeq ($(CORE), EMAG8180)
156 CCOMMON_OPT += -march=armv8-a -mtune=emag
157 ifneq ($(F_COMPILER), NAG)
158 FCOMMON_OPT += -march=armv8-a -mtune=emag
163 ifeq (1, $(filter 1,$(GCCVERSIONGTEQ11) $(ISCLANG)))
164 ifeq ($(CORE), A64FX)
165 CCOMMON_OPT += -march=armv8.2-a+sve -mtune=a64fx
166 ifneq ($(F_COMPILER), NAG)
167 FCOMMON_OPT += -march=armv8.2-a+sve -mtune=a64fx