Automatic date update in version.in
[binutils-gdb.git] / gdb / tilegx-tdep.h
blob893035a627323e7067fb6eb034e5b6f1a2910188
1 /* Target-dependent code for the Tilera TILE-Gx processor.
3 Copyright (C) 2012-2024 Free Software Foundation, Inc.
5 This file is part of GDB.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 #ifndef TILEGX_TDEP_H
21 #define TILEGX_TDEP_H
23 /* TILE-Gx has 56 general purpose registers (R0 - R52, TP, SP, LR),
24 plus 8 special general purpose registers (network and ZERO),
25 plus 1 magic register (PC).
27 TP (aka R53) is the thread specific data pointer.
28 SP (aka R54) is the stack pointer.
29 LR (aka R55) is the link register. */
31 enum tilegx_regnum
33 TILEGX_R0_REGNUM,
34 TILEGX_FIRST_EASY_REGNUM = TILEGX_R0_REGNUM,
35 TILEGX_R1_REGNUM,
36 TILEGX_R2_REGNUM,
37 TILEGX_R3_REGNUM,
38 TILEGX_R4_REGNUM,
39 TILEGX_R5_REGNUM,
40 TILEGX_R6_REGNUM,
41 TILEGX_R7_REGNUM,
42 TILEGX_R8_REGNUM,
43 TILEGX_R9_REGNUM,
44 TILEGX_R10_REGNUM,
45 TILEGX_R11_REGNUM,
46 TILEGX_R12_REGNUM,
47 TILEGX_R13_REGNUM,
48 TILEGX_R14_REGNUM,
49 TILEGX_R15_REGNUM,
50 TILEGX_R16_REGNUM,
51 TILEGX_R17_REGNUM,
52 TILEGX_R18_REGNUM,
53 TILEGX_R19_REGNUM,
54 TILEGX_R20_REGNUM,
55 TILEGX_R21_REGNUM,
56 TILEGX_R22_REGNUM,
57 TILEGX_R23_REGNUM,
58 TILEGX_R24_REGNUM,
59 TILEGX_R25_REGNUM,
60 TILEGX_R26_REGNUM,
61 TILEGX_R27_REGNUM,
62 TILEGX_R28_REGNUM,
63 TILEGX_R29_REGNUM,
64 TILEGX_R30_REGNUM,
65 TILEGX_R31_REGNUM,
66 TILEGX_R32_REGNUM,
67 TILEGX_R33_REGNUM,
68 TILEGX_R34_REGNUM,
69 TILEGX_R35_REGNUM,
70 TILEGX_R36_REGNUM,
71 TILEGX_R37_REGNUM,
72 TILEGX_R38_REGNUM,
73 TILEGX_R39_REGNUM,
74 TILEGX_R40_REGNUM,
75 TILEGX_R41_REGNUM,
76 TILEGX_R42_REGNUM,
77 TILEGX_R43_REGNUM,
78 TILEGX_R44_REGNUM,
79 TILEGX_R45_REGNUM,
80 TILEGX_R46_REGNUM,
81 TILEGX_R47_REGNUM,
82 TILEGX_R48_REGNUM,
83 TILEGX_R49_REGNUM,
84 TILEGX_R50_REGNUM,
85 TILEGX_R51_REGNUM,
86 TILEGX_R52_REGNUM,
87 TILEGX_TP_REGNUM,
88 TILEGX_SP_REGNUM,
89 TILEGX_LR_REGNUM,
91 TILEGX_SN_REGNUM,
92 TILEGX_NUM_EASY_REGS = TILEGX_SN_REGNUM, /* 56 */
94 TILEGX_IO0_REGNUM,
95 TILEGX_IO1_REGNUM,
96 TILEGX_US0_REGNUM,
97 TILEGX_US1_REGNUM,
98 TILEGX_US2_REGNUM,
99 TILEGX_US3_REGNUM,
100 TILEGX_ZERO_REGNUM,
102 TILEGX_PC_REGNUM,
103 TILEGX_NUM_PHYS_REGS = TILEGX_PC_REGNUM, /* 64 */
104 TILEGX_FAULTNUM_REGNUM,
105 TILEGX_NUM_REGS, /* 66 */
108 enum { tilegx_reg_size = 8 };
110 #endif /* tilegx-tdep.h */