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