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