Merge branch 'release-0.3.0' into develop
[platform/upstream/openblas.git] / Makefile.arm64
1 ifneq ($(C_COMPILER), PGI)
2
3 ifneq ($(GCCVERSIONGT4), 1)
4 CCOMMON_OPT += -march=armv8-a
5 ifneq ($(F_COMPILER), NAG)
6 FCOMMON_OPT += -march=armv8-a
7 endif
8
9
10 else 
11
12
13 ifeq ($(CORE), ARMV8)
14 CCOMMON_OPT += -march=armv8-a
15 ifneq ($(F_COMPILER), NAG)
16 FCOMMON_OPT += -march=armv8-a
17 endif
18 endif
19
20 ifeq ($(CORE), CORTEXA53)
21 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
22 ifneq ($(F_COMPILER), NAG)
23 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
24 endif
25 endif
26
27 ifeq ($(CORE), CORTEXA57)
28 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a57
29 ifneq ($(F_COMPILER), NAG)
30 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a57
31 endif
32 endif
33
34 ifeq ($(CORE), CORTEXA72)
35 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
36 ifneq ($(F_COMPILER), NAG)
37 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
38 endif
39 endif
40
41 ifeq ($(CORE), CORTEXA73)
42 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a73
43 ifneq ($(F_COMPILER), NAG)
44 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a73
45 endif
46 endif
47
48 # Use a72 tunings because Neoverse-N1 is only available
49 # in GCC>=9
50 ifeq ($(CORE), NEOVERSEN1)
51 ifeq ($(GCCVERSIONGTEQ7), 1)
52 ifeq ($(GCCVERSIONGTEQ9), 1)
53 CCOMMON_OPT += -march=armv8.2-a -mtune=neoverse-n1
54 ifneq ($(F_COMPILER), NAG)
55 FCOMMON_OPT += -march=armv8.2-a -mtune=neoverse-n1
56 endif
57 else
58 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
59 ifneq ($(F_COMPILER), NAG)
60 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a72
61 endif
62 endif
63 else
64 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
65 ifneq ($(F_COMPILER), NAG)
66 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a72
67 endif
68 endif
69 endif
70
71 # Use a53 tunings because a55 is only available in GCC>=8.1
72 ifeq ($(CORE), CORTEXA55)
73 ifeq ($(GCCVERSIONGTEQ7), 1)
74 ifeq ($(GCCVERSIONGTEQ8), 1)
75 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a55
76 ifneq ($(F_COMPILER), NAG)
77 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a55
78 endif
79 else
80 CCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a53
81 ifneq ($(F_COMPILER), NAG)
82 FCOMMON_OPT += -march=armv8.2-a -mtune=cortex-a53
83 endif
84 endif
85 else
86 CCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
87 ifneq ($(F_COMPILER), NAG)
88 FCOMMON_OPT += -march=armv8-a -mtune=cortex-a53
89 endif
90 endif
91 endif
92
93 ifeq ($(CORE), THUNDERX)
94 CCOMMON_OPT += -march=armv8-a -mtune=thunderx
95 ifneq ($(F_COMPILER), NAG)
96 FCOMMON_OPT += -march=armv8-a -mtune=thunderx
97 endif
98 endif
99
100 ifeq ($(CORE), FALKOR)
101 CCOMMON_OPT += -march=armv8-a -mtune=falkor
102 ifneq ($(F_COMPILER), NAG)
103 FCOMMON_OPT += -march=armv8-a -mtune=falkor
104 endif
105 endif
106
107 ifeq ($(CORE), THUNDERX2T99)
108 CCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
109 ifneq ($(F_COMPILER), NAG)
110 FCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
111 endif
112 endif
113
114 ifeq ($(CORE), THUNDERX3T110)
115 ifeq ($(GCCVERSIONGTEQ10), 1)
116 CCOMMON_OPT += -march=armv8.3-a -mtune=thunderx3t110
117 ifneq ($(F_COMPILER), NAG)
118 FCOMMON_OPT += -march=armv8.3-a -mtune=thunderx3t110
119 endif
120 else
121 CCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
122 ifneq ($(F_COMPILER), NAG)
123 FCOMMON_OPT += -march=armv8.1-a -mtune=thunderx2t99
124 endif
125 endif
126 endif
127
128 ifeq ($(CORE), VORTEX)
129 CCOMMON_OPT += -march=armv8.3-a
130 ifneq ($(F_COMPILER), NAG)
131 FCOMMON_OPT += -march=armv8.3-a
132 endif
133 endif
134
135 ifeq ($(GCCVERSIONGTEQ9), 1)
136 ifeq ($(CORE), TSV110)
137 CCOMMON_OPT += -march=armv8.2-a -mtune=tsv110
138 ifneq ($(F_COMPILER), NAG)
139 FCOMMON_OPT += -march=armv8.2-a -mtune=tsv110
140 endif
141 endif
142 endif
143
144 ifeq ($(GCCVERSIONGTEQ9), 1)
145 ifeq ($(CORE), EMAG8180)
146 CCOMMON_OPT += -march=armv8-a -mtune=emag
147 ifneq ($(F_COMPILER), NAG)
148 FCOMMON_OPT += -march=armv8-a -mtune=emag
149 endif
150 endif
151 endif
152
153 endif
154
155 endif