* elflink.c (set_symbol_value): Add isymbuf and locsymcount
[deliverable/binutils-gdb.git] / opcodes / i386-reg.tbl
CommitLineData
40b8e679 1// i386 register table.
9b201bb5
NC
2// Copyright 2007
3// Free Software Foundation, Inc.
4//
5// This file is part of the GNU opcodes library.
6//
7// This library 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, or (at your option)
10// any later version.
11//
12// It is distributed in the hope that it will be useful, but WITHOUT
13// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15// License for more details.
16//
17// You should have received a copy of the GNU General Public License
18// along with GAS; see the file COPYING. If not, write to the Free
19// Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
20// 02110-1301, USA.
40b8e679
L
21
22// Make %st first as we test for it.
23st, FloatReg|FloatAcc, 0, 0
24// 8 bit regs
25al, Reg8|Acc, 0, 0
26cl, Reg8|ShiftCount, 0, 1
27dl, Reg8, 0, 2
28bl, Reg8, 0, 3
29ah, Reg8, 0, 4
30ch, Reg8, 0, 5
31dh, Reg8, 0, 6
32bh, Reg8, 0, 7
33axl, Reg8|Acc, RegRex64, 0
34cxl, Reg8, RegRex64, 1
35dxl, Reg8, RegRex64, 2
36bxl, Reg8, RegRex64, 3
37spl, Reg8, RegRex64, 4
38bpl, Reg8, RegRex64, 5
39sil, Reg8, RegRex64, 6
40dil, Reg8, RegRex64, 7
41r8b, Reg8, RegRex|RegRex64, 0
42r9b, Reg8, RegRex|RegRex64, 1
43r10b, Reg8, RegRex|RegRex64, 2
44r11b, Reg8, RegRex|RegRex64, 3
45r12b, Reg8, RegRex|RegRex64, 4
46r13b, Reg8, RegRex|RegRex64, 5
47r14b, Reg8, RegRex|RegRex64, 6
48r15b, Reg8, RegRex|RegRex64, 7
49// 16 bit regs
50ax, Reg16|Acc, 0, 0
51cx, Reg16, 0, 1
52dx, Reg16|InOutPortReg, 0, 2
53bx, Reg16|BaseIndex, 0, 3
54sp, Reg16, 0, 4
55bp, Reg16|BaseIndex, 0, 5
56si, Reg16|BaseIndex, 0, 6
57di, Reg16|BaseIndex, 0, 7
58r8w, Reg16, RegRex, 0
59r9w, Reg16, RegRex, 1
60r10w, Reg16, RegRex, 2
61r11w, Reg16, RegRex, 3
62r12w, Reg16, RegRex, 4
63r13w, Reg16, RegRex, 5
64r14w, Reg16, RegRex, 6
65r15w, Reg16, RegRex, 7
66// 32 bit regs
67eax, Reg32|BaseIndex|Acc, 0, 0
68ecx, Reg32|BaseIndex, 0, 1
69edx, Reg32|BaseIndex, 0, 2
70ebx, Reg32|BaseIndex, 0, 3
71esp, Reg32, 0, 4
72ebp, Reg32|BaseIndex, 0, 5
73esi, Reg32|BaseIndex, 0, 6
74edi, Reg32|BaseIndex, 0, 7
75r8d, Reg32|BaseIndex, RegRex, 0
76r9d, Reg32|BaseIndex, RegRex, 1
77r10d, Reg32|BaseIndex, RegRex, 2
78r11d, Reg32|BaseIndex, RegRex, 3
79r12d, Reg32|BaseIndex, RegRex, 4
80r13d, Reg32|BaseIndex, RegRex, 5
81r14d, Reg32|BaseIndex, RegRex, 6
82r15d, Reg32|BaseIndex, RegRex, 7
83rax, Reg64|BaseIndex|Acc, 0, 0
84rcx, Reg64|BaseIndex, 0, 1
85rdx, Reg64|BaseIndex, 0, 2
86rbx, Reg64|BaseIndex, 0, 3
87rsp, Reg64, 0, 4
88rbp, Reg64|BaseIndex, 0, 5
89rsi, Reg64|BaseIndex, 0, 6
90rdi, Reg64|BaseIndex, 0, 7
91r8, Reg64|BaseIndex, RegRex, 0
92r9, Reg64|BaseIndex, RegRex, 1
93r10, Reg64|BaseIndex, RegRex, 2
94r11, Reg64|BaseIndex, RegRex, 3
95r12, Reg64|BaseIndex, RegRex, 4
96r13, Reg64|BaseIndex, RegRex, 5
97r14, Reg64|BaseIndex, RegRex, 6
98r15, Reg64|BaseIndex, RegRex, 7
f85fcb85 99// Segment registers.
40b8e679
L
100es, SReg2, 0, 0
101cs, SReg2, 0, 1
102ss, SReg2, 0, 2
103ds, SReg2, 0, 3
104fs, SReg3, 0, 4
105gs, SReg3, 0, 5
106// Control registers.
107cr0, Control, 0, 0
108cr1, Control, 0, 1
109cr2, Control, 0, 2
110cr3, Control, 0, 3
111cr4, Control, 0, 4
112cr5, Control, 0, 5
113cr6, Control, 0, 6
114cr7, Control, 0, 7
115cr8, Control, RegRex, 0
116cr9, Control, RegRex, 1
117cr10, Control, RegRex, 2
118cr11, Control, RegRex, 3
119cr12, Control, RegRex, 4
120cr13, Control, RegRex, 5
121cr14, Control, RegRex, 6
122cr15, Control, RegRex, 7
123// Debug registers.
124db0, Debug, 0, 0
125db1, Debug, 0, 1
126db2, Debug, 0, 2
127db3, Debug, 0, 3
128db4, Debug, 0, 4
129db5, Debug, 0, 5
130db6, Debug, 0, 6
131db7, Debug, 0, 7
132db8, Debug, RegRex, 0
133db9, Debug, RegRex, 1
134db10, Debug, RegRex, 2
135db11, Debug, RegRex, 3
136db12, Debug, RegRex, 4
137db13, Debug, RegRex, 5
138db14, Debug, RegRex, 6
139db15, Debug, RegRex, 7
140dr0, Debug, 0, 0
141dr1, Debug, 0, 1
142dr2, Debug, 0, 2
143dr3, Debug, 0, 3
144dr4, Debug, 0, 4
145dr5, Debug, 0, 5
146dr6, Debug, 0, 6
147dr7, Debug, 0, 7
148dr8, Debug, RegRex, 0
149dr9, Debug, RegRex, 1
150dr10, Debug, RegRex, 2
151dr11, Debug, RegRex, 3
152dr12, Debug, RegRex, 4
153dr13, Debug, RegRex, 5
154dr14, Debug, RegRex, 6
155dr15, Debug, RegRex, 7
156// Test registers.
157tr0, Test, 0, 0
158tr1, Test, 0, 1
159tr2, Test, 0, 2
160tr3, Test, 0, 3
161tr4, Test, 0, 4
162tr5, Test, 0, 5
163tr6, Test, 0, 6
164tr7, Test, 0, 7
165// MMX and simd registers.
166mm0, RegMMX, 0, 0
167mm1, RegMMX, 0, 1
168mm2, RegMMX, 0, 2
169mm3, RegMMX, 0, 3
170mm4, RegMMX, 0, 4
171mm5, RegMMX, 0, 5
172mm6, RegMMX, 0, 6
173mm7, RegMMX, 0, 7
174xmm0, RegXMM, 0, 0
175xmm1, RegXMM, 0, 1
176xmm2, RegXMM, 0, 2
177xmm3, RegXMM, 0, 3
178xmm4, RegXMM, 0, 4
179xmm5, RegXMM, 0, 5
180xmm6, RegXMM, 0, 6
181xmm7, RegXMM, 0, 7
182xmm8, RegXMM, RegRex, 0
183xmm9, RegXMM, RegRex, 1
184xmm10, RegXMM, RegRex, 2
185xmm11, RegXMM, RegRex, 3
186xmm12, RegXMM, RegRex, 4
187xmm13, RegXMM, RegRex, 5
188xmm14, RegXMM, RegRex, 6
189xmm15, RegXMM, RegRex, 7
190// No type will make this register rejected for all purposes except
191// for addressing. This saves creating one extra type for RIP.
20e192ab 192rip, BaseIndex, 0, RegRip
db51cc60
L
193// No type will make these registers rejected for all purposes except
194// for addressing.
195eiz, BaseIndex, 0, RegEiz
196riz, BaseIndex, 0, RegRiz
40b8e679
L
197// fp regs.
198st(0), FloatReg|FloatAcc, 0, 0
199st(1), FloatReg, 0, 1
200st(2), FloatReg, 0, 2
201st(3), FloatReg, 0, 3
202st(4), FloatReg, 0, 4
203st(5), FloatReg, 0, 5
204st(6), FloatReg, 0, 6
205st(7), FloatReg, 0, 7
This page took 0.039174 seconds and 4 git commands to generate.