[PATCH][ARM][GAS]: Support to MVE VCTP instruction.
[deliverable/binutils-gdb.git] / bfd / cpu-sparc.c
CommitLineData
252b5132 1/* BFD support for the SPARC architecture.
82704155 2 Copyright (C) 1992-2019 Free Software Foundation, Inc.
252b5132 3
cd123cb7 4 This file is part of BFD, the Binary File Descriptor library.
252b5132 5
cd123cb7
NC
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
252b5132 10
cd123cb7
NC
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
252b5132 15
cd123cb7
NC
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
19 MA 02110-1301, USA. */
252b5132 20
252b5132 21#include "sysdep.h"
3db64b00 22#include "bfd.h"
252b5132
RH
23#include "libbfd.h"
24
252b5132
RH
25static const bfd_arch_info_type arch_info_struct[] =
26{
27 {
28 32, /* bits in a word */
29 32, /* bits in an address */
30 8, /* bits in a byte */
31 bfd_arch_sparc,
32 bfd_mach_sparc_sparclet,
33 "sparc",
34 "sparc:sparclet",
35 3,
b34976b6 36 FALSE,
b74fa2cd 37 bfd_default_compatible,
252b5132 38 bfd_default_scan,
b7761f11 39 bfd_arch_default_fill,
252b5132
RH
40 &arch_info_struct[1],
41 },
42 {
43 32, /* bits in a word */
44 32, /* bits in an address */
45 8, /* bits in a byte */
46 bfd_arch_sparc,
47 bfd_mach_sparc_sparclite,
48 "sparc",
49 "sparc:sparclite",
50 3,
b34976b6 51 FALSE,
b74fa2cd 52 bfd_default_compatible,
252b5132 53 bfd_default_scan,
b7761f11 54 bfd_arch_default_fill,
252b5132
RH
55 &arch_info_struct[2],
56 },
57 {
58 32, /* bits in a word */
59 32, /* bits in an address */
60 8, /* bits in a byte */
61 bfd_arch_sparc,
62 bfd_mach_sparc_v8plus,
63 "sparc",
64 "sparc:v8plus",
65 3,
b34976b6 66 FALSE,
b74fa2cd 67 bfd_default_compatible,
252b5132 68 bfd_default_scan,
b7761f11 69 bfd_arch_default_fill,
252b5132
RH
70 &arch_info_struct[3],
71 },
72 {
73 32, /* bits in a word */
74 32, /* bits in an address */
75 8, /* bits in a byte */
76 bfd_arch_sparc,
77 bfd_mach_sparc_v8plusa,
78 "sparc",
79 "sparc:v8plusa",
80 3,
b34976b6 81 FALSE,
b74fa2cd 82 bfd_default_compatible,
252b5132 83 bfd_default_scan,
b7761f11 84 bfd_arch_default_fill,
252b5132
RH
85 &arch_info_struct[4],
86 },
87 {
88 32, /* bits in a word */
89 32, /* bits in an address */
90 8, /* bits in a byte */
91 bfd_arch_sparc,
92 bfd_mach_sparc_sparclite_le,
93 "sparc",
94 "sparc:sparclite_le",
95 3,
b34976b6 96 FALSE,
b74fa2cd 97 bfd_default_compatible,
252b5132 98 bfd_default_scan,
b7761f11 99 bfd_arch_default_fill,
252b5132
RH
100 &arch_info_struct[5],
101 },
102 {
103 64, /* bits in a word */
104 64, /* bits in an address */
105 8, /* bits in a byte */
106 bfd_arch_sparc,
107 bfd_mach_sparc_v9,
108 "sparc",
109 "sparc:v9",
110 3,
b34976b6 111 FALSE,
b74fa2cd 112 bfd_default_compatible,
252b5132 113 bfd_default_scan,
b7761f11 114 bfd_arch_default_fill,
252b5132
RH
115 &arch_info_struct[6],
116 },
117 {
118 64, /* bits in a word */
119 64, /* bits in an address */
120 8, /* bits in a byte */
121 bfd_arch_sparc,
122 bfd_mach_sparc_v9a,
123 "sparc",
124 "sparc:v9a",
125 3,
b34976b6 126 FALSE,
b74fa2cd 127 bfd_default_compatible,
252b5132 128 bfd_default_scan,
b7761f11 129 bfd_arch_default_fill,
19f7b010
JJ
130 &arch_info_struct[7],
131 },
132 {
133 32, /* bits in a word */
134 32, /* bits in an address */
135 8, /* bits in a byte */
136 bfd_arch_sparc,
137 bfd_mach_sparc_v8plusb,
138 "sparc",
139 "sparc:v8plusb",
140 3,
b34976b6 141 FALSE,
b74fa2cd 142 bfd_default_compatible,
19f7b010 143 bfd_default_scan,
b7761f11 144 bfd_arch_default_fill,
19f7b010
JJ
145 &arch_info_struct[8],
146 },
147 {
148 64, /* bits in a word */
149 64, /* bits in an address */
150 8, /* bits in a byte */
151 bfd_arch_sparc,
152 bfd_mach_sparc_v9b,
153 "sparc",
154 "sparc:v9b",
155 3,
b34976b6 156 FALSE,
b74fa2cd 157 bfd_default_compatible,
19f7b010 158 bfd_default_scan,
b7761f11 159 bfd_arch_default_fill,
4f26fb3a
JM
160 &arch_info_struct[9],
161 },
162 {
163 32, /* bits in a word */
164 32, /* bits in an address */
165 8, /* bits in a byte */
166 bfd_arch_sparc,
167 bfd_mach_sparc_v8plusc,
168 "sparc",
169 "sparc:v8plusc",
170 3,
171 FALSE,
172 bfd_default_compatible,
173 bfd_default_scan,
174 bfd_arch_default_fill,
175 &arch_info_struct[10],
176 },
177 {
178 64, /* bits in a word */
179 64, /* bits in an address */
180 8, /* bits in a byte */
181 bfd_arch_sparc,
182 bfd_mach_sparc_v9c,
183 "sparc",
184 "sparc:v9c",
185 3,
186 FALSE,
187 bfd_default_compatible,
188 bfd_default_scan,
189 bfd_arch_default_fill,
190 &arch_info_struct[11],
191 },
192 {
193 32, /* bits in a word */
194 32, /* bits in an address */
195 8, /* bits in a byte */
196 bfd_arch_sparc,
197 bfd_mach_sparc_v8plusd,
198 "sparc",
199 "sparc:v8plusd",
200 3,
201 FALSE,
202 bfd_default_compatible,
203 bfd_default_scan,
204 bfd_arch_default_fill,
205 &arch_info_struct[12],
206 },
207 {
208 64, /* bits in a word */
209 64, /* bits in an address */
210 8, /* bits in a byte */
211 bfd_arch_sparc,
212 bfd_mach_sparc_v9d,
213 "sparc",
214 "sparc:v9d",
215 3,
216 FALSE,
217 bfd_default_compatible,
218 bfd_default_scan,
219 bfd_arch_default_fill,
220 &arch_info_struct[13],
221 },
222 {
223 32, /* bits in a word */
224 32, /* bits in an address */
225 8, /* bits in a byte */
226 bfd_arch_sparc,
227 bfd_mach_sparc_v8pluse,
228 "sparc",
229 "sparc:v8pluse",
230 3,
231 FALSE,
232 bfd_default_compatible,
233 bfd_default_scan,
234 bfd_arch_default_fill,
235 &arch_info_struct[14],
236 },
237 {
238 64, /* bits in a word */
239 64, /* bits in an address */
240 8, /* bits in a byte */
241 bfd_arch_sparc,
242 bfd_mach_sparc_v9e,
243 "sparc",
244 "sparc:v9e",
245 3,
246 FALSE,
247 bfd_default_compatible,
248 bfd_default_scan,
249 bfd_arch_default_fill,
250 &arch_info_struct[15],
251 },
252 {
253 32, /* bits in a word */
254 32, /* bits in an address */
255 8, /* bits in a byte */
256 bfd_arch_sparc,
257 bfd_mach_sparc_v8plusv,
258 "sparc",
259 "sparc:v8plusv",
260 3,
261 FALSE,
262 bfd_default_compatible,
263 bfd_default_scan,
264 bfd_arch_default_fill,
265 &arch_info_struct[16],
266 },
267 {
268 64, /* bits in a word */
269 64, /* bits in an address */
270 8, /* bits in a byte */
271 bfd_arch_sparc,
272 bfd_mach_sparc_v9v,
273 "sparc",
274 "sparc:v9v",
275 3,
276 FALSE,
277 bfd_default_compatible,
278 bfd_default_scan,
279 bfd_arch_default_fill,
280 &arch_info_struct[17],
281 },
282 {
283 32, /* bits in a word */
284 32, /* bits in an address */
285 8, /* bits in a byte */
286 bfd_arch_sparc,
287 bfd_mach_sparc_v8plusm,
288 "sparc",
289 "sparc:v8plusm",
290 3,
291 FALSE,
292 bfd_default_compatible,
293 bfd_default_scan,
294 bfd_arch_default_fill,
295 &arch_info_struct[18],
296 },
297 {
298 64, /* bits in a word */
299 64, /* bits in an address */
300 8, /* bits in a byte */
301 bfd_arch_sparc,
302 bfd_mach_sparc_v9m,
303 "sparc",
304 "sparc:v9m",
305 3,
306 FALSE,
307 bfd_default_compatible,
308 bfd_default_scan,
309 bfd_arch_default_fill,
64517994
JM
310 &arch_info_struct[19],
311 },
312 {
313 32, /* bits in a word */
314 32, /* bits in an address */
315 8, /* bits in a byte */
316 bfd_arch_sparc,
317 bfd_mach_sparc_v8plusm8,
318 "sparc",
319 "sparc:v8plusm8",
320 3,
321 FALSE,
322 bfd_default_compatible,
323 bfd_default_scan,
324 bfd_arch_default_fill,
325 &arch_info_struct[20],
326 },
327 {
328 64, /* bits in a word */
329 64, /* bits in an address */
330 8, /* bits in a byte */
331 bfd_arch_sparc,
332 bfd_mach_sparc_v9m8,
333 "sparc",
334 "sparc:v9m8",
335 3,
336 FALSE,
337 bfd_default_compatible,
338 bfd_default_scan,
339 bfd_arch_default_fill,
252b5132
RH
340 0,
341 }
342};
343
344const bfd_arch_info_type bfd_sparc_arch =
345 {
346 32, /* bits in a word */
347 32, /* bits in an address */
348 8, /* bits in a byte */
349 bfd_arch_sparc,
350 bfd_mach_sparc,
351 "sparc",
352 "sparc",
353 3,
b34976b6 354 TRUE, /* the default */
b74fa2cd 355 bfd_default_compatible,
252b5132 356 bfd_default_scan,
b7761f11 357 bfd_arch_default_fill,
252b5132
RH
358 &arch_info_struct[0],
359 };
This page took 1.029745 seconds and 4 git commands to generate.