arm-cpus.in revision 1.1.1.3 1 1.1 mrg # CPU, FPU and architecture specifications for ARM.
2 1.1 mrg #
3 1.1.1.3 mrg # Copyright (C) 2011-2019 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 # Architecture rel 4
52 1.1.1.2 mrg define feature armv4
53 1.1.1.2 mrg
54 1.1.1.2 mrg # Thumb aware.
55 1.1.1.2 mrg define feature thumb
56 1.1.1.2 mrg
57 1.1.1.3 mrg # Architecture rel 5t.
58 1.1.1.3 mrg define feature armv5t
59 1.1.1.3 mrg
60 1.1.1.3 mrg # Architecture rel 5te.
61 1.1.1.3 mrg define feature armv5te
62 1.1.1.2 mrg
63 1.1.1.2 mrg # XScale.
64 1.1.1.2 mrg define feature xscale
65 1.1.1.2 mrg
66 1.1.1.2 mrg # Architecture rel 6.
67 1.1.1.2 mrg define feature armv6
68 1.1.1.2 mrg
69 1.1.1.2 mrg # Architecture rel 6k.
70 1.1.1.2 mrg define feature armv6k
71 1.1.1.2 mrg
72 1.1.1.2 mrg # Thumb-2.
73 1.1.1.2 mrg define feature thumb2
74 1.1.1.2 mrg
75 1.1.1.2 mrg # Instructions not present in 'M' profile.
76 1.1.1.2 mrg define feature notm
77 1.1.1.2 mrg
78 1.1.1.2 mrg # Architecture uses be8 mode in big-endian.
79 1.1.1.2 mrg define feature be8
80 1.1.1.2 mrg
81 1.1.1.2 mrg # Thumb division instructions.
82 1.1.1.2 mrg define feature tdiv
83 1.1.1.2 mrg
84 1.1.1.2 mrg # Architecture rel 7e-m.
85 1.1.1.2 mrg define feature armv7em
86 1.1.1.2 mrg
87 1.1.1.2 mrg # Architecture rel 7.
88 1.1.1.2 mrg define feature armv7
89 1.1.1.2 mrg
90 1.1.1.2 mrg # MP extension to ArmV7-A
91 1.1.1.2 mrg define feature mp
92 1.1.1.2 mrg
93 1.1.1.2 mrg # SEC extension to ArmV7-A
94 1.1.1.2 mrg define feature sec
95 1.1.1.2 mrg
96 1.1.1.2 mrg # ARM division instructions.
97 1.1.1.2 mrg define feature adiv
98 1.1.1.2 mrg
99 1.1.1.2 mrg # Architecture rel 8.
100 1.1.1.2 mrg define feature armv8
101 1.1.1.2 mrg
102 1.1.1.2 mrg # ARMv8 CRC32 instructions.
103 1.1.1.2 mrg define feature crc32
104 1.1.1.2 mrg
105 1.1.1.2 mrg # XScale v2 (Wireless MMX).
106 1.1.1.2 mrg define feature iwmmxt
107 1.1.1.2 mrg
108 1.1.1.2 mrg # XScale Wireless MMX2.
109 1.1.1.2 mrg define feature iwmmxt2
110 1.1.1.2 mrg
111 1.1.1.2 mrg # Architecture rel 8.1.
112 1.1.1.2 mrg define feature armv8_1
113 1.1.1.2 mrg
114 1.1.1.2 mrg # Architecture rel 8.2.
115 1.1.1.2 mrg define feature armv8_2
116 1.1.1.2 mrg
117 1.1.1.2 mrg # Architecture rel 8.3.
118 1.1.1.2 mrg define feature armv8_3
119 1.1.1.2 mrg
120 1.1.1.2 mrg # Architecture rel 8.4.
121 1.1.1.2 mrg define feature armv8_4
122 1.1.1.2 mrg
123 1.1.1.3 mrg # Architecture rel 8.5.
124 1.1.1.3 mrg define feature armv8_5
125 1.1.1.3 mrg
126 1.1.1.2 mrg # M-Profile security extensions.
127 1.1.1.2 mrg define feature cmse
128 1.1.1.2 mrg
129 1.1.1.2 mrg # Floating point and Neon extensions.
130 1.1.1.2 mrg # VFPv1 is not supported in GCC.
131 1.1.1.2 mrg
132 1.1.1.2 mrg # Vector floating point v2.
133 1.1.1.2 mrg define feature vfpv2
134 1.1.1.2 mrg
135 1.1.1.2 mrg # Vector floating point v3.
136 1.1.1.2 mrg define feature vfpv3
137 1.1.1.2 mrg
138 1.1.1.2 mrg # Vector floating point v4.
139 1.1.1.2 mrg define feature vfpv4
140 1.1.1.2 mrg
141 1.1.1.2 mrg # Floating point v5.
142 1.1.1.2 mrg define feature fpv5
143 1.1.1.2 mrg
144 1.1.1.2 mrg # ARMv7-A LPAE.
145 1.1.1.2 mrg define feature lpae
146 1.1.1.2 mrg
147 1.1.1.2 mrg # Advanced SIMD instructions.
148 1.1.1.2 mrg define feature neon
149 1.1.1.2 mrg
150 1.1.1.2 mrg # Conversions to/from fp16 (VFPv3 extension).
151 1.1.1.2 mrg define feature fp16conv
152 1.1.1.2 mrg
153 1.1.1.2 mrg # Double precision operations supported.
154 1.1.1.2 mrg define feature fp_dbl
155 1.1.1.2 mrg
156 1.1.1.2 mrg # 32 Double precision registers.
157 1.1.1.2 mrg define feature fp_d32
158 1.1.1.2 mrg
159 1.1.1.2 mrg # Crypto extension to ARMv8.
160 1.1.1.2 mrg define feature crypto
161 1.1.1.2 mrg
162 1.1.1.2 mrg # FP16 data processing (half-precision float).
163 1.1.1.2 mrg define feature fp16
164 1.1.1.2 mrg
165 1.1.1.2 mrg # Dot Product instructions extension to ARMv8.2-a.
166 1.1.1.2 mrg define feature dotprod
167 1.1.1.2 mrg
168 1.1.1.2 mrg # Half-precision floating-point instructions in ARMv8.4-A.
169 1.1.1.2 mrg define feature fp16fml
170 1.1.1.2 mrg
171 1.1.1.2 mrg # ISA Quirks (errata?). Don't forget to add this to the fgroup
172 1.1.1.2 mrg # ALL_QUIRKS below.
173 1.1.1.2 mrg
174 1.1.1.2 mrg # No volatile memory in IT blocks.
175 1.1.1.2 mrg define feature quirk_no_volatile_ce
176 1.1.1.2 mrg
177 1.1.1.2 mrg # Previously mis-identified by GCC.
178 1.1.1.2 mrg define feature quirk_armv6kz
179 1.1.1.2 mrg
180 1.1.1.2 mrg # Cortex-M3 LDRD quirk.
181 1.1.1.2 mrg define feature quirk_cm3_ldrd
182 1.1.1.2 mrg
183 1.1.1.2 mrg # (Very) slow multiply operations. Should probably be a tuning bit.
184 1.1.1.2 mrg define feature smallmul
185 1.1.1.2 mrg
186 1.1.1.3 mrg # Speculation Barrier Instruction for v8-A architectures, added by
187 1.1.1.3 mrg # default to v8.5-A
188 1.1.1.3 mrg define feature sb
189 1.1.1.3 mrg
190 1.1.1.3 mrg # Execution and Data Prediction Restriction Instruction for
191 1.1.1.3 mrg # v8-A architectures, added by default from v8.5-A
192 1.1.1.3 mrg define feature predres
193 1.1.1.3 mrg
194 1.1.1.2 mrg # Feature groups. Conventionally all (or mostly) upper case.
195 1.1.1.2 mrg # ALL_FPU lists all the feature bits associated with the floating-point
196 1.1.1.2 mrg # unit; these will all be removed if the floating-point unit is disabled
197 1.1.1.2 mrg # (eg -mfloat-abi=soft). ALL_FPU_INTERNAL must ONLY contain features that
198 1.1.1.2 mrg # form part of a named -mfpu option; it is used to map the capabilities
199 1.1.1.2 mrg # back to a named FPU for the benefit of the assembler.
200 1.1.1.2 mrg #
201 1.1.1.2 mrg # ALL_SIMD_INTERNAL and ALL_SIMD are similarly defined to help with the
202 1.1.1.2 mrg # construction of ALL_FPU and ALL_FPU_INTERNAL; they describe the SIMD
203 1.1.1.2 mrg # extensions that are either part of a named FPU or optional extensions
204 1.1.1.2 mrg # respectively.
205 1.1.1.2 mrg
206 1.1.1.2 mrg
207 1.1.1.2 mrg # List of all cryptographic extensions to stripout if crypto is
208 1.1.1.2 mrg # disabled. Currently, that's trivial, but we define it anyway for
209 1.1.1.2 mrg # consistency with the SIMD and FP disable lists.
210 1.1.1.2 mrg define fgroup ALL_CRYPTO crypto
211 1.1.1.2 mrg
212 1.1.1.2 mrg # List of all SIMD bits to strip out if SIMD is disabled. This does
213 1.1.1.2 mrg # strip off 32 D-registers, but does not remove support for
214 1.1.1.2 mrg # double-precision FP.
215 1.1.1.2 mrg define fgroup ALL_SIMD_INTERNAL fp_d32 neon ALL_CRYPTO
216 1.1.1.2 mrg define fgroup ALL_SIMD ALL_SIMD_INTERNAL dotprod fp16fml
217 1.1.1.2 mrg
218 1.1.1.2 mrg # List of all FPU bits to strip out if -mfpu is used to override the
219 1.1.1.2 mrg # default. fp16 is deliberately missing from this list.
220 1.1.1.2 mrg define fgroup ALL_FPU_INTERNAL vfpv2 vfpv3 vfpv4 fpv5 fp16conv fp_dbl ALL_SIMD_INTERNAL
221 1.1.1.2 mrg
222 1.1.1.2 mrg # Similarly, but including fp16 and other extensions that aren't part of
223 1.1.1.2 mrg # -mfpu support.
224 1.1.1.2 mrg define fgroup ALL_FP fp16 ALL_FPU_INTERNAL
225 1.1.1.2 mrg
226 1.1.1.3 mrg define fgroup ARMv4 armv4 notm
227 1.1.1.2 mrg define fgroup ARMv4t ARMv4 thumb
228 1.1.1.3 mrg define fgroup ARMv5t ARMv4t armv5t
229 1.1.1.3 mrg define fgroup ARMv5te ARMv5t armv5te
230 1.1.1.2 mrg define fgroup ARMv5tej ARMv5te
231 1.1.1.2 mrg define fgroup ARMv6 ARMv5te armv6 be8
232 1.1.1.2 mrg define fgroup ARMv6j ARMv6
233 1.1.1.2 mrg define fgroup ARMv6k ARMv6 armv6k
234 1.1.1.2 mrg define fgroup ARMv6z ARMv6
235 1.1.1.2 mrg define fgroup ARMv6kz ARMv6k quirk_armv6kz
236 1.1.1.2 mrg define fgroup ARMv6zk ARMv6k
237 1.1.1.2 mrg define fgroup ARMv6t2 ARMv6 thumb2
238 1.1.1.2 mrg # This is suspect. ARMv6-m doesn't really pull in any useful features
239 1.1.1.2 mrg # from ARMv5* or ARMv6.
240 1.1.1.3 mrg define fgroup ARMv6m armv4 thumb armv5t armv5te armv6 be8
241 1.1.1.2 mrg # This is suspect, the 'common' ARMv7 subset excludes the thumb2 'DSP' and
242 1.1.1.2 mrg # integer SIMD instructions that are in ARMv6T2. */
243 1.1.1.2 mrg define fgroup ARMv7 ARMv6m thumb2 armv7
244 1.1.1.2 mrg
245 1.1.1.2 mrg define fgroup ARMv7a ARMv7 notm armv6k
246 1.1.1.2 mrg define fgroup ARMv7ve ARMv7a adiv tdiv lpae mp sec
247 1.1.1.2 mrg define fgroup ARMv7r ARMv7a tdiv
248 1.1.1.2 mrg define fgroup ARMv7m ARMv7 tdiv
249 1.1.1.2 mrg define fgroup ARMv7em ARMv7m armv7em
250 1.1.1.2 mrg define fgroup ARMv8a ARMv7ve armv8
251 1.1.1.2 mrg define fgroup ARMv8_1a ARMv8a crc32 armv8_1
252 1.1.1.2 mrg define fgroup ARMv8_2a ARMv8_1a armv8_2
253 1.1.1.2 mrg define fgroup ARMv8_3a ARMv8_2a armv8_3
254 1.1.1.2 mrg define fgroup ARMv8_4a ARMv8_3a armv8_4
255 1.1.1.3 mrg define fgroup ARMv8_5a ARMv8_4a armv8_5 sb predres
256 1.1.1.2 mrg define fgroup ARMv8m_base ARMv6m armv8 cmse tdiv
257 1.1.1.2 mrg define fgroup ARMv8m_main ARMv7m armv8 cmse
258 1.1.1.2 mrg define fgroup ARMv8r ARMv8a
259 1.1.1.2 mrg
260 1.1.1.2 mrg # Useful combinations.
261 1.1.1.2 mrg define fgroup VFPv2 vfpv2
262 1.1.1.2 mrg define fgroup VFPv3 VFPv2 vfpv3
263 1.1.1.2 mrg define fgroup VFPv4 VFPv3 vfpv4 fp16conv
264 1.1.1.2 mrg define fgroup FPv5 VFPv4 fpv5
265 1.1.1.2 mrg
266 1.1.1.2 mrg define fgroup FP_DBL fp_dbl
267 1.1.1.2 mrg define fgroup FP_D32 FP_DBL fp_d32
268 1.1.1.2 mrg define fgroup FP_ARMv8 FPv5 FP_D32
269 1.1.1.2 mrg define fgroup NEON FP_D32 neon
270 1.1.1.2 mrg define fgroup CRYPTO NEON crypto
271 1.1.1.2 mrg define fgroup DOTPROD NEON dotprod
272 1.1.1.2 mrg
273 1.1.1.2 mrg # List of all quirk bits to strip out when comparing CPU features with
274 1.1.1.2 mrg # architectures.
275 1.1.1.2 mrg # xscale isn't really a 'quirk', but it isn't an architecture either and we
276 1.1.1.2 mrg # need to ignore it for matching purposes.
277 1.1.1.2 mrg define fgroup ALL_QUIRKS quirk_no_volatile_ce quirk_armv6kz quirk_cm3_ldrd xscale
278 1.1.1.2 mrg
279 1.1 mrg # Architecture entries
280 1.1 mrg # format:
281 1.1 mrg # begin arch <name>
282 1.1 mrg # tune for <cpu>
283 1.1 mrg # [tune flags <list>]
284 1.1 mrg # base <name>
285 1.1.1.2 mrg # [profile <A|R|M>]
286 1.1 mrg # isa <isa-flags-list>
287 1.1 mrg # end arch <name>
288 1.1 mrg #
289 1.1 mrg
290 1.1 mrg begin arch armv4
291 1.1 mrg tune for arm7tdmi
292 1.1 mrg tune flags CO_PROC
293 1.1 mrg base 4
294 1.1.1.3 mrg isa ARMv4
295 1.1 mrg end arch armv4
296 1.1 mrg
297 1.1 mrg begin arch armv4t
298 1.1 mrg tune for arm7tdmi
299 1.1 mrg tune flags CO_PROC
300 1.1 mrg base 4T
301 1.1 mrg isa ARMv4t
302 1.1 mrg end arch armv4t
303 1.1 mrg
304 1.1 mrg begin arch armv5t
305 1.1 mrg tune for arm10tdmi
306 1.1 mrg tune flags CO_PROC
307 1.1 mrg base 5T
308 1.1 mrg isa ARMv5t
309 1.1 mrg end arch armv5t
310 1.1 mrg
311 1.1 mrg begin arch armv5te
312 1.1 mrg tune for arm1026ej-s
313 1.1 mrg tune flags CO_PROC
314 1.1 mrg base 5TE
315 1.1 mrg isa ARMv5te
316 1.1.1.2 mrg option fp add VFPv2 FP_DBL
317 1.1.1.2 mrg optalias vfpv2 fp
318 1.1.1.2 mrg option nofp remove ALL_FP
319 1.1 mrg end arch armv5te
320 1.1 mrg
321 1.1 mrg begin arch armv5tej
322 1.1 mrg tune for arm1026ej-s
323 1.1 mrg tune flags CO_PROC
324 1.1 mrg base 5TEJ
325 1.1 mrg isa ARMv5tej
326 1.1.1.2 mrg option fp add VFPv2 FP_DBL
327 1.1.1.2 mrg optalias vfpv2 fp
328 1.1.1.2 mrg option nofp remove ALL_FP
329 1.1 mrg end arch armv5tej
330 1.1 mrg
331 1.1 mrg begin arch armv6
332 1.1 mrg tune for arm1136j-s
333 1.1 mrg tune flags CO_PROC
334 1.1 mrg base 6
335 1.1 mrg isa ARMv6
336 1.1.1.2 mrg option fp add VFPv2 FP_DBL
337 1.1.1.2 mrg optalias vfpv2 fp
338 1.1.1.2 mrg option nofp remove ALL_FP
339 1.1 mrg end arch armv6
340 1.1 mrg
341 1.1 mrg begin arch armv6j
342 1.1 mrg tune for arm1136j-s
343 1.1 mrg tune flags CO_PROC
344 1.1 mrg base 6J
345 1.1 mrg isa ARMv6j
346 1.1.1.2 mrg option fp add VFPv2 FP_DBL
347 1.1.1.2 mrg optalias vfpv2 fp
348 1.1.1.2 mrg option nofp remove ALL_FP
349 1.1 mrg end arch armv6j
350 1.1 mrg
351 1.1 mrg begin arch armv6k
352 1.1 mrg tune for mpcore
353 1.1 mrg tune flags CO_PROC
354 1.1 mrg base 6K
355 1.1 mrg isa ARMv6k
356 1.1.1.2 mrg option fp add VFPv2 FP_DBL
357 1.1.1.2 mrg optalias vfpv2 fp
358 1.1.1.2 mrg option nofp remove ALL_FP
359 1.1 mrg end arch armv6k
360 1.1 mrg
361 1.1 mrg begin arch armv6z
362 1.1 mrg tune for arm1176jz-s
363 1.1 mrg tune flags CO_PROC
364 1.1 mrg base 6Z
365 1.1 mrg isa ARMv6z
366 1.1.1.2 mrg option fp add VFPv2 FP_DBL
367 1.1.1.2 mrg optalias vfpv2 fp
368 1.1.1.2 mrg option nofp remove ALL_FP
369 1.1 mrg end arch armv6z
370 1.1 mrg
371 1.1 mrg begin arch armv6kz
372 1.1 mrg tune for arm1176jz-s
373 1.1 mrg tune flags CO_PROC
374 1.1 mrg base 6KZ
375 1.1 mrg isa ARMv6kz
376 1.1.1.2 mrg option fp add VFPv2 FP_DBL
377 1.1.1.2 mrg optalias vfpv2 fp
378 1.1.1.2 mrg option nofp remove ALL_FP
379 1.1 mrg end arch armv6kz
380 1.1 mrg
381 1.1 mrg begin arch armv6zk
382 1.1 mrg tune for arm1176jz-s
383 1.1 mrg tune flags CO_PROC
384 1.1 mrg base 6KZ
385 1.1 mrg isa ARMv6kz
386 1.1.1.2 mrg option fp add VFPv2 FP_DBL
387 1.1.1.2 mrg optalias vfpv2 fp
388 1.1.1.2 mrg option nofp remove ALL_FP
389 1.1 mrg end arch armv6zk
390 1.1 mrg
391 1.1 mrg begin arch armv6t2
392 1.1 mrg tune for arm1156t2-s
393 1.1 mrg tune flags CO_PROC
394 1.1 mrg base 6T2
395 1.1 mrg isa ARMv6t2
396 1.1.1.2 mrg option fp add VFPv2 FP_DBL
397 1.1.1.2 mrg optalias vfpv2 fp
398 1.1.1.2 mrg option nofp remove ALL_FP
399 1.1 mrg end arch armv6t2
400 1.1 mrg
401 1.1 mrg begin arch armv6-m
402 1.1 mrg tune for cortex-m1
403 1.1 mrg base 6M
404 1.1.1.2 mrg profile M
405 1.1 mrg isa ARMv6m
406 1.1 mrg end arch armv6-m
407 1.1 mrg
408 1.1.1.2 mrg # This is now equivalent to armv6-m, but we keep it because some
409 1.1.1.2 mrg # versions of GAS still distinguish between the two.
410 1.1 mrg begin arch armv6s-m
411 1.1 mrg tune for cortex-m1
412 1.1 mrg base 6M
413 1.1.1.2 mrg profile M
414 1.1 mrg isa ARMv6m
415 1.1 mrg end arch armv6s-m
416 1.1 mrg
417 1.1 mrg begin arch armv7
418 1.1 mrg tune for cortex-a8
419 1.1 mrg tune flags CO_PROC
420 1.1 mrg base 7
421 1.1 mrg isa ARMv7
422 1.1.1.2 mrg # fp => VFPv3-d16 (only useful for the A+R profile subset).
423 1.1.1.2 mrg option fp add VFPv3 FP_DBL
424 1.1.1.2 mrg optalias vfpv3-d16 fp
425 1.1.1.2 mrg option nofp remove ALL_FP
426 1.1 mrg end arch armv7
427 1.1 mrg
428 1.1 mrg begin arch armv7-a
429 1.1 mrg tune for cortex-a8
430 1.1 mrg tune flags CO_PROC
431 1.1 mrg base 7A
432 1.1.1.2 mrg profile A
433 1.1 mrg isa ARMv7a
434 1.1.1.2 mrg option mp add mp
435 1.1.1.2 mrg option sec add sec
436 1.1.1.2 mrg # fp => VFPv3-d16, simd => neon-vfpv3
437 1.1.1.2 mrg option fp add VFPv3 FP_DBL
438 1.1.1.2 mrg optalias vfpv3-d16 fp
439 1.1.1.2 mrg option vfpv3 add VFPv3 FP_D32
440 1.1.1.2 mrg option vfpv3-d16-fp16 add VFPv3 FP_DBL fp16conv
441 1.1.1.2 mrg option vfpv3-fp16 add VFPv3 FP_DBL FP_D32 fp16conv
442 1.1.1.2 mrg option vfpv4-d16 add VFPv4 FP_DBL
443 1.1.1.2 mrg option vfpv4 add VFPv4 FP_D32
444 1.1.1.2 mrg option simd add VFPv3 NEON
445 1.1.1.2 mrg optalias neon simd
446 1.1.1.2 mrg optalias neon-vfpv3 simd
447 1.1.1.2 mrg option neon-fp16 add VFPv3 NEON fp16conv
448 1.1.1.2 mrg option neon-vfpv4 add VFPv4 NEON
449 1.1.1.2 mrg option nosimd remove ALL_SIMD
450 1.1.1.2 mrg option nofp remove ALL_FP
451 1.1 mrg end arch armv7-a
452 1.1 mrg
453 1.1 mrg begin arch armv7ve
454 1.1 mrg tune for cortex-a8
455 1.1 mrg tune flags CO_PROC
456 1.1 mrg base 7A
457 1.1.1.2 mrg profile A
458 1.1 mrg isa ARMv7ve
459 1.1.1.2 mrg # fp => VFPv4-d16, simd => neon-vfpv4
460 1.1.1.2 mrg option vfpv3-d16 add VFPv3 FP_DBL
461 1.1.1.2 mrg option vfpv3 add VFPv3 FP_D32
462 1.1.1.2 mrg option vfpv3-d16-fp16 add VFPv3 FP_DBL fp16conv
463 1.1.1.2 mrg option vfpv3-fp16 add VFPv3 FP_DBL FP_D32 fp16conv
464 1.1.1.2 mrg option fp add VFPv4 FP_DBL
465 1.1.1.2 mrg optalias vfpv4-d16 fp
466 1.1.1.2 mrg option vfpv4 add VFPv4 FP_D32
467 1.1.1.2 mrg option neon add VFPv3 NEON
468 1.1.1.2 mrg optalias neon-vfpv3 neon
469 1.1.1.2 mrg option neon-fp16 add VFPv3 NEON fp16conv
470 1.1.1.2 mrg option simd add VFPv4 NEON
471 1.1.1.2 mrg optalias neon-vfpv4 simd
472 1.1.1.2 mrg option nosimd remove ALL_SIMD
473 1.1.1.2 mrg option nofp remove ALL_FP
474 1.1 mrg end arch armv7ve
475 1.1 mrg
476 1.1 mrg begin arch armv7-r
477 1.1 mrg tune for cortex-r4
478 1.1 mrg tune flags CO_PROC
479 1.1 mrg base 7R
480 1.1.1.2 mrg profile R
481 1.1 mrg isa ARMv7r
482 1.1.1.2 mrg # ARMv7-r uses VFPv3-d16
483 1.1.1.2 mrg option fp.sp add VFPv3
484 1.1.1.2 mrg optalias vfpv3xd fp.sp
485 1.1.1.2 mrg option fp add VFPv3 FP_DBL
486 1.1.1.2 mrg optalias vfpv3-d16 fp
487 1.1.1.2 mrg option vfpv3xd-fp16 add VFPv3 fp16conv
488 1.1.1.2 mrg option vfpv3-d16-fp16 add VFPv3 FP_DBL fp16conv
489 1.1.1.2 mrg option idiv add adiv
490 1.1.1.2 mrg option nofp remove ALL_FP
491 1.1.1.2 mrg option noidiv remove adiv
492 1.1 mrg end arch armv7-r
493 1.1 mrg
494 1.1 mrg begin arch armv7-m
495 1.1 mrg tune for cortex-m3
496 1.1 mrg tune flags CO_PROC
497 1.1 mrg base 7M
498 1.1.1.2 mrg profile M
499 1.1 mrg isa ARMv7m
500 1.1.1.2 mrg # In theory FP is permitted in v7-m, but in practice no implementations exist.
501 1.1.1.2 mrg # leave it out for now.
502 1.1 mrg end arch armv7-m
503 1.1 mrg
504 1.1 mrg begin arch armv7e-m
505 1.1 mrg tune for cortex-m4
506 1.1 mrg tune flags CO_PROC
507 1.1 mrg base 7EM
508 1.1.1.2 mrg profile M
509 1.1 mrg isa ARMv7em
510 1.1.1.2 mrg # fp => VFPv4-sp-d16; fpv5 => FPv5-sp-d16; fp.dp => FPv5-d16
511 1.1.1.2 mrg option fp add VFPv4
512 1.1.1.2 mrg optalias vfpv4-sp-d16 fp
513 1.1.1.2 mrg option fpv5 add FPv5
514 1.1.1.2 mrg option fp.dp add FPv5 FP_DBL
515 1.1.1.2 mrg optalias fpv5-d16 fp.dp
516 1.1.1.2 mrg option nofp remove ALL_FP
517 1.1 mrg end arch armv7e-m
518 1.1 mrg
519 1.1 mrg begin arch armv8-a
520 1.1 mrg tune for cortex-a53
521 1.1 mrg tune flags CO_PROC
522 1.1 mrg base 8A
523 1.1.1.2 mrg profile A
524 1.1 mrg isa ARMv8a
525 1.1.1.2 mrg option crc add crc32
526 1.1.1.2 mrg option simd add FP_ARMv8 NEON
527 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
528 1.1.1.2 mrg option nocrypto remove ALL_CRYPTO
529 1.1.1.2 mrg option nofp remove ALL_FP
530 1.1.1.3 mrg option sb add sb
531 1.1.1.3 mrg option predres add predres
532 1.1 mrg end arch armv8-a
533 1.1 mrg
534 1.1 mrg begin arch armv8.1-a
535 1.1 mrg tune for cortex-a53
536 1.1 mrg tune flags CO_PROC
537 1.1 mrg base 8A
538 1.1.1.2 mrg profile A
539 1.1 mrg isa ARMv8_1a
540 1.1.1.2 mrg option simd add FP_ARMv8 NEON
541 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
542 1.1.1.2 mrg option nocrypto remove ALL_CRYPTO
543 1.1.1.2 mrg option nofp remove ALL_FP
544 1.1.1.3 mrg option sb add sb
545 1.1.1.3 mrg option predres add predres
546 1.1 mrg end arch armv8.1-a
547 1.1 mrg
548 1.1 mrg begin arch armv8.2-a
549 1.1 mrg tune for cortex-a53
550 1.1 mrg tune flags CO_PROC
551 1.1 mrg base 8A
552 1.1.1.2 mrg profile A
553 1.1 mrg isa ARMv8_2a
554 1.1.1.2 mrg option simd add FP_ARMv8 NEON
555 1.1.1.2 mrg option fp16 add fp16 FP_ARMv8 NEON
556 1.1.1.2 mrg option fp16fml add fp16fml fp16 FP_ARMv8 NEON
557 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
558 1.1.1.2 mrg option nocrypto remove ALL_CRYPTO
559 1.1.1.2 mrg option nofp remove ALL_FP
560 1.1.1.2 mrg option dotprod add FP_ARMv8 DOTPROD
561 1.1.1.3 mrg option sb add sb
562 1.1.1.3 mrg option predres add predres
563 1.1 mrg end arch armv8.2-a
564 1.1 mrg
565 1.1.1.2 mrg begin arch armv8.3-a
566 1.1.1.2 mrg tune for cortex-a53
567 1.1.1.2 mrg tune flags CO_PROC
568 1.1.1.2 mrg base 8A
569 1.1.1.2 mrg profile A
570 1.1.1.2 mrg isa ARMv8_3a
571 1.1.1.2 mrg option simd add FP_ARMv8 NEON
572 1.1.1.2 mrg option fp16 add fp16 FP_ARMv8 NEON
573 1.1.1.2 mrg option fp16fml add fp16fml fp16 FP_ARMv8 NEON
574 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
575 1.1.1.2 mrg option nocrypto remove ALL_CRYPTO
576 1.1.1.2 mrg option nofp remove ALL_FP
577 1.1.1.2 mrg option dotprod add FP_ARMv8 DOTPROD
578 1.1.1.3 mrg option sb add sb
579 1.1.1.3 mrg option predres add predres
580 1.1.1.2 mrg end arch armv8.3-a
581 1.1.1.2 mrg
582 1.1.1.2 mrg begin arch armv8.4-a
583 1.1 mrg tune for cortex-a53
584 1.1 mrg tune flags CO_PROC
585 1.1 mrg base 8A
586 1.1.1.2 mrg profile A
587 1.1.1.2 mrg isa ARMv8_4a
588 1.1.1.2 mrg option simd add FP_ARMv8 DOTPROD
589 1.1.1.2 mrg option fp16 add fp16 fp16fml FP_ARMv8 DOTPROD
590 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO DOTPROD
591 1.1.1.2 mrg option nocrypto remove ALL_CRYPTO
592 1.1.1.2 mrg option nofp remove ALL_FP
593 1.1.1.3 mrg option sb add sb
594 1.1.1.3 mrg option predres add predres
595 1.1.1.2 mrg end arch armv8.4-a
596 1.1 mrg
597 1.1.1.3 mrg begin arch armv8.5-a
598 1.1.1.3 mrg tune for cortex-a53
599 1.1.1.3 mrg tune flags CO_PROC
600 1.1.1.3 mrg base 8A
601 1.1.1.3 mrg profile A
602 1.1.1.3 mrg isa ARMv8_5a
603 1.1.1.3 mrg option simd add FP_ARMv8 DOTPROD
604 1.1.1.3 mrg option fp16 add fp16 fp16fml FP_ARMv8 DOTPROD
605 1.1.1.3 mrg option crypto add FP_ARMv8 CRYPTO DOTPROD
606 1.1.1.3 mrg option nocrypto remove ALL_CRYPTO
607 1.1.1.3 mrg option nofp remove ALL_FP
608 1.1.1.3 mrg end arch armv8.5-a
609 1.1.1.3 mrg
610 1.1 mrg begin arch armv8-m.base
611 1.1 mrg tune for cortex-m23
612 1.1 mrg base 8M_BASE
613 1.1.1.2 mrg profile M
614 1.1 mrg isa ARMv8m_base
615 1.1 mrg end arch armv8-m.base
616 1.1 mrg
617 1.1 mrg begin arch armv8-m.main
618 1.1 mrg tune for cortex-m7
619 1.1 mrg tune flags CO_PROC
620 1.1 mrg base 8M_MAIN
621 1.1.1.2 mrg profile M
622 1.1 mrg isa ARMv8m_main
623 1.1.1.2 mrg option dsp add armv7em
624 1.1.1.2 mrg # fp => FPv5-sp-d16; fp.dp => FPv5-d16
625 1.1.1.2 mrg option fp add FPv5
626 1.1.1.2 mrg option fp.dp add FPv5 FP_DBL
627 1.1.1.2 mrg option nofp remove ALL_FP
628 1.1.1.2 mrg option nodsp remove armv7em
629 1.1 mrg end arch armv8-m.main
630 1.1 mrg
631 1.1.1.2 mrg begin arch armv8-r
632 1.1.1.2 mrg tune for cortex-r52
633 1.1 mrg tune flags CO_PROC
634 1.1.1.2 mrg base 8R
635 1.1.1.2 mrg profile R
636 1.1.1.2 mrg isa ARMv8r
637 1.1.1.2 mrg option crc add crc32
638 1.1.1.2 mrg # fp.sp => fp-armv8 (d16); simd => simd + fp-armv8 + d32 + double precision
639 1.1.1.2 mrg # note: no fp option for fp-armv8 (d16) + double precision at the moment
640 1.1.1.2 mrg option fp.sp add FPv5
641 1.1.1.2 mrg option simd add FP_ARMv8 NEON
642 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
643 1.1.1.2 mrg option nocrypto remove ALL_CRYPTO
644 1.1.1.2 mrg option nofp remove ALL_FP
645 1.1.1.2 mrg end arch armv8-r
646 1.1 mrg
647 1.1 mrg begin arch iwmmxt
648 1.1 mrg tune for iwmmxt
649 1.1 mrg tune flags LDSCHED STRONG XSCALE
650 1.1 mrg base 5TE
651 1.1.1.2 mrg isa ARMv5te xscale iwmmxt
652 1.1 mrg end arch iwmmxt
653 1.1 mrg
654 1.1 mrg begin arch iwmmxt2
655 1.1 mrg tune for iwmmxt2
656 1.1 mrg tune flags LDSCHED STRONG XSCALE
657 1.1 mrg base 5TE
658 1.1.1.2 mrg isa ARMv5te xscale iwmmxt iwmmxt2
659 1.1 mrg end arch iwmmxt2
660 1.1 mrg
661 1.1 mrg # CPU entries
662 1.1 mrg # format:
663 1.1 mrg # begin cpu <name>
664 1.1 mrg # [cname <c-compatible-name>]
665 1.1.1.3 mrg # [alias <name>+]
666 1.1 mrg # [tune for <cpu-name>]
667 1.1 mrg # [tune flags <list>]
668 1.1 mrg # architecture <name>
669 1.1 mrg # [isa <additional-isa-flags-list>]
670 1.1.1.2 mrg # [option <name> add|remove <isa-list>]*
671 1.1.1.2 mrg # [optalias <name> <optname>]*
672 1.1 mrg # [costs <name>]
673 1.1.1.3 mrg # [vendor <vendor-id>
674 1.1.1.3 mrg # [part <part-id> [minrev [maxrev]]]
675 1.1 mrg # end cpu <name>
676 1.1 mrg #
677 1.1 mrg # If omitted, cname is formed from transforming the cpuname to convert
678 1.1 mrg # non-valid punctuation characters to '_'.
679 1.1.1.3 mrg # Any number of alias names may be specified for a CPU. If the name starts
680 1.1.1.3 mrg # with a '!' then it will be recognized as a valid name, but will not
681 1.1.1.3 mrg # be printed in any help text listing permitted CPUs.
682 1.1 mrg # If specified, tune for specifies a CPU target to use for tuning this core.
683 1.1 mrg # isa flags are appended to those defined by the architecture.
684 1.1.1.2 mrg # Each add option must have a distinct feature set and each remove
685 1.1.1.2 mrg # option must similarly have a distinct feature set. Option aliases can be
686 1.1.1.3 mrg # added with the optalias statement.
687 1.1.1.3 mrg # Vendor, part and revision information is used for native CPU and architecture
688 1.1.1.3 mrg # detection. All values must be in hex (lower case) with the leading '0x'
689 1.1.1.3 mrg # omitted. For example the cortex-a9 will have vendor 41 and part c09.
690 1.1.1.3 mrg # Revision information is used to match a subrange of part
691 1.1.1.3 mrg # revisions: minrev <= detected <= maxrev.
692 1.1.1.3 mrg # If a minrev or maxrev are omitted then minrev defaults to zero and maxrev
693 1.1.1.3 mrg # to infinity.
694 1.1.1.3 mrg # Revision information is not implemented yet; no part uses it.
695 1.1 mrg
696 1.1 mrg # V4 Architecture Processors
697 1.1 mrg begin cpu arm8
698 1.1 mrg tune flags LDSCHED
699 1.1 mrg architecture armv4
700 1.1 mrg costs fastmul
701 1.1 mrg end cpu arm8
702 1.1 mrg
703 1.1 mrg begin cpu arm810
704 1.1 mrg tune flags LDSCHED
705 1.1 mrg architecture armv4
706 1.1 mrg costs fastmul
707 1.1 mrg end cpu arm810
708 1.1 mrg
709 1.1 mrg begin cpu strongarm
710 1.1.1.3 mrg alias strongarm110 !strongarm1100 !strongarm1110
711 1.1 mrg tune flags LDSCHED STRONG
712 1.1 mrg architecture armv4
713 1.1 mrg costs strongarm
714 1.1 mrg end cpu strongarm
715 1.1 mrg
716 1.1 mrg begin cpu fa526
717 1.1 mrg tune flags LDSCHED
718 1.1 mrg architecture armv4
719 1.1 mrg costs fastmul
720 1.1 mrg end cpu fa526
721 1.1 mrg
722 1.1 mrg begin cpu fa626
723 1.1 mrg tune flags LDSCHED
724 1.1 mrg architecture armv4
725 1.1 mrg costs fastmul
726 1.1 mrg end cpu fa626
727 1.1 mrg
728 1.1 mrg
729 1.1 mrg # V4T Architecture Processors
730 1.1 mrg begin cpu arm7tdmi
731 1.1.1.3 mrg alias arm7tdmi-s
732 1.1 mrg tune flags CO_PROC
733 1.1 mrg architecture armv4t
734 1.1 mrg costs fastmul
735 1.1 mrg end cpu arm7tdmi
736 1.1 mrg
737 1.1 mrg begin cpu arm710t
738 1.1.1.3 mrg alias arm720t arm740t
739 1.1 mrg tune flags WBUF
740 1.1 mrg architecture armv4t
741 1.1 mrg costs fastmul
742 1.1 mrg end cpu arm710t
743 1.1 mrg
744 1.1 mrg begin cpu arm9
745 1.1 mrg tune flags LDSCHED
746 1.1 mrg architecture armv4t
747 1.1 mrg costs fastmul
748 1.1 mrg end cpu arm9
749 1.1 mrg
750 1.1 mrg begin cpu arm9tdmi
751 1.1 mrg tune flags LDSCHED
752 1.1 mrg architecture armv4t
753 1.1 mrg costs fastmul
754 1.1 mrg end cpu arm9tdmi
755 1.1 mrg
756 1.1 mrg begin cpu arm920t
757 1.1.1.3 mrg alias arm920 arm922t arm940t ep9312
758 1.1 mrg tune flags LDSCHED
759 1.1 mrg architecture armv4t
760 1.1 mrg costs fastmul
761 1.1 mrg end cpu arm920t
762 1.1 mrg
763 1.1 mrg
764 1.1 mrg # V5T Architecture Processors
765 1.1.1.2 mrg # These used VFPv1 which isn't supported by GCC
766 1.1 mrg begin cpu arm10tdmi
767 1.1.1.3 mrg alias arm1020t
768 1.1 mrg tune flags LDSCHED
769 1.1 mrg architecture armv5t
770 1.1 mrg costs fastmul
771 1.1 mrg end cpu arm10tdmi
772 1.1 mrg
773 1.1 mrg
774 1.1 mrg # V5TE Architecture Processors
775 1.1 mrg begin cpu arm9e
776 1.1.1.3 mrg alias arm946e-s arm966e-s arm968e-s
777 1.1 mrg tune flags LDSCHED
778 1.1.1.3 mrg architecture armv5te+fp
779 1.1.1.2 mrg option nofp remove ALL_FP
780 1.1 mrg costs 9e
781 1.1 mrg end cpu arm9e
782 1.1 mrg
783 1.1 mrg begin cpu arm10e
784 1.1.1.3 mrg alias arm1020e arm1022e
785 1.1 mrg tune flags LDSCHED
786 1.1.1.3 mrg architecture armv5te+fp
787 1.1.1.2 mrg option nofp remove ALL_FP
788 1.1 mrg costs fastmul
789 1.1 mrg end cpu arm10e
790 1.1 mrg
791 1.1 mrg begin cpu xscale
792 1.1 mrg tune flags LDSCHED XSCALE
793 1.1 mrg architecture armv5te
794 1.1.1.2 mrg isa xscale
795 1.1 mrg costs xscale
796 1.1 mrg end cpu xscale
797 1.1 mrg
798 1.1 mrg begin cpu iwmmxt
799 1.1 mrg tune flags LDSCHED XSCALE
800 1.1 mrg architecture iwmmxt
801 1.1 mrg costs xscale
802 1.1 mrg end cpu iwmmxt
803 1.1 mrg
804 1.1 mrg begin cpu iwmmxt2
805 1.1 mrg tune flags LDSCHED XSCALE
806 1.1 mrg architecture iwmmxt2
807 1.1 mrg costs xscale
808 1.1 mrg end cpu iwmmxt2
809 1.1 mrg
810 1.1 mrg begin cpu fa606te
811 1.1 mrg tune flags LDSCHED
812 1.1 mrg architecture armv5te
813 1.1 mrg costs 9e
814 1.1 mrg end cpu fa606te
815 1.1 mrg
816 1.1 mrg begin cpu fa626te
817 1.1 mrg tune flags LDSCHED
818 1.1 mrg architecture armv5te
819 1.1 mrg costs 9e
820 1.1 mrg end cpu fa626te
821 1.1 mrg
822 1.1 mrg begin cpu fmp626
823 1.1 mrg tune flags LDSCHED
824 1.1 mrg architecture armv5te
825 1.1 mrg costs 9e
826 1.1 mrg end cpu fmp626
827 1.1 mrg
828 1.1 mrg begin cpu fa726te
829 1.1 mrg tune flags LDSCHED
830 1.1 mrg architecture armv5te
831 1.1 mrg costs fa726te
832 1.1 mrg end cpu fa726te
833 1.1 mrg
834 1.1 mrg
835 1.1 mrg # V5TEJ Architecture Processors
836 1.1 mrg begin cpu arm926ej-s
837 1.1 mrg cname arm926ejs
838 1.1 mrg tune flags LDSCHED
839 1.1.1.3 mrg architecture armv5tej+fp
840 1.1.1.2 mrg option nofp remove ALL_FP
841 1.1 mrg costs 9e
842 1.1.1.3 mrg vendor 41
843 1.1.1.3 mrg part 926
844 1.1 mrg end cpu arm926ej-s
845 1.1 mrg
846 1.1 mrg begin cpu arm1026ej-s
847 1.1 mrg cname arm1026ejs
848 1.1 mrg tune flags LDSCHED
849 1.1.1.3 mrg architecture armv5tej+fp
850 1.1.1.2 mrg option nofp remove ALL_FP
851 1.1 mrg costs 9e
852 1.1.1.3 mrg vendor 41
853 1.1.1.3 mrg part a26
854 1.1 mrg end cpu arm1026ej-s
855 1.1 mrg
856 1.1 mrg
857 1.1 mrg # V6 Architecture Processors
858 1.1 mrg begin cpu arm1136j-s
859 1.1 mrg cname arm1136js
860 1.1 mrg tune flags LDSCHED
861 1.1 mrg architecture armv6j
862 1.1 mrg costs 9e
863 1.1 mrg end cpu arm1136j-s
864 1.1 mrg
865 1.1 mrg begin cpu arm1136jf-s
866 1.1 mrg cname arm1136jfs
867 1.1 mrg tune flags LDSCHED
868 1.1.1.3 mrg architecture armv6j+fp
869 1.1 mrg costs 9e
870 1.1.1.3 mrg vendor 41
871 1.1.1.3 mrg part b36
872 1.1 mrg end cpu arm1136jf-s
873 1.1 mrg
874 1.1 mrg begin cpu arm1176jz-s
875 1.1 mrg cname arm1176jzs
876 1.1 mrg tune flags LDSCHED
877 1.1 mrg architecture armv6kz
878 1.1 mrg costs 9e
879 1.1 mrg end cpu arm1176jz-s
880 1.1 mrg
881 1.1 mrg begin cpu arm1176jzf-s
882 1.1 mrg cname arm1176jzfs
883 1.1 mrg tune flags LDSCHED
884 1.1.1.3 mrg architecture armv6kz+fp
885 1.1 mrg costs 9e
886 1.1.1.3 mrg vendor 41
887 1.1.1.3 mrg part b76
888 1.1 mrg end cpu arm1176jzf-s
889 1.1 mrg
890 1.1 mrg begin cpu mpcorenovfp
891 1.1 mrg tune flags LDSCHED
892 1.1 mrg architecture armv6k
893 1.1 mrg costs 9e
894 1.1 mrg end cpu mpcorenovfp
895 1.1 mrg
896 1.1 mrg begin cpu mpcore
897 1.1 mrg tune flags LDSCHED
898 1.1.1.3 mrg architecture armv6k+fp
899 1.1 mrg costs 9e
900 1.1.1.3 mrg vendor 41
901 1.1.1.3 mrg part b02
902 1.1 mrg end cpu mpcore
903 1.1 mrg
904 1.1 mrg begin cpu arm1156t2-s
905 1.1 mrg cname arm1156t2s
906 1.1 mrg tune flags LDSCHED
907 1.1 mrg architecture armv6t2
908 1.1 mrg costs v6t2
909 1.1 mrg end cpu arm1156t2-s
910 1.1 mrg
911 1.1 mrg begin cpu arm1156t2f-s
912 1.1 mrg cname arm1156t2fs
913 1.1 mrg tune flags LDSCHED
914 1.1.1.3 mrg architecture armv6t2+fp
915 1.1 mrg costs v6t2
916 1.1.1.3 mrg vendor 41
917 1.1.1.3 mrg part b56
918 1.1 mrg end cpu arm1156t2f-s
919 1.1 mrg
920 1.1 mrg
921 1.1 mrg # V6M Architecture Processors
922 1.1 mrg begin cpu cortex-m1
923 1.1 mrg cname cortexm1
924 1.1 mrg tune flags LDSCHED
925 1.1.1.2 mrg architecture armv6s-m
926 1.1 mrg costs v6m
927 1.1.1.3 mrg vendor 41
928 1.1.1.3 mrg part c21
929 1.1 mrg end cpu cortex-m1
930 1.1 mrg
931 1.1 mrg begin cpu cortex-m0
932 1.1 mrg cname cortexm0
933 1.1 mrg tune flags LDSCHED
934 1.1.1.2 mrg architecture armv6s-m
935 1.1 mrg costs v6m
936 1.1.1.3 mrg vendor 41
937 1.1.1.3 mrg part c20
938 1.1 mrg end cpu cortex-m0
939 1.1 mrg
940 1.1 mrg begin cpu cortex-m0plus
941 1.1 mrg cname cortexm0plus
942 1.1 mrg tune flags LDSCHED
943 1.1.1.2 mrg architecture armv6s-m
944 1.1 mrg costs v6m
945 1.1 mrg end cpu cortex-m0plus
946 1.1 mrg
947 1.1 mrg
948 1.1 mrg # V6M Architecture Processors for small-multiply implementations.
949 1.1 mrg begin cpu cortex-m1.small-multiply
950 1.1 mrg cname cortexm1smallmultiply
951 1.1 mrg tune for cortex-m1
952 1.1 mrg tune flags LDSCHED SMALLMUL
953 1.1.1.2 mrg architecture armv6s-m
954 1.1 mrg costs v6m
955 1.1 mrg end cpu cortex-m1.small-multiply
956 1.1 mrg
957 1.1 mrg begin cpu cortex-m0.small-multiply
958 1.1 mrg cname cortexm0smallmultiply
959 1.1 mrg tune for cortex-m0
960 1.1 mrg tune flags LDSCHED SMALLMUL
961 1.1.1.2 mrg architecture armv6s-m
962 1.1 mrg costs v6m
963 1.1 mrg end cpu cortex-m0.small-multiply
964 1.1 mrg
965 1.1 mrg begin cpu cortex-m0plus.small-multiply
966 1.1 mrg cname cortexm0plussmallmultiply
967 1.1 mrg tune for cortex-m0plus
968 1.1 mrg tune flags LDSCHED SMALLMUL
969 1.1.1.2 mrg architecture armv6s-m
970 1.1 mrg costs v6m
971 1.1 mrg end cpu cortex-m0plus.small-multiply
972 1.1 mrg
973 1.1 mrg
974 1.1 mrg # V7 Architecture Processors
975 1.1 mrg begin cpu generic-armv7-a
976 1.1 mrg cname genericv7a
977 1.1 mrg tune flags LDSCHED
978 1.1.1.3 mrg architecture armv7-a+fp
979 1.1.1.2 mrg option mp add mp
980 1.1.1.2 mrg option sec add sec
981 1.1.1.2 mrg option vfpv3-d16 add VFPv3 FP_DBL
982 1.1.1.2 mrg option vfpv3 add VFPv3 FP_D32
983 1.1.1.2 mrg option vfpv3-d16-fp16 add VFPv3 FP_DBL fp16conv
984 1.1.1.2 mrg option vfpv3-fp16 add VFPv3 FP_D32 fp16conv
985 1.1.1.2 mrg option vfpv4-d16 add VFPv4 FP_DBL
986 1.1.1.2 mrg option vfpv4 add VFPv4 FP_D32
987 1.1.1.2 mrg option simd add VFPv3 NEON
988 1.1.1.2 mrg optalias neon simd
989 1.1.1.2 mrg optalias neon-vfpv3 simd
990 1.1.1.2 mrg option neon-fp16 add VFPv3 NEON fp16conv
991 1.1.1.2 mrg option neon-vfpv4 add VFPv4 NEON
992 1.1.1.2 mrg option nosimd remove ALL_SIMD
993 1.1.1.2 mrg option nofp remove ALL_FP
994 1.1 mrg costs cortex
995 1.1 mrg end cpu generic-armv7-a
996 1.1 mrg
997 1.1 mrg begin cpu cortex-a5
998 1.1 mrg cname cortexa5
999 1.1 mrg tune flags LDSCHED
1000 1.1.1.3 mrg architecture armv7-a+mp+sec+neon-fp16
1001 1.1.1.2 mrg option nosimd remove ALL_SIMD
1002 1.1.1.2 mrg option nofp remove ALL_FP
1003 1.1 mrg costs cortex_a5
1004 1.1.1.3 mrg vendor 41
1005 1.1.1.3 mrg part c05
1006 1.1 mrg end cpu cortex-a5
1007 1.1 mrg
1008 1.1 mrg begin cpu cortex-a7
1009 1.1 mrg cname cortexa7
1010 1.1 mrg tune flags LDSCHED
1011 1.1.1.3 mrg architecture armv7ve+simd
1012 1.1.1.2 mrg option nosimd remove ALL_SIMD
1013 1.1.1.2 mrg option nofp remove ALL_FP
1014 1.1 mrg costs cortex_a7
1015 1.1.1.3 mrg vendor 41
1016 1.1.1.3 mrg part c07
1017 1.1 mrg end cpu cortex-a7
1018 1.1 mrg
1019 1.1 mrg begin cpu cortex-a8
1020 1.1 mrg cname cortexa8
1021 1.1 mrg tune flags LDSCHED
1022 1.1.1.3 mrg architecture armv7-a+sec+simd
1023 1.1.1.2 mrg option nofp remove ALL_FP
1024 1.1 mrg costs cortex_a8
1025 1.1.1.3 mrg vendor 41
1026 1.1.1.3 mrg part c08
1027 1.1 mrg end cpu cortex-a8
1028 1.1 mrg
1029 1.1 mrg begin cpu cortex-a9
1030 1.1 mrg cname cortexa9
1031 1.1 mrg tune flags LDSCHED
1032 1.1.1.3 mrg architecture armv7-a+mp+sec+neon-fp16
1033 1.1.1.2 mrg option nosimd remove ALL_SIMD
1034 1.1.1.2 mrg option nofp remove ALL_FP
1035 1.1 mrg costs cortex_a9
1036 1.1.1.3 mrg vendor 41
1037 1.1.1.3 mrg part c09
1038 1.1 mrg end cpu cortex-a9
1039 1.1 mrg
1040 1.1 mrg begin cpu cortex-a12
1041 1.1 mrg cname cortexa12
1042 1.1 mrg tune for cortex-a17
1043 1.1 mrg tune flags LDSCHED
1044 1.1.1.3 mrg architecture armv7ve+simd
1045 1.1.1.2 mrg option nofp remove ALL_FP
1046 1.1 mrg costs cortex_a12
1047 1.1.1.3 mrg vendor 41
1048 1.1.1.3 mrg part c0d
1049 1.1 mrg end cpu cortex-a12
1050 1.1 mrg
1051 1.1 mrg begin cpu cortex-a15
1052 1.1 mrg cname cortexa15
1053 1.1 mrg tune flags LDSCHED
1054 1.1.1.3 mrg architecture armv7ve+simd
1055 1.1.1.2 mrg option nofp remove ALL_FP
1056 1.1 mrg costs cortex_a15
1057 1.1.1.3 mrg vendor 41
1058 1.1.1.3 mrg part c0f
1059 1.1 mrg end cpu cortex-a15
1060 1.1 mrg
1061 1.1 mrg begin cpu cortex-a17
1062 1.1 mrg cname cortexa17
1063 1.1 mrg tune flags LDSCHED
1064 1.1.1.3 mrg architecture armv7ve+simd
1065 1.1.1.2 mrg option nofp remove ALL_FP
1066 1.1 mrg costs cortex_a12
1067 1.1.1.3 mrg vendor 41
1068 1.1.1.3 mrg part c0e
1069 1.1 mrg end cpu cortex-a17
1070 1.1 mrg
1071 1.1 mrg begin cpu cortex-r4
1072 1.1 mrg cname cortexr4
1073 1.1 mrg tune flags LDSCHED
1074 1.1 mrg architecture armv7-r
1075 1.1 mrg costs cortex
1076 1.1 mrg end cpu cortex-r4
1077 1.1 mrg
1078 1.1 mrg begin cpu cortex-r4f
1079 1.1 mrg cname cortexr4f
1080 1.1 mrg tune flags LDSCHED
1081 1.1.1.3 mrg architecture armv7-r+fp
1082 1.1 mrg costs cortex
1083 1.1.1.3 mrg vendor 41
1084 1.1.1.3 mrg part c14
1085 1.1 mrg end cpu cortex-r4f
1086 1.1 mrg
1087 1.1 mrg begin cpu cortex-r5
1088 1.1 mrg cname cortexr5
1089 1.1 mrg tune flags LDSCHED
1090 1.1.1.3 mrg architecture armv7-r+idiv+fp
1091 1.1.1.2 mrg option nofp.dp remove FP_DBL
1092 1.1.1.2 mrg option nofp remove ALL_FP
1093 1.1 mrg costs cortex
1094 1.1.1.3 mrg vendor 41
1095 1.1.1.3 mrg part c15
1096 1.1 mrg end cpu cortex-r5
1097 1.1 mrg
1098 1.1 mrg begin cpu cortex-r7
1099 1.1 mrg cname cortexr7
1100 1.1 mrg tune flags LDSCHED
1101 1.1.1.3 mrg architecture armv7-r+idiv+vfpv3-d16-fp16
1102 1.1.1.2 mrg option nofp.dp remove FP_DBL
1103 1.1.1.2 mrg option nofp remove ALL_FP
1104 1.1 mrg costs cortex
1105 1.1.1.3 mrg vendor 41
1106 1.1.1.3 mrg part c17
1107 1.1 mrg end cpu cortex-r7
1108 1.1 mrg
1109 1.1 mrg begin cpu cortex-r8
1110 1.1 mrg cname cortexr8
1111 1.1 mrg tune for cortex-r7
1112 1.1 mrg tune flags LDSCHED
1113 1.1.1.3 mrg architecture armv7-r+idiv+vfpv3-d16-fp16
1114 1.1.1.2 mrg option nofp.dp remove FP_DBL
1115 1.1.1.2 mrg option nofp remove ALL_FP
1116 1.1 mrg costs cortex
1117 1.1.1.3 mrg vendor 41
1118 1.1.1.3 mrg part c18
1119 1.1 mrg end cpu cortex-r8
1120 1.1 mrg
1121 1.1 mrg begin cpu cortex-m7
1122 1.1 mrg cname cortexm7
1123 1.1 mrg tune flags LDSCHED
1124 1.1.1.3 mrg architecture armv7e-m+fp.dp
1125 1.1 mrg isa quirk_no_volatile_ce
1126 1.1.1.2 mrg option nofp.dp remove FP_DBL
1127 1.1.1.2 mrg option nofp remove ALL_FP
1128 1.1 mrg costs cortex_m7
1129 1.1 mrg end cpu cortex-m7
1130 1.1 mrg
1131 1.1 mrg begin cpu cortex-m4
1132 1.1 mrg cname cortexm4
1133 1.1 mrg tune flags LDSCHED
1134 1.1.1.3 mrg architecture armv7e-m+fp
1135 1.1.1.2 mrg option nofp remove ALL_FP
1136 1.1 mrg costs v7m
1137 1.1.1.3 mrg vendor 41
1138 1.1.1.3 mrg part c24
1139 1.1 mrg end cpu cortex-m4
1140 1.1 mrg
1141 1.1 mrg begin cpu cortex-m3
1142 1.1 mrg cname cortexm3
1143 1.1 mrg tune flags LDSCHED
1144 1.1 mrg architecture armv7-m
1145 1.1 mrg isa quirk_cm3_ldrd
1146 1.1 mrg costs v7m
1147 1.1.1.3 mrg vendor 41
1148 1.1.1.3 mrg part c23
1149 1.1 mrg end cpu cortex-m3
1150 1.1 mrg
1151 1.1 mrg begin cpu marvell-pj4
1152 1.1 mrg tune flags LDSCHED
1153 1.1.1.2 mrg architecture armv7-a+mp+sec
1154 1.1 mrg costs marvell_pj4
1155 1.1 mrg end cpu marvell-pj4
1156 1.1 mrg
1157 1.1 mrg
1158 1.1 mrg # V7 big.LITTLE implementations
1159 1.1 mrg begin cpu cortex-a15.cortex-a7
1160 1.1 mrg cname cortexa15cortexa7
1161 1.1 mrg tune for cortex-a7
1162 1.1 mrg tune flags LDSCHED
1163 1.1.1.3 mrg architecture armv7ve+simd
1164 1.1.1.2 mrg option nofp remove ALL_FP
1165 1.1 mrg costs cortex_a15
1166 1.1 mrg end cpu cortex-a15.cortex-a7
1167 1.1 mrg
1168 1.1 mrg begin cpu cortex-a17.cortex-a7
1169 1.1 mrg cname cortexa17cortexa7
1170 1.1 mrg tune for cortex-a7
1171 1.1 mrg tune flags LDSCHED
1172 1.1.1.3 mrg architecture armv7ve+simd
1173 1.1.1.2 mrg option nofp remove ALL_FP
1174 1.1 mrg costs cortex_a12
1175 1.1 mrg end cpu cortex-a17.cortex-a7
1176 1.1 mrg
1177 1.1 mrg
1178 1.1 mrg # V8 A-profile Architecture Processors
1179 1.1 mrg begin cpu cortex-a32
1180 1.1 mrg cname cortexa32
1181 1.1 mrg tune for cortex-a53
1182 1.1 mrg tune flags LDSCHED
1183 1.1.1.3 mrg architecture armv8-a+crc+simd
1184 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1185 1.1.1.2 mrg option nofp remove ALL_FP
1186 1.1 mrg costs cortex_a35
1187 1.1.1.3 mrg vendor 41
1188 1.1.1.3 mrg part d01
1189 1.1 mrg end cpu cortex-a32
1190 1.1 mrg
1191 1.1 mrg begin cpu cortex-a35
1192 1.1 mrg cname cortexa35
1193 1.1 mrg tune for cortex-a53
1194 1.1 mrg tune flags LDSCHED
1195 1.1.1.3 mrg architecture armv8-a+crc+simd
1196 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1197 1.1.1.2 mrg option nofp remove ALL_FP
1198 1.1 mrg costs cortex_a35
1199 1.1.1.3 mrg vendor 41
1200 1.1.1.3 mrg part d04
1201 1.1 mrg end cpu cortex-a35
1202 1.1 mrg
1203 1.1 mrg begin cpu cortex-a53
1204 1.1 mrg cname cortexa53
1205 1.1 mrg tune flags LDSCHED
1206 1.1.1.3 mrg architecture armv8-a+crc+simd
1207 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1208 1.1.1.2 mrg option nofp remove ALL_FP
1209 1.1 mrg costs cortex_a53
1210 1.1.1.3 mrg vendor 41
1211 1.1.1.3 mrg part d03
1212 1.1 mrg end cpu cortex-a53
1213 1.1 mrg
1214 1.1 mrg begin cpu cortex-a57
1215 1.1 mrg cname cortexa57
1216 1.1 mrg tune flags LDSCHED
1217 1.1.1.3 mrg architecture armv8-a+crc+simd
1218 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1219 1.1 mrg costs cortex_a57
1220 1.1.1.3 mrg vendor 41
1221 1.1.1.3 mrg part d07
1222 1.1 mrg end cpu cortex-a57
1223 1.1 mrg
1224 1.1 mrg begin cpu cortex-a72
1225 1.1 mrg cname cortexa72
1226 1.1 mrg tune for cortex-a57
1227 1.1 mrg tune flags LDSCHED
1228 1.1.1.3 mrg architecture armv8-a+crc+simd
1229 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1230 1.1 mrg costs cortex_a57
1231 1.1.1.3 mrg vendor 41
1232 1.1.1.3 mrg part d08
1233 1.1 mrg end cpu cortex-a72
1234 1.1 mrg
1235 1.1 mrg begin cpu cortex-a73
1236 1.1 mrg cname cortexa73
1237 1.1 mrg tune for cortex-a57
1238 1.1 mrg tune flags LDSCHED
1239 1.1.1.3 mrg architecture armv8-a+crc+simd
1240 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1241 1.1 mrg costs cortex_a73
1242 1.1.1.3 mrg vendor 41
1243 1.1.1.3 mrg part d09
1244 1.1 mrg end cpu cortex-a73
1245 1.1 mrg
1246 1.1 mrg begin cpu exynos-m1
1247 1.1 mrg cname exynosm1
1248 1.1 mrg tune flags LDSCHED
1249 1.1.1.3 mrg architecture armv8-a+crc+simd
1250 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1251 1.1 mrg costs exynosm1
1252 1.1 mrg end cpu exynos-m1
1253 1.1 mrg
1254 1.1 mrg begin cpu xgene1
1255 1.1 mrg tune flags LDSCHED
1256 1.1.1.3 mrg architecture armv8-a+simd
1257 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1258 1.1 mrg costs xgene1
1259 1.1 mrg end cpu xgene1
1260 1.1 mrg
1261 1.1 mrg # V8 A-profile big.LITTLE implementations
1262 1.1 mrg begin cpu cortex-a57.cortex-a53
1263 1.1 mrg cname cortexa57cortexa53
1264 1.1 mrg tune for cortex-a53
1265 1.1 mrg tune flags LDSCHED
1266 1.1.1.3 mrg architecture armv8-a+crc+simd
1267 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1268 1.1 mrg costs cortex_a57
1269 1.1 mrg end cpu cortex-a57.cortex-a53
1270 1.1 mrg
1271 1.1 mrg begin cpu cortex-a72.cortex-a53
1272 1.1 mrg cname cortexa72cortexa53
1273 1.1 mrg tune for cortex-a53
1274 1.1 mrg tune flags LDSCHED
1275 1.1.1.3 mrg architecture armv8-a+crc+simd
1276 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1277 1.1 mrg costs cortex_a57
1278 1.1 mrg end cpu cortex-a72.cortex-a53
1279 1.1 mrg
1280 1.1 mrg begin cpu cortex-a73.cortex-a35
1281 1.1 mrg cname cortexa73cortexa35
1282 1.1 mrg tune for cortex-a53
1283 1.1 mrg tune flags LDSCHED
1284 1.1.1.3 mrg architecture armv8-a+crc+simd
1285 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1286 1.1 mrg costs cortex_a73
1287 1.1 mrg end cpu cortex-a73.cortex-a35
1288 1.1 mrg
1289 1.1 mrg begin cpu cortex-a73.cortex-a53
1290 1.1 mrg cname cortexa73cortexa53
1291 1.1 mrg tune for cortex-a53
1292 1.1 mrg tune flags LDSCHED
1293 1.1.1.3 mrg architecture armv8-a+crc+simd
1294 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1295 1.1 mrg costs cortex_a73
1296 1.1 mrg end cpu cortex-a73.cortex-a53
1297 1.1 mrg
1298 1.1 mrg
1299 1.1.1.2 mrg # ARMv8.2 A-profile Architecture Processors
1300 1.1.1.2 mrg begin cpu cortex-a55
1301 1.1.1.2 mrg cname cortexa55
1302 1.1.1.2 mrg tune for cortex-a53
1303 1.1.1.2 mrg tune flags LDSCHED
1304 1.1.1.3 mrg architecture armv8.2-a+fp16+dotprod+simd
1305 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1306 1.1.1.2 mrg option nofp remove ALL_FP
1307 1.1.1.2 mrg costs cortex_a53
1308 1.1.1.3 mrg vendor 41
1309 1.1.1.3 mrg part d05
1310 1.1.1.2 mrg end cpu cortex-a55
1311 1.1.1.2 mrg
1312 1.1.1.2 mrg begin cpu cortex-a75
1313 1.1.1.2 mrg cname cortexa75
1314 1.1.1.2 mrg tune for cortex-a57
1315 1.1.1.2 mrg tune flags LDSCHED
1316 1.1.1.3 mrg architecture armv8.2-a+fp16+dotprod+simd
1317 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1318 1.1.1.2 mrg costs cortex_a73
1319 1.1.1.3 mrg vendor 41
1320 1.1.1.3 mrg part d0a
1321 1.1.1.2 mrg end cpu cortex-a75
1322 1.1.1.2 mrg
1323 1.1.1.3 mrg begin cpu cortex-a76
1324 1.1.1.3 mrg cname cortexa76
1325 1.1.1.3 mrg tune for cortex-a57
1326 1.1.1.3 mrg tune flags LDSCHED
1327 1.1.1.3 mrg architecture armv8.2-a+fp16+dotprod+simd
1328 1.1.1.3 mrg option crypto add FP_ARMv8 CRYPTO
1329 1.1.1.3 mrg costs cortex_a57
1330 1.1.1.3 mrg vendor 41
1331 1.1.1.3 mrg part d0b
1332 1.1.1.3 mrg end cpu cortex-a76
1333 1.1.1.3 mrg
1334 1.1.1.3 mrg begin cpu neoverse-n1
1335 1.1.1.3 mrg cname neoversen1
1336 1.1.1.3 mrg alias !ares
1337 1.1.1.3 mrg tune for cortex-a57
1338 1.1.1.3 mrg tune flags LDSCHED
1339 1.1.1.3 mrg architecture armv8.2-a+fp16+dotprod+simd
1340 1.1.1.3 mrg option crypto add FP_ARMv8 CRYPTO
1341 1.1.1.3 mrg costs cortex_a57
1342 1.1.1.3 mrg vendor 41
1343 1.1.1.3 mrg part d0c
1344 1.1.1.3 mrg end cpu neoverse-n1
1345 1.1.1.2 mrg
1346 1.1.1.2 mrg # ARMv8.2 A-profile ARM DynamIQ big.LITTLE implementations
1347 1.1.1.2 mrg begin cpu cortex-a75.cortex-a55
1348 1.1.1.2 mrg cname cortexa75cortexa55
1349 1.1.1.2 mrg tune for cortex-a53
1350 1.1.1.2 mrg tune flags LDSCHED
1351 1.1.1.3 mrg architecture armv8.2-a+fp16+dotprod+simd
1352 1.1.1.2 mrg option crypto add FP_ARMv8 CRYPTO
1353 1.1.1.2 mrg costs cortex_a73
1354 1.1.1.2 mrg end cpu cortex-a75.cortex-a55
1355 1.1.1.2 mrg
1356 1.1.1.3 mrg begin cpu cortex-a76.cortex-a55
1357 1.1.1.3 mrg cname cortexa76cortexa55
1358 1.1.1.3 mrg tune for cortex-a53
1359 1.1.1.3 mrg tune flags LDSCHED
1360 1.1.1.3 mrg architecture armv8.2-a+fp16+dotprod+simd
1361 1.1.1.3 mrg option crypto add FP_ARMv8 CRYPTO
1362 1.1.1.3 mrg costs cortex_a57
1363 1.1.1.3 mrg end cpu cortex-a76.cortex-a55
1364 1.1.1.3 mrg
1365 1.1 mrg # V8 M-profile implementations.
1366 1.1 mrg begin cpu cortex-m23
1367 1.1 mrg cname cortexm23
1368 1.1 mrg tune flags LDSCHED
1369 1.1 mrg architecture armv8-m.base
1370 1.1 mrg costs v6m
1371 1.1 mrg end cpu cortex-m23
1372 1.1 mrg
1373 1.1 mrg begin cpu cortex-m33
1374 1.1 mrg cname cortexm33
1375 1.1 mrg tune flags LDSCHED
1376 1.1.1.3 mrg architecture armv8-m.main+dsp+fp
1377 1.1.1.2 mrg option nofp remove ALL_FP
1378 1.1.1.2 mrg option nodsp remove armv7em
1379 1.1 mrg costs v7m
1380 1.1 mrg end cpu cortex-m33
1381 1.1 mrg
1382 1.1.1.2 mrg # V8 R-profile implementations.
1383 1.1.1.2 mrg begin cpu cortex-r52
1384 1.1.1.2 mrg cname cortexr52
1385 1.1.1.2 mrg tune flags LDSCHED
1386 1.1.1.2 mrg architecture armv8-r+crc+simd
1387 1.1.1.2 mrg option nofp.dp remove FP_DBL ALL_SIMD
1388 1.1.1.2 mrg costs cortex
1389 1.1.1.3 mrg vendor 41
1390 1.1.1.3 mrg part d13
1391 1.1.1.2 mrg end cpu cortex-r52
1392 1.1.1.2 mrg
1393 1.1 mrg # FPU entries
1394 1.1 mrg # format:
1395 1.1 mrg # begin fpu <name>
1396 1.1 mrg # isa <isa-flags-list>
1397 1.1 mrg # end fpu <name>
1398 1.1 mrg
1399 1.1 mrg begin fpu vfp
1400 1.1 mrg isa VFPv2 FP_DBL
1401 1.1 mrg end fpu vfp
1402 1.1 mrg
1403 1.1 mrg begin fpu vfpv2
1404 1.1 mrg isa VFPv2 FP_DBL
1405 1.1 mrg end fpu vfpv2
1406 1.1 mrg
1407 1.1 mrg begin fpu vfpv3
1408 1.1 mrg isa VFPv3 FP_D32
1409 1.1 mrg end fpu vfpv3
1410 1.1 mrg
1411 1.1 mrg begin fpu vfpv3-fp16
1412 1.1.1.2 mrg isa VFPv3 FP_D32 fp16conv
1413 1.1 mrg end fpu vfpv3-fp16
1414 1.1 mrg
1415 1.1 mrg begin fpu vfpv3-d16
1416 1.1 mrg isa VFPv3 FP_DBL
1417 1.1 mrg end fpu vfpv3-d16
1418 1.1 mrg
1419 1.1 mrg begin fpu vfpv3-d16-fp16
1420 1.1.1.2 mrg isa VFPv3 FP_DBL fp16conv
1421 1.1 mrg end fpu vfpv3-d16-fp16
1422 1.1 mrg
1423 1.1 mrg begin fpu vfpv3xd
1424 1.1 mrg isa VFPv3
1425 1.1 mrg end fpu vfpv3xd
1426 1.1 mrg
1427 1.1 mrg begin fpu vfpv3xd-fp16
1428 1.1.1.2 mrg isa VFPv3 fp16conv
1429 1.1 mrg end fpu vfpv3xd-fp16
1430 1.1 mrg
1431 1.1 mrg begin fpu neon
1432 1.1 mrg isa VFPv3 NEON
1433 1.1 mrg end fpu neon
1434 1.1 mrg
1435 1.1 mrg begin fpu neon-vfpv3
1436 1.1 mrg isa VFPv3 NEON
1437 1.1 mrg end fpu neon-vfpv3
1438 1.1 mrg
1439 1.1 mrg begin fpu neon-fp16
1440 1.1.1.2 mrg isa VFPv3 NEON fp16conv
1441 1.1 mrg end fpu neon-fp16
1442 1.1 mrg
1443 1.1 mrg begin fpu vfpv4
1444 1.1 mrg isa VFPv4 FP_D32
1445 1.1 mrg end fpu vfpv4
1446 1.1 mrg
1447 1.1 mrg begin fpu neon-vfpv4
1448 1.1 mrg isa VFPv4 NEON
1449 1.1 mrg end fpu neon-vfpv4
1450 1.1 mrg
1451 1.1 mrg begin fpu vfpv4-d16
1452 1.1 mrg isa VFPv4 FP_DBL
1453 1.1 mrg end fpu vfpv4-d16
1454 1.1 mrg
1455 1.1 mrg begin fpu fpv4-sp-d16
1456 1.1 mrg isa VFPv4
1457 1.1 mrg end fpu fpv4-sp-d16
1458 1.1 mrg
1459 1.1 mrg begin fpu fpv5-sp-d16
1460 1.1 mrg isa FPv5
1461 1.1 mrg end fpu fpv5-sp-d16
1462 1.1 mrg
1463 1.1 mrg begin fpu fpv5-d16
1464 1.1 mrg isa FPv5 FP_DBL
1465 1.1 mrg end fpu fpv5-d16
1466 1.1 mrg
1467 1.1 mrg begin fpu fp-armv8
1468 1.1.1.2 mrg isa FP_ARMv8
1469 1.1 mrg end fpu fp-armv8
1470 1.1 mrg
1471 1.1 mrg begin fpu neon-fp-armv8
1472 1.1 mrg isa FP_ARMv8 NEON
1473 1.1 mrg end fpu neon-fp-armv8
1474 1.1 mrg
1475 1.1 mrg begin fpu crypto-neon-fp-armv8
1476 1.1 mrg isa FP_ARMv8 CRYPTO
1477 1.1 mrg end fpu crypto-neon-fp-armv8
1478 1.1 mrg
1479 1.1 mrg # Compatibility aliases.
1480 1.1 mrg begin fpu vfp3
1481 1.1 mrg isa VFPv3 FP_D32
1482 1.1 mrg end fpu vfp3
1483