arm-cpus.in revision 1.1.1.2 1 1.1 mrg # CPU, FPU and architecture specifications for ARM.
2 1.1 mrg #
3 1.1.1.2 mrg # Copyright (C) 2011-2018 Free Software Foundation, Inc.
4 1.1 mrg #
5 1.1 mrg # This file is part of GCC.
6 1.1 mrg #
7 1.1 mrg # GCC is free software; you can redistribute it and/or modify it under
8 1.1 mrg # the terms of the GNU General Public License as published by the Free
9 1.1 mrg # Software Foundation; either version 3, or (at your option) any later
10 1.1 mrg # version.
11 1.1 mrg #
12 1.1 mrg # GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 1.1 mrg # WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 1.1 mrg # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 1.1 mrg # for more details.
16 1.1 mrg #
17 1.1 mrg # You should have received a copy of the GNU General Public License
18 1.1 mrg # along with GCC; see the file COPYING3. If not see
19 1.1 mrg # <http://www.gnu.org/licenses/>.
20 1.1 mrg
21 1.1 mrg # This file describes all the various CPUs, FPUs and architectures supported
22 1.1 mrg # by the compiler. It is pre-processed by parsecpu.awk for a number of
23 1.1 mrg # purposes.
24 1.1 mrg #
25 1.1 mrg # The general form is a sequence of begin..end blocks with the following
26 1.1 mrg # syntax:
27 1.1 mrg # begin <object-type> <name>
28 1.1 mrg # attribute-statement*
29 1.1 mrg # end <object-type> <name>
30 1.1 mrg #
31 1.1 mrg # where object type is one of "cpu" "arch" "fpu". Each object type has
32 1.1 mrg # a specific set of permitted attributes, some of which are optional; further
33 1.1 mrg # details can be found below.
34 1.1 mrg #
35 1.1 mrg # Some objects cross-reference other objects by name. Objects are permitted
36 1.1 mrg # in any order and it is not necessary to place a cross-referenced object
37 1.1 mrg # earlier in the file.
38 1.1 mrg #
39 1.1 mrg # The object names for cpu, arch and fpu objects are used for the public option
40 1.1 mrg # names in the final compiler. The order within each group is preserved and
41 1.1 mrg # forms the order for the list within the compiler.
42 1.1 mrg
43 1.1.1.2 mrg # Most objects in this file support forward references. The major
44 1.1.1.2 mrg # exception is feature groups, which may only refer to previously
45 1.1.1.2 mrg # defined features or feature groups. This is done to avoid the risk
46 1.1.1.2 mrg # of feature groups recursively referencing each other and causing
47 1.1.1.2 mrg # the parser to hang.
48 1.1.1.2 mrg
49 1.1.1.2 mrg # Features - general convention: all lower case.
50 1.1.1.2 mrg
51 1.1.1.2 mrg # Extended multiply
52 1.1.1.2 mrg define feature armv3m
53 1.1.1.2 mrg
54 1.1.1.2 mrg # 26-bit mode support
55 1.1.1.2 mrg define feature mode26
56 1.1.1.2 mrg
57 1.1.1.2 mrg # 32-bit mode support
58 1.1.1.2 mrg define feature mode32
59 1.1.1.2 mrg
60 1.1.1.2 mrg # Architecture rel 4
61 1.1.1.2 mrg define feature armv4
62 1.1.1.2 mrg
63 1.1.1.2 mrg # Architecture rel 5
64 1.1.1.2 mrg define feature armv5
65 1.1.1.2 mrg
66 1.1.1.2 mrg # Thumb aware.
67 1.1.1.2 mrg define feature thumb
68 1.1.1.2 mrg
69 1.1.1.2 mrg # Architecture rel 5e.
70 1.1.1.2 mrg define feature armv5e
71 1.1.1.2 mrg
72 1.1.1.2 mrg # XScale.
73 1.1.1.2 mrg define feature xscale
74 1.1.1.2 mrg
75 1.1.1.2 mrg # Architecture rel 6.
76 1.1.1.2 mrg define feature armv6
77 1.1.1.2 mrg
78 1.1.1.2 mrg # Architecture rel 6k.
79 1.1.1.2 mrg define feature armv6k
80 1.1.1.2 mrg
81 1.1.1.2 mrg # Thumb-2.
82 1.1.1.2 mrg define feature thumb2
83 1.1.1.2 mrg
84 1.1.1.2 mrg # Instructions not present in 'M' profile.
85 1.1.1.2 mrg define feature notm
86 1.1.1.2 mrg
87 1.1.1.2 mrg # Architecture uses be8 mode in big-endian.
88 1.1.1.2 mrg define feature be8
89 1.1.1.2 mrg
90 1.1.1.2 mrg # Thumb division instructions.
91 1.1.1.2 mrg define feature tdiv
92 1.1.1.2 mrg
93 1.1.1.2 mrg # Architecture rel 7e-m.
94 1.1.1.2 mrg define feature armv7em
95 1.1.1.2 mrg
96 1.1.1.2 mrg # Architecture rel 7.
97 1.1.1.2 mrg define feature armv7
98 1.1.1.2 mrg
99 1.1.1.2 mrg # MP extension to ArmV7-A
100 1.1.1.2 mrg define feature mp
101 1.1.1.2 mrg
102 1.1.1.2 mrg # SEC extension to ArmV7-A
103 1.1.1.2 mrg define feature sec
104 1.1.1.2 mrg
105 1.1.1.2 mrg # ARM division instructions.
106 1.1.1.2 mrg define feature adiv
107 1.1.1.2 mrg
108 1.1.1.2 mrg # Architecture rel 8.
109 1.1.1.2 mrg define feature armv8
110 1.1.1.2 mrg
111 1.1.1.2 mrg # ARMv8 CRC32 instructions.
112 1.1.1.2 mrg define feature crc32
113 1.1.1.2 mrg
114 1.1.1.2 mrg # XScale v2 (Wireless MMX).
115 1.1.1.2 mrg define feature iwmmxt
116 1.1.1.2 mrg
117 1.1.1.2 mrg # XScale Wireless MMX2.
118 1.1.1.2 mrg define feature iwmmxt2
119 1.1.1.2 mrg
120 1.1.1.2 mrg # Architecture rel 8.1.
121 1.1.1.2 mrg define feature armv8_1
122 1.1.1.2 mrg
123 1.1.1.2 mrg # Architecture rel 8.2.
124 1.1.1.2 mrg define feature armv8_2
125 1.1.1.2 mrg
126 1.1.1.2 mrg # Architecture rel 8.3.
127 1.1.1.2 mrg define feature armv8_3
128 1.1.1.2 mrg
129 1.1.1.2 mrg # Architecture rel 8.4.
130 1.1.1.2 mrg define feature armv8_4
131 1.1.1.2 mrg
132 1.1.1.2 mrg # M-Profile security extensions.
133 1.1.1.2 mrg define feature cmse
134 1.1.1.2 mrg
135 1.1.1.2 mrg # Floating point and Neon extensions.
136 1.1.1.2 mrg # VFPv1 is not supported in GCC.
137 1.1.1.2 mrg
138 1.1.1.2 mrg # Vector floating point v2.
139 1.1.1.2 mrg define feature vfpv2
140 1.1.1.2 mrg
141 1.1.1.2 mrg # Vector floating point v3.
142 1.1.1.2 mrg define feature vfpv3
143 1.1.1.2 mrg
144 1.1.1.2 mrg # Vector floating point v4.
145 1.1.1.2 mrg define feature vfpv4
146 1.1.1.2 mrg
147 1.1.1.2 mrg # Floating point v5.
148 1.1.1.2 mrg define feature fpv5
149 1.1.1.2 mrg
150 1.1.1.2 mrg # ARMv7-A LPAE.
151 1.1.1.2 mrg define feature lpae
152 1.1.1.2 mrg
153 1.1.1.2 mrg # Advanced SIMD instructions.
154 1.1.1.2 mrg define feature neon
155 1.1.1.2 mrg
156 1.1.1.2 mrg # Conversions to/from fp16 (VFPv3 extension).
157 1.1.1.2 mrg define feature fp16conv
158 1.1.1.2 mrg
159 1.1.1.2 mrg # Double precision operations supported.
160 1.1.1.2 mrg define feature fp_dbl
161 1.1.1.2 mrg
162 1.1.1.2 mrg # 32 Double precision registers.
163 1.1.1.2 mrg define feature fp_d32
164 1.1.1.2 mrg
165 1.1.1.2 mrg # Crypto extension to ARMv8.
166 1.1.1.2 mrg define feature crypto
167 1.1.1.2 mrg
168 1.1.1.2 mrg # FP16 data processing (half-precision float).
169 1.1.1.2 mrg define feature fp16
170 1.1.1.2 mrg
171 1.1.1.2 mrg # Dot Product instructions extension to ARMv8.2-a.
172 1.1.1.2 mrg define feature dotprod
173 1.1.1.2 mrg
174 1.1.1.2 mrg # Half-precision floating-point instructions in ARMv8.4-A.
175 1.1.1.2 mrg define feature fp16fml
176 1.1.1.2 mrg
177 1.1.1.2 mrg # ISA Quirks (errata?). Don't forget to add this to the fgroup
178 1.1.1.2 mrg # ALL_QUIRKS below.
179 1.1.1.2 mrg
180 1.1.1.2 mrg # No volatile memory in IT blocks.
181 1.1.1.2 mrg define feature quirk_no_volatile_ce
182 1.1.1.2 mrg
183 1.1.1.2 mrg # Previously mis-identified by GCC.
184 1.1.1.2 mrg define feature quirk_armv6kz
185 1.1.1.2 mrg
186 1.1.1.2 mrg # Cortex-M3 LDRD quirk.
187 1.1.1.2 mrg define feature quirk_cm3_ldrd
188 1.1.1.2 mrg
189 1.1.1.2 mrg # (Very) slow multiply operations. Should probably be a tuning bit.
190 1.1.1.2 mrg define feature smallmul
191 1.1.1.2 mrg
192 1.1.1.2 mrg # Feature groups. Conventionally all (or mostly) upper case.
193 1.1.1.2 mrg # ALL_FPU lists all the feature bits associated with the floating-point
194 1.1.1.2 mrg # unit; these will all be removed if the floating-point unit is disabled
195 1.1.1.2 mrg # (eg -mfloat-abi=soft). ALL_FPU_INTERNAL must ONLY contain features that
196 1.1.1.2 mrg # form part of a named -mfpu option; it is used to map the capabilities
197 1.1.1.2 mrg # back to a named FPU for the benefit of the assembler.
198 1.1.1.2 mrg #
199 1.1.1.2 mrg # ALL_SIMD_INTERNAL and ALL_SIMD are similarly defined to help with the
200 1.1.1.2 mrg # construction of ALL_FPU and ALL_FPU_INTERNAL; they describe the SIMD
201 1.1.1.2 mrg # extensions that are either part of a named FPU or optional extensions
202 1.1.1.2 mrg # respectively.
203 1.1.1.2 mrg
204 1.1.1.2 mrg
205 1.1.1.2 mrg # List of all cryptographic extensions to stripout if crypto is
206 1.1.1.2 mrg # disabled. Currently, that's trivial, but we define it anyway for
207 1.1.1.2 mrg # consistency with the SIMD and FP disable lists.
208 1.1.1.2 mrg define fgroup ALL_CRYPTO crypto
209 1.1.1.2 mrg
210 1.1.1.2 mrg # List of all SIMD bits to strip out if SIMD is disabled. This does
211 1.1.1.2 mrg # strip off 32 D-registers, but does not remove support for
212 1.1.1.2 mrg # double-precision FP.
213 1.1.1.2 mrg define fgroup ALL_SIMD_INTERNAL fp_d32 neon ALL_CRYPTO
214 1.1.1.2 mrg define fgroup ALL_SIMD ALL_SIMD_INTERNAL dotprod fp16fml
215 1.1.1.2 mrg
216 1.1.1.2 mrg # List of all FPU bits to strip out if -mfpu is used to override the
217 1.1.1.2 mrg # default. fp16 is deliberately missing from this list.
218 1.1.1.2 mrg define fgroup ALL_FPU_INTERNAL vfpv2 vfpv3 vfpv4 fpv5 fp16conv fp_dbl ALL_SIMD_INTERNAL
219 1.1.1.2 mrg
220 1.1.1.2 mrg # Similarly, but including fp16 and other extensions that aren't part of
221 1.1.1.2 mrg # -mfpu support.
222 1.1.1.2 mrg define fgroup ALL_FP fp16 ALL_FPU_INTERNAL
223 1.1.1.2 mrg
224 1.1.1.2 mrg define fgroup ARMv2 notm
225 1.1.1.2 mrg define fgroup ARMv3 ARMv2 mode32
226 1.1.1.2 mrg define fgroup ARMv3m ARMv3 armv3m
227 1.1.1.2 mrg define fgroup ARMv4 ARMv3m armv4
228 1.1.1.2 mrg define fgroup ARMv4t ARMv4 thumb
229 1.1.1.2 mrg define fgroup ARMv5 ARMv4 armv5
230 1.1.1.2 mrg define fgroup ARMv5t ARMv5 thumb
231 1.1.1.2 mrg define fgroup ARMv5e ARMv5 armv5e
232 1.1.1.2 mrg define fgroup ARMv5te ARMv5e thumb
233 1.1.1.2 mrg define fgroup ARMv5tej ARMv5te
234 1.1.1.2 mrg define fgroup ARMv6 ARMv5te armv6 be8
235 1.1.1.2 mrg define fgroup ARMv6j ARMv6
236 1.1.1.2 mrg define fgroup ARMv6k ARMv6 armv6k
237 1.1.1.2 mrg define fgroup ARMv6z ARMv6
238 1.1.1.2 mrg define fgroup ARMv6kz ARMv6k quirk_armv6kz
239 1.1.1.2 mrg define fgroup ARMv6zk ARMv6k
240 1.1.1.2 mrg define fgroup ARMv6t2 ARMv6 thumb2
241 1.1.1.2 mrg # This is suspect. ARMv6-m doesn't really pull in any useful features
242 1.1.1.2 mrg # from ARMv5* or ARMv6.
243 1.1.1.2 mrg define fgroup ARMv6m mode32 armv3m armv4 thumb armv5 armv5e armv6 be8
244 1.1.1.2 mrg # This is suspect, the 'common' ARMv7 subset excludes the thumb2 'DSP' and
245 1.1.1.2 mrg # integer SIMD instructions that are in ARMv6T2. */
246 1.1.1.2 mrg define fgroup ARMv7 ARMv6m thumb2 armv7
247 1.1.1.2 mrg
248 1.1.1.2 mrg define fgroup ARMv7a ARMv7 notm armv6k
249 1.1.1.2 mrg define fgroup ARMv7ve ARMv7a adiv tdiv lpae mp sec
250 1.1.1.2 mrg define fgroup ARMv7r ARMv7a tdiv
251 1.1.1.2 mrg define fgroup ARMv7m ARMv7 tdiv
252 1.1.1.2 mrg define fgroup ARMv7em ARMv7m armv7em
253 1.1.1.2 mrg define fgroup ARMv8a ARMv7ve armv8
254 1.1.1.2 mrg define fgroup ARMv8_1a ARMv8a crc32 armv8_1
255 1.1.1.2 mrg define fgroup ARMv8_2a ARMv8_1a armv8_2
256 1.1.1.2 mrg define fgroup ARMv8_3a ARMv8_2a armv8_3
257 1.1.1.2 mrg define fgroup ARMv8_4a ARMv8_3a armv8_4
258 1.1.1.2 mrg define fgroup ARMv8m_base ARMv6m armv8 cmse tdiv
259 1.1.1.2 mrg define fgroup ARMv8m_main ARMv7m armv8 cmse
260 1.1.1.2 mrg define fgroup ARMv8r ARMv8a
261 1.1.1.2 mrg
262 1.1.1.2 mrg # Useful combinations.
263 1.1.1.2 mrg define fgroup VFPv2 vfpv2
264 1.1.1.2 mrg define fgroup VFPv3 VFPv2 vfpv3
265 1.1.1.2 mrg define fgroup VFPv4 VFPv3 vfpv4 fp16conv
266 1.1.1.2 mrg define fgroup FPv5 VFPv4 fpv5
267 1.1.1.2 mrg
268 1.1.1.2 mrg define fgroup FP_DBL fp_dbl
269 1.1.1.2 mrg define fgroup FP_D32 FP_DBL fp_d32
270 1.1.1.2 mrg define fgroup FP_ARMv8 FPv5 FP_D32
271 1.1.1.2 mrg define fgroup NEON FP_D32 neon
272 1.1.1.2 mrg define fgroup CRYPTO NEON crypto
273 1.1.1.2 mrg define fgroup DOTPROD NEON dotprod
274 1.1.1.2 mrg
275 1.1.1.2 mrg # List of all quirk bits to strip out when comparing CPU features with
276 1.1.1.2 mrg # architectures.
277 1.1.1.2 mrg # xscale isn't really a 'quirk', but it isn't an architecture either and we
278 1.1.1.2 mrg # need to ignore it for matching purposes.
279 1.1.1.2 mrg define fgroup ALL_QUIRKS quirk_no_volatile_ce quirk_armv6kz quirk_cm3_ldrd xscale
280 1.1.1.2 mrg
281 1.1 mrg # Architecture entries
282 1.1 mrg # format:
283 1.1 mrg # begin arch <name>
284 1.1 mrg # tune for <cpu>
285 1.1 mrg # [tune flags <list>]
286 1.1 mrg # base <name>
287 1.1.1.2 mrg # [profile <A|R|M>]
288 1.1 mrg # isa <isa-flags-list>
289 1.1 mrg # end arch <name>
290 1.1 mrg #
291 1.1 mrg
292 1.1 mrg begin arch armv2
293 1.1 mrg tune for arm2
294 1.1 mrg tune flags CO_PROC NO_MODE32
295 1.1 mrg base 2
296 1.1.1.2 mrg isa ARMv2 mode26
297 1.1 mrg end arch armv2
298 1.1 mrg
299 1.1 mrg begin arch armv2a
300 1.1 mrg tune for arm2
301 1.1 mrg tune flags CO_PROC NO_MODE32
302 1.1 mrg base 2
303 1.1.1.2 mrg isa ARMv2 mode26
304 1.1 mrg end arch armv2a
305 1.1 mrg
306 1.1 mrg begin arch armv3
307 1.1 mrg tune for arm6
308 1.1 mrg tune flags CO_PROC
309 1.1 mrg base 3
310 1.1.1.2 mrg isa ARMv3 mode26
311 1.1 mrg end arch armv3
312 1.1 mrg
313 1.1 mrg begin arch armv3m
314 1.1 mrg tune for arm7m
315 1.1 mrg tune flags CO_PROC
316 1.1 mrg base 3M
317 1.1.1.2 mrg isa ARMv3m mode26
318 1.1 mrg end arch armv3m
319 1.1 mrg
320 1.1 mrg begin arch armv4
321 1.1 mrg tune for arm7tdmi
322 1.1 mrg tune flags CO_PROC
323 1.1 mrg base 4
324 1.1.1.2 mrg isa ARMv4 mode26
325 1.1 mrg end arch armv4
326 1.1 mrg
327 1.1.1.2 mrg # Strictly, mode26 is a permitted option for v4t, but there are no
328 1.1 mrg # implementations that support it, so we will leave it out for now.
329 1.1 mrg begin arch armv4t
330 1.1 mrg tune for arm7tdmi
331 1.1 mrg tune flags CO_PROC
332 1.1 mrg base 4T
333 1.1 mrg isa ARMv4t
334 1.1 mrg end arch armv4t
335 1.1 mrg
336 1.1 mrg begin arch armv5
337 1.1 mrg tune for arm10tdmi
338 1.1 mrg tune flags CO_PROC
339 1.1 mrg base 5
340 1.1 mrg isa ARMv5
341 1.1 mrg end arch armv5
342 1.1 mrg
343 1.1 mrg begin arch armv5t
344 1.1 mrg tune for arm10tdmi
345 1.1 mrg tune flags CO_PROC
346 1.1 mrg base 5T
347 1.1 mrg isa ARMv5t
348 1.1 mrg end arch armv5t
349 1.1 mrg
350 1.1 mrg begin arch armv5e
351 1.1 mrg tune for arm1026ej-s
352 1.1 mrg tune flags CO_PROC
353 1.1 mrg base 5E
354 1.1 mrg isa ARMv5e
355 1.1.1.2 mrg option fp add VFPv2 FP_DBL
356 1.1.1.2 mrg optalias vfpv2 fp
357 1.1.1.2 mrg option nofp remove ALL_FP
358 1.1 mrg end arch armv5e
359 1.1 mrg
360 1.1 mrg begin arch armv5te
361 1.1 mrg tune for arm1026ej-s
362 1.1 mrg tune flags CO_PROC
363 1.1 mrg base 5TE
364 1.1 mrg isa ARMv5te
365 1.1.1.2 mrg option fp add VFPv2 FP_DBL
366 1.1.1.2 mrg optalias vfpv2 fp
367 1.1.1.2 mrg option nofp remove ALL_FP
368 1.1 mrg end arch armv5te
369 1.1 mrg
370 1.1 mrg begin arch armv5tej
371 1.1 mrg tune for arm1026ej-s
372 1.1 mrg tune flags CO_PROC
373 1.1 mrg base 5TEJ
374 1.1 mrg isa ARMv5tej
375 1.1.1.2 mrg option fp add VFPv2 FP_DBL
376 1.1.1.2 mrg optalias vfpv2 fp
377 1.1.1.2 mrg option nofp remove ALL_FP
378 1.1 mrg end arch armv5tej
379 1.1 mrg
380 1.1 mrg begin arch armv6
381 1.1 mrg tune for arm1136j-s
382 1.1 mrg tune flags CO_PROC
383 1.1 mrg base 6
384 1.1 mrg isa ARMv6
385 1.1.1.2 mrg option fp add VFPv2 FP_DBL
386 1.1.1.2 mrg optalias vfpv2 fp
387 1.1.1.2 mrg option nofp remove ALL_FP
388 1.1 mrg end arch armv6
389 1.1 mrg
390 1.1 mrg begin arch armv6j
391 1.1 mrg tune for arm1136j-s
392 1.1 mrg tune flags CO_PROC
393 1.1 mrg base 6J
394 1.1 mrg isa ARMv6j
395 1.1.1.2 mrg option fp add VFPv2 FP_DBL
396 1.1.1.2 mrg optalias vfpv2 fp
397 1.1.1.2 mrg option nofp remove ALL_FP
398 1.1 mrg end arch armv6j
399 1.1 mrg
400 1.1 mrg begin arch armv6k
401 1.1 mrg tune for mpcore
402 1.1 mrg tune flags CO_PROC
403 1.1 mrg base 6K
404 1.1 mrg isa ARMv6k
405 1.1.1.2 mrg option fp add VFPv2 FP_DBL
406 1.1.1.2 mrg optalias vfpv2 fp
407 1.1.1.2 mrg option nofp remove ALL_FP
408 1.1 mrg end arch armv6k
409 1.1 mrg
410 1.1 mrg begin arch armv6z
411 1.1 mrg tune for arm1176jz-s
412 1.1 mrg tune flags CO_PROC
413 1.1 mrg base 6Z
414 1.1 mrg isa ARMv6z
415 1.1.1.2 mrg option fp add VFPv2 FP_DBL
416 1.1.1.2 mrg optalias vfpv2 fp
417 1.1.1.2 mrg option nofp remove ALL_FP
418 1.1 mrg end arch armv6z
419 1.1 mrg
420 1.1 mrg begin arch armv6kz
421 1.1 mrg tune for arm1176jz-s
422 1.1 mrg tune flags CO_PROC
423 1.1 mrg base 6KZ
424 1.1 mrg isa ARMv6kz
425 1.1.1.2 mrg option fp add VFPv2 FP_DBL
426 1.1.1.2 mrg optalias vfpv2 fp
427 1.1.1.2 mrg option nofp remove ALL_FP
428 1.1 mrg end arch armv6kz
429 1.1 mrg
430 1.1 mrg begin arch armv6zk
431 1.1 mrg tune for arm1176jz-s
432 1.1 mrg tune flags CO_PROC
433 1.1 mrg base 6KZ
434 1.1 mrg isa ARMv6kz
435 1.1.1.2 mrg option fp add VFPv2 FP_DBL
436 1.1.1.2 mrg optalias vfpv2 fp
437 1.1.1.2 mrg option nofp remove ALL_FP
438 1.1 mrg end arch armv6zk
439 1.1 mrg
440 1.1 mrg begin arch armv6t2
441 1.1 mrg tune for arm1156t2-s
442 1.1 mrg tune flags CO_PROC
443 1.1 mrg base 6T2
444 1.1 mrg isa ARMv6t2
445 1.1.1.2 mrg option fp add VFPv2 FP_DBL
446 1.1.1.2 mrg optalias vfpv2 fp
447 1.1.1.2 mrg option nofp remove ALL_FP
448 1.1 mrg end arch armv6t2
449 1.1 mrg
450 1.1 mrg begin arch armv6-m
451 1.1 mrg tune for cortex-m1
452 1.1 mrg base 6M
453 1.1.1.2 mrg profile M
454 1.1 mrg isa ARMv6m
455 1.1 mrg end arch armv6-m
456 1.1 mrg
457 1.1.1.2 mrg # This is now equivalent to armv6-m, but we keep it because some
458 1.1.1.2 mrg # versions of GAS still distinguish between the two.
459 1.1 mrg begin arch armv6s-m
460 1.1 mrg tune for cortex-m1
461 1.1 mrg base 6M
462 1.1.1.2 mrg profile M
463 1.1 mrg isa ARMv6m
464 1.1 mrg end arch armv6s-m
465 1.1 mrg
466 1.1 mrg begin arch armv7
467 1.1 mrg tune for cortex-a8
468 1.1 mrg tune flags CO_PROC
469 1.1 mrg base 7
470 1.1 mrg isa ARMv7
471 1.1.1.2 mrg # fp => VFPv3-d16 (only useful for the A+R profile subset).
472 1.1.1.2 mrg option fp add VFPv3 FP_DBL
473 1.1.1.2 mrg optalias vfpv3-d16 fp
474 1.1.1.2 mrg option nofp remove ALL_FP
475 1.1 mrg end arch armv7
476 1.1 mrg
477 1.1 mrg begin arch armv7-a
478 1.1 mrg tune for cortex-a8
479 1.1 mrg tune flags CO_PROC
480 1.1 mrg base 7A
481 1.1.1.2 mrg profile A
482 1.1 mrg isa ARMv7a
483 1.1.1.2 mrg option mp add mp
484 1.1.1.2 mrg option sec add sec
485 1.1.1.2 mrg # fp => VFPv3-d16, simd => neon-vfpv3
486 1.1.1.2 mrg option fp add VFPv3 FP_DBL
487 1.1.1.2 mrg optalias vfpv3-d16 fp
488 1.1.1.2 mrg option vfpv3 add VFPv3 FP_D32
489 1.1.1.2 mrg option vfpv3-d16-fp16 add VFPv3 FP_DBL fp16conv
490 1.1.1.2 mrg option vfpv3-fp16 add VFPv3 FP_DBL FP_D32 fp16conv
491 1.1.1.2 mrg option vfpv4-d16 add VFPv4 FP_DBL
492 1.1.1.2 mrg option vfpv4 add VFPv4 FP_D32
493 1.1.1.2 mrg option simd add VFPv3 NEON
494 1.1.1.2 mrg optalias neon simd
495 1.1.1.2 mrg optalias neon-vfpv3 simd
496 1.1.1.2 mrg option neon-fp16 add VFPv3 NEON fp16conv
497 1.1.1.2 mrg option neon-vfpv4 add VFPv4 NEON
498 1.1.1.2 mrg option nosimd remove ALL_SIMD
499 1.1.1.2 mrg option nofp remove ALL_FP
500 1.1 mrg end arch armv7-a
501 1.1 mrg
502 1.1 mrg begin arch armv7ve
503 1.1 mrg tune for cortex-a8
504 1.1 mrg tune flags CO_PROC
505 1.1 mrg base 7A
506 1.1.1.2 mrg profile A
507 1.1 mrg isa ARMv7ve
508 1.1.1.2 mrg # fp => VFPv4-d16, simd => neon-vfpv4
509 1.1.1.2 mrg option vfpv3-d16 add VFPv3 FP_DBL
510 1.1.1.2 mrg option vfpv3 add VFPv3 FP_D32
511 1.1.1.2 mrg option vfpv3-d16-fp16 add VFPv3 FP_DBL fp16conv
512 1.1.1.2 mrg option vfpv3-fp16 add VFPv3 FP_DBL FP_D32 fp16conv
513 1.1.1.2 mrg option fp add VFPv4 FP_DBL
514 1.1.1.2 mrg optalias vfpv4-d16 fp
515 1.1.1.2 mrg option vfpv4 add VFPv4 FP_D32
516 1.1.1.2 mrg option neon add VFPv3 NEON
517 1.1.1.2 mrg optalias neon-vfpv3 neon
518 1.1.1.2 mrg option neon-fp16 add VFPv3 NEON fp16conv
519 1.1.1.2 mrg option simd add VFPv4 NEON
520 1.1.1.2 mrg optalias neon-vfpv4 simd
521 1.1.1.2 mrg option nosimd remove ALL_SIMD
522 1.1.1.2 mrg option nofp remove ALL_FP
523 1.1 mrg end arch armv7ve
524 1.1 mrg
525 1.1 mrg begin arch armv7-r
526 1.1 mrg tune for cortex-r4
527 1.1 mrg tune flags CO_PROC
528 1.1 mrg base 7R
529 1.1.1.2 mrg profile R
530 1.1 mrg isa ARMv7r
531 1.1.1.2 mrg # ARMv7-r uses VFPv3-d16
532 1.1.1.2 mrg option fp.sp add VFPv3
533 1.1.1.2 mrg optalias vfpv3xd fp.sp
534 1.1.1.2 mrg option fp add VFPv3 FP_DBL
535 1.1.1.2 mrg optalias vfpv3-d16 fp
536 1.1.1.2 mrg option vfpv3xd-fp16 add VFPv3 fp16conv
537 1.1.1.2 mrg option vfpv3-d16-fp16 add VFPv3 FP_DBL fp16conv
538 1.1.1.2 mrg option idiv add adiv
539 1.1.1.2 mrg option nofp remove ALL_FP
540 1.1.1.2 mrg option noidiv remove adiv
541 1.1 mrg end arch armv7-r
542 1.1 mrg
543 1.1 mrg begin arch armv7-m
544 1.1 mrg tune for cortex-m3
545 1.1 mrg tune flags CO_PROC
546 1.1 mrg base 7M
547 1.1.1.2 mrg profile M
548 1.1 mrg isa ARMv7m
549 1.1.1.2 mrg # In theory FP is permitted in v7-m, but in practice no implementations exist.
550 1.1.1.2 mrg # leave it out for now.
551 1.1 mrg end arch armv7-m
552 1.1 mrg
553 1.1 mrg begin arch armv7e-m
554 1.1 mrg tune for cortex-m4
555 1.1 mrg tune flags CO_PROC
556 1.1 mrg base 7EM
557 1.1.1.2 mrg profile M
558 1.1 mrg isa ARMv7em
559 1.1.1.2 mrg # fp => VFPv4-sp-d16; fpv5 => FPv5-sp-d16; fp.dp => FPv5-d16
560 1.1.1.2 mrg option fp add VFPv4
561 1.1.1.2 mrg optalias vfpv4-sp-d16 fp
562 1.1.1.2 mrg option fpv5 add FPv5
563 1.1.1.2 mrg option fp.dp add FPv5 FP_DBL
564 1.1.1.2 mrg optalias fpv5-d16 fp.dp
565 1.1.1.2 mrg option nofp remove ALL_FP
566 1.1 mrg end arch armv7e-m
567 1.1 mrg
568 1.1 mrg begin arch armv8-a
569 1.1 mrg tune for cortex-a53
570 1.1 mrg tune flags CO_PROC
571 1.1 mrg base 8A
572 1.1.1.2 mrg profile A
573 1.1 mrg isa ARMv8a
574 1.1.1.2 mrg option crc add crc32
575 1.1.1.2 mrg option simd add FP_ARMv8 NEON
576 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
577 1.1.1.2 mrg option nocrypto remove ALL_CRYPTO
578 1.1.1.2 mrg option nofp remove ALL_FP
579 1.1 mrg end arch armv8-a
580 1.1 mrg
581 1.1 mrg begin arch armv8.1-a
582 1.1 mrg tune for cortex-a53
583 1.1 mrg tune flags CO_PROC
584 1.1 mrg base 8A
585 1.1.1.2 mrg profile A
586 1.1 mrg isa ARMv8_1a
587 1.1.1.2 mrg option simd add FP_ARMv8 NEON
588 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
589 1.1.1.2 mrg option nocrypto remove ALL_CRYPTO
590 1.1.1.2 mrg option nofp remove ALL_FP
591 1.1 mrg end arch armv8.1-a
592 1.1 mrg
593 1.1 mrg begin arch armv8.2-a
594 1.1 mrg tune for cortex-a53
595 1.1 mrg tune flags CO_PROC
596 1.1 mrg base 8A
597 1.1.1.2 mrg profile A
598 1.1 mrg isa ARMv8_2a
599 1.1.1.2 mrg option simd add FP_ARMv8 NEON
600 1.1.1.2 mrg option fp16 add fp16 FP_ARMv8 NEON
601 1.1.1.2 mrg option fp16fml add fp16fml fp16 FP_ARMv8 NEON
602 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
603 1.1.1.2 mrg option nocrypto remove ALL_CRYPTO
604 1.1.1.2 mrg option nofp remove ALL_FP
605 1.1.1.2 mrg option dotprod add FP_ARMv8 DOTPROD
606 1.1 mrg end arch armv8.2-a
607 1.1 mrg
608 1.1.1.2 mrg begin arch armv8.3-a
609 1.1.1.2 mrg tune for cortex-a53
610 1.1.1.2 mrg tune flags CO_PROC
611 1.1.1.2 mrg base 8A
612 1.1.1.2 mrg profile A
613 1.1.1.2 mrg isa ARMv8_3a
614 1.1.1.2 mrg option simd add FP_ARMv8 NEON
615 1.1.1.2 mrg option fp16 add fp16 FP_ARMv8 NEON
616 1.1.1.2 mrg option fp16fml add fp16fml fp16 FP_ARMv8 NEON
617 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
618 1.1.1.2 mrg option nocrypto remove ALL_CRYPTO
619 1.1.1.2 mrg option nofp remove ALL_FP
620 1.1.1.2 mrg option dotprod add FP_ARMv8 DOTPROD
621 1.1.1.2 mrg end arch armv8.3-a
622 1.1.1.2 mrg
623 1.1.1.2 mrg begin arch armv8.4-a
624 1.1 mrg tune for cortex-a53
625 1.1 mrg tune flags CO_PROC
626 1.1 mrg base 8A
627 1.1.1.2 mrg profile A
628 1.1.1.2 mrg isa ARMv8_4a
629 1.1.1.2 mrg option simd add FP_ARMv8 DOTPROD
630 1.1.1.2 mrg option fp16 add fp16 fp16fml FP_ARMv8 DOTPROD
631 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO DOTPROD
632 1.1.1.2 mrg option nocrypto remove ALL_CRYPTO
633 1.1.1.2 mrg option nofp remove ALL_FP
634 1.1.1.2 mrg end arch armv8.4-a
635 1.1 mrg
636 1.1 mrg begin arch armv8-m.base
637 1.1 mrg tune for cortex-m23
638 1.1 mrg base 8M_BASE
639 1.1.1.2 mrg profile M
640 1.1 mrg isa ARMv8m_base
641 1.1 mrg end arch armv8-m.base
642 1.1 mrg
643 1.1 mrg begin arch armv8-m.main
644 1.1 mrg tune for cortex-m7
645 1.1 mrg tune flags CO_PROC
646 1.1 mrg base 8M_MAIN
647 1.1.1.2 mrg profile M
648 1.1 mrg isa ARMv8m_main
649 1.1.1.2 mrg option dsp add armv7em
650 1.1.1.2 mrg # fp => FPv5-sp-d16; fp.dp => FPv5-d16
651 1.1.1.2 mrg option fp add FPv5
652 1.1.1.2 mrg option fp.dp add FPv5 FP_DBL
653 1.1.1.2 mrg option nofp remove ALL_FP
654 1.1.1.2 mrg option nodsp remove armv7em
655 1.1 mrg end arch armv8-m.main
656 1.1 mrg
657 1.1.1.2 mrg begin arch armv8-r
658 1.1.1.2 mrg tune for cortex-r52
659 1.1 mrg tune flags CO_PROC
660 1.1.1.2 mrg base 8R
661 1.1.1.2 mrg profile R
662 1.1.1.2 mrg isa ARMv8r
663 1.1.1.2 mrg option crc add crc32
664 1.1.1.2 mrg # fp.sp => fp-armv8 (d16); simd => simd + fp-armv8 + d32 + double precision
665 1.1.1.2 mrg # note: no fp option for fp-armv8 (d16) + double precision at the moment
666 1.1.1.2 mrg option fp.sp add FPv5
667 1.1.1.2 mrg option simd add FP_ARMv8 NEON
668 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
669 1.1.1.2 mrg option nocrypto remove ALL_CRYPTO
670 1.1.1.2 mrg option nofp remove ALL_FP
671 1.1.1.2 mrg end arch armv8-r
672 1.1 mrg
673 1.1 mrg begin arch iwmmxt
674 1.1 mrg tune for iwmmxt
675 1.1 mrg tune flags LDSCHED STRONG XSCALE
676 1.1 mrg base 5TE
677 1.1.1.2 mrg isa ARMv5te xscale iwmmxt
678 1.1 mrg end arch iwmmxt
679 1.1 mrg
680 1.1 mrg begin arch iwmmxt2
681 1.1 mrg tune for iwmmxt2
682 1.1 mrg tune flags LDSCHED STRONG XSCALE
683 1.1 mrg base 5TE
684 1.1.1.2 mrg isa ARMv5te xscale iwmmxt iwmmxt2
685 1.1 mrg end arch iwmmxt2
686 1.1 mrg
687 1.1 mrg # CPU entries
688 1.1 mrg # format:
689 1.1 mrg # begin cpu <name>
690 1.1 mrg # [cname <c-compatible-name>]
691 1.1 mrg # [tune for <cpu-name>]
692 1.1 mrg # [tune flags <list>]
693 1.1 mrg # architecture <name>
694 1.1 mrg # [fpu <name>]
695 1.1 mrg # [isa <additional-isa-flags-list>]
696 1.1.1.2 mrg # [option <name> add|remove <isa-list>]*
697 1.1.1.2 mrg # [optalias <name> <optname>]*
698 1.1 mrg # [costs <name>]
699 1.1 mrg # end cpu <name>
700 1.1 mrg #
701 1.1 mrg # If omitted, cname is formed from transforming the cpuname to convert
702 1.1 mrg # non-valid punctuation characters to '_'.
703 1.1 mrg # If specified, tune for specifies a CPU target to use for tuning this core.
704 1.1 mrg # isa flags are appended to those defined by the architecture.
705 1.1.1.2 mrg # Each add option must have a distinct feature set and each remove
706 1.1.1.2 mrg # option must similarly have a distinct feature set. Option aliases can be
707 1.1.1.2 mrg # added with the optalias statement
708 1.1 mrg
709 1.1 mrg # V2/V2A Architecture Processors
710 1.1 mrg begin cpu arm2
711 1.1 mrg tune flags CO_PROC NO_MODE32
712 1.1 mrg architecture armv2
713 1.1 mrg costs slowmul
714 1.1 mrg end cpu arm2
715 1.1 mrg
716 1.1 mrg begin cpu arm250
717 1.1 mrg tune flags CO_PROC NO_MODE32
718 1.1 mrg architecture armv2
719 1.1 mrg costs slowmul
720 1.1 mrg end cpu arm250
721 1.1 mrg
722 1.1 mrg begin cpu arm3
723 1.1 mrg tune flags CO_PROC NO_MODE32
724 1.1 mrg architecture armv2
725 1.1 mrg costs slowmul
726 1.1 mrg end cpu arm3
727 1.1 mrg
728 1.1 mrg
729 1.1 mrg # V3 Architecture Processors
730 1.1 mrg begin cpu arm6
731 1.1 mrg tune flags CO_PROC
732 1.1 mrg architecture armv3
733 1.1 mrg costs slowmul
734 1.1 mrg end cpu arm6
735 1.1 mrg
736 1.1 mrg begin cpu arm60
737 1.1 mrg tune flags CO_PROC
738 1.1 mrg architecture armv3
739 1.1 mrg costs slowmul
740 1.1 mrg end cpu arm60
741 1.1 mrg
742 1.1 mrg begin cpu arm600
743 1.1 mrg tune flags CO_PROC WBUF
744 1.1 mrg architecture armv3
745 1.1 mrg costs slowmul
746 1.1 mrg end cpu arm600
747 1.1 mrg
748 1.1 mrg begin cpu arm610
749 1.1 mrg tune flags WBUF
750 1.1 mrg architecture armv3
751 1.1 mrg costs slowmul
752 1.1 mrg end cpu arm610
753 1.1 mrg
754 1.1 mrg begin cpu arm620
755 1.1 mrg tune flags CO_PROC WBUF
756 1.1 mrg architecture armv3
757 1.1 mrg costs slowmul
758 1.1 mrg end cpu arm620
759 1.1 mrg
760 1.1 mrg begin cpu arm7
761 1.1 mrg tune flags CO_PROC
762 1.1 mrg architecture armv3
763 1.1 mrg costs slowmul
764 1.1 mrg end cpu arm7
765 1.1 mrg
766 1.1 mrg begin cpu arm7d
767 1.1 mrg tune flags CO_PROC
768 1.1 mrg architecture armv3
769 1.1 mrg costs slowmul
770 1.1 mrg end cpu arm7d
771 1.1 mrg
772 1.1 mrg begin cpu arm7di
773 1.1 mrg tune flags CO_PROC
774 1.1 mrg architecture armv3
775 1.1 mrg costs slowmul
776 1.1 mrg end cpu arm7di
777 1.1 mrg
778 1.1 mrg begin cpu arm70
779 1.1 mrg tune flags CO_PROC
780 1.1 mrg architecture armv3
781 1.1 mrg costs slowmul
782 1.1 mrg end cpu arm70
783 1.1 mrg
784 1.1 mrg begin cpu arm700
785 1.1 mrg tune flags CO_PROC WBUF
786 1.1 mrg architecture armv3
787 1.1 mrg costs slowmul
788 1.1 mrg end cpu arm700
789 1.1 mrg
790 1.1 mrg begin cpu arm700i
791 1.1 mrg tune flags CO_PROC WBUF
792 1.1 mrg architecture armv3
793 1.1 mrg costs slowmul
794 1.1 mrg end cpu arm700i
795 1.1 mrg
796 1.1 mrg begin cpu arm710
797 1.1 mrg tune flags WBUF
798 1.1 mrg architecture armv3
799 1.1 mrg costs slowmul
800 1.1 mrg end cpu arm710
801 1.1 mrg
802 1.1 mrg begin cpu arm720
803 1.1 mrg tune flags WBUF
804 1.1 mrg architecture armv3
805 1.1 mrg costs slowmul
806 1.1 mrg end cpu arm720
807 1.1 mrg
808 1.1 mrg begin cpu arm710c
809 1.1 mrg tune flags WBUF
810 1.1 mrg architecture armv3
811 1.1 mrg costs slowmul
812 1.1 mrg end cpu arm710c
813 1.1 mrg
814 1.1 mrg begin cpu arm7100
815 1.1 mrg tune flags WBUF
816 1.1 mrg architecture armv3
817 1.1 mrg costs slowmul
818 1.1 mrg end cpu arm7100
819 1.1 mrg
820 1.1 mrg begin cpu arm7500
821 1.1 mrg tune flags WBUF
822 1.1 mrg architecture armv3
823 1.1 mrg costs slowmul
824 1.1 mrg end cpu arm7500
825 1.1 mrg
826 1.1 mrg # Doesn't have an external co-proc, but does have embedded FPA
827 1.1 mrg # (the FPA part is no-longer supported).
828 1.1 mrg begin cpu arm7500fe
829 1.1 mrg tune flags CO_PROC WBUF
830 1.1 mrg architecture armv3
831 1.1 mrg costs slowmul
832 1.1 mrg end cpu arm7500fe
833 1.1 mrg
834 1.1 mrg
835 1.1 mrg # V3M Architecture Processors
836 1.1 mrg # arm7m doesn't exist on its own, but only with "D", (and "I"), but
837 1.1 mrg # those don't alter the code, so arm7m is sometimes used.
838 1.1 mrg begin cpu arm7m
839 1.1 mrg tune flags CO_PROC
840 1.1 mrg architecture armv3m
841 1.1 mrg costs fastmul
842 1.1 mrg end cpu arm7m
843 1.1 mrg
844 1.1 mrg begin cpu arm7dm
845 1.1 mrg tune flags CO_PROC
846 1.1 mrg architecture armv3m
847 1.1 mrg costs fastmul
848 1.1 mrg end cpu arm7dm
849 1.1 mrg
850 1.1 mrg begin cpu arm7dmi
851 1.1 mrg tune flags CO_PROC
852 1.1 mrg architecture armv3m
853 1.1 mrg costs fastmul
854 1.1 mrg end cpu arm7dmi
855 1.1 mrg
856 1.1 mrg
857 1.1 mrg # V4 Architecture Processors
858 1.1 mrg begin cpu arm8
859 1.1 mrg tune flags LDSCHED
860 1.1 mrg architecture armv4
861 1.1 mrg costs fastmul
862 1.1 mrg end cpu arm8
863 1.1 mrg
864 1.1 mrg begin cpu arm810
865 1.1 mrg tune flags LDSCHED
866 1.1 mrg architecture armv4
867 1.1 mrg costs fastmul
868 1.1 mrg end cpu arm810
869 1.1 mrg
870 1.1 mrg begin cpu strongarm
871 1.1 mrg tune flags LDSCHED STRONG
872 1.1 mrg architecture armv4
873 1.1 mrg costs strongarm
874 1.1 mrg end cpu strongarm
875 1.1 mrg
876 1.1 mrg begin cpu strongarm110
877 1.1 mrg tune flags LDSCHED STRONG
878 1.1 mrg architecture armv4
879 1.1 mrg costs strongarm
880 1.1 mrg end cpu strongarm110
881 1.1 mrg
882 1.1 mrg begin cpu strongarm1100
883 1.1 mrg tune flags LDSCHED STRONG
884 1.1 mrg architecture armv4
885 1.1 mrg costs strongarm
886 1.1 mrg end cpu strongarm1100
887 1.1 mrg
888 1.1 mrg begin cpu strongarm1110
889 1.1 mrg tune flags LDSCHED STRONG
890 1.1 mrg architecture armv4
891 1.1 mrg costs strongarm
892 1.1 mrg end cpu strongarm1110
893 1.1 mrg
894 1.1 mrg begin cpu fa526
895 1.1 mrg tune flags LDSCHED
896 1.1 mrg architecture armv4
897 1.1 mrg costs fastmul
898 1.1 mrg end cpu fa526
899 1.1 mrg
900 1.1 mrg begin cpu fa626
901 1.1 mrg tune flags LDSCHED
902 1.1 mrg architecture armv4
903 1.1 mrg costs fastmul
904 1.1 mrg end cpu fa626
905 1.1 mrg
906 1.1 mrg
907 1.1 mrg # V4T Architecture Processors
908 1.1 mrg begin cpu arm7tdmi
909 1.1 mrg tune flags CO_PROC
910 1.1 mrg architecture armv4t
911 1.1 mrg costs fastmul
912 1.1 mrg end cpu arm7tdmi
913 1.1 mrg
914 1.1 mrg begin cpu arm7tdmi-s
915 1.1 mrg cname arm7tdmis
916 1.1 mrg tune flags CO_PROC
917 1.1 mrg architecture armv4t
918 1.1 mrg costs fastmul
919 1.1 mrg end cpu arm7tdmi-s
920 1.1 mrg
921 1.1 mrg begin cpu arm710t
922 1.1 mrg tune flags WBUF
923 1.1 mrg architecture armv4t
924 1.1 mrg costs fastmul
925 1.1 mrg end cpu arm710t
926 1.1 mrg
927 1.1 mrg begin cpu arm720t
928 1.1 mrg tune flags WBUF
929 1.1 mrg architecture armv4t
930 1.1 mrg costs fastmul
931 1.1 mrg end cpu arm720t
932 1.1 mrg
933 1.1 mrg begin cpu arm740t
934 1.1 mrg tune flags WBUF
935 1.1 mrg architecture armv4t
936 1.1 mrg costs fastmul
937 1.1 mrg end cpu arm740t
938 1.1 mrg
939 1.1 mrg begin cpu arm9
940 1.1 mrg tune flags LDSCHED
941 1.1 mrg architecture armv4t
942 1.1 mrg costs fastmul
943 1.1 mrg end cpu arm9
944 1.1 mrg
945 1.1 mrg begin cpu arm9tdmi
946 1.1 mrg tune flags LDSCHED
947 1.1 mrg architecture armv4t
948 1.1 mrg costs fastmul
949 1.1 mrg end cpu arm9tdmi
950 1.1 mrg
951 1.1 mrg begin cpu arm920
952 1.1 mrg tune flags LDSCHED
953 1.1 mrg architecture armv4t
954 1.1 mrg costs fastmul
955 1.1 mrg end cpu arm920
956 1.1 mrg
957 1.1 mrg begin cpu arm920t
958 1.1 mrg tune flags LDSCHED
959 1.1 mrg architecture armv4t
960 1.1 mrg costs fastmul
961 1.1 mrg end cpu arm920t
962 1.1 mrg
963 1.1 mrg begin cpu arm922t
964 1.1 mrg tune flags LDSCHED
965 1.1 mrg architecture armv4t
966 1.1 mrg costs fastmul
967 1.1 mrg end cpu arm922t
968 1.1 mrg
969 1.1 mrg begin cpu arm940t
970 1.1 mrg tune flags LDSCHED
971 1.1 mrg architecture armv4t
972 1.1 mrg costs fastmul
973 1.1 mrg end cpu arm940t
974 1.1 mrg
975 1.1 mrg begin cpu ep9312
976 1.1 mrg tune flags LDSCHED
977 1.1 mrg architecture armv4t
978 1.1 mrg costs fastmul
979 1.1 mrg end cpu ep9312
980 1.1 mrg
981 1.1 mrg
982 1.1 mrg # V5T Architecture Processors
983 1.1.1.2 mrg # These used VFPv1 which isn't supported by GCC
984 1.1 mrg begin cpu arm10tdmi
985 1.1 mrg tune flags LDSCHED
986 1.1 mrg architecture armv5t
987 1.1 mrg costs fastmul
988 1.1 mrg end cpu arm10tdmi
989 1.1 mrg
990 1.1 mrg begin cpu arm1020t
991 1.1 mrg tune flags LDSCHED
992 1.1 mrg architecture armv5t
993 1.1 mrg costs fastmul
994 1.1 mrg end cpu arm1020t
995 1.1 mrg
996 1.1 mrg
997 1.1 mrg # V5TE Architecture Processors
998 1.1 mrg begin cpu arm9e
999 1.1 mrg tune flags LDSCHED
1000 1.1 mrg architecture armv5te
1001 1.1.1.2 mrg fpu vfpv2
1002 1.1.1.2 mrg option nofp remove ALL_FP
1003 1.1 mrg costs 9e
1004 1.1 mrg end cpu arm9e
1005 1.1 mrg
1006 1.1 mrg begin cpu arm946e-s
1007 1.1 mrg cname arm946es
1008 1.1 mrg tune flags LDSCHED
1009 1.1 mrg architecture armv5te
1010 1.1.1.2 mrg fpu vfpv2
1011 1.1.1.2 mrg option nofp remove ALL_FP
1012 1.1 mrg costs 9e
1013 1.1 mrg end cpu arm946e-s
1014 1.1 mrg
1015 1.1 mrg begin cpu arm966e-s
1016 1.1 mrg cname arm966es
1017 1.1 mrg tune flags LDSCHED
1018 1.1 mrg architecture armv5te
1019 1.1.1.2 mrg fpu vfpv2
1020 1.1.1.2 mrg option nofp remove ALL_FP
1021 1.1 mrg costs 9e
1022 1.1 mrg end cpu arm966e-s
1023 1.1 mrg
1024 1.1 mrg begin cpu arm968e-s
1025 1.1 mrg cname arm968es
1026 1.1 mrg tune flags LDSCHED
1027 1.1 mrg architecture armv5te
1028 1.1.1.2 mrg fpu vfpv2
1029 1.1.1.2 mrg option nofp remove ALL_FP
1030 1.1 mrg costs 9e
1031 1.1 mrg end cpu arm968e-s
1032 1.1 mrg
1033 1.1 mrg begin cpu arm10e
1034 1.1 mrg tune flags LDSCHED
1035 1.1 mrg architecture armv5te
1036 1.1.1.2 mrg fpu vfpv2
1037 1.1.1.2 mrg option nofp remove ALL_FP
1038 1.1 mrg costs fastmul
1039 1.1 mrg end cpu arm10e
1040 1.1 mrg
1041 1.1 mrg begin cpu arm1020e
1042 1.1 mrg tune flags LDSCHED
1043 1.1 mrg architecture armv5te
1044 1.1.1.2 mrg fpu vfpv2
1045 1.1.1.2 mrg option nofp remove ALL_FP
1046 1.1 mrg costs fastmul
1047 1.1 mrg end cpu arm1020e
1048 1.1 mrg
1049 1.1 mrg begin cpu arm1022e
1050 1.1 mrg tune flags LDSCHED
1051 1.1 mrg architecture armv5te
1052 1.1.1.2 mrg fpu vfpv2
1053 1.1.1.2 mrg option nofp remove ALL_FP
1054 1.1 mrg costs fastmul
1055 1.1 mrg end cpu arm1022e
1056 1.1 mrg
1057 1.1 mrg begin cpu xscale
1058 1.1 mrg tune flags LDSCHED XSCALE
1059 1.1 mrg architecture armv5te
1060 1.1.1.2 mrg isa xscale
1061 1.1 mrg costs xscale
1062 1.1 mrg end cpu xscale
1063 1.1 mrg
1064 1.1 mrg begin cpu iwmmxt
1065 1.1 mrg tune flags LDSCHED XSCALE
1066 1.1 mrg architecture iwmmxt
1067 1.1 mrg costs xscale
1068 1.1 mrg end cpu iwmmxt
1069 1.1 mrg
1070 1.1 mrg begin cpu iwmmxt2
1071 1.1 mrg tune flags LDSCHED XSCALE
1072 1.1 mrg architecture iwmmxt2
1073 1.1 mrg costs xscale
1074 1.1 mrg end cpu iwmmxt2
1075 1.1 mrg
1076 1.1 mrg begin cpu fa606te
1077 1.1 mrg tune flags LDSCHED
1078 1.1 mrg architecture armv5te
1079 1.1 mrg costs 9e
1080 1.1 mrg end cpu fa606te
1081 1.1 mrg
1082 1.1 mrg begin cpu fa626te
1083 1.1 mrg tune flags LDSCHED
1084 1.1 mrg architecture armv5te
1085 1.1 mrg costs 9e
1086 1.1 mrg end cpu fa626te
1087 1.1 mrg
1088 1.1 mrg begin cpu fmp626
1089 1.1 mrg tune flags LDSCHED
1090 1.1 mrg architecture armv5te
1091 1.1 mrg costs 9e
1092 1.1 mrg end cpu fmp626
1093 1.1 mrg
1094 1.1 mrg begin cpu fa726te
1095 1.1 mrg tune flags LDSCHED
1096 1.1 mrg architecture armv5te
1097 1.1 mrg costs fa726te
1098 1.1 mrg end cpu fa726te
1099 1.1 mrg
1100 1.1 mrg
1101 1.1 mrg # V5TEJ Architecture Processors
1102 1.1 mrg begin cpu arm926ej-s
1103 1.1 mrg cname arm926ejs
1104 1.1 mrg tune flags LDSCHED
1105 1.1 mrg architecture armv5tej
1106 1.1.1.2 mrg fpu vfpv2
1107 1.1.1.2 mrg option nofp remove ALL_FP
1108 1.1 mrg costs 9e
1109 1.1 mrg end cpu arm926ej-s
1110 1.1 mrg
1111 1.1 mrg begin cpu arm1026ej-s
1112 1.1 mrg cname arm1026ejs
1113 1.1 mrg tune flags LDSCHED
1114 1.1 mrg architecture armv5tej
1115 1.1.1.2 mrg fpu vfpv2
1116 1.1.1.2 mrg option nofp remove ALL_FP
1117 1.1 mrg costs 9e
1118 1.1 mrg end cpu arm1026ej-s
1119 1.1 mrg
1120 1.1 mrg
1121 1.1 mrg # V6 Architecture Processors
1122 1.1 mrg begin cpu arm1136j-s
1123 1.1 mrg cname arm1136js
1124 1.1 mrg tune flags LDSCHED
1125 1.1 mrg architecture armv6j
1126 1.1 mrg costs 9e
1127 1.1 mrg end cpu arm1136j-s
1128 1.1 mrg
1129 1.1 mrg begin cpu arm1136jf-s
1130 1.1 mrg cname arm1136jfs
1131 1.1 mrg tune flags LDSCHED
1132 1.1 mrg architecture armv6j
1133 1.1 mrg fpu vfpv2
1134 1.1 mrg costs 9e
1135 1.1 mrg end cpu arm1136jf-s
1136 1.1 mrg
1137 1.1 mrg begin cpu arm1176jz-s
1138 1.1 mrg cname arm1176jzs
1139 1.1 mrg tune flags LDSCHED
1140 1.1 mrg architecture armv6kz
1141 1.1 mrg costs 9e
1142 1.1 mrg end cpu arm1176jz-s
1143 1.1 mrg
1144 1.1 mrg begin cpu arm1176jzf-s
1145 1.1 mrg cname arm1176jzfs
1146 1.1 mrg tune flags LDSCHED
1147 1.1 mrg architecture armv6kz
1148 1.1 mrg fpu vfpv2
1149 1.1 mrg costs 9e
1150 1.1 mrg end cpu arm1176jzf-s
1151 1.1 mrg
1152 1.1 mrg begin cpu mpcorenovfp
1153 1.1 mrg tune flags LDSCHED
1154 1.1 mrg architecture armv6k
1155 1.1 mrg costs 9e
1156 1.1 mrg end cpu mpcorenovfp
1157 1.1 mrg
1158 1.1 mrg begin cpu mpcore
1159 1.1 mrg tune flags LDSCHED
1160 1.1 mrg architecture armv6k
1161 1.1 mrg fpu vfpv2
1162 1.1 mrg costs 9e
1163 1.1 mrg end cpu mpcore
1164 1.1 mrg
1165 1.1 mrg begin cpu arm1156t2-s
1166 1.1 mrg cname arm1156t2s
1167 1.1 mrg tune flags LDSCHED
1168 1.1 mrg architecture armv6t2
1169 1.1 mrg costs v6t2
1170 1.1 mrg end cpu arm1156t2-s
1171 1.1 mrg
1172 1.1 mrg begin cpu arm1156t2f-s
1173 1.1 mrg cname arm1156t2fs
1174 1.1 mrg tune flags LDSCHED
1175 1.1 mrg architecture armv6t2
1176 1.1 mrg fpu vfpv2
1177 1.1 mrg costs v6t2
1178 1.1 mrg end cpu arm1156t2f-s
1179 1.1 mrg
1180 1.1 mrg
1181 1.1 mrg # V6M Architecture Processors
1182 1.1 mrg begin cpu cortex-m1
1183 1.1 mrg cname cortexm1
1184 1.1 mrg tune flags LDSCHED
1185 1.1.1.2 mrg architecture armv6s-m
1186 1.1 mrg costs v6m
1187 1.1 mrg end cpu cortex-m1
1188 1.1 mrg
1189 1.1 mrg begin cpu cortex-m0
1190 1.1 mrg cname cortexm0
1191 1.1 mrg tune flags LDSCHED
1192 1.1.1.2 mrg architecture armv6s-m
1193 1.1 mrg costs v6m
1194 1.1 mrg end cpu cortex-m0
1195 1.1 mrg
1196 1.1 mrg begin cpu cortex-m0plus
1197 1.1 mrg cname cortexm0plus
1198 1.1 mrg tune flags LDSCHED
1199 1.1.1.2 mrg architecture armv6s-m
1200 1.1 mrg costs v6m
1201 1.1 mrg end cpu cortex-m0plus
1202 1.1 mrg
1203 1.1 mrg
1204 1.1 mrg # V6M Architecture Processors for small-multiply implementations.
1205 1.1 mrg begin cpu cortex-m1.small-multiply
1206 1.1 mrg cname cortexm1smallmultiply
1207 1.1 mrg tune for cortex-m1
1208 1.1 mrg tune flags LDSCHED SMALLMUL
1209 1.1.1.2 mrg architecture armv6s-m
1210 1.1 mrg costs v6m
1211 1.1 mrg end cpu cortex-m1.small-multiply
1212 1.1 mrg
1213 1.1 mrg begin cpu cortex-m0.small-multiply
1214 1.1 mrg cname cortexm0smallmultiply
1215 1.1 mrg tune for cortex-m0
1216 1.1 mrg tune flags LDSCHED SMALLMUL
1217 1.1.1.2 mrg architecture armv6s-m
1218 1.1 mrg costs v6m
1219 1.1 mrg end cpu cortex-m0.small-multiply
1220 1.1 mrg
1221 1.1 mrg begin cpu cortex-m0plus.small-multiply
1222 1.1 mrg cname cortexm0plussmallmultiply
1223 1.1 mrg tune for cortex-m0plus
1224 1.1 mrg tune flags LDSCHED SMALLMUL
1225 1.1.1.2 mrg architecture armv6s-m
1226 1.1 mrg costs v6m
1227 1.1 mrg end cpu cortex-m0plus.small-multiply
1228 1.1 mrg
1229 1.1 mrg
1230 1.1 mrg # V7 Architecture Processors
1231 1.1 mrg begin cpu generic-armv7-a
1232 1.1 mrg cname genericv7a
1233 1.1 mrg tune flags LDSCHED
1234 1.1 mrg architecture armv7-a
1235 1.1.1.2 mrg option mp add mp
1236 1.1.1.2 mrg option sec add sec
1237 1.1.1.2 mrg fpu vfpv3-d16
1238 1.1.1.2 mrg option vfpv3-d16 add VFPv3 FP_DBL
1239 1.1.1.2 mrg option vfpv3 add VFPv3 FP_D32
1240 1.1.1.2 mrg option vfpv3-d16-fp16 add VFPv3 FP_DBL fp16conv
1241 1.1.1.2 mrg option vfpv3-fp16 add VFPv3 FP_D32 fp16conv
1242 1.1.1.2 mrg option vfpv4-d16 add VFPv4 FP_DBL
1243 1.1.1.2 mrg option vfpv4 add VFPv4 FP_D32
1244 1.1.1.2 mrg option simd add VFPv3 NEON
1245 1.1.1.2 mrg optalias neon simd
1246 1.1.1.2 mrg optalias neon-vfpv3 simd
1247 1.1.1.2 mrg option neon-fp16 add VFPv3 NEON fp16conv
1248 1.1.1.2 mrg option neon-vfpv4 add VFPv4 NEON
1249 1.1.1.2 mrg option nosimd remove ALL_SIMD
1250 1.1.1.2 mrg option nofp remove ALL_FP
1251 1.1 mrg costs cortex
1252 1.1 mrg end cpu generic-armv7-a
1253 1.1 mrg
1254 1.1 mrg begin cpu cortex-a5
1255 1.1 mrg cname cortexa5
1256 1.1 mrg tune flags LDSCHED
1257 1.1.1.2 mrg architecture armv7-a+mp+sec
1258 1.1.1.2 mrg fpu neon-fp16
1259 1.1.1.2 mrg option nosimd remove ALL_SIMD
1260 1.1.1.2 mrg option nofp remove ALL_FP
1261 1.1 mrg costs cortex_a5
1262 1.1 mrg end cpu cortex-a5
1263 1.1 mrg
1264 1.1 mrg begin cpu cortex-a7
1265 1.1 mrg cname cortexa7
1266 1.1 mrg tune flags LDSCHED
1267 1.1 mrg architecture armv7ve
1268 1.1.1.2 mrg fpu neon-vfpv4
1269 1.1.1.2 mrg option nosimd remove ALL_SIMD
1270 1.1.1.2 mrg option nofp remove ALL_FP
1271 1.1 mrg costs cortex_a7
1272 1.1 mrg end cpu cortex-a7
1273 1.1 mrg
1274 1.1 mrg begin cpu cortex-a8
1275 1.1 mrg cname cortexa8
1276 1.1 mrg tune flags LDSCHED
1277 1.1.1.2 mrg architecture armv7-a+sec
1278 1.1.1.2 mrg fpu neon-vfpv3
1279 1.1.1.2 mrg option nofp remove ALL_FP
1280 1.1 mrg costs cortex_a8
1281 1.1 mrg end cpu cortex-a8
1282 1.1 mrg
1283 1.1 mrg begin cpu cortex-a9
1284 1.1 mrg cname cortexa9
1285 1.1 mrg tune flags LDSCHED
1286 1.1.1.2 mrg architecture armv7-a+mp+sec
1287 1.1.1.2 mrg fpu neon-fp16
1288 1.1.1.2 mrg option nosimd remove ALL_SIMD
1289 1.1.1.2 mrg option nofp remove ALL_FP
1290 1.1 mrg costs cortex_a9
1291 1.1 mrg end cpu cortex-a9
1292 1.1 mrg
1293 1.1 mrg begin cpu cortex-a12
1294 1.1 mrg cname cortexa12
1295 1.1 mrg tune for cortex-a17
1296 1.1 mrg tune flags LDSCHED
1297 1.1 mrg architecture armv7ve
1298 1.1.1.2 mrg fpu neon-vfpv4
1299 1.1.1.2 mrg option nofp remove ALL_FP
1300 1.1 mrg costs cortex_a12
1301 1.1 mrg end cpu cortex-a12
1302 1.1 mrg
1303 1.1 mrg begin cpu cortex-a15
1304 1.1 mrg cname cortexa15
1305 1.1 mrg tune flags LDSCHED
1306 1.1 mrg architecture armv7ve
1307 1.1.1.2 mrg fpu neon-vfpv4
1308 1.1.1.2 mrg option nofp remove ALL_FP
1309 1.1 mrg costs cortex_a15
1310 1.1 mrg end cpu cortex-a15
1311 1.1 mrg
1312 1.1 mrg begin cpu cortex-a17
1313 1.1 mrg cname cortexa17
1314 1.1 mrg tune flags LDSCHED
1315 1.1 mrg architecture armv7ve
1316 1.1.1.2 mrg fpu neon-vfpv4
1317 1.1.1.2 mrg option nofp remove ALL_FP
1318 1.1 mrg costs cortex_a12
1319 1.1 mrg end cpu cortex-a17
1320 1.1 mrg
1321 1.1 mrg begin cpu cortex-r4
1322 1.1 mrg cname cortexr4
1323 1.1 mrg tune flags LDSCHED
1324 1.1 mrg architecture armv7-r
1325 1.1 mrg costs cortex
1326 1.1 mrg end cpu cortex-r4
1327 1.1 mrg
1328 1.1 mrg begin cpu cortex-r4f
1329 1.1 mrg cname cortexr4f
1330 1.1 mrg tune flags LDSCHED
1331 1.1 mrg architecture armv7-r
1332 1.1.1.2 mrg fpu vfpv3-d16
1333 1.1 mrg costs cortex
1334 1.1 mrg end cpu cortex-r4f
1335 1.1 mrg
1336 1.1 mrg begin cpu cortex-r5
1337 1.1 mrg cname cortexr5
1338 1.1 mrg tune flags LDSCHED
1339 1.1.1.2 mrg architecture armv7-r+idiv
1340 1.1.1.2 mrg fpu vfpv3-d16
1341 1.1.1.2 mrg option nofp.dp remove FP_DBL
1342 1.1.1.2 mrg option nofp remove ALL_FP
1343 1.1 mrg costs cortex
1344 1.1 mrg end cpu cortex-r5
1345 1.1 mrg
1346 1.1 mrg begin cpu cortex-r7
1347 1.1 mrg cname cortexr7
1348 1.1 mrg tune flags LDSCHED
1349 1.1.1.2 mrg architecture armv7-r+idiv
1350 1.1.1.2 mrg fpu vfpv3-d16-fp16
1351 1.1.1.2 mrg option nofp.dp remove FP_DBL
1352 1.1.1.2 mrg option nofp remove ALL_FP
1353 1.1 mrg costs cortex
1354 1.1 mrg end cpu cortex-r7
1355 1.1 mrg
1356 1.1 mrg begin cpu cortex-r8
1357 1.1 mrg cname cortexr8
1358 1.1 mrg tune for cortex-r7
1359 1.1 mrg tune flags LDSCHED
1360 1.1.1.2 mrg architecture armv7-r+idiv
1361 1.1.1.2 mrg fpu vfpv3-d16-fp16
1362 1.1.1.2 mrg option nofp.dp remove FP_DBL
1363 1.1.1.2 mrg option nofp remove ALL_FP
1364 1.1 mrg costs cortex
1365 1.1 mrg end cpu cortex-r8
1366 1.1 mrg
1367 1.1 mrg begin cpu cortex-m7
1368 1.1 mrg cname cortexm7
1369 1.1 mrg tune flags LDSCHED
1370 1.1 mrg architecture armv7e-m
1371 1.1 mrg isa quirk_no_volatile_ce
1372 1.1.1.2 mrg fpu fpv5-d16
1373 1.1.1.2 mrg option nofp.dp remove FP_DBL
1374 1.1.1.2 mrg option nofp remove ALL_FP
1375 1.1 mrg costs cortex_m7
1376 1.1 mrg end cpu cortex-m7
1377 1.1 mrg
1378 1.1 mrg begin cpu cortex-m4
1379 1.1 mrg cname cortexm4
1380 1.1 mrg tune flags LDSCHED
1381 1.1 mrg architecture armv7e-m
1382 1.1.1.2 mrg fpu fpv4-sp-d16
1383 1.1.1.2 mrg option nofp remove ALL_FP
1384 1.1 mrg costs v7m
1385 1.1 mrg end cpu cortex-m4
1386 1.1 mrg
1387 1.1 mrg begin cpu cortex-m3
1388 1.1 mrg cname cortexm3
1389 1.1 mrg tune flags LDSCHED
1390 1.1 mrg architecture armv7-m
1391 1.1 mrg isa quirk_cm3_ldrd
1392 1.1 mrg costs v7m
1393 1.1 mrg end cpu cortex-m3
1394 1.1 mrg
1395 1.1 mrg begin cpu marvell-pj4
1396 1.1 mrg tune flags LDSCHED
1397 1.1.1.2 mrg architecture armv7-a+mp+sec
1398 1.1 mrg costs marvell_pj4
1399 1.1 mrg end cpu marvell-pj4
1400 1.1 mrg
1401 1.1 mrg
1402 1.1 mrg # V7 big.LITTLE implementations
1403 1.1 mrg begin cpu cortex-a15.cortex-a7
1404 1.1 mrg cname cortexa15cortexa7
1405 1.1 mrg tune for cortex-a7
1406 1.1 mrg tune flags LDSCHED
1407 1.1 mrg architecture armv7ve
1408 1.1.1.2 mrg fpu neon-vfpv4
1409 1.1.1.2 mrg option nofp remove ALL_FP
1410 1.1 mrg costs cortex_a15
1411 1.1 mrg end cpu cortex-a15.cortex-a7
1412 1.1 mrg
1413 1.1 mrg begin cpu cortex-a17.cortex-a7
1414 1.1 mrg cname cortexa17cortexa7
1415 1.1 mrg tune for cortex-a7
1416 1.1 mrg tune flags LDSCHED
1417 1.1 mrg architecture armv7ve
1418 1.1.1.2 mrg fpu neon-vfpv4
1419 1.1.1.2 mrg option nofp remove ALL_FP
1420 1.1 mrg costs cortex_a12
1421 1.1 mrg end cpu cortex-a17.cortex-a7
1422 1.1 mrg
1423 1.1 mrg
1424 1.1 mrg # V8 A-profile Architecture Processors
1425 1.1 mrg begin cpu cortex-a32
1426 1.1 mrg cname cortexa32
1427 1.1 mrg tune for cortex-a53
1428 1.1 mrg tune flags LDSCHED
1429 1.1 mrg architecture armv8-a+crc
1430 1.1.1.2 mrg fpu neon-fp-armv8
1431 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1432 1.1.1.2 mrg option nofp remove ALL_FP
1433 1.1 mrg costs cortex_a35
1434 1.1 mrg end cpu cortex-a32
1435 1.1 mrg
1436 1.1 mrg begin cpu cortex-a35
1437 1.1 mrg cname cortexa35
1438 1.1 mrg tune for cortex-a53
1439 1.1 mrg tune flags LDSCHED
1440 1.1 mrg architecture armv8-a+crc
1441 1.1.1.2 mrg fpu neon-fp-armv8
1442 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1443 1.1.1.2 mrg option nofp remove ALL_FP
1444 1.1 mrg costs cortex_a35
1445 1.1 mrg end cpu cortex-a35
1446 1.1 mrg
1447 1.1 mrg begin cpu cortex-a53
1448 1.1 mrg cname cortexa53
1449 1.1 mrg tune flags LDSCHED
1450 1.1 mrg architecture armv8-a+crc
1451 1.1.1.2 mrg fpu neon-fp-armv8
1452 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1453 1.1.1.2 mrg option nofp remove ALL_FP
1454 1.1 mrg costs cortex_a53
1455 1.1 mrg end cpu cortex-a53
1456 1.1 mrg
1457 1.1 mrg begin cpu cortex-a57
1458 1.1 mrg cname cortexa57
1459 1.1 mrg tune flags LDSCHED
1460 1.1 mrg architecture armv8-a+crc
1461 1.1.1.2 mrg fpu neon-fp-armv8
1462 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1463 1.1 mrg costs cortex_a57
1464 1.1 mrg end cpu cortex-a57
1465 1.1 mrg
1466 1.1 mrg begin cpu cortex-a72
1467 1.1 mrg cname cortexa72
1468 1.1 mrg tune for cortex-a57
1469 1.1 mrg tune flags LDSCHED
1470 1.1 mrg architecture armv8-a+crc
1471 1.1.1.2 mrg fpu neon-fp-armv8
1472 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1473 1.1 mrg costs cortex_a57
1474 1.1 mrg end cpu cortex-a72
1475 1.1 mrg
1476 1.1 mrg begin cpu cortex-a73
1477 1.1 mrg cname cortexa73
1478 1.1 mrg tune for cortex-a57
1479 1.1 mrg tune flags LDSCHED
1480 1.1 mrg architecture armv8-a+crc
1481 1.1.1.2 mrg fpu neon-fp-armv8
1482 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1483 1.1 mrg costs cortex_a73
1484 1.1 mrg end cpu cortex-a73
1485 1.1 mrg
1486 1.1 mrg begin cpu exynos-m1
1487 1.1 mrg cname exynosm1
1488 1.1 mrg tune flags LDSCHED
1489 1.1 mrg architecture armv8-a+crc
1490 1.1.1.2 mrg fpu neon-fp-armv8
1491 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1492 1.1 mrg costs exynosm1
1493 1.1 mrg end cpu exynos-m1
1494 1.1 mrg
1495 1.1 mrg begin cpu xgene1
1496 1.1 mrg tune flags LDSCHED
1497 1.1 mrg architecture armv8-a
1498 1.1.1.2 mrg fpu neon-fp-armv8
1499 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1500 1.1 mrg costs xgene1
1501 1.1 mrg end cpu xgene1
1502 1.1 mrg
1503 1.1 mrg # V8 A-profile big.LITTLE implementations
1504 1.1 mrg begin cpu cortex-a57.cortex-a53
1505 1.1 mrg cname cortexa57cortexa53
1506 1.1 mrg tune for cortex-a53
1507 1.1 mrg tune flags LDSCHED
1508 1.1 mrg architecture armv8-a+crc
1509 1.1.1.2 mrg fpu neon-fp-armv8
1510 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1511 1.1 mrg costs cortex_a57
1512 1.1 mrg end cpu cortex-a57.cortex-a53
1513 1.1 mrg
1514 1.1 mrg begin cpu cortex-a72.cortex-a53
1515 1.1 mrg cname cortexa72cortexa53
1516 1.1 mrg tune for cortex-a53
1517 1.1 mrg tune flags LDSCHED
1518 1.1 mrg architecture armv8-a+crc
1519 1.1.1.2 mrg fpu neon-fp-armv8
1520 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1521 1.1 mrg costs cortex_a57
1522 1.1 mrg end cpu cortex-a72.cortex-a53
1523 1.1 mrg
1524 1.1 mrg begin cpu cortex-a73.cortex-a35
1525 1.1 mrg cname cortexa73cortexa35
1526 1.1 mrg tune for cortex-a53
1527 1.1 mrg tune flags LDSCHED
1528 1.1 mrg architecture armv8-a+crc
1529 1.1.1.2 mrg fpu neon-fp-armv8
1530 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1531 1.1 mrg costs cortex_a73
1532 1.1 mrg end cpu cortex-a73.cortex-a35
1533 1.1 mrg
1534 1.1 mrg begin cpu cortex-a73.cortex-a53
1535 1.1 mrg cname cortexa73cortexa53
1536 1.1 mrg tune for cortex-a53
1537 1.1 mrg tune flags LDSCHED
1538 1.1 mrg architecture armv8-a+crc
1539 1.1.1.2 mrg fpu neon-fp-armv8
1540 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1541 1.1 mrg costs cortex_a73
1542 1.1 mrg end cpu cortex-a73.cortex-a53
1543 1.1 mrg
1544 1.1 mrg
1545 1.1.1.2 mrg # ARMv8.2 A-profile Architecture Processors
1546 1.1.1.2 mrg begin cpu cortex-a55
1547 1.1.1.2 mrg cname cortexa55
1548 1.1.1.2 mrg tune for cortex-a53
1549 1.1.1.2 mrg tune flags LDSCHED
1550 1.1.1.2 mrg architecture armv8.2-a+fp16+dotprod
1551 1.1.1.2 mrg fpu neon-fp-armv8
1552 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1553 1.1.1.2 mrg option nofp remove ALL_FP
1554 1.1.1.2 mrg costs cortex_a53
1555 1.1.1.2 mrg end cpu cortex-a55
1556 1.1.1.2 mrg
1557 1.1.1.2 mrg begin cpu cortex-a75
1558 1.1.1.2 mrg cname cortexa75
1559 1.1.1.2 mrg tune for cortex-a57
1560 1.1.1.2 mrg tune flags LDSCHED
1561 1.1.1.2 mrg architecture armv8.2-a+fp16+dotprod
1562 1.1.1.2 mrg fpu neon-fp-armv8
1563 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1564 1.1.1.2 mrg costs cortex_a73
1565 1.1.1.2 mrg end cpu cortex-a75
1566 1.1.1.2 mrg
1567 1.1.1.2 mrg
1568 1.1.1.2 mrg # ARMv8.2 A-profile ARM DynamIQ big.LITTLE implementations
1569 1.1.1.2 mrg begin cpu cortex-a75.cortex-a55
1570 1.1.1.2 mrg cname cortexa75cortexa55
1571 1.1.1.2 mrg tune for cortex-a53
1572 1.1.1.2 mrg tune flags LDSCHED
1573 1.1.1.2 mrg architecture armv8.2-a+fp16+dotprod
1574 1.1.1.2 mrg fpu neon-fp-armv8
1575 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1576 1.1.1.2 mrg costs cortex_a73
1577 1.1.1.2 mrg end cpu cortex-a75.cortex-a55
1578 1.1.1.2 mrg
1579 1.1 mrg # V8 M-profile implementations.
1580 1.1 mrg begin cpu cortex-m23
1581 1.1 mrg cname cortexm23
1582 1.1 mrg tune flags LDSCHED
1583 1.1 mrg architecture armv8-m.base
1584 1.1 mrg costs v6m
1585 1.1 mrg end cpu cortex-m23
1586 1.1 mrg
1587 1.1 mrg begin cpu cortex-m33
1588 1.1 mrg cname cortexm33
1589 1.1 mrg tune flags LDSCHED
1590 1.1 mrg architecture armv8-m.main+dsp
1591 1.1.1.2 mrg fpu fpv5-sp-d16
1592 1.1.1.2 mrg option nofp remove ALL_FP
1593 1.1.1.2 mrg option nodsp remove armv7em
1594 1.1 mrg costs v7m
1595 1.1 mrg end cpu cortex-m33
1596 1.1 mrg
1597 1.1.1.2 mrg # V8 R-profile implementations.
1598 1.1.1.2 mrg begin cpu cortex-r52
1599 1.1.1.2 mrg cname cortexr52
1600 1.1.1.2 mrg tune flags LDSCHED
1601 1.1.1.2 mrg architecture armv8-r+crc+simd
1602 1.1.1.2 mrg fpu neon-fp-armv8
1603 1.1.1.2 mrg option nofp.dp remove FP_DBL ALL_SIMD
1604 1.1.1.2 mrg costs cortex
1605 1.1.1.2 mrg end cpu cortex-r52
1606 1.1.1.2 mrg
1607 1.1 mrg # FPU entries
1608 1.1 mrg # format:
1609 1.1 mrg # begin fpu <name>
1610 1.1 mrg # isa <isa-flags-list>
1611 1.1 mrg # end fpu <name>
1612 1.1 mrg
1613 1.1 mrg begin fpu vfp
1614 1.1 mrg isa VFPv2 FP_DBL
1615 1.1 mrg end fpu vfp
1616 1.1 mrg
1617 1.1 mrg begin fpu vfpv2
1618 1.1 mrg isa VFPv2 FP_DBL
1619 1.1 mrg end fpu vfpv2
1620 1.1 mrg
1621 1.1 mrg begin fpu vfpv3
1622 1.1 mrg isa VFPv3 FP_D32
1623 1.1 mrg end fpu vfpv3
1624 1.1 mrg
1625 1.1 mrg begin fpu vfpv3-fp16
1626 1.1.1.2 mrg isa VFPv3 FP_D32 fp16conv
1627 1.1 mrg end fpu vfpv3-fp16
1628 1.1 mrg
1629 1.1 mrg begin fpu vfpv3-d16
1630 1.1 mrg isa VFPv3 FP_DBL
1631 1.1 mrg end fpu vfpv3-d16
1632 1.1 mrg
1633 1.1 mrg begin fpu vfpv3-d16-fp16
1634 1.1.1.2 mrg isa VFPv3 FP_DBL fp16conv
1635 1.1 mrg end fpu vfpv3-d16-fp16
1636 1.1 mrg
1637 1.1 mrg begin fpu vfpv3xd
1638 1.1 mrg isa VFPv3
1639 1.1 mrg end fpu vfpv3xd
1640 1.1 mrg
1641 1.1 mrg begin fpu vfpv3xd-fp16
1642 1.1.1.2 mrg isa VFPv3 fp16conv
1643 1.1 mrg end fpu vfpv3xd-fp16
1644 1.1 mrg
1645 1.1 mrg begin fpu neon
1646 1.1 mrg isa VFPv3 NEON
1647 1.1 mrg end fpu neon
1648 1.1 mrg
1649 1.1 mrg begin fpu neon-vfpv3
1650 1.1 mrg isa VFPv3 NEON
1651 1.1 mrg end fpu neon-vfpv3
1652 1.1 mrg
1653 1.1 mrg begin fpu neon-fp16
1654 1.1.1.2 mrg isa VFPv3 NEON fp16conv
1655 1.1 mrg end fpu neon-fp16
1656 1.1 mrg
1657 1.1 mrg begin fpu vfpv4
1658 1.1 mrg isa VFPv4 FP_D32
1659 1.1 mrg end fpu vfpv4
1660 1.1 mrg
1661 1.1 mrg begin fpu neon-vfpv4
1662 1.1 mrg isa VFPv4 NEON
1663 1.1 mrg end fpu neon-vfpv4
1664 1.1 mrg
1665 1.1 mrg begin fpu vfpv4-d16
1666 1.1 mrg isa VFPv4 FP_DBL
1667 1.1 mrg end fpu vfpv4-d16
1668 1.1 mrg
1669 1.1 mrg begin fpu fpv4-sp-d16
1670 1.1 mrg isa VFPv4
1671 1.1 mrg end fpu fpv4-sp-d16
1672 1.1 mrg
1673 1.1 mrg begin fpu fpv5-sp-d16
1674 1.1 mrg isa FPv5
1675 1.1 mrg end fpu fpv5-sp-d16
1676 1.1 mrg
1677 1.1 mrg begin fpu fpv5-d16
1678 1.1 mrg isa FPv5 FP_DBL
1679 1.1 mrg end fpu fpv5-d16
1680 1.1 mrg
1681 1.1 mrg begin fpu fp-armv8
1682 1.1.1.2 mrg isa FP_ARMv8
1683 1.1 mrg end fpu fp-armv8
1684 1.1 mrg
1685 1.1 mrg begin fpu neon-fp-armv8
1686 1.1 mrg isa FP_ARMv8 NEON
1687 1.1 mrg end fpu neon-fp-armv8
1688 1.1 mrg
1689 1.1 mrg begin fpu crypto-neon-fp-armv8
1690 1.1 mrg isa FP_ARMv8 CRYPTO
1691 1.1 mrg end fpu crypto-neon-fp-armv8
1692 1.1 mrg
1693 1.1 mrg # Compatibility aliases.
1694 1.1 mrg begin fpu vfp3
1695 1.1 mrg isa VFPv3 FP_D32
1696 1.1 mrg end fpu vfp3
1697