Commit | Line | Data |
---|---|---|
5f8f6d56 SC |
1 | /* Opcode table for the Alpha. |
2 | ||
c024cc11 | 3 | Copyright 1993, 1995 Free Software Foundation, Inc. |
5f8f6d56 SC |
4 | |
5 | This program is free software; you can redistribute it and/or modify | |
6 | it under the terms of the GNU General Public License as published by | |
7 | the Free Software Foundation; either version 2, or (at your option) | |
8 | any later version. | |
9 | ||
10 | This program is distributed in the hope that it will be useful, | |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | GNU General Public License for more details. | |
14 | ||
15 | You should have received a copy of the GNU General Public License | |
16 | along with this program; if not, write to the Free Software | |
943fbd5b | 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ |
5f8f6d56 | 18 | |
c024cc11 KR |
19 | /* Contributed by sac@cygnus.com. */ |
20 | ||
5f8f6d56 | 21 | |
c024cc11 | 22 | #define OSF_ASMCODE 1 |
5f8f6d56 SC |
23 | |
24 | /* Alpha opcode format */ | |
25 | #define RA(x) (((x)>>21)& 0x1f) | |
26 | #define RB(x) (((x)>>16)& 0x1f) | |
27 | #define RC(x) (((x)>>0) & 0x1f) | |
28 | #define DISP(x) ((((x) & 0xffff) ^ 0x8000)-0x8000) | |
3c6c7e44 | 29 | #define BDISP(x) ((((x) & 0x1fffff) ^ 0x100000)-0x100000) |
5f8f6d56 SC |
30 | #define OPCODE(x) (((x) >>26)&0x3f) |
31 | #define JUMP_OPTYPE(x) (((x)>>14) & 0xf) | |
32 | #define JUMP_HINT(x) ((x) & 0x3fff) | |
3c6c7e44 | 33 | #define JDISP(x) ((((x) & 0x3fff) ^ 0x2000)-0x2000) |
5f8f6d56 | 34 | #define OP_OPTYPE(x) (((x)>>5)&0x7f) |
3c6c7e44 | 35 | #define OP_IS_CONSTANT(x) ((x) & (1<<12)) |
5f8f6d56 SC |
36 | #define LITERAL(x) (((x)>>13) & 0xff) |
37 | ||
38 | ||
39 | /* Shapes | |
40 | ||
41 | Memory instruction format oooo ooaa aaab bbbb dddd dddd dddd dddd | |
42 | Memory with function oooo ooaa aaab bbbb ffff ffff ffff ffff | |
43 | Memory branch oooo ooaa aaab bbbb BBff ffff ffff ffff | |
44 | Branch oooo ooaa aaad dddd dddd dddd dddd dddd | |
45 | Operate reg oooo ooaa aaab bbbb ***F ffff fffc cccc | |
46 | Operate cont oooo ooaa aaal llll lll1 ffff fffc cccc | |
47 | FP reg oooo ooaa aaab bbbb 000f ffff fffc cccc | |
48 | Pal oooo oodd dddd dddd dddd dddd dddd dddd | |
49 | ||
c024cc11 | 50 | The following masks just give opcode & function |
5f8f6d56 SC |
51 | */ |
52 | ||
53 | #define MEMORY_FORMAT_MASK 0xfc000000 | |
54 | #define MEMORY_BRANCH_FORMAT_MASK 0xfc00c000 | |
55 | #define BRANCH_FORMAT_MASK 0xfc000000 | |
56 | #define OPERATE_FORMAT_MASK 0xfc000fe0 | |
57 | #define FLOAT_FORMAT_MASK 0xfc000fe0 | |
5f8f6d56 | 58 | |
c024cc11 | 59 | typedef struct |
5f8f6d56 SC |
60 | { |
61 | unsigned i; | |
62 | char *name; | |
63 | int type; | |
64 | } alpha_insn; | |
c024cc11 | 65 | |
5f8f6d56 SC |
66 | #ifdef DEFINE_TABLE |
67 | ||
68 | char *alpha_regs[32] = | |
69 | { | |
c024cc11 KR |
70 | "v0", "t0", "t1", "t2", "t3", "t4", "t5", "t6", |
71 | "t7", "s0", "s1", "s2", "s3", "s4", "s5", "fp", | |
72 | "a0", "a1", "a2", "a3", "a4", "a5", "t8", "t9", | |
73 | "t10", "t11", "ra", "t12", "at", "gp", "sp", "zero" | |
5f8f6d56 SC |
74 | }; |
75 | ||
76 | #define MEMORY_FORMAT_CODE 1 | |
77 | #define MEMORY_FORMAT(op, name) \ | |
78 | { op << 26, name, MEMORY_FORMAT_CODE } | |
79 | ||
80 | #define MEMORY_BRANCH_FORMAT_CODE 2 | |
81 | #define MEMORY_BRANCH_FORMAT(op, func, name) \ | |
82 | { (op<<26)+(func<<14),name, MEMORY_BRANCH_FORMAT_CODE } | |
83 | ||
84 | #define MEMORY_FUNCTION_FORMAT_CODE 3 | |
85 | #define MEMORY_FORMAT_FUNCTION(op, func, name) \ | |
86 | { (op<<26)+(func), name, MEMORY_FUNCTION_FORMAT_CODE } | |
87 | ||
88 | #define BRANCH_FORMAT_CODE 4 | |
89 | #define BRANCH_FORMAT(op, name) \ | |
90 | { (op<<26), name , BRANCH_FORMAT_CODE } | |
91 | ||
92 | #define OPERATE_FORMAT_CODE 5 | |
93 | #define OPERATE_FORMAT(op, extra,name) \ | |
94 | {(op<<26)+(extra<<5),name , OPERATE_FORMAT_CODE} | |
95 | ||
96 | #define FLOAT_FORMAT_CODE 6 | |
97 | #define FLOAT_FORMAT(op, extra,name) \ | |
98 | {(op<<26)+(extra<<5),name , FLOAT_FORMAT_CODE } | |
99 | ||
100 | #define PAL_FORMAT_CODE 7 | |
101 | #define PAL_FORMAT(op, extra, name) \ | |
102 | {(op<<26)+(extra),name, PAL_FORMAT_CODE} | |
103 | ||
ba936a2e PS |
104 | #define FLOAT_MEMORY_FORMAT_CODE 8 |
105 | #define FLOAT_MEMORY_FORMAT(op, name) \ | |
106 | { op << 26, name, FLOAT_MEMORY_FORMAT_CODE } | |
107 | ||
108 | #define FLOAT_BRANCH_FORMAT_CODE 9 | |
109 | #define FLOAT_BRANCH_FORMAT(op, name) \ | |
110 | { (op<<26), name , FLOAT_BRANCH_FORMAT_CODE } | |
111 | ||
5f8f6d56 SC |
112 | alpha_insn alpha_insn_set[] = |
113 | { | |
114 | ||
115 | /* Memory format instruction opcodes */ | |
c024cc11 KR |
116 | MEMORY_FORMAT( 0x08, "lda"), |
117 | FLOAT_MEMORY_FORMAT( 0x21, "ldg"), | |
118 | MEMORY_FORMAT( 0x29, "ldq"), | |
119 | FLOAT_MEMORY_FORMAT( 0x22, "lds"), | |
120 | FLOAT_MEMORY_FORMAT( 0x25, "stg"), | |
121 | MEMORY_FORMAT( 0x2d, "stq"), | |
122 | FLOAT_MEMORY_FORMAT( 0x26, "sts"), | |
123 | MEMORY_FORMAT( 0x09, "ldah"), | |
124 | MEMORY_FORMAT( 0x28, "ldl"), | |
125 | MEMORY_FORMAT( 0x2b, "ldq_l"), | |
126 | FLOAT_MEMORY_FORMAT( 0x23, "ldt"), | |
127 | MEMORY_FORMAT( 0x2c, "stl"), | |
128 | MEMORY_FORMAT( 0x2f, "stq_c"), | |
129 | FLOAT_MEMORY_FORMAT( 0x27, "stt"), | |
130 | FLOAT_MEMORY_FORMAT( 0x20, "ldf"), | |
131 | MEMORY_FORMAT( 0x2a, "ldl_l"), | |
132 | MEMORY_FORMAT( 0x0b, "ldq_u"), | |
133 | FLOAT_MEMORY_FORMAT( 0x24, "stf"), | |
134 | MEMORY_FORMAT( 0x2e, "stl_c"), | |
135 | MEMORY_FORMAT( 0x0f, "stq_u"), | |
5f8f6d56 SC |
136 | |
137 | /* Memory format instructions with a function code */ | |
c024cc11 KR |
138 | MEMORY_FORMAT_FUNCTION( 0x18, 0x8000, "fetch"), |
139 | MEMORY_FORMAT_FUNCTION( 0x18, 0xe000, "rc"), | |
140 | MEMORY_FORMAT_FUNCTION( 0x18, 0x0000, "trapb"), | |
141 | MEMORY_FORMAT_FUNCTION( 0x18, 0xa000, "fetch_m"), | |
142 | MEMORY_FORMAT_FUNCTION( 0x18, 0xc000, "rpcc"), | |
143 | MEMORY_FORMAT_FUNCTION( 0x18, 0x4000, "mb"), | |
144 | MEMORY_FORMAT_FUNCTION( 0x18, 0xf000, "rs"), | |
145 | ||
146 | MEMORY_BRANCH_FORMAT( 0x1a, 0x0, "jmp"), | |
147 | MEMORY_BRANCH_FORMAT( 0x1a, 0x2, "ret"), | |
148 | MEMORY_BRANCH_FORMAT( 0x1a, 0x1, "jsr"), | |
149 | MEMORY_BRANCH_FORMAT( 0x1a, 0x3, "jsr_coroutine"), | |
150 | ||
151 | ||
152 | BRANCH_FORMAT( 0x30, "br"), | |
153 | FLOAT_BRANCH_FORMAT( 0x33, "fble"), | |
154 | FLOAT_BRANCH_FORMAT( 0x36, "fbge"), | |
155 | BRANCH_FORMAT( 0x39, "beq"), | |
156 | BRANCH_FORMAT( 0x3c, "blbs"), | |
157 | BRANCH_FORMAT( 0x3f, "bgt"), | |
158 | FLOAT_BRANCH_FORMAT( 0x31, "fbeq"), | |
159 | BRANCH_FORMAT( 0x34, "bsr"), | |
160 | FLOAT_BRANCH_FORMAT( 0x37, "fbgt"), | |
161 | BRANCH_FORMAT( 0x3a, "blt"), | |
162 | BRANCH_FORMAT( 0x3d, "bne"), | |
163 | FLOAT_BRANCH_FORMAT( 0x32, "fblt"), | |
164 | FLOAT_BRANCH_FORMAT( 0x35, "fbne"), | |
165 | BRANCH_FORMAT( 0x38, "blbc"), | |
166 | BRANCH_FORMAT( 0x3b, "ble"), | |
167 | BRANCH_FORMAT( 0x3e, "bge"), | |
168 | ||
169 | OPERATE_FORMAT(0x10, 0x00, "addl"), | |
170 | OPERATE_FORMAT(0x10, 0x02, "s4addl"), | |
171 | OPERATE_FORMAT(0x10, 0x09, "subl"), | |
172 | OPERATE_FORMAT(0x10, 0x0b, "s4subl"), | |
173 | OPERATE_FORMAT(0x10, 0x0f, "cmpbge"), | |
174 | OPERATE_FORMAT(0x10, 0x12, "s8addl"), | |
175 | OPERATE_FORMAT(0x10, 0x1b, "s8subl"), | |
176 | OPERATE_FORMAT(0x10, 0x1d, "cmpult"), | |
177 | OPERATE_FORMAT(0x10, 0x20, "addq"), | |
178 | OPERATE_FORMAT(0x10, 0x22, "s4addq"), | |
179 | OPERATE_FORMAT(0x10, 0x29, "subq"), | |
180 | OPERATE_FORMAT(0x10, 0x2b, "s4subq"), | |
181 | OPERATE_FORMAT(0x10, 0x2d, "cmpeq"), | |
182 | OPERATE_FORMAT(0x10, 0x32, "s8addq"), | |
183 | OPERATE_FORMAT(0x10, 0x3b, "s8subq"), | |
184 | OPERATE_FORMAT(0x10, 0x3d, "cmpule"), | |
185 | OPERATE_FORMAT(0x10, 0x40, "addlv"), | |
186 | OPERATE_FORMAT(0x10, 0x49, "sublv"), | |
187 | OPERATE_FORMAT(0x10, 0x4d, "cmplt"), | |
188 | OPERATE_FORMAT(0x10, 0x60, "addqv"), | |
189 | OPERATE_FORMAT(0x10, 0x69, "subqv"), | |
190 | OPERATE_FORMAT(0x10, 0x6d, "cmple"), | |
191 | OPERATE_FORMAT(0x11, 0x00, "and"), | |
192 | OPERATE_FORMAT(0x11, 0x08, "bic"), | |
193 | OPERATE_FORMAT(0x11, 0x14, "cmovlbs"), | |
194 | OPERATE_FORMAT(0x11, 0x16, "cmovlbc"), | |
195 | OPERATE_FORMAT(0x11, 0x20, "bis"), | |
196 | OPERATE_FORMAT(0x11, 0x24, "cmoveq"), | |
197 | OPERATE_FORMAT(0x11, 0x26, "cmovne"), | |
198 | OPERATE_FORMAT(0x11, 0x28, "ornot"), | |
199 | OPERATE_FORMAT(0x11, 0x40, "xor"), | |
200 | OPERATE_FORMAT(0x11, 0x44, "cmovlt"), | |
201 | OPERATE_FORMAT(0x11, 0x46, "cmovge"), | |
202 | OPERATE_FORMAT(0x11, 0x48, "eqv"), | |
203 | OPERATE_FORMAT(0x11, 0x64, "cmovle"), | |
204 | OPERATE_FORMAT(0x11, 0x66, "cmovgt"), | |
205 | OPERATE_FORMAT(0x12, 0x02, "mskbl"), | |
206 | OPERATE_FORMAT(0x12, 0x06, "extbl"), | |
207 | OPERATE_FORMAT(0x12, 0x0b, "insbl"), | |
208 | OPERATE_FORMAT(0x12, 0x12, "mskwl"), | |
209 | OPERATE_FORMAT(0x12, 0x16, "extwl"), | |
210 | OPERATE_FORMAT(0x12, 0x1b, "inswl"), | |
211 | OPERATE_FORMAT(0x12, 0x22, "mskll"), | |
212 | OPERATE_FORMAT(0x12, 0x26, "extll"), | |
213 | OPERATE_FORMAT(0x12, 0x2b, "insll"), | |
214 | OPERATE_FORMAT(0x12, 0x30, "zap"), | |
215 | OPERATE_FORMAT(0x12, 0x31, "zapnot"), | |
216 | OPERATE_FORMAT(0x12, 0x32, "mskql"), | |
217 | OPERATE_FORMAT(0x12, 0x34, "srl"), | |
218 | OPERATE_FORMAT(0x12, 0x36, "extql"), | |
219 | OPERATE_FORMAT(0x12, 0x39, "sll"), | |
220 | OPERATE_FORMAT(0x12, 0x3b, "insql"), | |
221 | OPERATE_FORMAT(0x12, 0x3c, "sra"), | |
222 | OPERATE_FORMAT(0x12, 0x52, "mskwh"), | |
223 | OPERATE_FORMAT(0x12, 0x57, "inswh"), | |
224 | OPERATE_FORMAT(0x12, 0x5a, "extwh"), | |
225 | OPERATE_FORMAT(0x12, 0x62, "msklh"), | |
226 | OPERATE_FORMAT(0x12, 0x67, "inslh"), | |
227 | OPERATE_FORMAT(0x12, 0x6a, "extlh"), | |
228 | OPERATE_FORMAT(0x12, 0x72, "mskqh"), | |
229 | OPERATE_FORMAT(0x12, 0x77, "insqh"), | |
230 | OPERATE_FORMAT(0x12, 0x7a, "extqh"), | |
231 | OPERATE_FORMAT(0x13, 0x00, "mull"), | |
232 | OPERATE_FORMAT(0x13, 0x20, "mulq"), | |
233 | OPERATE_FORMAT(0x13, 0x30, "umulh"), | |
234 | OPERATE_FORMAT(0x13, 0x40, "mullv"), | |
235 | OPERATE_FORMAT(0x13, 0x60, "mulqv"), | |
236 | ||
237 | FLOAT_FORMAT(0x17, 0x20, "cpys"), | |
238 | FLOAT_FORMAT(0x17, 0x21, "cpysn"), | |
239 | FLOAT_FORMAT(0x17, 0x22, "cpyse"), | |
240 | FLOAT_FORMAT(0x17, 0x24, "mt_fpcr"), | |
241 | FLOAT_FORMAT(0x17, 0x25, "mf_fpcr"), | |
242 | FLOAT_FORMAT(0x17, 0x2a, "fcmoveq"), | |
243 | FLOAT_FORMAT(0x17, 0x2b, "fcmovne"), | |
244 | FLOAT_FORMAT(0x17, 0x2c, "fcmovlt"), | |
245 | FLOAT_FORMAT(0x17, 0x2d, "fcmovge"), | |
246 | FLOAT_FORMAT(0x17, 0x2e, "fcmovle"), | |
247 | FLOAT_FORMAT(0x17, 0x2f, "fcmovgt"), | |
248 | FLOAT_FORMAT(0x17, 0x10, "cvtlq"), | |
249 | FLOAT_FORMAT(0x17, 0x30, "cvtql"), | |
250 | FLOAT_FORMAT(0x17, 0x130, "cvtql/v"), | |
251 | FLOAT_FORMAT(0x17, 0x530, "cvtql/sv"), | |
252 | ||
253 | FLOAT_FORMAT(0x16, 0x080, "adds"), | |
254 | FLOAT_FORMAT(0x16, 0x000, "adds/c"), | |
255 | FLOAT_FORMAT(0x16, 0x040, "adds/m"), | |
256 | FLOAT_FORMAT(0x16, 0x0c0, "adds/d"), | |
257 | FLOAT_FORMAT(0x16, 0x180, "adds/u"), | |
258 | FLOAT_FORMAT(0x16, 0x100, "adds/uc"), | |
259 | FLOAT_FORMAT(0x16, 0x140, "adds/um"), | |
260 | FLOAT_FORMAT(0x16, 0x1c0, "adds/ud"), | |
261 | FLOAT_FORMAT(0x16, 0x580, "adds/su"), | |
262 | FLOAT_FORMAT(0x16, 0x500, "adds/suc"), | |
263 | FLOAT_FORMAT(0x16, 0x540, "adds/sum"), | |
264 | FLOAT_FORMAT(0x16, 0x5c0, "adds/sud"), | |
265 | FLOAT_FORMAT(0x16, 0x780, "adds/sui"), | |
266 | FLOAT_FORMAT(0x16, 0x700, "adds/suic"), | |
267 | FLOAT_FORMAT(0x16, 0x740, "adds/suim"), | |
268 | FLOAT_FORMAT(0x16, 0x7c0, "adds/suid"), | |
269 | FLOAT_FORMAT(0x16, 0x0a0, "addt"), | |
270 | FLOAT_FORMAT(0x16, 0x020, "addt/c"), | |
271 | FLOAT_FORMAT(0x16, 0x060, "addt/m"), | |
272 | FLOAT_FORMAT(0x16, 0x0e0, "addt/d"), | |
273 | FLOAT_FORMAT(0x16, 0x1a0, "addt/u"), | |
274 | FLOAT_FORMAT(0x16, 0x120, "addt/uc"), | |
275 | FLOAT_FORMAT(0x16, 0x160, "addt/um"), | |
276 | FLOAT_FORMAT(0x16, 0x1e0, "addt/ud"), | |
277 | FLOAT_FORMAT(0x16, 0x5a0, "addt/su"), | |
278 | FLOAT_FORMAT(0x16, 0x520, "addt/suc"), | |
279 | FLOAT_FORMAT(0x16, 0x560, "addt/sum"), | |
280 | FLOAT_FORMAT(0x16, 0x5e0, "addt/sud"), | |
281 | FLOAT_FORMAT(0x16, 0x7a0, "addt/sui"), | |
282 | FLOAT_FORMAT(0x16, 0x720, "addt/suic"), | |
283 | FLOAT_FORMAT(0x16, 0x760, "addt/suim"), | |
284 | FLOAT_FORMAT(0x16, 0x7e0, "addt/suid"), | |
285 | FLOAT_FORMAT(0x16, 0x0a5, "cmpteq"), | |
286 | FLOAT_FORMAT(0x16, 0x025, "cmpteq/c"), | |
287 | FLOAT_FORMAT(0x16, 0x065, "cmpteq/m"), | |
288 | FLOAT_FORMAT(0x16, 0x0e5, "cmpteq/d"), | |
289 | FLOAT_FORMAT(0x16, 0x1a5, "cmpteq/u"), | |
290 | FLOAT_FORMAT(0x16, 0x125, "cmpteq/uc"), | |
291 | FLOAT_FORMAT(0x16, 0x165, "cmpteq/um"), | |
292 | FLOAT_FORMAT(0x16, 0x1e5, "cmpteq/ud"), | |
293 | FLOAT_FORMAT(0x16, 0x5a5, "cmpteq/su"), | |
294 | FLOAT_FORMAT(0x16, 0x525, "cmpteq/suc"), | |
295 | FLOAT_FORMAT(0x16, 0x565, "cmpteq/sum"), | |
296 | FLOAT_FORMAT(0x16, 0x5e5, "cmpteq/sud"), | |
297 | FLOAT_FORMAT(0x16, 0x7a5, "cmpteq/sui"), | |
298 | FLOAT_FORMAT(0x16, 0x725, "cmpteq/suic"), | |
299 | FLOAT_FORMAT(0x16, 0x765, "cmpteq/suim"), | |
300 | FLOAT_FORMAT(0x16, 0x7e5, "cmpteq/suid"), | |
301 | FLOAT_FORMAT(0x16, 0x0a6, "cmptlt"), | |
302 | FLOAT_FORMAT(0x16, 0x026, "cmptlt/c"), | |
303 | FLOAT_FORMAT(0x16, 0x066, "cmptlt/m"), | |
304 | FLOAT_FORMAT(0x16, 0x0e6, "cmptlt/d"), | |
305 | FLOAT_FORMAT(0x16, 0x1a6, "cmptlt/u"), | |
306 | FLOAT_FORMAT(0x16, 0x126, "cmptlt/uc"), | |
307 | FLOAT_FORMAT(0x16, 0x166, "cmptlt/um"), | |
308 | FLOAT_FORMAT(0x16, 0x1e6, "cmptlt/ud"), | |
309 | FLOAT_FORMAT(0x16, 0x5a6, "cmptlt/su"), | |
310 | FLOAT_FORMAT(0x16, 0x526, "cmptlt/suc"), | |
311 | FLOAT_FORMAT(0x16, 0x566, "cmptlt/sum"), | |
312 | FLOAT_FORMAT(0x16, 0x5e6, "cmptlt/sud"), | |
313 | FLOAT_FORMAT(0x16, 0x7a6, "cmptlt/sui"), | |
314 | FLOAT_FORMAT(0x16, 0x726, "cmptlt/suic"), | |
315 | FLOAT_FORMAT(0x16, 0x766, "cmptlt/suim"), | |
316 | FLOAT_FORMAT(0x16, 0x7e6, "cmptlt/suid"), | |
317 | FLOAT_FORMAT(0x16, 0x0a7, "cmptle"), | |
318 | FLOAT_FORMAT(0x16, 0x027, "cmptle/c"), | |
319 | FLOAT_FORMAT(0x16, 0x067, "cmptle/m"), | |
320 | FLOAT_FORMAT(0x16, 0x0e7, "cmptle/d"), | |
321 | FLOAT_FORMAT(0x16, 0x1a7, "cmptle/u"), | |
322 | FLOAT_FORMAT(0x16, 0x127, "cmptle/uc"), | |
323 | FLOAT_FORMAT(0x16, 0x167, "cmptle/um"), | |
324 | FLOAT_FORMAT(0x16, 0x1e7, "cmptle/ud"), | |
325 | FLOAT_FORMAT(0x16, 0x5a7, "cmptle/su"), | |
326 | FLOAT_FORMAT(0x16, 0x527, "cmptle/suc"), | |
327 | FLOAT_FORMAT(0x16, 0x567, "cmptle/sum"), | |
328 | FLOAT_FORMAT(0x16, 0x5e7, "cmptle/sud"), | |
329 | FLOAT_FORMAT(0x16, 0x7a7, "cmptle/sui"), | |
330 | FLOAT_FORMAT(0x16, 0x727, "cmptle/suic"), | |
331 | FLOAT_FORMAT(0x16, 0x767, "cmptle/suim"), | |
332 | FLOAT_FORMAT(0x16, 0x7e7, "cmptle/suid"), | |
333 | FLOAT_FORMAT(0x16, 0x0a4, "cmptun"), | |
334 | FLOAT_FORMAT(0x16, 0x024, "cmptun/c"), | |
335 | FLOAT_FORMAT(0x16, 0x064, "cmptun/m"), | |
336 | FLOAT_FORMAT(0x16, 0x0e4, "cmptun/d"), | |
337 | FLOAT_FORMAT(0x16, 0x1a4, "cmptun/u"), | |
338 | FLOAT_FORMAT(0x16, 0x124, "cmptun/uc"), | |
339 | FLOAT_FORMAT(0x16, 0x164, "cmptun/um"), | |
340 | FLOAT_FORMAT(0x16, 0x1e4, "cmptun/ud"), | |
341 | FLOAT_FORMAT(0x16, 0x5a4, "cmptun/su"), | |
342 | FLOAT_FORMAT(0x16, 0x524, "cmptun/suc"), | |
343 | FLOAT_FORMAT(0x16, 0x564, "cmptun/sum"), | |
344 | FLOAT_FORMAT(0x16, 0x5e4, "cmptun/sud"), | |
345 | FLOAT_FORMAT(0x16, 0x7a4, "cmptun/sui"), | |
346 | FLOAT_FORMAT(0x16, 0x724, "cmptun/suic"), | |
347 | FLOAT_FORMAT(0x16, 0x764, "cmptun/suim"), | |
348 | FLOAT_FORMAT(0x16, 0x7e4, "cmptun/suid"), | |
349 | FLOAT_FORMAT(0x16, 0x0bc, "cvtqs"), | |
350 | FLOAT_FORMAT(0x16, 0x03c, "cvtqs/c"), | |
351 | FLOAT_FORMAT(0x16, 0x07c, "cvtqs/m"), | |
352 | FLOAT_FORMAT(0x16, 0x0fc, "cvtqs/d"), | |
353 | FLOAT_FORMAT(0x16, 0x1bc, "cvtqs/u"), | |
354 | FLOAT_FORMAT(0x16, 0x13c, "cvtqs/uc"), | |
355 | FLOAT_FORMAT(0x16, 0x17c, "cvtqs/um"), | |
356 | FLOAT_FORMAT(0x16, 0x1fc, "cvtqs/ud"), | |
357 | FLOAT_FORMAT(0x16, 0x5bc, "cvtqs/su"), | |
358 | FLOAT_FORMAT(0x16, 0x53c, "cvtqs/suc"), | |
359 | FLOAT_FORMAT(0x16, 0x57c, "cvtqs/sum"), | |
360 | FLOAT_FORMAT(0x16, 0x5fc, "cvtqs/sud"), | |
361 | FLOAT_FORMAT(0x16, 0x7bc, "cvtqs/sui"), | |
362 | FLOAT_FORMAT(0x16, 0x73c, "cvtqs/suic"), | |
363 | FLOAT_FORMAT(0x16, 0x77c, "cvtqs/suim"), | |
364 | FLOAT_FORMAT(0x16, 0x7fc, "cvtqs/suid"), | |
365 | FLOAT_FORMAT(0x16, 0x0be, "cvtqt"), | |
366 | FLOAT_FORMAT(0x16, 0x03e, "cvtqt/c"), | |
367 | FLOAT_FORMAT(0x16, 0x07e, "cvtqt/m"), | |
368 | FLOAT_FORMAT(0x16, 0x0fe, "cvtqt/d"), | |
369 | FLOAT_FORMAT(0x16, 0x1be, "cvtqt/u"), | |
370 | FLOAT_FORMAT(0x16, 0x13e, "cvtqt/uc"), | |
371 | FLOAT_FORMAT(0x16, 0x17e, "cvtqt/um"), | |
372 | FLOAT_FORMAT(0x16, 0x1fe, "cvtqt/ud"), | |
373 | FLOAT_FORMAT(0x16, 0x5be, "cvtqt/su"), | |
374 | FLOAT_FORMAT(0x16, 0x53e, "cvtqt/suc"), | |
375 | FLOAT_FORMAT(0x16, 0x57e, "cvtqt/sum"), | |
376 | FLOAT_FORMAT(0x16, 0x5fe, "cvtqt/sud"), | |
377 | FLOAT_FORMAT(0x16, 0x7be, "cvtqt/sui"), | |
378 | FLOAT_FORMAT(0x16, 0x73e, "cvtqt/suic"), | |
379 | FLOAT_FORMAT(0x16, 0x77e, "cvtqt/suim"), | |
380 | FLOAT_FORMAT(0x16, 0x7fe, "cvtqt/suid"), | |
381 | FLOAT_FORMAT(0x16, 0x0ac, "cvtts"), | |
382 | FLOAT_FORMAT(0x16, 0x02c, "cvtts/c"), | |
383 | FLOAT_FORMAT(0x16, 0x06c, "cvtts/m"), | |
384 | FLOAT_FORMAT(0x16, 0x0ec, "cvtts/d"), | |
385 | FLOAT_FORMAT(0x16, 0x1ac, "cvtts/u"), | |
386 | FLOAT_FORMAT(0x16, 0x12c, "cvtts/uc"), | |
387 | FLOAT_FORMAT(0x16, 0x16c, "cvtts/um"), | |
388 | FLOAT_FORMAT(0x16, 0x1ec, "cvtts/ud"), | |
389 | FLOAT_FORMAT(0x16, 0x5ac, "cvtts/su"), | |
390 | FLOAT_FORMAT(0x16, 0x52c, "cvtts/suc"), | |
391 | FLOAT_FORMAT(0x16, 0x56c, "cvtts/sum"), | |
392 | FLOAT_FORMAT(0x16, 0x5ec, "cvtts/sud"), | |
393 | FLOAT_FORMAT(0x16, 0x7ac, "cvtts/sui"), | |
394 | FLOAT_FORMAT(0x16, 0x72c, "cvtts/suic"), | |
395 | FLOAT_FORMAT(0x16, 0x76c, "cvtts/suim"), | |
396 | FLOAT_FORMAT(0x16, 0x7ec, "cvtts/suid"), | |
397 | FLOAT_FORMAT(0x16, 0x083, "divs"), | |
398 | FLOAT_FORMAT(0x16, 0x003, "divs/c"), | |
399 | FLOAT_FORMAT(0x16, 0x043, "divs/m"), | |
400 | FLOAT_FORMAT(0x16, 0x0c3, "divs/d"), | |
401 | FLOAT_FORMAT(0x16, 0x183, "divs/u"), | |
402 | FLOAT_FORMAT(0x16, 0x103, "divs/uc"), | |
403 | FLOAT_FORMAT(0x16, 0x143, "divs/um"), | |
404 | FLOAT_FORMAT(0x16, 0x1c3, "divs/ud"), | |
405 | FLOAT_FORMAT(0x16, 0x583, "divs/su"), | |
406 | FLOAT_FORMAT(0x16, 0x503, "divs/suc"), | |
407 | FLOAT_FORMAT(0x16, 0x543, "divs/sum"), | |
408 | FLOAT_FORMAT(0x16, 0x5c3, "divs/sud"), | |
409 | FLOAT_FORMAT(0x16, 0x783, "divs/sui"), | |
410 | FLOAT_FORMAT(0x16, 0x703, "divs/suic"), | |
411 | FLOAT_FORMAT(0x16, 0x743, "divs/suim"), | |
412 | FLOAT_FORMAT(0x16, 0x7c3, "divs/suid"), | |
413 | FLOAT_FORMAT(0x16, 0x0a3, "divt"), | |
414 | FLOAT_FORMAT(0x16, 0x023, "divt/c"), | |
415 | FLOAT_FORMAT(0x16, 0x063, "divt/m"), | |
416 | FLOAT_FORMAT(0x16, 0x0e3, "divt/d"), | |
417 | FLOAT_FORMAT(0x16, 0x1a3, "divt/u"), | |
418 | FLOAT_FORMAT(0x16, 0x123, "divt/uc"), | |
419 | FLOAT_FORMAT(0x16, 0x163, "divt/um"), | |
420 | FLOAT_FORMAT(0x16, 0x1e3, "divt/ud"), | |
421 | FLOAT_FORMAT(0x16, 0x5a3, "divt/su"), | |
422 | FLOAT_FORMAT(0x16, 0x523, "divt/suc"), | |
423 | FLOAT_FORMAT(0x16, 0x563, "divt/sum"), | |
424 | FLOAT_FORMAT(0x16, 0x5e3, "divt/sud"), | |
425 | FLOAT_FORMAT(0x16, 0x7a3, "divt/sui"), | |
426 | FLOAT_FORMAT(0x16, 0x723, "divt/suic"), | |
427 | FLOAT_FORMAT(0x16, 0x763, "divt/suim"), | |
428 | FLOAT_FORMAT(0x16, 0x7e3, "divt/suid"), | |
429 | FLOAT_FORMAT(0x16, 0x082, "muls"), | |
430 | FLOAT_FORMAT(0x16, 0x002, "muls/c"), | |
431 | FLOAT_FORMAT(0x16, 0x042, "muls/m"), | |
432 | FLOAT_FORMAT(0x16, 0x0c2, "muls/d"), | |
433 | FLOAT_FORMAT(0x16, 0x182, "muls/u"), | |
434 | FLOAT_FORMAT(0x16, 0x102, "muls/uc"), | |
435 | FLOAT_FORMAT(0x16, 0x142, "muls/um"), | |
436 | FLOAT_FORMAT(0x16, 0x1c2, "muls/ud"), | |
437 | FLOAT_FORMAT(0x16, 0x582, "muls/su"), | |
438 | FLOAT_FORMAT(0x16, 0x502, "muls/suc"), | |
439 | FLOAT_FORMAT(0x16, 0x542, "muls/sum"), | |
440 | FLOAT_FORMAT(0x16, 0x5c2, "muls/sud"), | |
441 | FLOAT_FORMAT(0x16, 0x782, "muls/sui"), | |
442 | FLOAT_FORMAT(0x16, 0x702, "muls/suic"), | |
443 | FLOAT_FORMAT(0x16, 0x742, "muls/suim"), | |
444 | FLOAT_FORMAT(0x16, 0x7c2, "muls/suid"), | |
445 | FLOAT_FORMAT(0x16, 0x0a2, "mult"), | |
446 | FLOAT_FORMAT(0x16, 0x022, "mult/c"), | |
447 | FLOAT_FORMAT(0x16, 0x062, "mult/m"), | |
448 | FLOAT_FORMAT(0x16, 0x0e2, "mult/d"), | |
449 | FLOAT_FORMAT(0x16, 0x1a2, "mult/u"), | |
450 | FLOAT_FORMAT(0x16, 0x122, "mult/uc"), | |
451 | FLOAT_FORMAT(0x16, 0x162, "mult/um"), | |
452 | FLOAT_FORMAT(0x16, 0x1e2, "mult/ud"), | |
453 | FLOAT_FORMAT(0x16, 0x5a2, "mult/su"), | |
454 | FLOAT_FORMAT(0x16, 0x522, "mult/suc"), | |
455 | FLOAT_FORMAT(0x16, 0x562, "mult/sum"), | |
456 | FLOAT_FORMAT(0x16, 0x5e2, "mult/sud"), | |
457 | FLOAT_FORMAT(0x16, 0x7a2, "mult/sui"), | |
458 | FLOAT_FORMAT(0x16, 0x722, "mult/suic"), | |
459 | FLOAT_FORMAT(0x16, 0x762, "mult/suim"), | |
460 | FLOAT_FORMAT(0x16, 0x7e2, "mult/suid"), | |
461 | FLOAT_FORMAT(0x16, 0x081, "subs"), | |
462 | FLOAT_FORMAT(0x16, 0x001, "subs/c"), | |
463 | FLOAT_FORMAT(0x16, 0x041, "subs/m"), | |
464 | FLOAT_FORMAT(0x16, 0x0c1, "subs/d"), | |
465 | FLOAT_FORMAT(0x16, 0x181, "subs/u"), | |
466 | FLOAT_FORMAT(0x16, 0x101, "subs/uc"), | |
467 | FLOAT_FORMAT(0x16, 0x141, "subs/um"), | |
468 | FLOAT_FORMAT(0x16, 0x1c1, "subs/ud"), | |
469 | FLOAT_FORMAT(0x16, 0x581, "subs/su"), | |
470 | FLOAT_FORMAT(0x16, 0x501, "subs/suc"), | |
471 | FLOAT_FORMAT(0x16, 0x541, "subs/sum"), | |
472 | FLOAT_FORMAT(0x16, 0x5c1, "subs/sud"), | |
473 | FLOAT_FORMAT(0x16, 0x781, "subs/sui"), | |
474 | FLOAT_FORMAT(0x16, 0x701, "subs/suic"), | |
475 | FLOAT_FORMAT(0x16, 0x741, "subs/suim"), | |
476 | FLOAT_FORMAT(0x16, 0x7c1, "subs/suid"), | |
477 | FLOAT_FORMAT(0x16, 0x0a1, "subt"), | |
478 | FLOAT_FORMAT(0x16, 0x021, "subt/c"), | |
479 | FLOAT_FORMAT(0x16, 0x061, "subt/m"), | |
480 | FLOAT_FORMAT(0x16, 0x0e1, "subt/d"), | |
481 | FLOAT_FORMAT(0x16, 0x1a1, "subt/u"), | |
482 | FLOAT_FORMAT(0x16, 0x121, "subt/uc"), | |
483 | FLOAT_FORMAT(0x16, 0x161, "subt/um"), | |
484 | FLOAT_FORMAT(0x16, 0x1e1, "subt/ud"), | |
485 | FLOAT_FORMAT(0x16, 0x5a1, "subt/su"), | |
486 | FLOAT_FORMAT(0x16, 0x521, "subt/suc"), | |
487 | FLOAT_FORMAT(0x16, 0x561, "subt/sum"), | |
488 | FLOAT_FORMAT(0x16, 0x5e1, "subt/sud"), | |
489 | FLOAT_FORMAT(0x16, 0x7a1, "subt/sui"), | |
490 | FLOAT_FORMAT(0x16, 0x721, "subt/suic"), | |
491 | FLOAT_FORMAT(0x16, 0x761, "subt/suim"), | |
492 | FLOAT_FORMAT(0x16, 0x7e1, "subt/suid"), | |
493 | ||
494 | #if (VMS_ASMCODE) | |
495 | /* unprivileged codes */ | |
496 | PAL_FORMAT(0x00, 0x0080, "bpt"), | |
497 | PAL_FORMAT(0x00, 0x0081, "bugchk"), | |
498 | PAL_FORMAT(0x00, 0x0082, "chme"), | |
499 | PAL_FORMAT(0x00, 0x0083, "chmk"), | |
500 | PAL_FORMAT(0x00, 0x0084, "chms"), | |
501 | PAL_FORMAT(0x00, 0x0085, "chmu"), | |
502 | PAL_FORMAT(0x00, 0x0086, "imb"), | |
503 | PAL_FORMAT(0x00, 0x0087, "insqhil"), | |
504 | PAL_FORMAT(0x00, 0x0088, "insqtil"), | |
505 | PAL_FORMAT(0x00, 0x0089, "insqhiq"), | |
506 | PAL_FORMAT(0x00, 0x008a, "insqtiq"), | |
507 | PAL_FORMAT(0x00, 0x008b, "insquel"), | |
508 | PAL_FORMAT(0x00, 0x008c, "insqueq"), | |
509 | PAL_FORMAT(0x00, 0x008d, "insquel/d"), | |
510 | PAL_FORMAT(0x00, 0x008e, "insqueq/d"), | |
511 | PAL_FORMAT(0x00, 0x008f, "prober"), | |
512 | PAL_FORMAT(0x00, 0x0090, "probew"), | |
513 | PAL_FORMAT(0x00, 0x0091, "rd_ps"), | |
514 | PAL_FORMAT(0x00, 0x0092, "rei"), | |
515 | PAL_FORMAT(0x00, 0x0093, "remqhil"), | |
516 | PAL_FORMAT(0x00, 0x0095, "remqhiq"), | |
517 | PAL_FORMAT(0x00, 0x009e, "read_unq"), | |
518 | PAL_FORMAT(0x00, 0x0094, "remqtil"), | |
519 | PAL_FORMAT(0x00, 0x0096, "remqtiq"), | |
520 | PAL_FORMAT(0x00, 0x0097, "remquel"), | |
521 | PAL_FORMAT(0x00, 0x0098, "remqueq"), | |
522 | PAL_FORMAT(0x00, 0x0099, "remquel/d"), | |
523 | PAL_FORMAT(0x00, 0x009a, "remqueq/d"), | |
524 | PAL_FORMAT(0x00, 0x009b, "swasten"), | |
525 | PAL_FORMAT(0x00, 0x009c, "wr_ps_sw"), | |
526 | PAL_FORMAT(0x00, 0x009d, "rscc"), | |
527 | PAL_FORMAT(0x00, 0x009f, "write_unq"), | |
528 | PAL_FORMAT(0x00, 0x00a0, "amovrr"), | |
529 | PAL_FORMAT(0x00, 0x00a1, "amovrm"), | |
530 | PAL_FORMAT(0x00, 0x00a2, "insqhilr"), | |
531 | PAL_FORMAT(0x00, 0x00a3, "insqtilr"), | |
532 | PAL_FORMAT(0x00, 0x00a4, "insqhiqr"), | |
533 | PAL_FORMAT(0x00, 0x00a5, "insqtiqr"), | |
534 | PAL_FORMAT(0x00, 0x00a6, "remqhilr"), | |
535 | PAL_FORMAT(0x00, 0x00a7, "remqtilr"), | |
536 | PAL_FORMAT(0x00, 0x00a8, "remqhiqr"), | |
537 | PAL_FORMAT(0x00, 0x00a9, "remqtiqr"), | |
538 | PAL_FORMAT(0x00, 0x00aa, "gentrap"), | |
539 | /* privileged codes */ | |
540 | PAL_FORMAT(0x00, 0x0000, "halt"), | |
541 | PAL_FORMAT(0x00, 0x0001, "cflush"), | |
542 | PAL_FORMAT(0x00, 0x0002, "draina"), | |
543 | PAL_FORMAT(0x00, 0x0003, "ldqp"), | |
544 | PAL_FORMAT(0x00, 0x0004, "stqp"), | |
545 | PAL_FORMAT(0x00, 0x0005, "swpctx"), | |
546 | PAL_FORMAT(0x00, 0x0006, "mfpr_asn"), | |
547 | PAL_FORMAT(0x00, 0x0007, "mtpr_asten"), | |
548 | PAL_FORMAT(0x00, 0x0008, "mtpr_astsr"), | |
549 | PAL_FORMAT(0x00, 0x000b, "mfpr_fen"), | |
550 | PAL_FORMAT(0x00, 0x000c, "mtpr_fen"), | |
551 | PAL_FORMAT(0x00, 0x000d, "mtpr_ipir"), | |
552 | PAL_FORMAT(0x00, 0x000e, "mfpr_ipl"), | |
553 | PAL_FORMAT(0x00, 0x000f, "mtpr_ipl"), | |
554 | PAL_FORMAT(0x00, 0x0010, "mfpr_mces"), | |
555 | PAL_FORMAT(0x00, 0x0011, "mtpr_mces"), | |
556 | PAL_FORMAT(0x00, 0x0012, "mfpr_pcbb"), | |
557 | PAL_FORMAT(0x00, 0x0013, "mfpr_prbr"), | |
558 | PAL_FORMAT(0x00, 0x0014, "mtpr_prbr"), | |
559 | PAL_FORMAT(0x00, 0x0015, "mfpr_ptbr"), | |
560 | PAL_FORMAT(0x00, 0x0016, "mfpr_scbb"), | |
561 | PAL_FORMAT(0x00, 0x0017, "mtpr_scbb"), | |
562 | PAL_FORMAT(0x00, 0x0018, "mtpr_sirr"), | |
563 | PAL_FORMAT(0x00, 0x0019, "mfpr_sisr"), | |
564 | PAL_FORMAT(0x00, 0x001a, "mfpr_tbchk"), | |
565 | PAL_FORMAT(0x00, 0x001b, "mtpr_tbia"), | |
566 | PAL_FORMAT(0x00, 0x001c, "mtpr_tbiap"), | |
567 | PAL_FORMAT(0x00, 0x001d, "mtpr_tbis"), | |
568 | PAL_FORMAT(0x00, 0x001e, "mfpr_esp"), | |
569 | PAL_FORMAT(0x00, 0x001f, "mtpr_esp"), | |
570 | PAL_FORMAT(0x00, 0x0020, "mfpr_ssp"), | |
571 | PAL_FORMAT(0x00, 0x0021, "mtpr_ssp"), | |
572 | PAL_FORMAT(0x00, 0x0022, "mfpr_usp"), | |
573 | PAL_FORMAT(0x00, 0x0023, "mtpr_usp"), | |
574 | PAL_FORMAT(0x00, 0x0024, "mtpr_tbisd"), | |
575 | PAL_FORMAT(0x00, 0x0025, "mtpr_tbisi"), | |
576 | PAL_FORMAT(0x00, 0x0026, "mfpr_asten"), | |
577 | PAL_FORMAT(0x00, 0x0027, "mfpr_astsr"), | |
578 | PAL_FORMAT(0x00, 0x0029, "mfpr_vptb"), | |
579 | PAL_FORMAT(0x00, 0x002a, "mtpr_vptb"), | |
580 | PAL_FORMAT(0x00, 0x002b, "mtpr_perfmon"), | |
581 | PAL_FORMAT(0x00, 0x002e, "mtpr_datfx"), | |
582 | PAL_FORMAT(0x00, 0x003f, "mfpr_whami"), | |
583 | ||
584 | #elif OSF_ASMCODE | |
585 | /* unprivileged codes */ | |
586 | PAL_FORMAT(0x00, 0x0080, "bpt"), | |
587 | PAL_FORMAT(0x00, 0x0081, "bugchk"), | |
588 | PAL_FORMAT(0x00, 0x0083, "callsys"), | |
589 | PAL_FORMAT(0x00, 0x0086, "imb"), | |
590 | PAL_FORMAT(0x00, 0x009f, "wrunique"), | |
591 | PAL_FORMAT(0x00, 0x009e, "rdunique"), | |
592 | PAL_FORMAT(0x00, 0x00aa, "gentrap"), | |
593 | /* privileged codes */ | |
594 | PAL_FORMAT(0x00, 0x0000, "halt"), | |
595 | PAL_FORMAT(0x00, 0x0032, "rdval"), | |
596 | PAL_FORMAT(0x00, 0x0030, "swpctx"), | |
597 | PAL_FORMAT(0x00, 0x003c, "whami"), | |
598 | PAL_FORMAT(0x00, 0x0037, "wrkgp"), | |
599 | PAL_FORMAT(0x00, 0x002d, "wrvptptr"), | |
600 | PAL_FORMAT(0x00, 0x0036, "rdps"), | |
601 | PAL_FORMAT(0x00, 0x003d, "retsys"), | |
602 | PAL_FORMAT(0x00, 0x0035, "swpipl"), | |
603 | PAL_FORMAT(0x00, 0x0034, "wrent"), | |
604 | PAL_FORMAT(0x00, 0x0038, "wrusp"), | |
605 | PAL_FORMAT(0x00, 0x003a, "rdusp"), | |
606 | PAL_FORMAT(0x00, 0x003f, "rti"), | |
607 | PAL_FORMAT(0x00, 0x0033, "tbi"), | |
608 | PAL_FORMAT(0x00, 0x002b, "wrfen"), | |
609 | PAL_FORMAT(0x00, 0x0031, "wrval"), | |
610 | ||
611 | #endif /* OSF_ASMCODE */ | |
612 | ||
613 | /* This is the old set we had before: | |
614 | ||
615 | PAL_FORMAT(0x00, 0x0000, "halt"), | |
616 | PAL_FORMAT(0x00, 0x0080, "bpt"), | |
617 | PAL_FORMAT(0x00, 0x00aa, "gentrap"), | |
618 | PAL_FORMAT(0x00, 0x009f, "wrunique"), | |
619 | PAL_FORMAT(0x00, 0x0081, "bugchk"), | |
620 | PAL_FORMAT(0x00, 0x0086, "imb"), | |
621 | PAL_FORMAT(0x00, 0x0083, "callsys"), | |
622 | PAL_FORMAT(0x00, 0x009e, "rdunique"), | |
623 | */ | |
624 | ||
5f8f6d56 SC |
625 | |
626 | 0 | |
627 | }; | |
628 | #endif | |
629 |