xref: /netbsd-src/external/gpl3/gcc.old/usr.bin/gcc/arch/armeb/arm-isa.h (revision cef8759bd76c1b621f8eab8faa6f208faabc2e15)
1*cef8759bSmrg /* This file is automatically generated.  DO NOT EDIT! */
2*cef8759bSmrg /* Generated from: NetBSD: mknative-gcc,v 1.102 2019/10/16 06:57:24 mrg Exp  */
3*cef8759bSmrg /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
4*cef8759bSmrg 
5*cef8759bSmrg /* -*- buffer-read-only: t -*-
6*cef8759bSmrg    Generated automatically by parsecpu.awk from arm-cpus.in.
7*cef8759bSmrg    Do not edit.
8*cef8759bSmrg 
9*cef8759bSmrg    Copyright (C) 2011-2018 Free Software Foundation, Inc.
10*cef8759bSmrg 
11*cef8759bSmrg    This file is part of GCC.
12*cef8759bSmrg 
13*cef8759bSmrg    GCC is free software; you can redistribute it and/or modify
14*cef8759bSmrg    it under the terms of the GNU General Public License as
15*cef8759bSmrg    published by the Free Software Foundation; either version 3,
16*cef8759bSmrg    or (at your option) any later version.
17*cef8759bSmrg 
18*cef8759bSmrg    GCC is distributed in the hope that it will be useful,
19*cef8759bSmrg    but WITHOUT ANY WARRANTY; without even the implied warranty of
20*cef8759bSmrg    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21*cef8759bSmrg    GNU General Public License for more details.
22*cef8759bSmrg 
23*cef8759bSmrg    You should have received a copy of the GNU General Public
24*cef8759bSmrg    License along with GCC; see the file COPYING3.  If not see
25*cef8759bSmrg    <http://www.gnu.org/licenses/>.  */
26*cef8759bSmrg 
27*cef8759bSmrg enum isa_feature {
28*cef8759bSmrg   isa_nobit = 0,
29*cef8759bSmrg   isa_bit_vfpv2,
30*cef8759bSmrg   isa_bit_adiv,
31*cef8759bSmrg   isa_bit_vfpv3,
32*cef8759bSmrg   isa_bit_vfpv4,
33*cef8759bSmrg   isa_bit_armv5e,
34*cef8759bSmrg   isa_bit_mode26,
35*cef8759bSmrg   isa_bit_smallmul,
36*cef8759bSmrg   isa_bit_iwmmxt,
37*cef8759bSmrg   isa_bit_fp16fml,
38*cef8759bSmrg   isa_bit_xscale,
39*cef8759bSmrg   isa_bit_thumb,
40*cef8759bSmrg   isa_bit_quirk_cm3_ldrd,
41*cef8759bSmrg   isa_bit_be8,
42*cef8759bSmrg   isa_bit_dotprod,
43*cef8759bSmrg   isa_bit_lpae,
44*cef8759bSmrg   isa_bit_armv4,
45*cef8759bSmrg   isa_bit_armv5,
46*cef8759bSmrg   isa_bit_quirk_armv6kz,
47*cef8759bSmrg   isa_bit_neon,
48*cef8759bSmrg   isa_bit_armv6,
49*cef8759bSmrg   isa_bit_crc32,
50*cef8759bSmrg   isa_bit_armv7,
51*cef8759bSmrg   isa_bit_armv7em,
52*cef8759bSmrg   isa_bit_cmse,
53*cef8759bSmrg   isa_bit_armv8,
54*cef8759bSmrg   isa_bit_fpv5,
55*cef8759bSmrg   isa_bit_tdiv,
56*cef8759bSmrg   isa_bit_quirk_no_volatile_ce,
57*cef8759bSmrg   isa_bit_fp_d32,
58*cef8759bSmrg   isa_bit_mode32,
59*cef8759bSmrg   isa_bit_thumb2,
60*cef8759bSmrg   isa_bit_iwmmxt2,
61*cef8759bSmrg   isa_bit_notm,
62*cef8759bSmrg   isa_bit_fp16,
63*cef8759bSmrg   isa_bit_armv8_1,
64*cef8759bSmrg   isa_bit_fp16conv,
65*cef8759bSmrg   isa_bit_armv8_2,
66*cef8759bSmrg   isa_bit_armv6k,
67*cef8759bSmrg   isa_bit_armv8_3,
68*cef8759bSmrg   isa_bit_armv8_4,
69*cef8759bSmrg   isa_bit_mp,
70*cef8759bSmrg   isa_bit_crypto,
71*cef8759bSmrg   isa_bit_fp_dbl,
72*cef8759bSmrg   isa_bit_sec,
73*cef8759bSmrg   isa_bit_armv3m,
74*cef8759bSmrg   isa_num_bits
75*cef8759bSmrg };
76*cef8759bSmrg 
77*cef8759bSmrg #define ISA_CRYPTO \
78*cef8759bSmrg   isa_bit_crypto, \
79*cef8759bSmrg   isa_bit_neon, \
80*cef8759bSmrg   isa_bit_fp_dbl, \
81*cef8759bSmrg   isa_bit_fp_d32
82*cef8759bSmrg 
83*cef8759bSmrg #define ISA_ARMv8_1a \
84*cef8759bSmrg   isa_bit_crc32, \
85*cef8759bSmrg   isa_bit_be8, \
86*cef8759bSmrg   isa_bit_lpae, \
87*cef8759bSmrg   isa_bit_notm, \
88*cef8759bSmrg   isa_bit_thumb, \
89*cef8759bSmrg   isa_bit_adiv, \
90*cef8759bSmrg   isa_bit_armv8_1, \
91*cef8759bSmrg   isa_bit_sec, \
92*cef8759bSmrg   isa_bit_armv3m, \
93*cef8759bSmrg   isa_bit_armv5e, \
94*cef8759bSmrg   isa_bit_armv6k, \
95*cef8759bSmrg   isa_bit_thumb2, \
96*cef8759bSmrg   isa_bit_mp, \
97*cef8759bSmrg   isa_bit_armv4, \
98*cef8759bSmrg   isa_bit_armv5, \
99*cef8759bSmrg   isa_bit_armv6, \
100*cef8759bSmrg   isa_bit_armv7, \
101*cef8759bSmrg   isa_bit_armv8, \
102*cef8759bSmrg   isa_bit_tdiv, \
103*cef8759bSmrg   isa_bit_mode32
104*cef8759bSmrg 
105*cef8759bSmrg #define ISA_ARMv5t \
106*cef8759bSmrg   isa_bit_mode32, \
107*cef8759bSmrg   isa_bit_thumb, \
108*cef8759bSmrg   isa_bit_armv3m, \
109*cef8759bSmrg   isa_bit_armv4, \
110*cef8759bSmrg   isa_bit_armv5, \
111*cef8759bSmrg   isa_bit_notm
112*cef8759bSmrg 
113*cef8759bSmrg #define ISA_ALL_CRYPTO \
114*cef8759bSmrg   isa_bit_crypto
115*cef8759bSmrg 
116*cef8759bSmrg #define ISA_DOTPROD \
117*cef8759bSmrg   isa_bit_neon, \
118*cef8759bSmrg   isa_bit_dotprod, \
119*cef8759bSmrg   isa_bit_fp_dbl, \
120*cef8759bSmrg   isa_bit_fp_d32
121*cef8759bSmrg 
122*cef8759bSmrg #define ISA_ARMv7m \
123*cef8759bSmrg   isa_bit_thumb, \
124*cef8759bSmrg   isa_bit_be8, \
125*cef8759bSmrg   isa_bit_armv4, \
126*cef8759bSmrg   isa_bit_armv5, \
127*cef8759bSmrg   isa_bit_armv6, \
128*cef8759bSmrg   isa_bit_armv7, \
129*cef8759bSmrg   isa_bit_armv3m, \
130*cef8759bSmrg   isa_bit_thumb2, \
131*cef8759bSmrg   isa_bit_armv5e, \
132*cef8759bSmrg   isa_bit_mode32, \
133*cef8759bSmrg   isa_bit_tdiv
134*cef8759bSmrg 
135*cef8759bSmrg #define ISA_ARMv8m_main \
136*cef8759bSmrg   isa_bit_armv3m, \
137*cef8759bSmrg   isa_bit_cmse, \
138*cef8759bSmrg   isa_bit_armv5e, \
139*cef8759bSmrg   isa_bit_thumb2, \
140*cef8759bSmrg   isa_bit_thumb, \
141*cef8759bSmrg   isa_bit_be8, \
142*cef8759bSmrg   isa_bit_mode32, \
143*cef8759bSmrg   isa_bit_armv4, \
144*cef8759bSmrg   isa_bit_armv5, \
145*cef8759bSmrg   isa_bit_armv6, \
146*cef8759bSmrg   isa_bit_armv7, \
147*cef8759bSmrg   isa_bit_armv8, \
148*cef8759bSmrg   isa_bit_tdiv
149*cef8759bSmrg 
150*cef8759bSmrg #define ISA_ARMv8m_base \
151*cef8759bSmrg   isa_bit_tdiv, \
152*cef8759bSmrg   isa_bit_cmse, \
153*cef8759bSmrg   isa_bit_thumb, \
154*cef8759bSmrg   isa_bit_armv3m, \
155*cef8759bSmrg   isa_bit_armv5e, \
156*cef8759bSmrg   isa_bit_be8, \
157*cef8759bSmrg   isa_bit_armv4, \
158*cef8759bSmrg   isa_bit_armv5, \
159*cef8759bSmrg   isa_bit_armv6, \
160*cef8759bSmrg   isa_bit_armv8, \
161*cef8759bSmrg   isa_bit_mode32
162*cef8759bSmrg 
163*cef8759bSmrg #define ISA_FPv5 \
164*cef8759bSmrg   isa_bit_fp16conv, \
165*cef8759bSmrg   isa_bit_fpv5, \
166*cef8759bSmrg   isa_bit_vfpv2, \
167*cef8759bSmrg   isa_bit_vfpv3, \
168*cef8759bSmrg   isa_bit_vfpv4
169*cef8759bSmrg 
170*cef8759bSmrg #define ISA_ARMv7r \
171*cef8759bSmrg   isa_bit_tdiv, \
172*cef8759bSmrg   isa_bit_be8, \
173*cef8759bSmrg   isa_bit_mode32, \
174*cef8759bSmrg   isa_bit_notm, \
175*cef8759bSmrg   isa_bit_armv4, \
176*cef8759bSmrg   isa_bit_armv5, \
177*cef8759bSmrg   isa_bit_armv6, \
178*cef8759bSmrg   isa_bit_armv7, \
179*cef8759bSmrg   isa_bit_armv3m, \
180*cef8759bSmrg   isa_bit_thumb2, \
181*cef8759bSmrg   isa_bit_thumb, \
182*cef8759bSmrg   isa_bit_armv5e, \
183*cef8759bSmrg   isa_bit_armv6k
184*cef8759bSmrg 
185*cef8759bSmrg #define ISA_ARMv8_3a \
186*cef8759bSmrg   isa_bit_thumb, \
187*cef8759bSmrg   isa_bit_tdiv, \
188*cef8759bSmrg   isa_bit_lpae, \
189*cef8759bSmrg   isa_bit_notm, \
190*cef8759bSmrg   isa_bit_armv3m, \
191*cef8759bSmrg   isa_bit_sec, \
192*cef8759bSmrg   isa_bit_armv5e, \
193*cef8759bSmrg   isa_bit_armv6k, \
194*cef8759bSmrg   isa_bit_thumb2, \
195*cef8759bSmrg   isa_bit_armv4, \
196*cef8759bSmrg   isa_bit_armv5, \
197*cef8759bSmrg   isa_bit_armv6, \
198*cef8759bSmrg   isa_bit_armv7, \
199*cef8759bSmrg   isa_bit_armv8, \
200*cef8759bSmrg   isa_bit_adiv, \
201*cef8759bSmrg   isa_bit_mp, \
202*cef8759bSmrg   isa_bit_armv8_1, \
203*cef8759bSmrg   isa_bit_armv8_2, \
204*cef8759bSmrg   isa_bit_armv8_3, \
205*cef8759bSmrg   isa_bit_crc32, \
206*cef8759bSmrg   isa_bit_mode32, \
207*cef8759bSmrg   isa_bit_be8
208*cef8759bSmrg 
209*cef8759bSmrg #define ISA_VFPv2 \
210*cef8759bSmrg   isa_bit_vfpv2
211*cef8759bSmrg 
212*cef8759bSmrg #define ISA_FP_DBL \
213*cef8759bSmrg   isa_bit_fp_dbl
214*cef8759bSmrg 
215*cef8759bSmrg #define ISA_VFPv3 \
216*cef8759bSmrg   isa_bit_vfpv2, \
217*cef8759bSmrg   isa_bit_vfpv3
218*cef8759bSmrg 
219*cef8759bSmrg #define ISA_VFPv4 \
220*cef8759bSmrg   isa_bit_fp16conv, \
221*cef8759bSmrg   isa_bit_vfpv2, \
222*cef8759bSmrg   isa_bit_vfpv3, \
223*cef8759bSmrg   isa_bit_vfpv4
224*cef8759bSmrg 
225*cef8759bSmrg #define ISA_ARMv7ve \
226*cef8759bSmrg   isa_bit_mode32, \
227*cef8759bSmrg   isa_bit_armv4, \
228*cef8759bSmrg   isa_bit_armv5, \
229*cef8759bSmrg   isa_bit_armv6, \
230*cef8759bSmrg   isa_bit_armv7, \
231*cef8759bSmrg   isa_bit_tdiv, \
232*cef8759bSmrg   isa_bit_mp, \
233*cef8759bSmrg   isa_bit_lpae, \
234*cef8759bSmrg   isa_bit_be8, \
235*cef8759bSmrg   isa_bit_notm, \
236*cef8759bSmrg   isa_bit_adiv, \
237*cef8759bSmrg   isa_bit_armv3m, \
238*cef8759bSmrg   isa_bit_thumb, \
239*cef8759bSmrg   isa_bit_thumb2, \
240*cef8759bSmrg   isa_bit_armv5e, \
241*cef8759bSmrg   isa_bit_armv6k, \
242*cef8759bSmrg   isa_bit_sec
243*cef8759bSmrg 
244*cef8759bSmrg #define ISA_ARMv4t \
245*cef8759bSmrg   isa_bit_notm, \
246*cef8759bSmrg   isa_bit_thumb, \
247*cef8759bSmrg   isa_bit_armv3m, \
248*cef8759bSmrg   isa_bit_armv4, \
249*cef8759bSmrg   isa_bit_mode32
250*cef8759bSmrg 
251*cef8759bSmrg #define ISA_ARMv6j \
252*cef8759bSmrg   isa_bit_notm, \
253*cef8759bSmrg   isa_bit_mode32, \
254*cef8759bSmrg   isa_bit_be8, \
255*cef8759bSmrg   isa_bit_thumb, \
256*cef8759bSmrg   isa_bit_armv3m, \
257*cef8759bSmrg   isa_bit_armv4, \
258*cef8759bSmrg   isa_bit_armv5, \
259*cef8759bSmrg   isa_bit_armv6, \
260*cef8759bSmrg   isa_bit_armv5e
261*cef8759bSmrg 
262*cef8759bSmrg #define ISA_ALL_FP \
263*cef8759bSmrg   isa_bit_fp_d32, \
264*cef8759bSmrg   isa_bit_neon, \
265*cef8759bSmrg   isa_bit_vfpv2, \
266*cef8759bSmrg   isa_bit_vfpv3, \
267*cef8759bSmrg   isa_bit_vfpv4, \
268*cef8759bSmrg   isa_bit_fpv5, \
269*cef8759bSmrg   isa_bit_fp16conv, \
270*cef8759bSmrg   isa_bit_crypto, \
271*cef8759bSmrg   isa_bit_fp16, \
272*cef8759bSmrg   isa_bit_fp_dbl
273*cef8759bSmrg 
274*cef8759bSmrg #define ISA_ARMv6k \
275*cef8759bSmrg   isa_bit_thumb, \
276*cef8759bSmrg   isa_bit_mode32, \
277*cef8759bSmrg   isa_bit_armv4, \
278*cef8759bSmrg   isa_bit_armv5, \
279*cef8759bSmrg   isa_bit_armv6, \
280*cef8759bSmrg   isa_bit_notm, \
281*cef8759bSmrg   isa_bit_armv3m, \
282*cef8759bSmrg   isa_bit_armv5e, \
283*cef8759bSmrg   isa_bit_be8, \
284*cef8759bSmrg   isa_bit_armv6k
285*cef8759bSmrg 
286*cef8759bSmrg #define ISA_FP_D32 \
287*cef8759bSmrg   isa_bit_fp_d32, \
288*cef8759bSmrg   isa_bit_fp_dbl
289*cef8759bSmrg 
290*cef8759bSmrg #define ISA_ALL_QUIRKS \
291*cef8759bSmrg   isa_bit_quirk_cm3_ldrd, \
292*cef8759bSmrg   isa_bit_xscale, \
293*cef8759bSmrg   isa_bit_quirk_armv6kz, \
294*cef8759bSmrg   isa_bit_quirk_no_volatile_ce
295*cef8759bSmrg 
296*cef8759bSmrg #define ISA_ARMv8a \
297*cef8759bSmrg   isa_bit_armv5e, \
298*cef8759bSmrg   isa_bit_armv6k, \
299*cef8759bSmrg   isa_bit_thumb2, \
300*cef8759bSmrg   isa_bit_tdiv, \
301*cef8759bSmrg   isa_bit_sec, \
302*cef8759bSmrg   isa_bit_mp, \
303*cef8759bSmrg   isa_bit_lpae, \
304*cef8759bSmrg   isa_bit_notm, \
305*cef8759bSmrg   isa_bit_mode32, \
306*cef8759bSmrg   isa_bit_armv4, \
307*cef8759bSmrg   isa_bit_armv5, \
308*cef8759bSmrg   isa_bit_armv6, \
309*cef8759bSmrg   isa_bit_armv7, \
310*cef8759bSmrg   isa_bit_armv8, \
311*cef8759bSmrg   isa_bit_adiv, \
312*cef8759bSmrg   isa_bit_be8, \
313*cef8759bSmrg   isa_bit_thumb, \
314*cef8759bSmrg   isa_bit_armv3m
315*cef8759bSmrg 
316*cef8759bSmrg #define ISA_ARMv6m \
317*cef8759bSmrg   isa_bit_thumb, \
318*cef8759bSmrg   isa_bit_armv3m, \
319*cef8759bSmrg   isa_bit_armv5e, \
320*cef8759bSmrg   isa_bit_armv4, \
321*cef8759bSmrg   isa_bit_armv5, \
322*cef8759bSmrg   isa_bit_armv6, \
323*cef8759bSmrg   isa_bit_be8, \
324*cef8759bSmrg   isa_bit_mode32
325*cef8759bSmrg 
326*cef8759bSmrg #define ISA_ALL_FPU_INTERNAL \
327*cef8759bSmrg   isa_bit_crypto, \
328*cef8759bSmrg   isa_bit_neon, \
329*cef8759bSmrg   isa_bit_fp_dbl, \
330*cef8759bSmrg   isa_bit_fp_d32, \
331*cef8759bSmrg   isa_bit_fp16conv, \
332*cef8759bSmrg   isa_bit_fpv5, \
333*cef8759bSmrg   isa_bit_vfpv2, \
334*cef8759bSmrg   isa_bit_vfpv3, \
335*cef8759bSmrg   isa_bit_vfpv4
336*cef8759bSmrg 
337*cef8759bSmrg #define ISA_ARMv5tej \
338*cef8759bSmrg   isa_bit_armv5e, \
339*cef8759bSmrg   isa_bit_mode32, \
340*cef8759bSmrg   isa_bit_armv4, \
341*cef8759bSmrg   isa_bit_armv5, \
342*cef8759bSmrg   isa_bit_notm, \
343*cef8759bSmrg   isa_bit_thumb, \
344*cef8759bSmrg   isa_bit_armv3m
345*cef8759bSmrg 
346*cef8759bSmrg #define ISA_ALL_SIMD \
347*cef8759bSmrg   isa_bit_fp_d32, \
348*cef8759bSmrg   isa_bit_fp16fml, \
349*cef8759bSmrg   isa_bit_neon, \
350*cef8759bSmrg   isa_bit_dotprod, \
351*cef8759bSmrg   isa_bit_crypto
352*cef8759bSmrg 
353*cef8759bSmrg #define ISA_ARMv8_2a \
354*cef8759bSmrg   isa_bit_mp, \
355*cef8759bSmrg   isa_bit_thumb, \
356*cef8759bSmrg   isa_bit_armv3m, \
357*cef8759bSmrg   isa_bit_be8, \
358*cef8759bSmrg   isa_bit_armv5e, \
359*cef8759bSmrg   isa_bit_tdiv, \
360*cef8759bSmrg   isa_bit_armv6k, \
361*cef8759bSmrg   isa_bit_armv8_1, \
362*cef8759bSmrg   isa_bit_armv8_2, \
363*cef8759bSmrg   isa_bit_thumb2, \
364*cef8759bSmrg   isa_bit_lpae, \
365*cef8759bSmrg   isa_bit_notm, \
366*cef8759bSmrg   isa_bit_armv4, \
367*cef8759bSmrg   isa_bit_armv5, \
368*cef8759bSmrg   isa_bit_armv6, \
369*cef8759bSmrg   isa_bit_armv7, \
370*cef8759bSmrg   isa_bit_armv8, \
371*cef8759bSmrg   isa_bit_mode32, \
372*cef8759bSmrg   isa_bit_sec, \
373*cef8759bSmrg   isa_bit_crc32, \
374*cef8759bSmrg   isa_bit_adiv
375*cef8759bSmrg 
376*cef8759bSmrg #define ISA_ARMv3m \
377*cef8759bSmrg   isa_bit_armv3m, \
378*cef8759bSmrg   isa_bit_notm, \
379*cef8759bSmrg   isa_bit_mode32
380*cef8759bSmrg 
381*cef8759bSmrg #define ISA_ARMv2 \
382*cef8759bSmrg   isa_bit_notm
383*cef8759bSmrg 
384*cef8759bSmrg #define ISA_ARMv3 \
385*cef8759bSmrg   isa_bit_notm, \
386*cef8759bSmrg   isa_bit_mode32
387*cef8759bSmrg 
388*cef8759bSmrg #define ISA_NEON \
389*cef8759bSmrg   isa_bit_fp_dbl, \
390*cef8759bSmrg   isa_bit_fp_d32, \
391*cef8759bSmrg   isa_bit_neon
392*cef8759bSmrg 
393*cef8759bSmrg #define ISA_ARMv5te \
394*cef8759bSmrg   isa_bit_thumb, \
395*cef8759bSmrg   isa_bit_armv4, \
396*cef8759bSmrg   isa_bit_notm, \
397*cef8759bSmrg   isa_bit_armv5, \
398*cef8759bSmrg   isa_bit_armv3m, \
399*cef8759bSmrg   isa_bit_armv5e, \
400*cef8759bSmrg   isa_bit_mode32
401*cef8759bSmrg 
402*cef8759bSmrg #define ISA_ARMv4 \
403*cef8759bSmrg   isa_bit_armv4, \
404*cef8759bSmrg   isa_bit_notm, \
405*cef8759bSmrg   isa_bit_armv3m, \
406*cef8759bSmrg   isa_bit_mode32
407*cef8759bSmrg 
408*cef8759bSmrg #define ISA_ARMv5 \
409*cef8759bSmrg   isa_bit_armv3m, \
410*cef8759bSmrg   isa_bit_notm, \
411*cef8759bSmrg   isa_bit_mode32, \
412*cef8759bSmrg   isa_bit_armv4, \
413*cef8759bSmrg   isa_bit_armv5
414*cef8759bSmrg 
415*cef8759bSmrg #define ISA_ARMv6 \
416*cef8759bSmrg   isa_bit_armv3m, \
417*cef8759bSmrg   isa_bit_armv5e, \
418*cef8759bSmrg   isa_bit_armv4, \
419*cef8759bSmrg   isa_bit_armv5, \
420*cef8759bSmrg   isa_bit_armv6, \
421*cef8759bSmrg   isa_bit_mode32, \
422*cef8759bSmrg   isa_bit_be8, \
423*cef8759bSmrg   isa_bit_thumb, \
424*cef8759bSmrg   isa_bit_notm
425*cef8759bSmrg 
426*cef8759bSmrg #define ISA_ARMv5e \
427*cef8759bSmrg   isa_bit_armv4, \
428*cef8759bSmrg   isa_bit_armv5, \
429*cef8759bSmrg   isa_bit_notm, \
430*cef8759bSmrg   isa_bit_armv3m, \
431*cef8759bSmrg   isa_bit_armv5e, \
432*cef8759bSmrg   isa_bit_mode32
433*cef8759bSmrg 
434*cef8759bSmrg #define ISA_ARMv7 \
435*cef8759bSmrg   isa_bit_thumb2, \
436*cef8759bSmrg   isa_bit_be8, \
437*cef8759bSmrg   isa_bit_thumb, \
438*cef8759bSmrg   isa_bit_mode32, \
439*cef8759bSmrg   isa_bit_armv4, \
440*cef8759bSmrg   isa_bit_armv5, \
441*cef8759bSmrg   isa_bit_armv6, \
442*cef8759bSmrg   isa_bit_armv7, \
443*cef8759bSmrg   isa_bit_armv3m, \
444*cef8759bSmrg   isa_bit_armv5e
445*cef8759bSmrg 
446*cef8759bSmrg #define ISA_ARMv6zk \
447*cef8759bSmrg   isa_bit_mode32, \
448*cef8759bSmrg   isa_bit_armv4, \
449*cef8759bSmrg   isa_bit_armv5, \
450*cef8759bSmrg   isa_bit_armv6, \
451*cef8759bSmrg   isa_bit_notm, \
452*cef8759bSmrg   isa_bit_armv3m, \
453*cef8759bSmrg   isa_bit_thumb, \
454*cef8759bSmrg   isa_bit_armv5e, \
455*cef8759bSmrg   isa_bit_armv6k, \
456*cef8759bSmrg   isa_bit_be8
457*cef8759bSmrg 
458*cef8759bSmrg #define ISA_ARMv6kz \
459*cef8759bSmrg   isa_bit_armv3m, \
460*cef8759bSmrg   isa_bit_armv5e, \
461*cef8759bSmrg   isa_bit_armv6k, \
462*cef8759bSmrg   isa_bit_thumb, \
463*cef8759bSmrg   isa_bit_notm, \
464*cef8759bSmrg   isa_bit_quirk_armv6kz, \
465*cef8759bSmrg   isa_bit_be8, \
466*cef8759bSmrg   isa_bit_mode32, \
467*cef8759bSmrg   isa_bit_armv4, \
468*cef8759bSmrg   isa_bit_armv5, \
469*cef8759bSmrg   isa_bit_armv6
470*cef8759bSmrg 
471*cef8759bSmrg #define ISA_ARMv6z \
472*cef8759bSmrg   isa_bit_notm, \
473*cef8759bSmrg   isa_bit_armv4, \
474*cef8759bSmrg   isa_bit_armv5, \
475*cef8759bSmrg   isa_bit_armv6, \
476*cef8759bSmrg   isa_bit_mode32, \
477*cef8759bSmrg   isa_bit_thumb, \
478*cef8759bSmrg   isa_bit_armv3m, \
479*cef8759bSmrg   isa_bit_be8, \
480*cef8759bSmrg   isa_bit_armv5e
481*cef8759bSmrg 
482*cef8759bSmrg #define ISA_ARMv8r \
483*cef8759bSmrg   isa_bit_adiv, \
484*cef8759bSmrg   isa_bit_mode32, \
485*cef8759bSmrg   isa_bit_armv4, \
486*cef8759bSmrg   isa_bit_armv5, \
487*cef8759bSmrg   isa_bit_armv6, \
488*cef8759bSmrg   isa_bit_armv7, \
489*cef8759bSmrg   isa_bit_armv8, \
490*cef8759bSmrg   isa_bit_mp, \
491*cef8759bSmrg   isa_bit_be8, \
492*cef8759bSmrg   isa_bit_tdiv, \
493*cef8759bSmrg   isa_bit_armv3m, \
494*cef8759bSmrg   isa_bit_lpae, \
495*cef8759bSmrg   isa_bit_notm, \
496*cef8759bSmrg   isa_bit_thumb, \
497*cef8759bSmrg   isa_bit_armv5e, \
498*cef8759bSmrg   isa_bit_armv6k, \
499*cef8759bSmrg   isa_bit_thumb2, \
500*cef8759bSmrg   isa_bit_sec
501*cef8759bSmrg 
502*cef8759bSmrg #define ISA_FP_ARMv8 \
503*cef8759bSmrg   isa_bit_fpv5, \
504*cef8759bSmrg   isa_bit_vfpv2, \
505*cef8759bSmrg   isa_bit_vfpv3, \
506*cef8759bSmrg   isa_bit_vfpv4, \
507*cef8759bSmrg   isa_bit_fp16conv, \
508*cef8759bSmrg   isa_bit_fp_dbl, \
509*cef8759bSmrg   isa_bit_fp_d32
510*cef8759bSmrg 
511*cef8759bSmrg #define ISA_ALL_SIMD_INTERNAL \
512*cef8759bSmrg   isa_bit_neon, \
513*cef8759bSmrg   isa_bit_crypto, \
514*cef8759bSmrg   isa_bit_fp_d32
515*cef8759bSmrg 
516*cef8759bSmrg #define ISA_ARMv8_4a \
517*cef8759bSmrg   isa_bit_thumb, \
518*cef8759bSmrg   isa_bit_mp, \
519*cef8759bSmrg   isa_bit_adiv, \
520*cef8759bSmrg   isa_bit_be8, \
521*cef8759bSmrg   isa_bit_armv3m, \
522*cef8759bSmrg   isa_bit_armv4, \
523*cef8759bSmrg   isa_bit_armv5, \
524*cef8759bSmrg   isa_bit_armv6, \
525*cef8759bSmrg   isa_bit_armv7, \
526*cef8759bSmrg   isa_bit_armv8, \
527*cef8759bSmrg   isa_bit_armv5e, \
528*cef8759bSmrg   isa_bit_armv6k, \
529*cef8759bSmrg   isa_bit_thumb2, \
530*cef8759bSmrg   isa_bit_crc32, \
531*cef8759bSmrg   isa_bit_tdiv, \
532*cef8759bSmrg   isa_bit_sec, \
533*cef8759bSmrg   isa_bit_mode32, \
534*cef8759bSmrg   isa_bit_armv8_1, \
535*cef8759bSmrg   isa_bit_armv8_2, \
536*cef8759bSmrg   isa_bit_armv8_3, \
537*cef8759bSmrg   isa_bit_armv8_4, \
538*cef8759bSmrg   isa_bit_lpae, \
539*cef8759bSmrg   isa_bit_notm
540*cef8759bSmrg 
541*cef8759bSmrg #define ISA_ARMv7a \
542*cef8759bSmrg   isa_bit_armv5e, \
543*cef8759bSmrg   isa_bit_thumb, \
544*cef8759bSmrg   isa_bit_armv6k, \
545*cef8759bSmrg   isa_bit_thumb2, \
546*cef8759bSmrg   isa_bit_be8, \
547*cef8759bSmrg   isa_bit_mode32, \
548*cef8759bSmrg   isa_bit_armv4, \
549*cef8759bSmrg   isa_bit_armv5, \
550*cef8759bSmrg   isa_bit_armv6, \
551*cef8759bSmrg   isa_bit_armv7, \
552*cef8759bSmrg   isa_bit_notm, \
553*cef8759bSmrg   isa_bit_armv3m
554*cef8759bSmrg 
555*cef8759bSmrg #define ISA_ARMv6t2 \
556*cef8759bSmrg   isa_bit_notm, \
557*cef8759bSmrg   isa_bit_armv4, \
558*cef8759bSmrg   isa_bit_armv5, \
559*cef8759bSmrg   isa_bit_armv6, \
560*cef8759bSmrg   isa_bit_armv3m, \
561*cef8759bSmrg   isa_bit_armv5e, \
562*cef8759bSmrg   isa_bit_thumb2, \
563*cef8759bSmrg   isa_bit_be8, \
564*cef8759bSmrg   isa_bit_mode32, \
565*cef8759bSmrg   isa_bit_thumb
566*cef8759bSmrg 
567*cef8759bSmrg #define ISA_ARMv7em \
568*cef8759bSmrg   isa_bit_armv4, \
569*cef8759bSmrg   isa_bit_armv5, \
570*cef8759bSmrg   isa_bit_armv6, \
571*cef8759bSmrg   isa_bit_armv7, \
572*cef8759bSmrg   isa_bit_armv3m, \
573*cef8759bSmrg   isa_bit_be8, \
574*cef8759bSmrg   isa_bit_armv5e, \
575*cef8759bSmrg   isa_bit_armv7em, \
576*cef8759bSmrg   isa_bit_thumb2, \
577*cef8759bSmrg   isa_bit_mode32, \
578*cef8759bSmrg   isa_bit_thumb, \
579*cef8759bSmrg   isa_bit_tdiv
580*cef8759bSmrg 
581