]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - opcodes/arc-ext.h
Updated ARC assembler from arccores.com
[thirdparty/binutils-gdb.git] / opcodes / arc-ext.h
CommitLineData
0d2bcfaf
NC
1/* ARC target-dependent stuff. Extension data structures.
2 Copyright (C) 1995, 1997, 2000 Free Software Foundation, Inc.
3
4This file is part of GDB.
5
6This program is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2 of the License, or
9(at your option) any later version.
10
11This program is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with this program; if not, write to the Free Software
18Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
19
20#ifndef ARCEXT_H
21#define ARCEXT_H
22
23enum {EXT_INSTRUCTION = 0};
24enum {EXT_CORE_REGISTER = 1};
25enum {EXT_AUX_REGISTER = 2};
26enum {EXT_COND_CODE = 3};
27
28enum {NUM_EXT_INST = (0x1f-0x10+1) + (0x3f-0x09+1)};
29enum {NUM_EXT_CORE = 59-32+1};
30enum {NUM_EXT_COND = 0x1f-0x10+1};
31
32struct ExtInstruction
33{
34 char flags;
35 char *name;
36};
37
38struct ExtAuxRegister
39{
40 long address;
41 char *name;
42 struct ExtAuxRegister *next;
43};
44
45struct arcExtMap
46{
47 struct ExtAuxRegister *auxRegisters;
48 struct ExtInstruction *instructions[NUM_EXT_INST];
49 unsigned char *coreRegisters[NUM_EXT_CORE];
50 unsigned char *condCodes[NUM_EXT_COND];
51};
52
53extern int arcExtMap_add(void*, unsigned long);
54extern const char *arcExtMap_coreRegName(int);
55extern const char *arcExtMap_auxRegName(long);
56extern const char *arcExtMap_condCodeName(int);
57extern const char *arcExtMap_instName(int, int, int*);
58extern void build_ARC_extmap(bfd *);
59
60#define IGNORE_FIRST_OPD 1
61
62#endif