Don't mark info message for translation.
[deliverable/binutils-gdb.git] / opcodes / ia64-opc-b.c
CommitLineData
800eeca4 1/* ia64-opc-b.c -- IA-64 `B' opcode table.
060d22b0 2 Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
800eeca4
JW
3 Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
4
5 This file is part of GDB, GAS, and the GNU binutils.
6
7 GDB, GAS, and the GNU binutils are free software; you can redistribute
8 them and/or modify them under the terms of the GNU General Public
9 License as published by the Free Software Foundation; either version
10 2, or (at your option) any later version.
11
12 GDB, GAS, and the GNU binutils are distributed in the hope that they
13 will be useful, but WITHOUT ANY WARRANTY; without even the implied
14 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
15 the GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this file; see the file COPYING. If not, write to the
19 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20 02111-1307, USA. */
21
22#include "ia64-opc.h"
23
24#define B0 IA64_TYPE_B, 0
25#define B IA64_TYPE_B, 1
26
27/* instruction bit fields: */
28#define bBtype(x) (((ia64_insn) ((x) & 0x7)) << 6)
29#define bD(x) (((ia64_insn) ((x) & 0x1)) << 35)
30#define bIh(x) (((ia64_insn) ((x) & 0x1)) << 35)
31#define bPa(x) (((ia64_insn) ((x) & 0x1)) << 12)
32#define bPr(x) (((ia64_insn) ((x) & 0x3f)) << 0)
33#define bWha(x) (((ia64_insn) ((x) & 0x3)) << 33)
34#define bWhb(x) (((ia64_insn) ((x) & 0x3)) << 3)
35#define bX6(x) (((ia64_insn) ((x) & 0x3f)) << 27)
36
37#define mBtype bBtype (-1)
38#define mD bD (-1)
39#define mIh bIh (-1)
40#define mPa bPa (-1)
41#define mPr bPr (-1)
42#define mWha bWha (-1)
43#define mWhb bWhb (-1)
44#define mX6 bX6 (-1)
45
46#define OpX6(a,b) (bOp (a) | bX6 (b)), (mOp | mX6)
47#define OpPaWhaD(a,b,c,d) \
48 (bOp (a) | bPa (b) | bWha (c) | bD (d)), (mOp | mPa | mWha | mD)
49#define OpBtypePaWhaD(a,b,c,d,e) \
50 (bOp (a) | bBtype (b) | bPa (c) | bWha (d) | bD (e)), \
51 (mOp | mBtype | mPa | mWha | mD)
52#define OpBtypePaWhaDPr(a,b,c,d,e,f) \
53 (bOp (a) | bBtype (b) | bPa (c) | bWha (d) | bD (e) | bPr (f)), \
54 (mOp | mBtype | mPa | mWha | mD | mPr)
55#define OpX6BtypePaWhaD(a,b,c,d,e,f) \
56 (bOp (a) | bX6 (b) | bBtype (c) | bPa (d) | bWha (e) | bD (f)), \
57 (mOp | mX6 | mBtype | mPa | mWha | mD)
58#define OpX6BtypePaWhaDPr(a,b,c,d,e,f,g) \
59 (bOp (a) | bX6 (b) | bBtype (c) | bPa (d) | bWha (e) | bD (f) | bPr (g)), \
60 (mOp | mX6 | mBtype | mPa | mWha | mD | mPr)
61#define OpIhWhb(a,b,c) \
62 (bOp (a) | bIh (b) | bWhb (c)), \
63 (mOp | mIh | mWhb)
64#define OpX6IhWhb(a,b,c,d) \
65 (bOp (a) | bX6 (b) | bIh (c) | bWhb (d)), \
66 (mOp | mX6 | mIh | mWhb)
67
68struct ia64_opcode ia64_opcodes_b[] =
69 {
70 /* B-type instruction encodings (sorted according to major opcode) */
71
72#define BR(a,b) \
73 B0, OpX6BtypePaWhaDPr (0, 0x20, 0, a, 0, b, 0), {B2}, PSEUDO
74 {"br.few", BR (0, 0)},
75 {"br", BR (0, 0)},
76 {"br.few.clr", BR (0, 1)},
77 {"br.clr", BR (0, 1)},
78 {"br.many", BR (1, 0)},
79 {"br.many.clr", BR (1, 1)},
80#undef BR
81
82#define BR(a,b,c,d,e) B0, OpX6BtypePaWhaD (0, a, b, c, d, e), {B2}
83 {"br.cond.sptk.few", BR (0x20, 0, 0, 0, 0)},
84 {"br.cond.sptk", BR (0x20, 0, 0, 0, 0), PSEUDO},
85 {"br.cond.sptk.few.clr", BR (0x20, 0, 0, 0, 1)},
86 {"br.cond.sptk.clr", BR (0x20, 0, 0, 0, 1), PSEUDO},
87 {"br.cond.spnt.few", BR (0x20, 0, 0, 1, 0)},
88 {"br.cond.spnt", BR (0x20, 0, 0, 1, 0), PSEUDO},
89 {"br.cond.spnt.few.clr", BR (0x20, 0, 0, 1, 1)},
90 {"br.cond.spnt.clr", BR (0x20, 0, 0, 1, 1), PSEUDO},
91 {"br.cond.dptk.few", BR (0x20, 0, 0, 2, 0)},
92 {"br.cond.dptk", BR (0x20, 0, 0, 2, 0), PSEUDO},
93 {"br.cond.dptk.few.clr", BR (0x20, 0, 0, 2, 1)},
94 {"br.cond.dptk.clr", BR (0x20, 0, 0, 2, 1), PSEUDO},
95 {"br.cond.dpnt.few", BR (0x20, 0, 0, 3, 0)},
96 {"br.cond.dpnt", BR (0x20, 0, 0, 3, 0), PSEUDO},
97 {"br.cond.dpnt.few.clr", BR (0x20, 0, 0, 3, 1)},
98 {"br.cond.dpnt.clr", BR (0x20, 0, 0, 3, 1), PSEUDO},
99 {"br.cond.sptk.many", BR (0x20, 0, 1, 0, 0)},
100 {"br.cond.sptk.many.clr", BR (0x20, 0, 1, 0, 1)},
101 {"br.cond.spnt.many", BR (0x20, 0, 1, 1, 0)},
102 {"br.cond.spnt.many.clr", BR (0x20, 0, 1, 1, 1)},
103 {"br.cond.dptk.many", BR (0x20, 0, 1, 2, 0)},
104 {"br.cond.dptk.many.clr", BR (0x20, 0, 1, 2, 1)},
105 {"br.cond.dpnt.many", BR (0x20, 0, 1, 3, 0)},
106 {"br.cond.dpnt.many.clr", BR (0x20, 0, 1, 3, 1)},
107 {"br.sptk.few", BR (0x20, 0, 0, 0, 0)},
108 {"br.sptk", BR (0x20, 0, 0, 0, 0), PSEUDO},
109 {"br.sptk.few.clr", BR (0x20, 0, 0, 0, 1)},
110 {"br.sptk.clr", BR (0x20, 0, 0, 0, 1), PSEUDO},
111 {"br.spnt.few", BR (0x20, 0, 0, 1, 0)},
112 {"br.spnt", BR (0x20, 0, 0, 1, 0), PSEUDO},
113 {"br.spnt.few.clr", BR (0x20, 0, 0, 1, 1)},
114 {"br.spnt.clr", BR (0x20, 0, 0, 1, 1), PSEUDO},
115 {"br.dptk.few", BR (0x20, 0, 0, 2, 0)},
116 {"br.dptk", BR (0x20, 0, 0, 2, 0), PSEUDO},
117 {"br.dptk.few.clr", BR (0x20, 0, 0, 2, 1)},
118 {"br.dptk.clr", BR (0x20, 0, 0, 2, 1), PSEUDO},
119 {"br.dpnt.few", BR (0x20, 0, 0, 3, 0)},
120 {"br.dpnt", BR (0x20, 0, 0, 3, 0), PSEUDO},
121 {"br.dpnt.few.clr", BR (0x20, 0, 0, 3, 1)},
122 {"br.dpnt.clr", BR (0x20, 0, 0, 3, 1), PSEUDO},
123 {"br.sptk.many", BR (0x20, 0, 1, 0, 0)},
124 {"br.sptk.many.clr", BR (0x20, 0, 1, 0, 1)},
125 {"br.spnt.many", BR (0x20, 0, 1, 1, 0)},
126 {"br.spnt.many.clr", BR (0x20, 0, 1, 1, 1)},
127 {"br.dptk.many", BR (0x20, 0, 1, 2, 0)},
128 {"br.dptk.many.clr", BR (0x20, 0, 1, 2, 1)},
129 {"br.dpnt.many", BR (0x20, 0, 1, 3, 0)},
130 {"br.dpnt.many.clr", BR (0x20, 0, 1, 3, 1)},
131 {"br.ia.sptk.few", BR (0x20, 1, 0, 0, 0)},
132 {"br.ia.sptk", BR (0x20, 1, 0, 0, 0), PSEUDO},
133 {"br.ia.sptk.few.clr", BR (0x20, 1, 0, 0, 1)},
134 {"br.ia.sptk.clr", BR (0x20, 1, 0, 0, 1), PSEUDO},
135 {"br.ia.spnt.few", BR (0x20, 1, 0, 1, 0)},
136 {"br.ia.spnt", BR (0x20, 1, 0, 1, 0), PSEUDO},
137 {"br.ia.spnt.few.clr", BR (0x20, 1, 0, 1, 1)},
138 {"br.ia.spnt.clr", BR (0x20, 1, 0, 1, 1), PSEUDO},
139 {"br.ia.dptk.few", BR (0x20, 1, 0, 2, 0)},
140 {"br.ia.dptk", BR (0x20, 1, 0, 2, 0), PSEUDO},
141 {"br.ia.dptk.few.clr", BR (0x20, 1, 0, 2, 1)},
142 {"br.ia.dptk.clr", BR (0x20, 1, 0, 2, 1), PSEUDO},
143 {"br.ia.dpnt.few", BR (0x20, 1, 0, 3, 0)},
144 {"br.ia.dpnt", BR (0x20, 1, 0, 3, 0), PSEUDO},
145 {"br.ia.dpnt.few.clr", BR (0x20, 1, 0, 3, 1)},
146 {"br.ia.dpnt.clr", BR (0x20, 1, 0, 3, 1), PSEUDO},
147 {"br.ia.sptk.many", BR (0x20, 1, 1, 0, 0)},
148 {"br.ia.sptk.many.clr", BR (0x20, 1, 1, 0, 1)},
149 {"br.ia.spnt.many", BR (0x20, 1, 1, 1, 0)},
150 {"br.ia.spnt.many.clr", BR (0x20, 1, 1, 1, 1)},
151 {"br.ia.dptk.many", BR (0x20, 1, 1, 2, 0)},
152 {"br.ia.dptk.many.clr", BR (0x20, 1, 1, 2, 1)},
153 {"br.ia.dpnt.many", BR (0x20, 1, 1, 3, 0)},
154 {"br.ia.dpnt.many.clr", BR (0x20, 1, 1, 3, 1)},
155 {"br.ret.sptk.few", BR (0x21, 4, 0, 0, 0), MOD_RRBS},
156 {"br.ret.sptk", BR (0x21, 4, 0, 0, 0), PSEUDO | MOD_RRBS},
157 {"br.ret.sptk.few.clr", BR (0x21, 4, 0, 0, 1), MOD_RRBS},
158 {"br.ret.sptk.clr", BR (0x21, 4, 0, 0, 1), PSEUDO | MOD_RRBS},
159 {"br.ret.spnt.few", BR (0x21, 4, 0, 1, 0), MOD_RRBS},
160 {"br.ret.spnt", BR (0x21, 4, 0, 1, 0), PSEUDO | MOD_RRBS},
161 {"br.ret.spnt.few.clr", BR (0x21, 4, 0, 1, 1), MOD_RRBS},
162 {"br.ret.spnt.clr", BR (0x21, 4, 0, 1, 1), PSEUDO | MOD_RRBS},
163 {"br.ret.dptk.few", BR (0x21, 4, 0, 2, 0), MOD_RRBS},
164 {"br.ret.dptk", BR (0x21, 4, 0, 2, 0), PSEUDO | MOD_RRBS},
165 {"br.ret.dptk.few.clr", BR (0x21, 4, 0, 2, 1), MOD_RRBS},
166 {"br.ret.dptk.clr", BR (0x21, 4, 0, 2, 1), PSEUDO | MOD_RRBS},
167 {"br.ret.dpnt.few", BR (0x21, 4, 0, 3, 0), MOD_RRBS},
168 {"br.ret.dpnt", BR (0x21, 4, 0, 3, 0), PSEUDO | MOD_RRBS},
169 {"br.ret.dpnt.few.clr", BR (0x21, 4, 0, 3, 1), MOD_RRBS},
170 {"br.ret.dpnt.clr", BR (0x21, 4, 0, 3, 1), PSEUDO | MOD_RRBS},
171 {"br.ret.sptk.many", BR (0x21, 4, 1, 0, 0), MOD_RRBS},
172 {"br.ret.sptk.many.clr", BR (0x21, 4, 1, 0, 1), MOD_RRBS},
173 {"br.ret.spnt.many", BR (0x21, 4, 1, 1, 0), MOD_RRBS},
174 {"br.ret.spnt.many.clr", BR (0x21, 4, 1, 1, 1), MOD_RRBS},
175 {"br.ret.dptk.many", BR (0x21, 4, 1, 2, 0), MOD_RRBS},
176 {"br.ret.dptk.many.clr", BR (0x21, 4, 1, 2, 1), MOD_RRBS},
177 {"br.ret.dpnt.many", BR (0x21, 4, 1, 3, 0), MOD_RRBS},
178 {"br.ret.dpnt.many.clr", BR (0x21, 4, 1, 3, 1), MOD_RRBS},
179#undef BR
180
181 {"cover", B0, OpX6 (0, 0x02), {0, }, NO_PRED | LAST | MOD_RRBS},
182 {"clrrrb", B0, OpX6 (0, 0x04), {0, }, NO_PRED | LAST | MOD_RRBS},
183 {"clrrrb.pr", B0, OpX6 (0, 0x05), {0, }, NO_PRED | LAST | MOD_RRBS},
184 {"rfi", B0, OpX6 (0, 0x08), {0, }, NO_PRED | LAST | PRIV | MOD_RRBS},
185 {"bsw.0", B0, OpX6 (0, 0x0c), {0, }, NO_PRED | LAST | PRIV},
186 {"bsw.1", B0, OpX6 (0, 0x0d), {0, }, NO_PRED | LAST | PRIV},
187 {"epc", B0, OpX6 (0, 0x10), {0, }, NO_PRED},
188
189 {"break.b", B0, OpX6 (0, 0x00), {IMMU21}},
190
191 {"br.call.sptk.few", B, OpPaWhaD (1, 0, 0, 0), {B1, B2}},
192 {"br.call.sptk", B, OpPaWhaD (1, 0, 0, 0), {B1, B2}, PSEUDO},
193 {"br.call.sptk.few.clr", B, OpPaWhaD (1, 0, 0, 1), {B1, B2}},
194 {"br.call.sptk.clr", B, OpPaWhaD (1, 0, 0, 1), {B1, B2}, PSEUDO},
195 {"br.call.spnt.few", B, OpPaWhaD (1, 0, 1, 0), {B1, B2}},
196 {"br.call.spnt", B, OpPaWhaD (1, 0, 1, 0), {B1, B2}, PSEUDO},
197 {"br.call.spnt.few.clr", B, OpPaWhaD (1, 0, 1, 1), {B1, B2}},
198 {"br.call.spnt.clr", B, OpPaWhaD (1, 0, 1, 1), {B1, B2}, PSEUDO},
199 {"br.call.dptk.few", B, OpPaWhaD (1, 0, 2, 0), {B1, B2}},
200 {"br.call.dptk", B, OpPaWhaD (1, 0, 2, 0), {B1, B2}, PSEUDO},
201 {"br.call.dptk.few.clr", B, OpPaWhaD (1, 0, 2, 1), {B1, B2}},
202 {"br.call.dptk.clr", B, OpPaWhaD (1, 0, 2, 1), {B1, B2}, PSEUDO},
203 {"br.call.dpnt.few", B, OpPaWhaD (1, 0, 3, 0), {B1, B2}},
204 {"br.call.dpnt", B, OpPaWhaD (1, 0, 3, 0), {B1, B2}, PSEUDO},
205 {"br.call.dpnt.few.clr", B, OpPaWhaD (1, 0, 3, 1), {B1, B2}},
206 {"br.call.dpnt.clr", B, OpPaWhaD (1, 0, 3, 1), {B1, B2}, PSEUDO},
207 {"br.call.sptk.many", B, OpPaWhaD (1, 1, 0, 0), {B1, B2}},
208 {"br.call.sptk.many.clr", B, OpPaWhaD (1, 1, 0, 1), {B1, B2}},
209 {"br.call.spnt.many", B, OpPaWhaD (1, 1, 1, 0), {B1, B2}},
210 {"br.call.spnt.many.clr", B, OpPaWhaD (1, 1, 1, 1), {B1, B2}},
211 {"br.call.dptk.many", B, OpPaWhaD (1, 1, 2, 0), {B1, B2}},
212 {"br.call.dptk.many.clr", B, OpPaWhaD (1, 1, 2, 1), {B1, B2}},
213 {"br.call.dpnt.many", B, OpPaWhaD (1, 1, 3, 0), {B1, B2}},
214 {"br.call.dpnt.many.clr", B, OpPaWhaD (1, 1, 3, 1), {B1, B2}},
215
216#define BRP(a,b,c) \
217 B0, OpX6IhWhb (2, a, b, c), {B2, TAG13}, NO_PRED
218 {"brp.sptk", BRP (0x10, 0, 0)},
219 {"brp.dptk", BRP (0x10, 0, 2)},
220 {"brp.sptk.imp", BRP (0x10, 1, 0)},
221 {"brp.dptk.imp", BRP (0x10, 1, 2)},
222 {"brp.ret.sptk", BRP (0x11, 0, 0)},
223 {"brp.ret.dptk", BRP (0x11, 0, 2)},
224 {"brp.ret.sptk.imp", BRP (0x11, 1, 0)},
225 {"brp.ret.dptk.imp", BRP (0x11, 1, 2)},
226#undef BRP
227
228 {"nop.b", B0, OpX6 (2, 0x00), {IMMU21}},
229
230#define BR(a,b) \
231 B0, OpBtypePaWhaDPr (4, 0, a, 0, b, 0), {TGT25c}, PSEUDO
232 {"br.few", BR (0, 0)},
233 {"br", BR (0, 0)},
234 {"br.few.clr", BR (0, 1)},
235 {"br.clr", BR (0, 1)},
236 {"br.many", BR (1, 0)},
237 {"br.many.clr", BR (1, 1)},
238#undef BR
239
aa170a07
TW
240#define BR(a,b,c) \
241 B0, OpBtypePaWhaD (4, 0, a, b, c), {TGT25c}
242 {"br.cond.sptk.few", BR (0, 0, 0)},
243 {"br.cond.sptk", BR (0, 0, 0), PSEUDO},
244 {"br.cond.sptk.few.clr", BR (0, 0, 1)},
245 {"br.cond.sptk.clr", BR (0, 0, 1), PSEUDO},
246 {"br.cond.spnt.few", BR (0, 1, 0)},
247 {"br.cond.spnt", BR (0, 1, 0), PSEUDO},
248 {"br.cond.spnt.few.clr", BR (0, 1, 1)},
249 {"br.cond.spnt.clr", BR (0, 1, 1), PSEUDO},
250 {"br.cond.dptk.few", BR (0, 2, 0)},
251 {"br.cond.dptk", BR (0, 2, 0), PSEUDO},
252 {"br.cond.dptk.few.clr", BR (0, 2, 1)},
253 {"br.cond.dptk.clr", BR (0, 2, 1), PSEUDO},
254 {"br.cond.dpnt.few", BR (0, 3, 0)},
255 {"br.cond.dpnt", BR (0, 3, 0), PSEUDO},
256 {"br.cond.dpnt.few.clr", BR (0, 3, 1)},
257 {"br.cond.dpnt.clr", BR (0, 3, 1), PSEUDO},
258 {"br.cond.sptk.many", BR (1, 0, 0)},
259 {"br.cond.sptk.many.clr", BR (1, 0, 1)},
260 {"br.cond.spnt.many", BR (1, 1, 0)},
261 {"br.cond.spnt.many.clr", BR (1, 1, 1)},
262 {"br.cond.dptk.many", BR (1, 2, 0)},
263 {"br.cond.dptk.many.clr", BR (1, 2, 1)},
264 {"br.cond.dpnt.many", BR (1, 3, 0)},
265 {"br.cond.dpnt.many.clr", BR (1, 3, 1)},
266 {"br.sptk.few", BR (0, 0, 0)},
267 {"br.sptk", BR (0, 0, 0), PSEUDO},
268 {"br.sptk.few.clr", BR (0, 0, 1)},
269 {"br.sptk.clr", BR (0, 0, 1), PSEUDO},
270 {"br.spnt.few", BR (0, 1, 0)},
271 {"br.spnt", BR (0, 1, 0), PSEUDO},
272 {"br.spnt.few.clr", BR (0, 1, 1)},
273 {"br.spnt.clr", BR (0, 1, 1), PSEUDO},
274 {"br.dptk.few", BR (0, 2, 0)},
275 {"br.dptk", BR (0, 2, 0), PSEUDO},
276 {"br.dptk.few.clr", BR (0, 2, 1)},
277 {"br.dptk.clr", BR (0, 2, 1), PSEUDO},
278 {"br.dpnt.few", BR (0, 3, 0)},
279 {"br.dpnt", BR (0, 3, 0), PSEUDO},
280 {"br.dpnt.few.clr", BR (0, 3, 1)},
281 {"br.dpnt.clr", BR (0, 3, 1), PSEUDO},
282 {"br.sptk.many", BR (1, 0, 0)},
283 {"br.sptk.many.clr", BR (1, 0, 1)},
284 {"br.spnt.many", BR (1, 1, 0)},
285 {"br.spnt.many.clr", BR (1, 1, 1)},
286 {"br.dptk.many", BR (1, 2, 0)},
287 {"br.dptk.many.clr", BR (1, 2, 1)},
288 {"br.dpnt.many", BR (1, 3, 0)},
289 {"br.dpnt.many.clr", BR (1, 3, 1)},
290#undef BR
800eeca4
JW
291
292#define BR(a,b,c,d) \
293 B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2
294 {"br.wexit.sptk.few", BR (2, 0, 0, 0) | MOD_RRBS},
295 {"br.wexit.sptk", BR (2, 0, 0, 0) | PSEUDO | MOD_RRBS},
296 {"br.wexit.sptk.few.clr", BR (2, 0, 0, 1) | MOD_RRBS},
297 {"br.wexit.sptk.clr", BR (2, 0, 0, 1) | PSEUDO | MOD_RRBS},
298 {"br.wexit.spnt.few", BR (2, 0, 1, 0) | MOD_RRBS},
299 {"br.wexit.spnt", BR (2, 0, 1, 0) | PSEUDO | MOD_RRBS},
300 {"br.wexit.spnt.few.clr", BR (2, 0, 1, 1) | MOD_RRBS},
301 {"br.wexit.spnt.clr", BR (2, 0, 1, 1) | PSEUDO | MOD_RRBS},
302 {"br.wexit.dptk.few", BR (2, 0, 2, 0) | MOD_RRBS},
303 {"br.wexit.dptk", BR (2, 0, 2, 0) | PSEUDO | MOD_RRBS},
304 {"br.wexit.dptk.few.clr", BR (2, 0, 2, 1) | MOD_RRBS},
305 {"br.wexit.dptk.clr", BR (2, 0, 2, 1) | PSEUDO | MOD_RRBS},
306 {"br.wexit.dpnt.few", BR (2, 0, 3, 0) | MOD_RRBS},
307 {"br.wexit.dpnt", BR (2, 0, 3, 0) | PSEUDO | MOD_RRBS},
308 {"br.wexit.dpnt.few.clr", BR (2, 0, 3, 1) | MOD_RRBS},
309 {"br.wexit.dpnt.clr", BR (2, 0, 3, 1) | PSEUDO | MOD_RRBS},
310 {"br.wexit.sptk.many", BR (2, 1, 0, 0) | MOD_RRBS},
311 {"br.wexit.sptk.many.clr", BR (2, 1, 0, 1) | MOD_RRBS},
312 {"br.wexit.spnt.many", BR (2, 1, 1, 0) | MOD_RRBS},
313 {"br.wexit.spnt.many.clr", BR (2, 1, 1, 1) | MOD_RRBS},
314 {"br.wexit.dptk.many", BR (2, 1, 2, 0) | MOD_RRBS},
315 {"br.wexit.dptk.many.clr", BR (2, 1, 2, 1) | MOD_RRBS},
316 {"br.wexit.dpnt.many", BR (2, 1, 3, 0) | MOD_RRBS},
317 {"br.wexit.dpnt.many.clr", BR (2, 1, 3, 1) | MOD_RRBS},
318 {"br.wtop.sptk.few", BR (3, 0, 0, 0) | MOD_RRBS},
319 {"br.wtop.sptk", BR (3, 0, 0, 0) | PSEUDO | MOD_RRBS},
320 {"br.wtop.sptk.few.clr", BR (3, 0, 0, 1) | MOD_RRBS},
321 {"br.wtop.sptk.clr", BR (3, 0, 0, 1) | PSEUDO | MOD_RRBS},
322 {"br.wtop.spnt.few", BR (3, 0, 1, 0) | MOD_RRBS},
323 {"br.wtop.spnt", BR (3, 0, 1, 0) | PSEUDO | MOD_RRBS},
324 {"br.wtop.spnt.few.clr", BR (3, 0, 1, 1) | MOD_RRBS},
325 {"br.wtop.spnt.clr", BR (3, 0, 1, 1) | PSEUDO | MOD_RRBS},
326 {"br.wtop.dptk.few", BR (3, 0, 2, 0) | MOD_RRBS},
327 {"br.wtop.dptk", BR (3, 0, 2, 0) | PSEUDO | MOD_RRBS},
328 {"br.wtop.dptk.few.clr", BR (3, 0, 2, 1) | MOD_RRBS},
329 {"br.wtop.dptk.clr", BR (3, 0, 2, 1) | PSEUDO | MOD_RRBS},
330 {"br.wtop.dpnt.few", BR (3, 0, 3, 0) | MOD_RRBS},
331 {"br.wtop.dpnt", BR (3, 0, 3, 0) | PSEUDO | MOD_RRBS},
332 {"br.wtop.dpnt.few.clr", BR (3, 0, 3, 1) | MOD_RRBS},
333 {"br.wtop.dpnt.clr", BR (3, 0, 3, 1) | PSEUDO | MOD_RRBS},
334 {"br.wtop.sptk.many", BR (3, 1, 0, 0) | MOD_RRBS},
335 {"br.wtop.sptk.many.clr", BR (3, 1, 0, 1) | MOD_RRBS},
336 {"br.wtop.spnt.many", BR (3, 1, 1, 0) | MOD_RRBS},
337 {"br.wtop.spnt.many.clr", BR (3, 1, 1, 1) | MOD_RRBS},
338 {"br.wtop.dptk.many", BR (3, 1, 2, 0) | MOD_RRBS},
339 {"br.wtop.dptk.many.clr", BR (3, 1, 2, 1) | MOD_RRBS},
340 {"br.wtop.dpnt.many", BR (3, 1, 3, 0) | MOD_RRBS},
341 {"br.wtop.dpnt.many.clr", BR (3, 1, 3, 1) | MOD_RRBS},
342
343#undef BR
344#define BR(a,b,c,d) \
345 B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2 | NO_PRED
346 {"br.cloop.sptk.few", BR (5, 0, 0, 0)},
347 {"br.cloop.sptk", BR (5, 0, 0, 0) | PSEUDO},
348 {"br.cloop.sptk.few.clr", BR (5, 0, 0, 1)},
349 {"br.cloop.sptk.clr", BR (5, 0, 0, 1) | PSEUDO},
350 {"br.cloop.spnt.few", BR (5, 0, 1, 0)},
351 {"br.cloop.spnt", BR (5, 0, 1, 0) | PSEUDO},
352 {"br.cloop.spnt.few.clr", BR (5, 0, 1, 1)},
353 {"br.cloop.spnt.clr", BR (5, 0, 1, 1) | PSEUDO},
354 {"br.cloop.dptk.few", BR (5, 0, 2, 0)},
355 {"br.cloop.dptk", BR (5, 0, 2, 0) | PSEUDO},
356 {"br.cloop.dptk.few.clr", BR (5, 0, 2, 1)},
357 {"br.cloop.dptk.clr", BR (5, 0, 2, 1) | PSEUDO},
358 {"br.cloop.dpnt.few", BR (5, 0, 3, 0)},
359 {"br.cloop.dpnt", BR (5, 0, 3, 0) | PSEUDO},
360 {"br.cloop.dpnt.few.clr", BR (5, 0, 3, 1)},
361 {"br.cloop.dpnt.clr", BR (5, 0, 3, 1) | PSEUDO},
362 {"br.cloop.sptk.many", BR (5, 1, 0, 0)},
363 {"br.cloop.sptk.many.clr", BR (5, 1, 0, 1)},
364 {"br.cloop.spnt.many", BR (5, 1, 1, 0)},
365 {"br.cloop.spnt.many.clr", BR (5, 1, 1, 1)},
366 {"br.cloop.dptk.many", BR (5, 1, 2, 0)},
367 {"br.cloop.dptk.many.clr", BR (5, 1, 2, 1)},
368 {"br.cloop.dpnt.many", BR (5, 1, 3, 0)},
369 {"br.cloop.dpnt.many.clr", BR (5, 1, 3, 1)},
370 {"br.cexit.sptk.few", BR (6, 0, 0, 0) | MOD_RRBS},
371 {"br.cexit.sptk", BR (6, 0, 0, 0) | PSEUDO | MOD_RRBS},
372 {"br.cexit.sptk.few.clr", BR (6, 0, 0, 1) | MOD_RRBS},
373 {"br.cexit.sptk.clr", BR (6, 0, 0, 1) | PSEUDO | MOD_RRBS},
374 {"br.cexit.spnt.few", BR (6, 0, 1, 0) | MOD_RRBS},
375 {"br.cexit.spnt", BR (6, 0, 1, 0) | PSEUDO | MOD_RRBS},
376 {"br.cexit.spnt.few.clr", BR (6, 0, 1, 1) | MOD_RRBS},
377 {"br.cexit.spnt.clr", BR (6, 0, 1, 1) | PSEUDO | MOD_RRBS},
378 {"br.cexit.dptk.few", BR (6, 0, 2, 0) | MOD_RRBS},
379 {"br.cexit.dptk", BR (6, 0, 2, 0) | PSEUDO | MOD_RRBS},
380 {"br.cexit.dptk.few.clr", BR (6, 0, 2, 1) | MOD_RRBS},
381 {"br.cexit.dptk.clr", BR (6, 0, 2, 1) | PSEUDO | MOD_RRBS},
382 {"br.cexit.dpnt.few", BR (6, 0, 3, 0) | MOD_RRBS},
383 {"br.cexit.dpnt", BR (6, 0, 3, 0) | PSEUDO | MOD_RRBS},
384 {"br.cexit.dpnt.few.clr", BR (6, 0, 3, 1) | MOD_RRBS},
385 {"br.cexit.dpnt.clr", BR (6, 0, 3, 1) | PSEUDO | MOD_RRBS},
386 {"br.cexit.sptk.many", BR (6, 1, 0, 0) | MOD_RRBS},
387 {"br.cexit.sptk.many.clr", BR (6, 1, 0, 1) | MOD_RRBS},
388 {"br.cexit.spnt.many", BR (6, 1, 1, 0) | MOD_RRBS},
389 {"br.cexit.spnt.many.clr", BR (6, 1, 1, 1) | MOD_RRBS},
390 {"br.cexit.dptk.many", BR (6, 1, 2, 0) | MOD_RRBS},
391 {"br.cexit.dptk.many.clr", BR (6, 1, 2, 1) | MOD_RRBS},
392 {"br.cexit.dpnt.many", BR (6, 1, 3, 0) | MOD_RRBS},
393 {"br.cexit.dpnt.many.clr", BR (6, 1, 3, 1) | MOD_RRBS},
394 {"br.ctop.sptk.few", BR (7, 0, 0, 0) | MOD_RRBS},
395 {"br.ctop.sptk", BR (7, 0, 0, 0) | PSEUDO | MOD_RRBS},
396 {"br.ctop.sptk.few.clr", BR (7, 0, 0, 1) | MOD_RRBS},
397 {"br.ctop.sptk.clr", BR (7, 0, 0, 1) | PSEUDO | MOD_RRBS},
398 {"br.ctop.spnt.few", BR (7, 0, 1, 0) | MOD_RRBS},
399 {"br.ctop.spnt", BR (7, 0, 1, 0) | PSEUDO | MOD_RRBS},
400 {"br.ctop.spnt.few.clr", BR (7, 0, 1, 1) | MOD_RRBS},
401 {"br.ctop.spnt.clr", BR (7, 0, 1, 1) | PSEUDO | MOD_RRBS},
402 {"br.ctop.dptk.few", BR (7, 0, 2, 0) | MOD_RRBS},
403 {"br.ctop.dptk", BR (7, 0, 2, 0) | PSEUDO | MOD_RRBS},
404 {"br.ctop.dptk.few.clr", BR (7, 0, 2, 1) | MOD_RRBS},
405 {"br.ctop.dptk.clr", BR (7, 0, 2, 1) | PSEUDO | MOD_RRBS},
406 {"br.ctop.dpnt.few", BR (7, 0, 3, 0) | MOD_RRBS},
407 {"br.ctop.dpnt", BR (7, 0, 3, 0) | PSEUDO | MOD_RRBS},
408 {"br.ctop.dpnt.few.clr", BR (7, 0, 3, 1) | MOD_RRBS},
409 {"br.ctop.dpnt.clr", BR (7, 0, 3, 1) | PSEUDO | MOD_RRBS},
410 {"br.ctop.sptk.many", BR (7, 1, 0, 0) | MOD_RRBS},
411 {"br.ctop.sptk.many.clr", BR (7, 1, 0, 1) | MOD_RRBS},
412 {"br.ctop.spnt.many", BR (7, 1, 1, 0) | MOD_RRBS},
413 {"br.ctop.spnt.many.clr", BR (7, 1, 1, 1) | MOD_RRBS},
414 {"br.ctop.dptk.many", BR (7, 1, 2, 0) | MOD_RRBS},
415 {"br.ctop.dptk.many.clr", BR (7, 1, 2, 1) | MOD_RRBS},
416 {"br.ctop.dpnt.many", BR (7, 1, 3, 0) | MOD_RRBS},
417 {"br.ctop.dpnt.many.clr", BR (7, 1, 3, 1) | MOD_RRBS},
418
419#undef BR
420#define BR(a,b,c,d) \
421 B0, OpBtypePaWhaD (4, a, b, c, d), {TGT25c}, SLOT2
422 {"br.call.sptk.few", B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}},
423 {"br.call.sptk", B, OpPaWhaD (5, 0, 0, 0), {B1, TGT25c}, PSEUDO},
424 {"br.call.sptk.few.clr", B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}},
425 {"br.call.sptk.clr", B, OpPaWhaD (5, 0, 0, 1), {B1, TGT25c}, PSEUDO},
426 {"br.call.spnt.few", B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}},
427 {"br.call.spnt", B, OpPaWhaD (5, 0, 1, 0), {B1, TGT25c}, PSEUDO},
428 {"br.call.spnt.few.clr", B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}},
429 {"br.call.spnt.clr", B, OpPaWhaD (5, 0, 1, 1), {B1, TGT25c}, PSEUDO},
430 {"br.call.dptk.few", B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}},
431 {"br.call.dptk", B, OpPaWhaD (5, 0, 2, 0), {B1, TGT25c}, PSEUDO},
432 {"br.call.dptk.few.clr", B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}},
433 {"br.call.dptk.clr", B, OpPaWhaD (5, 0, 2, 1), {B1, TGT25c}, PSEUDO},
434 {"br.call.dpnt.few", B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}},
435 {"br.call.dpnt", B, OpPaWhaD (5, 0, 3, 0), {B1, TGT25c}, PSEUDO},
436 {"br.call.dpnt.few.clr", B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}},
437 {"br.call.dpnt.clr", B, OpPaWhaD (5, 0, 3, 1), {B1, TGT25c}, PSEUDO},
438 {"br.call.sptk.many", B, OpPaWhaD (5, 1, 0, 0), {B1, TGT25c}},
439 {"br.call.sptk.many.clr", B, OpPaWhaD (5, 1, 0, 1), {B1, TGT25c}},
440 {"br.call.spnt.many", B, OpPaWhaD (5, 1, 1, 0), {B1, TGT25c}},
441 {"br.call.spnt.many.clr", B, OpPaWhaD (5, 1, 1, 1), {B1, TGT25c}},
442 {"br.call.dptk.many", B, OpPaWhaD (5, 1, 2, 0), {B1, TGT25c}},
443 {"br.call.dptk.many.clr", B, OpPaWhaD (5, 1, 2, 1), {B1, TGT25c}},
444 {"br.call.dpnt.many", B, OpPaWhaD (5, 1, 3, 0), {B1, TGT25c}},
445 {"br.call.dpnt.many.clr", B, OpPaWhaD (5, 1, 3, 1), {B1, TGT25c}},
446#undef BR
447
448 /* branch predict */
449#define BRP(a,b) \
450 B0, OpIhWhb (7, a, b), {TGT25c, TAG13}, NO_PRED
451 {"brp.sptk", BRP (0, 0)},
452 {"brp.loop", BRP (0, 1)},
453 {"brp.dptk", BRP (0, 2)},
454 {"brp.exit", BRP (0, 3)},
455 {"brp.sptk.imp", BRP (1, 0)},
456 {"brp.loop.imp", BRP (1, 1)},
457 {"brp.dptk.imp", BRP (1, 2)},
458 {"brp.exit.imp", BRP (1, 3)},
459#undef BRP
460
461 {0}
462 };
463
464#undef B0
465#undef B
466#undef bBtype
467#undef bD
468#undef bIh
469#undef bPa
470#undef bPr
471#undef bWha
472#undef bWhb
473#undef bX6
474#undef mBtype
475#undef mD
476#undef mIh
477#undef mPa
478#undef mPr
479#undef mWha
480#undef mWhb
481#undef mX6
482#undef OpX6
483#undef OpPaWhaD
484#undef OpBtypePaWhaD
485#undef OpBtypePaWhaDPr
486#undef OpX6BtypePaWhaD
487#undef OpX6BtypePaWhaDPr
488#undef OpIhWhb
489#undef OpX6IhWhb
This page took 0.122477 seconds and 4 git commands to generate.