]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - opcodes/z8k-opc.h
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / opcodes / z8k-opc.h
CommitLineData
78a33af2
AM
1/* DO NOT EDIT! -*- buffer-read-only: t -*-
2 This file is automatically generated by z8kgen. */
3
d87bef3a 4/* Copyright (C) 2007-2023 Free Software Foundation, Inc.
9b201bb5
NC
5
6 This file is part of the GNU opcodes library.
7
8 This library is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3, or (at your option)
11 any later version.
12
13 It is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
16 License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this file; see the file COPYING. If not, write to the
20 Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
21 MA 02110-1301, USA. */
22
c8fd013c
CG
23#define ARG_MASK 0x0f
24#define ARG_SRC 0x01
25#define ARG_DST 0x02
26#define ARG_RS 0x01
27#define ARG_RD 0x02
28#define ARG_RA 0x03
29#define ARG_RB 0x04
30#define ARG_RR 0x05
31#define ARG_RX 0x06
32#define ARG_IMM4 0x01
33#define ARG_IMM8 0x02
34#define ARG_IMM16 0x03
35#define ARG_IMM32 0x04
36#define ARG_IMMN 0x05
37#define ARG_IMMNMINUS1 0x05
38#define ARG_IMM_1 0x06
39#define ARG_IMM_2 0x07
40#define ARG_DISP16 0x08
41#define ARG_NIM8 0x09
42#define ARG_IMM2 0x0a
43#define ARG_IMM1OR2 0x0b
44#define ARG_DISP12 0x0b
45#define ARG_NIM4 0x0c
46#define ARG_DISP8 0x0c
47#define ARG_IMM4M1 0x0d
48#define CLASS_X 0x10
49#define CLASS_BA 0x20
50#define CLASS_DA 0x30
51#define CLASS_BX 0x40
52#define CLASS_DISP 0x50
53#define CLASS_IMM 0x60
54#define CLASS_CC 0x70
55#define CLASS_CTRL 0x80
56#define CLASS_IGNORE 0x90
57#define CLASS_ADDRESS 0xd0
58#define CLASS_0CCC 0xe0
59#define CLASS_1CCC 0xf0
60#define CLASS_0DISP7 0x100
61#define CLASS_1DISP7 0x200
62#define CLASS_01II 0x300
63#define CLASS_00II 0x400
64#define CLASS_BIT 0x500
65#define CLASS_FLAGS 0x600
66#define CLASS_IR 0x700
6ddfd88c
CG
67#define CLASS_IRO 0x800
68#define CLASS_DISP8 0x900
69#define CLASS_BIT_1OR2 0xa00
c8fd013c
CG
70#define CLASS_REG 0x7000
71#define CLASS_REG_BYTE 0x2000
72#define CLASS_REG_WORD 0x3000
73#define CLASS_REG_QUAD 0x4000
74#define CLASS_REG_LONG 0x5000
75#define CLASS_REGN0 0x8000
76#define CLASS_PR 0x10000
6ddfd88c 77#define CLASS_MASK 0x1fff0
c8fd013c
CG
78#define OPC_adc 0
79#define OPC_adcb 1
80#define OPC_add 2
81#define OPC_addb 3
82#define OPC_addl 4
83#define OPC_and 5
84#define OPC_andb 6
85#define OPC_bit 7
86#define OPC_bitb 8
87#define OPC_call 9
88#define OPC_calr 10
89#define OPC_clr 11
90#define OPC_clrb 12
91#define OPC_com 13
92#define OPC_comb 14
93#define OPC_comflg 15
94#define OPC_cp 16
95#define OPC_cpb 17
96#define OPC_cpd 18
97#define OPC_cpdb 19
98#define OPC_cpdr 20
99#define OPC_cpdrb 21
100#define OPC_cpi 22
101#define OPC_cpib 23
102#define OPC_cpir 24
103#define OPC_cpirb 25
104#define OPC_cpl 26
105#define OPC_cpsd 27
106#define OPC_cpsdb 28
107#define OPC_cpsdr 29
108#define OPC_cpsdrb 30
109#define OPC_cpsi 31
110#define OPC_cpsib 32
111#define OPC_cpsir 33
112#define OPC_cpsirb 34
113#define OPC_dab 35
114#define OPC_dbjnz 36
115#define OPC_dec 37
116#define OPC_decb 38
117#define OPC_di 39
118#define OPC_div 40
119#define OPC_divl 41
120#define OPC_djnz 42
121#define OPC_ei 43
122#define OPC_ex 44
123#define OPC_exb 45
124#define OPC_exts 46
125#define OPC_extsb 47
126#define OPC_extsl 48
127#define OPC_halt 49
128#define OPC_in 50
129#define OPC_inb 51
130#define OPC_inc 52
131#define OPC_incb 53
132#define OPC_ind 54
133#define OPC_indb 55
6ddfd88c
CG
134#define OPC_indr 56
135#define OPC_indrb 57
136#define OPC_ini 58
137#define OPC_inib 59
138#define OPC_inir 60
139#define OPC_inirb 61
140#define OPC_iret 62
141#define OPC_jp 63
142#define OPC_jr 64
143#define OPC_ld 65
144#define OPC_lda 66
145#define OPC_ldar 67
146#define OPC_ldb 68
147#define OPC_ldctl 69
148#define OPC_ldir 70
149#define OPC_ldirb 71
150#define OPC_ldk 72
151#define OPC_ldl 73
152#define OPC_ldm 74
153#define OPC_ldps 75
154#define OPC_ldr 76
155#define OPC_ldrb 77
156#define OPC_ldrl 78
157#define OPC_mbit 79
158#define OPC_mreq 80
159#define OPC_mres 81
160#define OPC_mset 82
161#define OPC_mult 83
162#define OPC_multl 84
163#define OPC_neg 85
164#define OPC_negb 86
165#define OPC_nop 87
166#define OPC_or 88
167#define OPC_orb 89
168#define OPC_otdr 90
169#define OPC_otdrb 91
170#define OPC_otir 92
171#define OPC_otirb 93
172#define OPC_out 94
173#define OPC_outb 95
174#define OPC_outd 96
175#define OPC_outdb 97
176#define OPC_outi 98
177#define OPC_outib 99
178#define OPC_pop 100
179#define OPC_popl 101
180#define OPC_push 102
181#define OPC_pushl 103
182#define OPC_res 104
183#define OPC_resb 105
184#define OPC_resflg 106
185#define OPC_ret 107
186#define OPC_rl 108
187#define OPC_rlb 109
188#define OPC_rlc 110
189#define OPC_rlcb 111
190#define OPC_rldb 112
191#define OPC_rr 113
192#define OPC_rrb 114
193#define OPC_rrc 115
194#define OPC_rrcb 116
195#define OPC_rrdb 117
196#define OPC_sbc 118
197#define OPC_sbcb 119
198#define OPC_sda 120
199#define OPC_sdab 121
200#define OPC_sdal 122
201#define OPC_sdl 123
202#define OPC_sdlb 124
203#define OPC_sdll 125
204#define OPC_set 126
205#define OPC_setb 127
206#define OPC_setflg 128
207#define OPC_sin 129
208#define OPC_sinb 130
209#define OPC_sind 131
210#define OPC_sindb 132
211#define OPC_sindr 133
212#define OPC_sindrb 134
213#define OPC_sini 135
214#define OPC_sinib 136
215#define OPC_sinir 137
216#define OPC_sinirb 138
217#define OPC_sla 139
218#define OPC_slab 140
219#define OPC_slal 141
220#define OPC_sll 142
221#define OPC_sllb 143
222#define OPC_slll 144
223#define OPC_sotdr 145
224#define OPC_sotdrb 146
225#define OPC_sotir 147
226#define OPC_sotirb 148
227#define OPC_sout 149
228#define OPC_soutb 150
229#define OPC_soutd 151
230#define OPC_soutdb 152
231#define OPC_souti 153
232#define OPC_soutib 154
233#define OPC_sra 155
234#define OPC_srab 156
235#define OPC_sral 157
236#define OPC_srl 158
237#define OPC_srlb 159
238#define OPC_srll 160
239#define OPC_sub 161
240#define OPC_subb 162
241#define OPC_subl 163
242#define OPC_tcc 164
243#define OPC_tccb 165
244#define OPC_test 166
245#define OPC_testb 167
246#define OPC_testl 168
247#define OPC_trdb 169
248#define OPC_trdrb 170
249#define OPC_trib 171
250#define OPC_trirb 172
251#define OPC_trtdrb 173
252#define OPC_trtib 174
253#define OPC_trtirb 175
254#define OPC_trtrb 176
255#define OPC_tset 177
256#define OPC_tsetb 178
257#define OPC_xor 179
258#define OPC_xorb 180
259#define OPC_ldd 181
260#define OPC_lddb 182
261#define OPC_lddr 183
262#define OPC_lddrb 184
263#define OPC_ldi 185
264#define OPC_ldib 186
265#define OPC_sc 187
266#define OPC_bpt 188
267#define OPC_ext0e 188
268#define OPC_ext0f 188
269#define OPC_ext8e 188
270#define OPC_ext8f 188
271#define OPC_rsvd36 188
272#define OPC_rsvd38 188
273#define OPC_rsvd78 188
274#define OPC_rsvd7e 188
275#define OPC_rsvd9d 188
276#define OPC_rsvd9f 188
277#define OPC_rsvdb9 188
278#define OPC_rsvdbf 188
279#define OPC_ldctlb 189
280#define OPC_trtdb 190
281#define OPC_brk 191
78a33af2 282
252b5132
RH
283typedef struct {
284#ifdef NICENAMES
78a33af2
AM
285 const char *nicename;
286 int type;
287 int cycles;
288 int flags;
289#endif
290 const char *name;
291 unsigned char opcode;
ff13a42d 292 void (*func) (void);
78a33af2
AM
293 unsigned int arg_info[4];
294 unsigned int byte_info[10];
030a2e78
AM
295 unsigned int noperands;
296 unsigned int length;
297 unsigned int idx;
252b5132 298} opcode_entry_type;
78a33af2 299
252b5132 300#ifdef DEFINE_TABLE
84037f8c 301const opcode_entry_type z8k_table[] = {
252b5132 302
252b5132
RH
303/* 1011 0101 ssss dddd *** adc rd,rs */
304{
305#ifdef NICENAMES
78a33af2 306"adc rd,rs",16,5,0x3c,
252b5132
RH
307#endif
308"adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
309 {CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},
310
252b5132
RH
311/* 1011 0100 ssss dddd *** adcb rbd,rbs */
312{
313#ifdef NICENAMES
78a33af2 314"adcb rbd,rbs",8,5,0x3f,
252b5132
RH
315#endif
316"adcb",OPC_adcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
317 {CLASS_BIT+0xb,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1},
318
252b5132
RH
319/* 0000 0001 ssN0 dddd *** add rd,@rs */
320{
321#ifdef NICENAMES
78a33af2 322"add rd,@rs",16,7,0x3c,
252b5132
RH
323#endif
324"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
325 {CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
326
252b5132
RH
327/* 0100 0001 0000 dddd address_src *** add rd,address_src */
328{
329#ifdef NICENAMES
78a33af2 330"add rd,address_src",16,9,0x3c,
252b5132
RH
331#endif
332"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
78a33af2 333 {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,2},
252b5132
RH
334
335/* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */
336{
337#ifdef NICENAMES
78a33af2 338"add rd,address_src(rs)",16,10,0x3c,
252b5132
RH
339#endif
340"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
78a33af2 341 {CLASS_BIT+4,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,2},
252b5132
RH
342
343/* 0000 0001 0000 dddd imm16 *** add rd,imm16 */
344{
345#ifdef NICENAMES
78a33af2 346"add rd,imm16",16,7,0x3c,
252b5132
RH
347#endif
348"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
78a33af2 349 {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,2},
252b5132
RH
350
351/* 1000 0001 ssss dddd *** add rd,rs */
352{
353#ifdef NICENAMES
78a33af2 354"add rd,rs",16,4,0x3c,
252b5132
RH
355#endif
356"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
78a33af2 357 {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
252b5132
RH
358
359/* 0000 0000 ssN0 dddd *** addb rbd,@rs */
360{
361#ifdef NICENAMES
78a33af2 362"addb rbd,@rs",8,7,0x3f,
252b5132
RH
363#endif
364"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
78a33af2 365 {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,3},
252b5132
RH
366
367/* 0100 0000 0000 dddd address_src *** addb rbd,address_src */
368{
369#ifdef NICENAMES
78a33af2 370"addb rbd,address_src",8,9,0x3f,
252b5132
RH
371#endif
372"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
78a33af2 373 {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
252b5132
RH
374
375/* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */
376{
377#ifdef NICENAMES
78a33af2 378"addb rbd,address_src(rs)",8,10,0x3f,
252b5132
RH
379#endif
380"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
78a33af2 381 {CLASS_BIT+4,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
252b5132
RH
382
383/* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */
384{
385#ifdef NICENAMES
78a33af2 386"addb rbd,imm8",8,7,0x3f,
252b5132
RH
387#endif
388"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
78a33af2 389 {CLASS_BIT+0,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,3},
252b5132
RH
390
391/* 1000 0000 ssss dddd *** addb rbd,rbs */
392{
393#ifdef NICENAMES
78a33af2 394"addb rbd,rbs",8,4,0x3f,
252b5132
RH
395#endif
396"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
78a33af2 397 {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,3},
252b5132
RH
398
399/* 0001 0110 ssN0 dddd *** addl rrd,@rs */
400{
401#ifdef NICENAMES
78a33af2 402"addl rrd,@rs",32,14,0x3c,
252b5132
RH
403#endif
404"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
78a33af2 405 {CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,4},
252b5132
RH
406
407/* 0101 0110 0000 dddd address_src *** addl rrd,address_src */
408{
409#ifdef NICENAMES
78a33af2 410"addl rrd,address_src",32,15,0x3c,
252b5132
RH
411#endif
412"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
78a33af2 413 {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
252b5132
RH
414
415/* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */
416{
417#ifdef NICENAMES
78a33af2 418"addl rrd,address_src(rs)",32,16,0x3c,
252b5132
RH
419#endif
420"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
78a33af2 421 {CLASS_BIT+5,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
252b5132
RH
422
423/* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */
424{
425#ifdef NICENAMES
78a33af2 426"addl rrd,imm32",32,14,0x3c,
252b5132
RH
427#endif
428"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
78a33af2 429 {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,4},
252b5132
RH
430
431/* 1001 0110 ssss dddd *** addl rrd,rrs */
432{
433#ifdef NICENAMES
78a33af2 434"addl rrd,rrs",32,8,0x3c,
252b5132
RH
435#endif
436"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
78a33af2 437 {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,4},
252b5132
RH
438
439/* 0000 0111 ssN0 dddd *** and rd,@rs */
440{
441#ifdef NICENAMES
78a33af2 442"and rd,@rs",16,7,0x18,
252b5132
RH
443#endif
444"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
78a33af2 445 {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,5},
252b5132
RH
446
447/* 0100 0111 0000 dddd address_src *** and rd,address_src */
448{
449#ifdef NICENAMES
78a33af2 450"and rd,address_src",16,9,0x18,
252b5132
RH
451#endif
452"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
78a33af2 453 {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,5},
252b5132
RH
454
455/* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */
456{
457#ifdef NICENAMES
78a33af2 458"and rd,address_src(rs)",16,10,0x18,
252b5132
RH
459#endif
460"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
78a33af2 461 {CLASS_BIT+4,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,5},
252b5132
RH
462
463/* 0000 0111 0000 dddd imm16 *** and rd,imm16 */
464{
465#ifdef NICENAMES
78a33af2 466"and rd,imm16",16,7,0x18,
252b5132
RH
467#endif
468"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
78a33af2 469 {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
252b5132
RH
470
471/* 1000 0111 ssss dddd *** and rd,rs */
472{
473#ifdef NICENAMES
78a33af2 474"and rd,rs",16,4,0x18,
252b5132
RH
475#endif
476"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
78a33af2 477 {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,5},
252b5132
RH
478
479/* 0000 0110 ssN0 dddd *** andb rbd,@rs */
480{
481#ifdef NICENAMES
78a33af2 482"andb rbd,@rs",8,7,0x1c,
252b5132
RH
483#endif
484"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
78a33af2 485 {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
252b5132
RH
486
487/* 0100 0110 0000 dddd address_src *** andb rbd,address_src */
488{
489#ifdef NICENAMES
78a33af2 490"andb rbd,address_src",8,9,0x1c,
252b5132
RH
491#endif
492"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
78a33af2 493 {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,6},
252b5132
RH
494
495/* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */
496{
497#ifdef NICENAMES
78a33af2 498"andb rbd,address_src(rs)",8,10,0x1c,
252b5132
RH
499#endif
500"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
78a33af2 501 {CLASS_BIT+4,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,6},
252b5132
RH
502
503/* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */
504{
505#ifdef NICENAMES
78a33af2 506"andb rbd,imm8",8,7,0x1c,
252b5132
RH
507#endif
508"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
78a33af2 509 {CLASS_BIT+0,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,6},
252b5132
RH
510
511/* 1000 0110 ssss dddd *** andb rbd,rbs */
512{
513#ifdef NICENAMES
78a33af2 514"andb rbd,rbs",8,4,0x1c,
252b5132
RH
515#endif
516"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
78a33af2 517 {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
252b5132
RH
518
519/* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */
520{
521#ifdef NICENAMES
78a33af2 522"bit @rd,imm4",16,8,0x10,
252b5132
RH
523#endif
524"bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
78a33af2 525 {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,7},
252b5132
RH
526
527/* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */
528{
529#ifdef NICENAMES
78a33af2 530"bit address_dst(rd),imm4",16,11,0x10,
252b5132
RH
531#endif
532"bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
78a33af2 533 {CLASS_BIT+6,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,7},
252b5132
RH
534
535/* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */
536{
537#ifdef NICENAMES
78a33af2 538"bit address_dst,imm4",16,10,0x10,
252b5132
RH
539#endif
540"bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
78a33af2 541 {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,7},
252b5132
RH
542
543/* 1010 0111 dddd imm4 *** bit rd,imm4 */
544{
545#ifdef NICENAMES
78a33af2 546"bit rd,imm4",16,4,0x10,
252b5132
RH
547#endif
548"bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
78a33af2 549 {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,7},
252b5132
RH
550
551/* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */
552{
553#ifdef NICENAMES
78a33af2 554"bit rd,rs",16,10,0x10,
252b5132
RH
555#endif
556"bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
78a33af2 557 {CLASS_BIT+2,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,7},
252b5132
RH
558
559/* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */
560{
561#ifdef NICENAMES
78a33af2 562"bitb @rd,imm4",8,8,0x10,
252b5132
RH
563#endif
564"bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
78a33af2 565 {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,8},
252b5132
RH
566
567/* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */
568{
569#ifdef NICENAMES
78a33af2 570"bitb address_dst(rd),imm4",8,11,0x10,
252b5132
RH
571#endif
572"bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
78a33af2 573 {CLASS_BIT+6,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,8},
252b5132
RH
574
575/* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */
576{
577#ifdef NICENAMES
78a33af2 578"bitb address_dst,imm4",8,10,0x10,
252b5132
RH
579#endif
580"bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
78a33af2 581 {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,8},
252b5132
RH
582
583/* 1010 0110 dddd imm4 *** bitb rbd,imm4 */
584{
585#ifdef NICENAMES
78a33af2 586"bitb rbd,imm4",8,4,0x10,
252b5132
RH
587#endif
588"bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
78a33af2 589 {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,8},
252b5132
RH
590
591/* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */
592{
593#ifdef NICENAMES
78a33af2 594"bitb rbd,rs",8,10,0x10,
252b5132
RH
595#endif
596"bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
78a33af2 597 {CLASS_BIT+2,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,8},
252b5132
RH
598
599/* 0011 0110 0000 0000 *** bpt */
600{
601#ifdef NICENAMES
78a33af2 602"bpt",8,2,0x00,
252b5132
RH
603#endif
604"bpt",OPC_bpt,0,{0},
78a33af2 605 {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,9},
252b5132 606
6ddfd88c
CG
607/* 0000 1111 0000 1100 *** brk */
608{
609#ifdef NICENAMES
610"brk",8,10,0x00,
611#endif
612"brk",OPC_brk,0,{0},
613 {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0xc,0,0,0,0,0,},0,2,10},
614
252b5132
RH
615/* 0001 1111 ddN0 0000 *** call @rd */
616{
617#ifdef NICENAMES
78a33af2 618"call @rd",32,10,0x00,
252b5132
RH
619#endif
620"call",OPC_call,0,{CLASS_IR+(ARG_RD),},
6ddfd88c 621 {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,11},
252b5132
RH
622
623/* 0101 1111 0000 0000 address_dst *** call address_dst */
624{
625#ifdef NICENAMES
78a33af2 626"call address_dst",32,12,0x00,
252b5132
RH
627#endif
628"call",OPC_call,0,{CLASS_DA+(ARG_DST),},
6ddfd88c 629 {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,11},
252b5132
RH
630
631/* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */
632{
633#ifdef NICENAMES
78a33af2 634"call address_dst(rd)",32,13,0x00,
252b5132
RH
635#endif
636"call",OPC_call,0,{CLASS_X+(ARG_RD),},
6ddfd88c 637 {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,11},
252b5132
RH
638
639/* 1101 disp12 *** calr disp12 */
640{
641#ifdef NICENAMES
78a33af2 642"calr disp12",16,10,0x00,
252b5132
RH
643#endif
644"calr",OPC_calr,0,{CLASS_DISP,},
6ddfd88c 645 {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,12},
252b5132
RH
646
647/* 0000 1101 ddN0 1000 *** clr @rd */
648{
649#ifdef NICENAMES
78a33af2 650"clr @rd",16,8,0x00,
252b5132
RH
651#endif
652"clr",OPC_clr,0,{CLASS_IR+(ARG_RD),},
6ddfd88c 653 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,13},
252b5132
RH
654
655/* 0100 1101 0000 1000 address_dst *** clr address_dst */
656{
657#ifdef NICENAMES
78a33af2 658"clr address_dst",16,11,0x00,
252b5132
RH
659#endif
660"clr",OPC_clr,0,{CLASS_DA+(ARG_DST),},
6ddfd88c 661 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,13},
252b5132
RH
662
663/* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */
664{
665#ifdef NICENAMES
78a33af2 666"clr address_dst(rd)",16,12,0x00,
252b5132
RH
667#endif
668"clr",OPC_clr,0,{CLASS_X+(ARG_RD),},
6ddfd88c 669 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,13},
252b5132
RH
670
671/* 1000 1101 dddd 1000 *** clr rd */
672{
673#ifdef NICENAMES
78a33af2 674"clr rd",16,7,0x00,
252b5132
RH
675#endif
676"clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),},
6ddfd88c 677 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,13},
252b5132
RH
678
679/* 0000 1100 ddN0 1000 *** clrb @rd */
680{
681#ifdef NICENAMES
78a33af2 682"clrb @rd",8,8,0x00,
252b5132
RH
683#endif
684"clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),},
6ddfd88c 685 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,14},
252b5132
RH
686
687/* 0100 1100 0000 1000 address_dst *** clrb address_dst */
688{
689#ifdef NICENAMES
78a33af2 690"clrb address_dst",8,11,0x00,
252b5132
RH
691#endif
692"clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),},
6ddfd88c 693 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,14},
252b5132
RH
694
695/* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */
696{
697#ifdef NICENAMES
78a33af2 698"clrb address_dst(rd)",8,12,0x00,
252b5132
RH
699#endif
700"clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),},
6ddfd88c 701 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,14},
252b5132
RH
702
703/* 1000 1100 dddd 1000 *** clrb rbd */
704{
705#ifdef NICENAMES
78a33af2 706"clrb rbd",8,7,0x00,
252b5132
RH
707#endif
708"clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),},
6ddfd88c 709 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,14},
252b5132
RH
710
711/* 0000 1101 ddN0 0000 *** com @rd */
712{
713#ifdef NICENAMES
78a33af2 714"com @rd",16,12,0x18,
252b5132
RH
715#endif
716"com",OPC_com,0,{CLASS_IR+(ARG_RD),},
6ddfd88c 717 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,15},
252b5132
RH
718
719/* 0100 1101 0000 0000 address_dst *** com address_dst */
720{
721#ifdef NICENAMES
78a33af2 722"com address_dst",16,15,0x18,
252b5132
RH
723#endif
724"com",OPC_com,0,{CLASS_DA+(ARG_DST),},
6ddfd88c 725 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,15},
252b5132
RH
726
727/* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */
728{
729#ifdef NICENAMES
78a33af2 730"com address_dst(rd)",16,16,0x18,
252b5132
RH
731#endif
732"com",OPC_com,0,{CLASS_X+(ARG_RD),},
6ddfd88c 733 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,15},
252b5132
RH
734
735/* 1000 1101 dddd 0000 *** com rd */
736{
737#ifdef NICENAMES
78a33af2 738"com rd",16,7,0x18,
252b5132
RH
739#endif
740"com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),},
6ddfd88c 741 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,15},
252b5132
RH
742
743/* 0000 1100 ddN0 0000 *** comb @rd */
744{
745#ifdef NICENAMES
78a33af2 746"comb @rd",8,12,0x1c,
252b5132
RH
747#endif
748"comb",OPC_comb,0,{CLASS_IR+(ARG_RD),},
6ddfd88c 749 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,16},
252b5132
RH
750
751/* 0100 1100 0000 0000 address_dst *** comb address_dst */
752{
753#ifdef NICENAMES
78a33af2 754"comb address_dst",8,15,0x1c,
252b5132
RH
755#endif
756"comb",OPC_comb,0,{CLASS_DA+(ARG_DST),},
6ddfd88c 757 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,16},
252b5132
RH
758
759/* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */
760{
761#ifdef NICENAMES
78a33af2 762"comb address_dst(rd)",8,16,0x1c,
252b5132
RH
763#endif
764"comb",OPC_comb,0,{CLASS_X+(ARG_RD),},
6ddfd88c 765 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,16},
252b5132
RH
766
767/* 1000 1100 dddd 0000 *** comb rbd */
768{
769#ifdef NICENAMES
78a33af2 770"comb rbd",8,7,0x1c,
252b5132
RH
771#endif
772"comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),},
6ddfd88c 773 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,16},
252b5132
RH
774
775/* 1000 1101 flags 0101 *** comflg flags */
776{
777#ifdef NICENAMES
78a33af2 778"comflg flags",16,7,0x3c,
252b5132
RH
779#endif
780"comflg",OPC_comflg,0,{CLASS_FLAGS,},
6ddfd88c 781 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+5,0,0,0,0,0,},1,2,17},
252b5132
RH
782
783/* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */
784{
785#ifdef NICENAMES
78a33af2 786"cp @rd,imm16",16,11,0x3c,
252b5132
RH
787#endif
788"cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 789 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,18},
252b5132
RH
790
791/* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */
792{
793#ifdef NICENAMES
78a33af2 794"cp address_dst(rd),imm16",16,15,0x3c,
252b5132
RH
795#endif
796"cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 797 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,18},
252b5132
RH
798
799/* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */
800{
801#ifdef NICENAMES
78a33af2 802"cp address_dst,imm16",16,14,0x3c,
252b5132
RH
803#endif
804"cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 805 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,18},
252b5132
RH
806
807/* 0000 1011 ssN0 dddd *** cp rd,@rs */
808{
809#ifdef NICENAMES
78a33af2 810"cp rd,@rs",16,7,0x3c,
252b5132
RH
811#endif
812"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 813 {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,18},
252b5132
RH
814
815/* 0100 1011 0000 dddd address_src *** cp rd,address_src */
816{
817#ifdef NICENAMES
78a33af2 818"cp rd,address_src",16,9,0x3c,
252b5132
RH
819#endif
820"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 821 {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
252b5132
RH
822
823/* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */
824{
825#ifdef NICENAMES
78a33af2 826"cp rd,address_src(rs)",16,10,0x3c,
252b5132
RH
827#endif
828"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 829 {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
252b5132
RH
830
831/* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */
832{
833#ifdef NICENAMES
78a33af2 834"cp rd,imm16",16,7,0x3c,
252b5132
RH
835#endif
836"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 837 {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,18},
252b5132
RH
838
839/* 1000 1011 ssss dddd *** cp rd,rs */
840{
841#ifdef NICENAMES
78a33af2 842"cp rd,rs",16,4,0x3c,
252b5132
RH
843#endif
844"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 845 {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,18},
252b5132
RH
846
847/* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */
848{
849#ifdef NICENAMES
78a33af2 850"cpb @rd,imm8",8,11,0x3c,
252b5132
RH
851#endif
852"cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 853 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,19},
252b5132
RH
854
855/* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */
856{
857#ifdef NICENAMES
78a33af2 858"cpb address_dst(rd),imm8",8,15,0x3c,
252b5132
RH
859#endif
860"cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 861 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,19},
252b5132
RH
862
863/* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */
864{
865#ifdef NICENAMES
78a33af2 866"cpb address_dst,imm8",8,14,0x3c,
252b5132
RH
867#endif
868"cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 869 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,19},
252b5132
RH
870
871/* 0000 1010 ssN0 dddd *** cpb rbd,@rs */
872{
873#ifdef NICENAMES
78a33af2 874"cpb rbd,@rs",8,7,0x3c,
252b5132
RH
875#endif
876"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 877 {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,19},
252b5132
RH
878
879/* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */
880{
881#ifdef NICENAMES
78a33af2 882"cpb rbd,address_src",8,9,0x3c,
252b5132
RH
883#endif
884"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 885 {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
252b5132
RH
886
887/* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */
888{
889#ifdef NICENAMES
78a33af2 890"cpb rbd,address_src(rs)",8,10,0x3c,
252b5132
RH
891#endif
892"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 893 {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
252b5132
RH
894
895/* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */
896{
897#ifdef NICENAMES
78a33af2 898"cpb rbd,imm8",8,7,0x3c,
252b5132
RH
899#endif
900"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 901 {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,19},
252b5132
RH
902
903/* 1000 1010 ssss dddd *** cpb rbd,rbs */
904{
905#ifdef NICENAMES
78a33af2 906"cpb rbd,rbs",8,4,0x3c,
252b5132
RH
907#endif
908"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 909 {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,19},
252b5132
RH
910
911/* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */
912{
913#ifdef NICENAMES
78a33af2 914"cpd rd,@rs,rr,cc",16,11,0x3c,
252b5132
RH
915#endif
916"cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 917 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,20},
252b5132
RH
918
919/* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */
920{
921#ifdef NICENAMES
78a33af2 922"cpdb rbd,@rs,rr,cc",8,11,0x3c,
252b5132
RH
923#endif
924"cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 925 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,21},
252b5132
RH
926
927/* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */
928{
929#ifdef NICENAMES
78a33af2 930"cpdr rd,@rs,rr,cc",16,11,0x3c,
252b5132
RH
931#endif
932"cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 933 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,22},
252b5132
RH
934
935/* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */
936{
937#ifdef NICENAMES
78a33af2 938"cpdrb rbd,@rs,rr,cc",8,11,0x3c,
252b5132
RH
939#endif
940"cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 941 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,23},
252b5132
RH
942
943/* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */
944{
945#ifdef NICENAMES
78a33af2 946"cpi rd,@rs,rr,cc",16,11,0x3c,
252b5132
RH
947#endif
948"cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 949 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,24},
252b5132
RH
950
951/* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */
952{
953#ifdef NICENAMES
78a33af2 954"cpib rbd,@rs,rr,cc",8,11,0x3c,
252b5132
RH
955#endif
956"cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 957 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,25},
252b5132
RH
958
959/* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */
960{
961#ifdef NICENAMES
78a33af2 962"cpir rd,@rs,rr,cc",16,11,0x3c,
252b5132
RH
963#endif
964"cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 965 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,26},
252b5132
RH
966
967/* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */
968{
969#ifdef NICENAMES
78a33af2 970"cpirb rbd,@rs,rr,cc",8,11,0x3c,
252b5132
RH
971#endif
972"cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 973 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,27},
252b5132
RH
974
975/* 0001 0000 ssN0 dddd *** cpl rrd,@rs */
976{
977#ifdef NICENAMES
78a33af2 978"cpl rrd,@rs",32,14,0x3c,
252b5132
RH
979#endif
980"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 981 {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,28},
252b5132
RH
982
983/* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */
984{
985#ifdef NICENAMES
78a33af2 986"cpl rrd,address_src",32,15,0x3c,
252b5132
RH
987#endif
988"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 989 {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,28},
252b5132
RH
990
991/* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */
992{
993#ifdef NICENAMES
78a33af2 994"cpl rrd,address_src(rs)",32,16,0x3c,
252b5132
RH
995#endif
996"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 997 {CLASS_BIT+5,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,28},
252b5132
RH
998
999/* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */
1000{
1001#ifdef NICENAMES
78a33af2 1002"cpl rrd,imm32",32,14,0x3c,
252b5132
RH
1003#endif
1004"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
6ddfd88c 1005 {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,28},
252b5132
RH
1006
1007/* 1001 0000 ssss dddd *** cpl rrd,rrs */
1008{
1009#ifdef NICENAMES
78a33af2 1010"cpl rrd,rrs",32,8,0x3c,
252b5132
RH
1011#endif
1012"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6ddfd88c 1013 {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,28},
252b5132
RH
1014
1015/* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */
1016{
1017#ifdef NICENAMES
78a33af2 1018"cpsd @rd,@rs,rr,cc",16,11,0x3c,
252b5132
RH
1019#endif
1020"cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 1021 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,29},
252b5132
RH
1022
1023/* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */
1024{
1025#ifdef NICENAMES
78a33af2 1026"cpsdb @rd,@rs,rr,cc",8,11,0x3c,
252b5132
RH
1027#endif
1028"cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 1029 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,30},
252b5132
RH
1030
1031/* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */
1032{
1033#ifdef NICENAMES
78a33af2 1034"cpsdr @rd,@rs,rr,cc",16,11,0x3c,
252b5132
RH
1035#endif
1036"cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 1037 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,31},
252b5132
RH
1038
1039/* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */
1040{
1041#ifdef NICENAMES
78a33af2 1042"cpsdrb @rd,@rs,rr,cc",8,11,0x3c,
252b5132
RH
1043#endif
1044"cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 1045 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,32},
252b5132
RH
1046
1047/* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */
1048{
1049#ifdef NICENAMES
78a33af2 1050"cpsi @rd,@rs,rr,cc",16,11,0x3c,
252b5132
RH
1051#endif
1052"cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 1053 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,33},
252b5132
RH
1054
1055/* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */
1056{
1057#ifdef NICENAMES
78a33af2 1058"cpsib @rd,@rs,rr,cc",8,11,0x3c,
252b5132
RH
1059#endif
1060"cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 1061 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,34},
252b5132
RH
1062
1063/* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */
1064{
1065#ifdef NICENAMES
78a33af2 1066"cpsir @rd,@rs,rr,cc",16,11,0x3c,
252b5132
RH
1067#endif
1068"cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 1069 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,35},
252b5132
RH
1070
1071/* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */
1072{
1073#ifdef NICENAMES
78a33af2 1074"cpsirb @rd,@rs,rr,cc",8,11,0x3c,
252b5132
RH
1075#endif
1076"cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
6ddfd88c 1077 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,36},
252b5132
RH
1078
1079/* 1011 0000 dddd 0000 *** dab rbd */
1080{
1081#ifdef NICENAMES
78a33af2 1082"dab rbd",8,5,0x38,
252b5132
RH
1083#endif
1084"dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),},
6ddfd88c 1085 {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,37},
252b5132
RH
1086
1087/* 1111 dddd 0disp7 *** dbjnz rbd,disp7 */
1088{
1089#ifdef NICENAMES
78a33af2 1090"dbjnz rbd,disp7",16,11,0x00,
252b5132
RH
1091#endif
1092"dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
6ddfd88c 1093 {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,38},
252b5132
RH
1094
1095/* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */
1096{
1097#ifdef NICENAMES
78a33af2 1098"dec @rd,imm4m1",16,11,0x1c,
252b5132
RH
1099#endif
1100"dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1101 {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,39},
252b5132
RH
1102
1103/* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */
1104{
1105#ifdef NICENAMES
78a33af2 1106"dec address_dst(rd),imm4m1",16,14,0x1c,
252b5132
RH
1107#endif
1108"dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1109 {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,39},
252b5132
RH
1110
1111/* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */
1112{
1113#ifdef NICENAMES
78a33af2 1114"dec address_dst,imm4m1",16,13,0x1c,
252b5132
RH
1115#endif
1116"dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1117 {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,39},
252b5132
RH
1118
1119/* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */
1120{
1121#ifdef NICENAMES
78a33af2 1122"dec rd,imm4m1",16,4,0x1c,
252b5132
RH
1123#endif
1124"dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1125 {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,39},
252b5132
RH
1126
1127/* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */
1128{
1129#ifdef NICENAMES
78a33af2 1130"decb @rd,imm4m1",8,11,0x1c,
252b5132
RH
1131#endif
1132"decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1133 {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,40},
252b5132
RH
1134
1135/* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */
1136{
1137#ifdef NICENAMES
78a33af2 1138"decb address_dst(rd),imm4m1",8,14,0x1c,
252b5132
RH
1139#endif
1140"decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1141 {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,40},
252b5132
RH
1142
1143/* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */
1144{
1145#ifdef NICENAMES
78a33af2 1146"decb address_dst,imm4m1",8,13,0x1c,
252b5132
RH
1147#endif
1148"decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1149 {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,40},
252b5132
RH
1150
1151/* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */
1152{
1153#ifdef NICENAMES
78a33af2 1154"decb rbd,imm4m1",8,4,0x1c,
252b5132
RH
1155#endif
1156"decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1157 {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,40},
252b5132
RH
1158
1159/* 0111 1100 0000 00ii *** di i2 */
1160{
1161#ifdef NICENAMES
78a33af2 1162"di i2",16,7,0x00,
252b5132
RH
1163#endif
1164"di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),},
6ddfd88c 1165 {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,41},
252b5132
RH
1166
1167/* 0001 1011 ssN0 dddd *** div rrd,@rs */
1168{
1169#ifdef NICENAMES
78a33af2 1170"div rrd,@rs",16,107,0x3c,
252b5132
RH
1171#endif
1172"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 1173 {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,42},
252b5132
RH
1174
1175/* 0101 1011 0000 dddd address_src *** div rrd,address_src */
1176{
1177#ifdef NICENAMES
78a33af2 1178"div rrd,address_src",16,107,0x3c,
252b5132
RH
1179#endif
1180"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 1181 {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,42},
252b5132
RH
1182
1183/* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */
1184{
1185#ifdef NICENAMES
78a33af2 1186"div rrd,address_src(rs)",16,107,0x3c,
252b5132
RH
1187#endif
1188"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 1189 {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,42},
252b5132
RH
1190
1191/* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */
1192{
1193#ifdef NICENAMES
78a33af2 1194"div rrd,imm16",16,107,0x3c,
252b5132
RH
1195#endif
1196"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 1197 {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,42},
252b5132
RH
1198
1199/* 1001 1011 ssss dddd *** div rrd,rs */
1200{
1201#ifdef NICENAMES
78a33af2 1202"div rrd,rs",16,107,0x3c,
252b5132
RH
1203#endif
1204"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 1205 {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,42},
252b5132
RH
1206
1207/* 0001 1010 ssN0 dddd *** divl rqd,@rs */
1208{
1209#ifdef NICENAMES
78a33af2 1210"divl rqd,@rs",32,744,0x3c,
252b5132
RH
1211#endif
1212"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 1213 {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,43},
252b5132
RH
1214
1215/* 0101 1010 0000 dddd address_src *** divl rqd,address_src */
1216{
1217#ifdef NICENAMES
78a33af2 1218"divl rqd,address_src",32,745,0x3c,
252b5132
RH
1219#endif
1220"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 1221 {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,43},
252b5132
RH
1222
1223/* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */
1224{
1225#ifdef NICENAMES
78a33af2 1226"divl rqd,address_src(rs)",32,746,0x3c,
252b5132
RH
1227#endif
1228"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 1229 {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,43},
252b5132
RH
1230
1231/* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */
1232{
1233#ifdef NICENAMES
78a33af2 1234"divl rqd,imm32",32,744,0x3c,
252b5132
RH
1235#endif
1236"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
6ddfd88c 1237 {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,43},
252b5132
RH
1238
1239/* 1001 1010 ssss dddd *** divl rqd,rrs */
1240{
1241#ifdef NICENAMES
78a33af2 1242"divl rqd,rrs",32,744,0x3c,
252b5132
RH
1243#endif
1244"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6ddfd88c 1245 {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,43},
252b5132
RH
1246
1247/* 1111 dddd 1disp7 *** djnz rd,disp7 */
1248{
1249#ifdef NICENAMES
78a33af2 1250"djnz rd,disp7",16,11,0x00,
252b5132
RH
1251#endif
1252"djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
6ddfd88c 1253 {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,44},
252b5132
RH
1254
1255/* 0111 1100 0000 01ii *** ei i2 */
1256{
1257#ifdef NICENAMES
78a33af2 1258"ei i2",16,7,0x00,
252b5132
RH
1259#endif
1260"ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),},
6ddfd88c 1261 {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,45},
252b5132
RH
1262
1263/* 0010 1101 ssN0 dddd *** ex rd,@rs */
1264{
1265#ifdef NICENAMES
78a33af2 1266"ex rd,@rs",16,12,0x00,
252b5132
RH
1267#endif
1268"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 1269 {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,46},
252b5132
RH
1270
1271/* 0110 1101 0000 dddd address_src *** ex rd,address_src */
1272{
1273#ifdef NICENAMES
78a33af2 1274"ex rd,address_src",16,15,0x00,
252b5132
RH
1275#endif
1276"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 1277 {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,46},
252b5132
RH
1278
1279/* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */
1280{
1281#ifdef NICENAMES
78a33af2 1282"ex rd,address_src(rs)",16,16,0x00,
252b5132
RH
1283#endif
1284"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 1285 {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,46},
252b5132
RH
1286
1287/* 1010 1101 ssss dddd *** ex rd,rs */
1288{
1289#ifdef NICENAMES
78a33af2 1290"ex rd,rs",16,6,0x00,
252b5132
RH
1291#endif
1292"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 1293 {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,46},
252b5132
RH
1294
1295/* 0010 1100 ssN0 dddd *** exb rbd,@rs */
1296{
1297#ifdef NICENAMES
78a33af2 1298"exb rbd,@rs",8,12,0x00,
252b5132
RH
1299#endif
1300"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 1301 {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,47},
252b5132
RH
1302
1303/* 0110 1100 0000 dddd address_src *** exb rbd,address_src */
1304{
1305#ifdef NICENAMES
78a33af2 1306"exb rbd,address_src",8,15,0x00,
252b5132
RH
1307#endif
1308"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 1309 {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,47},
252b5132
RH
1310
1311/* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */
1312{
1313#ifdef NICENAMES
78a33af2 1314"exb rbd,address_src(rs)",8,16,0x00,
252b5132
RH
1315#endif
1316"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 1317 {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,47},
252b5132
RH
1318
1319/* 1010 1100 ssss dddd *** exb rbd,rbs */
1320{
1321#ifdef NICENAMES
78a33af2 1322"exb rbd,rbs",8,6,0x00,
252b5132
RH
1323#endif
1324"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 1325 {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,47},
252b5132
RH
1326
1327/* 0000 1110 imm8 *** ext0e imm8 */
1328{
1329#ifdef NICENAMES
78a33af2 1330"ext0e imm8",8,10,0x00,
252b5132
RH
1331#endif
1332"ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),},
6ddfd88c 1333 {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,48},
252b5132
RH
1334
1335/* 0000 1111 imm8 *** ext0f imm8 */
1336{
1337#ifdef NICENAMES
78a33af2 1338"ext0f imm8",8,10,0x00,
252b5132
RH
1339#endif
1340"ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),},
6ddfd88c 1341 {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,49},
252b5132
RH
1342
1343/* 1000 1110 imm8 *** ext8e imm8 */
1344{
1345#ifdef NICENAMES
78a33af2 1346"ext8e imm8",8,10,0x00,
252b5132
RH
1347#endif
1348"ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),},
6ddfd88c 1349 {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,50},
252b5132
RH
1350
1351/* 1000 1111 imm8 *** ext8f imm8 */
1352{
1353#ifdef NICENAMES
78a33af2 1354"ext8f imm8",8,10,0x00,
252b5132
RH
1355#endif
1356"ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),},
6ddfd88c 1357 {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,51},
252b5132
RH
1358
1359/* 1011 0001 dddd 1010 *** exts rrd */
1360{
1361#ifdef NICENAMES
78a33af2 1362"exts rrd",16,11,0x00,
252b5132
RH
1363#endif
1364"exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),},
6ddfd88c 1365 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,52},
252b5132
RH
1366
1367/* 1011 0001 dddd 0000 *** extsb rd */
1368{
1369#ifdef NICENAMES
78a33af2 1370"extsb rd",8,11,0x00,
252b5132
RH
1371#endif
1372"extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),},
6ddfd88c 1373 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},
252b5132
RH
1374
1375/* 1011 0001 dddd 0111 *** extsl rqd */
1376{
1377#ifdef NICENAMES
78a33af2 1378"extsl rqd",32,11,0x00,
252b5132
RH
1379#endif
1380"extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),},
6ddfd88c 1381 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,54},
252b5132
RH
1382
1383/* 0111 1010 0000 0000 *** halt */
1384{
1385#ifdef NICENAMES
78a33af2 1386"halt",16,8,0x00,
252b5132
RH
1387#endif
1388"halt",OPC_halt,0,{0},
6ddfd88c 1389 {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,55},
252b5132 1390
6ddfd88c 1391/* 0011 1101 ssss dddd *** in rd,@ri */
252b5132
RH
1392{
1393#ifdef NICENAMES
6ddfd88c 1394"in rd,@ri",16,10,0x00,
252b5132 1395#endif
6ddfd88c
CG
1396"in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IRO+(ARG_RS),},
1397 {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,56},
252b5132 1398
14899840 1399/* 0011 1011 dddd 0100 imm16 *** in rd,imm16 */
252b5132
RH
1400{
1401#ifdef NICENAMES
78a33af2 1402"in rd,imm16",16,12,0x00,
252b5132
RH
1403#endif
1404"in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 1405 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,56},
252b5132 1406
6ddfd88c 1407/* 0011 1100 ssss dddd *** inb rbd,@ri */
252b5132
RH
1408{
1409#ifdef NICENAMES
6ddfd88c 1410"inb rbd,@ri",8,12,0x00,
252b5132 1411#endif
6ddfd88c
CG
1412"inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IRO+(ARG_RS),},
1413 {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,57},
252b5132
RH
1414
1415/* 0011 1010 dddd 0100 imm16 *** inb rbd,imm16 */
1416{
1417#ifdef NICENAMES
78a33af2 1418"inb rbd,imm16",8,10,0x00,
252b5132
RH
1419#endif
1420"inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 1421 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,57},
252b5132
RH
1422
1423/* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */
1424{
1425#ifdef NICENAMES
78a33af2 1426"inc @rd,imm4m1",16,11,0x1c,
252b5132
RH
1427#endif
1428"inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1429 {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,58},
252b5132
RH
1430
1431/* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */
1432{
1433#ifdef NICENAMES
78a33af2 1434"inc address_dst(rd),imm4m1",16,14,0x1c,
252b5132
RH
1435#endif
1436"inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1437 {CLASS_BIT+6,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,58},
252b5132
RH
1438
1439/* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */
1440{
1441#ifdef NICENAMES
78a33af2 1442"inc address_dst,imm4m1",16,13,0x1c,
252b5132
RH
1443#endif
1444"inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1445 {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,58},
252b5132
RH
1446
1447/* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */
1448{
1449#ifdef NICENAMES
78a33af2 1450"inc rd,imm4m1",16,4,0x1c,
252b5132
RH
1451#endif
1452"inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1453 {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,58},
252b5132
RH
1454
1455/* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */
1456{
1457#ifdef NICENAMES
78a33af2 1458"incb @rd,imm4m1",8,11,0x1c,
252b5132
RH
1459#endif
1460"incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1461 {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,59},
252b5132
RH
1462
1463/* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */
1464{
1465#ifdef NICENAMES
78a33af2 1466"incb address_dst(rd),imm4m1",8,14,0x1c,
252b5132
RH
1467#endif
1468"incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1469 {CLASS_BIT+6,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,59},
252b5132
RH
1470
1471/* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */
1472{
1473#ifdef NICENAMES
78a33af2 1474"incb address_dst,imm4m1",8,13,0x1c,
252b5132
RH
1475#endif
1476"incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c 1477 {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,59},
252b5132
RH
1478
1479/* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */
1480{
1481#ifdef NICENAMES
78a33af2 1482"incb rbd,imm4m1",8,4,0x1c,
252b5132
RH
1483#endif
1484"incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
6ddfd88c
CG
1485 {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,59},
1486
1487/* 0011 1011 ssss 1000 0000 aaaa ddN0 1000 *** ind @rd,@ri,ra */
1488{
1489#ifdef NICENAMES
1490"ind @rd,@ri,ra",16,21,0x04,
1491#endif
1492"ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1493 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,60},
1494
1495/* 0011 1010 ssss 1000 0000 aaaa ddN0 1000 *** indb @rd,@ri,ra */
1496{
1497#ifdef NICENAMES
1498"indb @rd,@ri,ra",8,21,0x04,
1499#endif
1500"indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1501 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,61},
1502
1503/* 0011 1011 ssss 1000 0000 aaaa ddN0 0000 *** indr @rd,@ri,ra */
1504{
1505#ifdef NICENAMES
1506"indr @rd,@ri,ra",16,11,0x04,
1507#endif
1508"indr",OPC_indr,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1509 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,62},
1510
1511/* 0011 1010 ssss 1000 0000 aaaa ddN0 0000 *** indrb @rd,@ri,ra */
1512{
1513#ifdef NICENAMES
1514"indrb @rd,@ri,ra",8,11,0x04,
1515#endif
1516"indrb",OPC_indrb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1517 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,63},
252b5132 1518
6ddfd88c 1519/* 0011 1011 ssss 0000 0000 aaaa ddN0 1000 *** ini @rd,@ri,ra */
252b5132
RH
1520{
1521#ifdef NICENAMES
6ddfd88c 1522"ini @rd,@ri,ra",16,21,0x04,
252b5132 1523#endif
6ddfd88c
CG
1524"ini",OPC_ini,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1525 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,64},
252b5132 1526
6ddfd88c 1527/* 0011 1010 ssss 0000 0000 aaaa ddN0 1000 *** inib @rd,@ri,ra */
252b5132
RH
1528{
1529#ifdef NICENAMES
6ddfd88c 1530"inib @rd,@ri,ra",8,21,0x04,
252b5132 1531#endif
6ddfd88c
CG
1532"inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1533 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,65},
252b5132 1534
6ddfd88c 1535/* 0011 1011 ssss 0000 0000 aaaa ddN0 0000 *** inir @rd,@ri,ra */
252b5132
RH
1536{
1537#ifdef NICENAMES
6ddfd88c 1538"inir @rd,@ri,ra",16,11,0x04,
252b5132 1539#endif
6ddfd88c
CG
1540"inir",OPC_inir,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1541 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,66},
252b5132 1542
6ddfd88c 1543/* 0011 1010 ssss 0000 0000 aaaa ddN0 0000 *** inirb @rd,@ri,ra */
252b5132
RH
1544{
1545#ifdef NICENAMES
6ddfd88c 1546"inirb @rd,@ri,ra",8,11,0x04,
252b5132 1547#endif
6ddfd88c
CG
1548"inirb",OPC_inirb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1549 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,67},
252b5132
RH
1550
1551/* 0111 1011 0000 0000 *** iret */
1552{
1553#ifdef NICENAMES
78a33af2 1554"iret",16,13,0x3f,
252b5132
RH
1555#endif
1556"iret",OPC_iret,0,{0},
6ddfd88c 1557 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,68},
252b5132
RH
1558
1559/* 0001 1110 ddN0 cccc *** jp cc,@rd */
1560{
1561#ifdef NICENAMES
78a33af2 1562"jp cc,@rd",16,10,0x00,
252b5132
RH
1563#endif
1564"jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),},
6ddfd88c 1565 {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,69},
252b5132
RH
1566
1567/* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */
1568{
1569#ifdef NICENAMES
78a33af2 1570"jp cc,address_dst",16,7,0x00,
252b5132
RH
1571#endif
1572"jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),},
6ddfd88c 1573 {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,69},
252b5132
RH
1574
1575/* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */
1576{
1577#ifdef NICENAMES
78a33af2 1578"jp cc,address_dst(rd)",16,8,0x00,
252b5132
RH
1579#endif
1580"jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),},
6ddfd88c 1581 {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,69},
252b5132
RH
1582
1583/* 1110 cccc disp8 *** jr cc,disp8 */
1584{
1585#ifdef NICENAMES
78a33af2 1586"jr cc,disp8",16,6,0x00,
252b5132
RH
1587#endif
1588"jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,},
6ddfd88c 1589 {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,70},
252b5132
RH
1590
1591/* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */
1592{
1593#ifdef NICENAMES
78a33af2 1594"ld @rd,imm16",16,7,0x00,
252b5132
RH
1595#endif
1596"ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 1597 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
252b5132
RH
1598
1599/* 0010 1111 ddN0 ssss *** ld @rd,rs */
1600{
1601#ifdef NICENAMES
78a33af2 1602"ld @rd,rs",16,8,0x00,
252b5132
RH
1603#endif
1604"ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 1605 {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,71},
252b5132
RH
1606
1607/* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */
1608{
1609#ifdef NICENAMES
78a33af2 1610"ld address_dst(rd),imm16",16,15,0x00,
252b5132
RH
1611#endif
1612"ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 1613 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,71},
252b5132
RH
1614
1615/* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */
1616{
1617#ifdef NICENAMES
78a33af2 1618"ld address_dst(rd),rs",16,12,0x00,
252b5132
RH
1619#endif
1620"ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 1621 {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,71},
252b5132
RH
1622
1623/* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */
1624{
1625#ifdef NICENAMES
78a33af2 1626"ld address_dst,imm16",16,14,0x00,
252b5132
RH
1627#endif
1628"ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 1629 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,71},
252b5132
RH
1630
1631/* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */
1632{
1633#ifdef NICENAMES
78a33af2 1634"ld address_dst,rs",16,11,0x00,
252b5132
RH
1635#endif
1636"ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 1637 {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,71},
252b5132
RH
1638
1639/* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */
1640{
1641#ifdef NICENAMES
78a33af2 1642"ld rd(imm16),rs",16,14,0x00,
252b5132
RH
1643#endif
1644"ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 1645 {CLASS_BIT+3,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
252b5132
RH
1646
1647/* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */
1648{
1649#ifdef NICENAMES
78a33af2 1650"ld rd(rx),rs",16,14,0x00,
252b5132
RH
1651#endif
1652"ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 1653 {CLASS_BIT+7,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,71},
252b5132
RH
1654
1655/* 0010 0001 ssN0 dddd *** ld rd,@rs */
1656{
1657#ifdef NICENAMES
78a33af2 1658"ld rd,@rs",16,7,0x00,
252b5132
RH
1659#endif
1660"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 1661 {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,71},
252b5132
RH
1662
1663/* 0110 0001 0000 dddd address_src *** ld rd,address_src */
1664{
1665#ifdef NICENAMES
78a33af2 1666"ld rd,address_src",16,9,0x00,
252b5132
RH
1667#endif
1668"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 1669 {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
252b5132
RH
1670
1671/* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */
1672{
1673#ifdef NICENAMES
78a33af2 1674"ld rd,address_src(rs)",16,10,0x00,
252b5132
RH
1675#endif
1676"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 1677 {CLASS_BIT+6,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
252b5132
RH
1678
1679/* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */
1680{
1681#ifdef NICENAMES
78a33af2 1682"ld rd,imm16",16,7,0x00,
252b5132
RH
1683#endif
1684"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 1685 {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
252b5132
RH
1686
1687/* 1010 0001 ssss dddd *** ld rd,rs */
1688{
1689#ifdef NICENAMES
78a33af2 1690"ld rd,rs",16,3,0x00,
252b5132
RH
1691#endif
1692"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 1693 {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,71},
252b5132
RH
1694
1695/* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */
1696{
1697#ifdef NICENAMES
78a33af2 1698"ld rd,rs(imm16)",16,14,0x00,
252b5132
RH
1699#endif
1700"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
6ddfd88c 1701 {CLASS_BIT+3,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
252b5132
RH
1702
1703/* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */
1704{
1705#ifdef NICENAMES
78a33af2 1706"ld rd,rs(rx)",16,14,0x00,
252b5132
RH
1707#endif
1708"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
6ddfd88c 1709 {CLASS_BIT+7,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,71},
252b5132
RH
1710
1711/* 0111 0110 0000 dddd address_src *** lda prd,address_src */
1712{
1713#ifdef NICENAMES
78a33af2 1714"lda prd,address_src",16,12,0x00,
252b5132
RH
1715#endif
1716"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 1717 {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
252b5132
RH
1718
1719/* 0111 0110 ssN0 dddd address_src *** lda prd,address_src(rs) */
1720{
1721#ifdef NICENAMES
78a33af2 1722"lda prd,address_src(rs)",16,13,0x00,
252b5132
RH
1723#endif
1724"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 1725 {CLASS_BIT+7,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
252b5132
RH
1726
1727/* 0011 0100 ssN0 dddd imm16 *** lda prd,rs(imm16) */
1728{
1729#ifdef NICENAMES
78a33af2 1730"lda prd,rs(imm16)",16,15,0x00,
252b5132
RH
1731#endif
1732"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BA+(ARG_RS),},
6ddfd88c 1733 {CLASS_BIT+3,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,72},
252b5132
RH
1734
1735/* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda prd,rs(rx) */
1736{
1737#ifdef NICENAMES
78a33af2 1738"lda prd,rs(rx)",16,15,0x00,
252b5132
RH
1739#endif
1740"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BX+(ARG_RS),},
6ddfd88c 1741 {CLASS_BIT+7,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,72},
252b5132
RH
1742
1743/* 0011 0100 0000 dddd disp16 *** ldar prd,disp16 */
1744{
1745#ifdef NICENAMES
78a33af2 1746"ldar prd,disp16",16,15,0x00,
252b5132
RH
1747#endif
1748"ldar",OPC_ldar,0,{CLASS_PR+(ARG_RD),CLASS_DISP,},
6ddfd88c 1749 {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,73},
252b5132
RH
1750
1751/* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */
1752{
1753#ifdef NICENAMES
78a33af2 1754"ldb @rd,imm8",8,7,0x00,
252b5132
RH
1755#endif
1756"ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 1757 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,74},
252b5132
RH
1758
1759/* 0010 1110 ddN0 ssss *** ldb @rd,rbs */
1760{
1761#ifdef NICENAMES
78a33af2 1762"ldb @rd,rbs",8,8,0x00,
252b5132
RH
1763#endif
1764"ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 1765 {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,74},
252b5132
RH
1766
1767/* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */
1768{
1769#ifdef NICENAMES
78a33af2 1770"ldb address_dst(rd),imm8",8,15,0x00,
252b5132
RH
1771#endif
1772"ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 1773 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,74},
252b5132
RH
1774
1775/* 0110 1110 ddN0 ssss address_dst *** ldb address_dst(rd),rbs */
1776{
1777#ifdef NICENAMES
78a33af2 1778"ldb address_dst(rd),rbs",8,12,0x00,
252b5132
RH
1779#endif
1780"ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 1781 {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,74},
252b5132
RH
1782
1783/* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */
1784{
1785#ifdef NICENAMES
78a33af2 1786"ldb address_dst,imm8",8,14,0x00,
252b5132
RH
1787#endif
1788"ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 1789 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,74},
252b5132
RH
1790
1791/* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */
1792{
1793#ifdef NICENAMES
78a33af2 1794"ldb address_dst,rbs",8,11,0x00,
252b5132
RH
1795#endif
1796"ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 1797 {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,74},
252b5132
RH
1798
1799/* 0010 0000 ssN0 dddd *** ldb rbd,@rs */
1800{
1801#ifdef NICENAMES
78a33af2 1802"ldb rbd,@rs",8,7,0x00,
252b5132
RH
1803#endif
1804"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 1805 {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
252b5132
RH
1806
1807/* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */
1808{
1809#ifdef NICENAMES
78a33af2 1810"ldb rbd,address_src",8,9,0x00,
252b5132
RH
1811#endif
1812"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 1813 {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,74},
252b5132
RH
1814
1815/* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */
1816{
1817#ifdef NICENAMES
78a33af2 1818"ldb rbd,address_src(rs)",8,10,0x00,
252b5132
RH
1819#endif
1820"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c
CG
1821 {CLASS_BIT+6,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,74},
1822
eae14d64 1823/* 1100 dddd imm8 *** ldb rbd,imm8 */
6ddfd88c
CG
1824{
1825#ifdef NICENAMES
eae14d64 1826"ldb rbd,imm8",8,5,0x00,
6ddfd88c
CG
1827#endif
1828"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
eae14d64 1829 {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,74},
252b5132 1830
eae14d64 1831/* 0010 0000 0000 dddd imm8 imm8 *** ldb rbd,imm8 */
252b5132
RH
1832{
1833#ifdef NICENAMES
eae14d64 1834"ldb rbd,imm8",8,7,0x00,
252b5132
RH
1835#endif
1836"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
eae14d64 1837 {CLASS_BIT+2,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,74},
252b5132
RH
1838
1839/* 1010 0000 ssss dddd *** ldb rbd,rbs */
1840{
1841#ifdef NICENAMES
78a33af2 1842"ldb rbd,rbs",8,3,0x00,
252b5132
RH
1843#endif
1844"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 1845 {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
252b5132
RH
1846
1847/* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */
1848{
1849#ifdef NICENAMES
78a33af2 1850"ldb rbd,rs(imm16)",8,14,0x00,
252b5132
RH
1851#endif
1852"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),},
6ddfd88c 1853 {CLASS_BIT+3,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,74},
252b5132
RH
1854
1855/* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */
1856{
1857#ifdef NICENAMES
78a33af2 1858"ldb rbd,rs(rx)",8,14,0x00,
252b5132
RH
1859#endif
1860"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),},
6ddfd88c 1861 {CLASS_BIT+7,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,74},
252b5132
RH
1862
1863/* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */
1864{
1865#ifdef NICENAMES
78a33af2 1866"ldb rd(imm16),rbs",8,14,0x00,
252b5132
RH
1867#endif
1868"ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 1869 {CLASS_BIT+3,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,74},
252b5132
RH
1870
1871/* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */
1872{
1873#ifdef NICENAMES
78a33af2 1874"ldb rd(rx),rbs",8,14,0x00,
252b5132
RH
1875#endif
1876"ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 1877 {CLASS_BIT+7,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,74},
252b5132
RH
1878
1879/* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */
1880{
1881#ifdef NICENAMES
78a33af2 1882"ldctl ctrl,rs",32,7,0x00,
252b5132
RH
1883#endif
1884"ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 1885 {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,75},
252b5132
RH
1886
1887/* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */
1888{
1889#ifdef NICENAMES
78a33af2 1890"ldctl rd,ctrl",32,7,0x00,
252b5132
RH
1891#endif
1892"ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,},
6ddfd88c 1893 {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,75},
252b5132 1894
6840198f
NC
1895/* 1000 1100 ssss 1001 *** ldctlb ctrl,rbs */
1896{
1897#ifdef NICENAMES
78a33af2 1898"ldctlb ctrl,rbs",32,7,0x3f,
6840198f
NC
1899#endif
1900"ldctlb",OPC_ldctlb,0,{CLASS_CTRL,CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 1901 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_BIT+9,0,0,0,0,0,},2,2,76},
6840198f
NC
1902
1903/* 1000 1100 dddd 0001 *** ldctlb rbd,ctrl */
1904{
1905#ifdef NICENAMES
78a33af2 1906"ldctlb rbd,ctrl",32,7,0x00,
6840198f
NC
1907#endif
1908"ldctlb",OPC_ldctlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_CTRL,},
6ddfd88c 1909 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+1,0,0,0,0,0,},2,2,76},
6840198f 1910
252b5132
RH
1911/* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rd,@rs,rr */
1912{
1913#ifdef NICENAMES
78a33af2 1914"ldd @rd,@rs,rr",16,11,0x04,
252b5132
RH
1915#endif
1916"ldd",OPC_ldd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 1917 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,77},
252b5132
RH
1918
1919/* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rd,@rs,rr */
1920{
1921#ifdef NICENAMES
78a33af2 1922"lddb @rd,@rs,rr",8,11,0x04,
252b5132
RH
1923#endif
1924"lddb",OPC_lddb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 1925 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,78},
252b5132
RH
1926
1927/* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rd,@rs,rr */
1928{
1929#ifdef NICENAMES
78a33af2 1930"lddr @rd,@rs,rr",16,11,0x04,
252b5132
RH
1931#endif
1932"lddr",OPC_lddr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 1933 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,79},
252b5132
RH
1934
1935/* 1011 1010 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rd,@rs,rr */
1936{
1937#ifdef NICENAMES
78a33af2 1938"lddrb @rd,@rs,rr",8,11,0x04,
252b5132
RH
1939#endif
1940"lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 1941 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,80},
252b5132
RH
1942
1943/* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */
1944{
1945#ifdef NICENAMES
78a33af2 1946"ldi @rd,@rs,rr",16,11,0x04,
252b5132
RH
1947#endif
1948"ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 1949 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,81},
252b5132
RH
1950
1951/* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */
1952{
1953#ifdef NICENAMES
78a33af2 1954"ldib @rd,@rs,rr",8,11,0x04,
252b5132
RH
1955#endif
1956"ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 1957 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,82},
252b5132
RH
1958
1959/* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */
1960{
1961#ifdef NICENAMES
78a33af2 1962"ldir @rd,@rs,rr",16,11,0x04,
252b5132
RH
1963#endif
1964"ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 1965 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,83},
252b5132
RH
1966
1967/* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */
1968{
1969#ifdef NICENAMES
78a33af2 1970"ldirb @rd,@rs,rr",8,11,0x04,
252b5132
RH
1971#endif
1972"ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 1973 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,84},
252b5132
RH
1974
1975/* 1011 1101 dddd imm4 *** ldk rd,imm4 */
1976{
1977#ifdef NICENAMES
78a33af2 1978"ldk rd,imm4",16,5,0x00,
252b5132
RH
1979#endif
1980"ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 1981 {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,85},
252b5132
RH
1982
1983/* 0001 1101 ddN0 ssss *** ldl @rd,rrs */
1984{
1985#ifdef NICENAMES
78a33af2 1986"ldl @rd,rrs",32,11,0x00,
252b5132
RH
1987#endif
1988"ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6ddfd88c 1989 {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,86},
252b5132
RH
1990
1991/* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */
1992{
1993#ifdef NICENAMES
78a33af2 1994"ldl address_dst(rd),rrs",32,14,0x00,
252b5132
RH
1995#endif
1996"ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6ddfd88c 1997 {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,86},
252b5132
RH
1998
1999/* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */
2000{
2001#ifdef NICENAMES
78a33af2 2002"ldl address_dst,rrs",32,15,0x00,
252b5132
RH
2003#endif
2004"ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),},
6ddfd88c 2005 {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,86},
252b5132
RH
2006
2007/* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */
2008{
2009#ifdef NICENAMES
78a33af2 2010"ldl rd(imm16),rrs",32,17,0x00,
252b5132
RH
2011#endif
2012"ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6ddfd88c 2013 {CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,86},
252b5132
RH
2014
2015/* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */
2016{
2017#ifdef NICENAMES
78a33af2 2018"ldl rd(rx),rrs",32,17,0x00,
252b5132
RH
2019#endif
2020"ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6ddfd88c 2021 {CLASS_BIT+7,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,86},
252b5132
RH
2022
2023/* 0001 0100 ssN0 dddd *** ldl rrd,@rs */
2024{
2025#ifdef NICENAMES
78a33af2 2026"ldl rrd,@rs",32,11,0x00,
252b5132
RH
2027#endif
2028"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2029 {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,86},
252b5132
RH
2030
2031/* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */
2032{
2033#ifdef NICENAMES
78a33af2 2034"ldl rrd,address_src",32,12,0x00,
252b5132
RH
2035#endif
2036"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 2037 {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,86},
252b5132
RH
2038
2039/* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */
2040{
2041#ifdef NICENAMES
78a33af2 2042"ldl rrd,address_src(rs)",32,13,0x00,
252b5132
RH
2043#endif
2044"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 2045 {CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,86},
252b5132
RH
2046
2047/* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */
2048{
2049#ifdef NICENAMES
78a33af2 2050"ldl rrd,imm32",32,11,0x00,
252b5132
RH
2051#endif
2052"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
6ddfd88c 2053 {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86},
252b5132
RH
2054
2055/* 1001 0100 ssss dddd *** ldl rrd,rrs */
2056{
2057#ifdef NICENAMES
78a33af2 2058"ldl rrd,rrs",32,5,0x00,
252b5132
RH
2059#endif
2060"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6ddfd88c 2061 {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,86},
252b5132
RH
2062
2063/* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */
2064{
2065#ifdef NICENAMES
78a33af2 2066"ldl rrd,rs(imm16)",32,17,0x00,
252b5132
RH
2067#endif
2068"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),},
6ddfd88c 2069 {CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,86},
252b5132
RH
2070
2071/* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */
2072{
2073#ifdef NICENAMES
78a33af2 2074"ldl rrd,rs(rx)",32,17,0x00,
252b5132
RH
2075#endif
2076"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),},
6ddfd88c 2077 {CLASS_BIT+7,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,86},
252b5132 2078
3c25c5f6 2079/* 0001 1100 ddN0 1001 0000 ssss 0000 imm4m1 *** ldm @rd,rs,n */
252b5132
RH
2080{
2081#ifdef NICENAMES
78a33af2 2082"ldm @rd,rs,n",16,11,0x00,
252b5132 2083#endif
3c25c5f6 2084"ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
6ddfd88c 2085 {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),0,},3,4,87},
252b5132 2086
3c25c5f6 2087/* 0101 1100 ddN0 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst(rd),rs,n */
252b5132
RH
2088{
2089#ifdef NICENAMES
78a33af2 2090"ldm address_dst(rd),rs,n",16,15,0x00,
252b5132 2091#endif
3c25c5f6 2092"ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
6ddfd88c 2093 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),},3,6,87},
252b5132 2094
3c25c5f6 2095/* 0101 1100 0000 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst,rs,n */
252b5132
RH
2096{
2097#ifdef NICENAMES
78a33af2 2098"ldm address_dst,rs,n",16,14,0x00,
252b5132 2099#endif
3c25c5f6 2100"ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
6ddfd88c 2101 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),},3,6,87},
252b5132 2102
3c25c5f6 2103/* 0001 1100 ssN0 0001 0000 dddd 0000 imm4m1 *** ldm rd,@rs,n */
252b5132
RH
2104{
2105#ifdef NICENAMES
78a33af2 2106"ldm rd,@rs,n",16,11,0x00,
252b5132 2107#endif
3c25c5f6 2108"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
6ddfd88c 2109 {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),0,},3,4,87},
252b5132 2110
3c25c5f6 2111/* 0101 1100 ssN0 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src(rs),n */
252b5132
RH
2112{
2113#ifdef NICENAMES
78a33af2 2114"ldm rd,address_src(rs),n",16,15,0x00,
252b5132 2115#endif
3c25c5f6 2116"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
6ddfd88c 2117 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_SRC),},3,6,87},
252b5132 2118
3c25c5f6 2119/* 0101 1100 0000 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src,n */
252b5132
RH
2120{
2121#ifdef NICENAMES
78a33af2 2122"ldm rd,address_src,n",16,14,0x00,
252b5132 2123#endif
3c25c5f6 2124"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMM4M1),},
6ddfd88c 2125 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_SRC),},3,6,87},
252b5132
RH
2126
2127/* 0011 1001 ssN0 0000 *** ldps @rs */
2128{
2129#ifdef NICENAMES
78a33af2 2130"ldps @rs",16,12,0x3f,
252b5132
RH
2131#endif
2132"ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),},
6ddfd88c 2133 {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,88},
252b5132
RH
2134
2135/* 0111 1001 0000 0000 address_src *** ldps address_src */
2136{
2137#ifdef NICENAMES
78a33af2 2138"ldps address_src",16,16,0x3f,
252b5132
RH
2139#endif
2140"ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),},
6ddfd88c 2141 {CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,88},
252b5132
RH
2142
2143/* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */
2144{
2145#ifdef NICENAMES
78a33af2 2146"ldps address_src(rs)",16,17,0x3f,
252b5132
RH
2147#endif
2148"ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),},
6ddfd88c 2149 {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,88},
252b5132
RH
2150
2151/* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */
2152{
2153#ifdef NICENAMES
78a33af2 2154"ldr disp16,rs",16,14,0x00,
252b5132
RH
2155#endif
2156"ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 2157 {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,89},
252b5132
RH
2158
2159/* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */
2160{
2161#ifdef NICENAMES
78a33af2 2162"ldr rd,disp16",16,14,0x00,
252b5132
RH
2163#endif
2164"ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
6ddfd88c 2165 {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,89},
252b5132
RH
2166
2167/* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */
2168{
2169#ifdef NICENAMES
78a33af2 2170"ldrb disp16,rbs",8,14,0x00,
252b5132
RH
2171#endif
2172"ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 2173 {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,90},
252b5132
RH
2174
2175/* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */
2176{
2177#ifdef NICENAMES
78a33af2 2178"ldrb rbd,disp16",8,14,0x00,
252b5132
RH
2179#endif
2180"ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
6ddfd88c 2181 {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,90},
252b5132
RH
2182
2183/* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */
2184{
2185#ifdef NICENAMES
78a33af2 2186"ldrl disp16,rrs",32,17,0x00,
252b5132
RH
2187#endif
2188"ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),},
6ddfd88c 2189 {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,91},
252b5132
RH
2190
2191/* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */
2192{
2193#ifdef NICENAMES
78a33af2 2194"ldrl rrd,disp16",32,17,0x00,
252b5132
RH
2195#endif
2196"ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,},
6ddfd88c 2197 {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,91},
252b5132
RH
2198
2199/* 0111 1011 0000 1010 *** mbit */
2200{
2201#ifdef NICENAMES
78a33af2 2202"mbit",16,7,0x38,
252b5132
RH
2203#endif
2204"mbit",OPC_mbit,0,{0},
6ddfd88c 2205 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,92},
252b5132
RH
2206
2207/* 0111 1011 dddd 1101 *** mreq rd */
2208{
2209#ifdef NICENAMES
78a33af2 2210"mreq rd",16,12,0x18,
252b5132
RH
2211#endif
2212"mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),},
6ddfd88c 2213 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,93},
252b5132
RH
2214
2215/* 0111 1011 0000 1001 *** mres */
2216{
2217#ifdef NICENAMES
78a33af2 2218"mres",16,5,0x00,
252b5132
RH
2219#endif
2220"mres",OPC_mres,0,{0},
6ddfd88c 2221 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,94},
252b5132
RH
2222
2223/* 0111 1011 0000 1000 *** mset */
2224{
2225#ifdef NICENAMES
78a33af2 2226"mset",16,5,0x00,
252b5132
RH
2227#endif
2228"mset",OPC_mset,0,{0},
6ddfd88c 2229 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,95},
252b5132
RH
2230
2231/* 0001 1001 ssN0 dddd *** mult rrd,@rs */
2232{
2233#ifdef NICENAMES
78a33af2 2234"mult rrd,@rs",16,70,0x3c,
252b5132
RH
2235#endif
2236"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2237 {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,96},
252b5132
RH
2238
2239/* 0101 1001 0000 dddd address_src *** mult rrd,address_src */
2240{
2241#ifdef NICENAMES
78a33af2 2242"mult rrd,address_src",16,70,0x3c,
252b5132
RH
2243#endif
2244"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 2245 {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,96},
252b5132
RH
2246
2247/* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */
2248{
2249#ifdef NICENAMES
78a33af2 2250"mult rrd,address_src(rs)",16,70,0x3c,
252b5132
RH
2251#endif
2252"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 2253 {CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,96},
252b5132
RH
2254
2255/* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */
2256{
2257#ifdef NICENAMES
78a33af2 2258"mult rrd,imm16",16,70,0x3c,
252b5132
RH
2259#endif
2260"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 2261 {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,96},
252b5132
RH
2262
2263/* 1001 1001 ssss dddd *** mult rrd,rs */
2264{
2265#ifdef NICENAMES
78a33af2 2266"mult rrd,rs",16,70,0x3c,
252b5132
RH
2267#endif
2268"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 2269 {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,96},
252b5132
RH
2270
2271/* 0001 1000 ssN0 dddd *** multl rqd,@rs */
2272{
2273#ifdef NICENAMES
78a33af2 2274"multl rqd,@rs",32,282,0x3c,
252b5132
RH
2275#endif
2276"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2277 {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,97},
252b5132
RH
2278
2279/* 0101 1000 0000 dddd address_src *** multl rqd,address_src */
2280{
2281#ifdef NICENAMES
78a33af2 2282"multl rqd,address_src",32,282,0x3c,
252b5132
RH
2283#endif
2284"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 2285 {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,97},
252b5132
RH
2286
2287/* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */
2288{
2289#ifdef NICENAMES
78a33af2 2290"multl rqd,address_src(rs)",32,282,0x3c,
252b5132
RH
2291#endif
2292"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 2293 {CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,97},
252b5132
RH
2294
2295/* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */
2296{
2297#ifdef NICENAMES
78a33af2 2298"multl rqd,imm32",32,282,0x3c,
252b5132
RH
2299#endif
2300"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
6ddfd88c 2301 {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,97},
252b5132
RH
2302
2303/* 1001 1000 ssss dddd *** multl rqd,rrs */
2304{
2305#ifdef NICENAMES
78a33af2 2306"multl rqd,rrs",32,282,0x3c,
252b5132
RH
2307#endif
2308"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6ddfd88c 2309 {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,97},
252b5132
RH
2310
2311/* 0000 1101 ddN0 0010 *** neg @rd */
2312{
2313#ifdef NICENAMES
78a33af2 2314"neg @rd",16,12,0x3c,
252b5132
RH
2315#endif
2316"neg",OPC_neg,0,{CLASS_IR+(ARG_RD),},
6ddfd88c 2317 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,98},
252b5132
RH
2318
2319/* 0100 1101 0000 0010 address_dst *** neg address_dst */
2320{
2321#ifdef NICENAMES
78a33af2 2322"neg address_dst",16,15,0x3c,
252b5132
RH
2323#endif
2324"neg",OPC_neg,0,{CLASS_DA+(ARG_DST),},
6ddfd88c 2325 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,98},
252b5132
RH
2326
2327/* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */
2328{
2329#ifdef NICENAMES
78a33af2 2330"neg address_dst(rd)",16,16,0x3c,
252b5132
RH
2331#endif
2332"neg",OPC_neg,0,{CLASS_X+(ARG_RD),},
6ddfd88c 2333 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,98},
252b5132
RH
2334
2335/* 1000 1101 dddd 0010 *** neg rd */
2336{
2337#ifdef NICENAMES
78a33af2 2338"neg rd",16,7,0x3c,
252b5132
RH
2339#endif
2340"neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),},
6ddfd88c 2341 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,98},
252b5132
RH
2342
2343/* 0000 1100 ddN0 0010 *** negb @rd */
2344{
2345#ifdef NICENAMES
78a33af2 2346"negb @rd",8,12,0x3c,
252b5132
RH
2347#endif
2348"negb",OPC_negb,0,{CLASS_IR+(ARG_RD),},
6ddfd88c 2349 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,99},
252b5132
RH
2350
2351/* 0100 1100 0000 0010 address_dst *** negb address_dst */
2352{
2353#ifdef NICENAMES
78a33af2 2354"negb address_dst",8,15,0x3c,
252b5132
RH
2355#endif
2356"negb",OPC_negb,0,{CLASS_DA+(ARG_DST),},
6ddfd88c 2357 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,99},
252b5132
RH
2358
2359/* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */
2360{
2361#ifdef NICENAMES
78a33af2 2362"negb address_dst(rd)",8,16,0x3c,
252b5132
RH
2363#endif
2364"negb",OPC_negb,0,{CLASS_X+(ARG_RD),},
6ddfd88c 2365 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,99},
252b5132
RH
2366
2367/* 1000 1100 dddd 0010 *** negb rbd */
2368{
2369#ifdef NICENAMES
78a33af2 2370"negb rbd",8,7,0x3c,
252b5132
RH
2371#endif
2372"negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),},
6ddfd88c 2373 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,99},
252b5132
RH
2374
2375/* 1000 1101 0000 0111 *** nop */
2376{
2377#ifdef NICENAMES
78a33af2 2378"nop",16,7,0x00,
252b5132
RH
2379#endif
2380"nop",OPC_nop,0,{0},
6ddfd88c 2381 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,100},
252b5132
RH
2382
2383/* 0000 0101 ssN0 dddd *** or rd,@rs */
2384{
2385#ifdef NICENAMES
78a33af2 2386"or rd,@rs",16,7,0x38,
252b5132
RH
2387#endif
2388"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2389 {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,101},
252b5132
RH
2390
2391/* 0100 0101 0000 dddd address_src *** or rd,address_src */
2392{
2393#ifdef NICENAMES
78a33af2 2394"or rd,address_src",16,9,0x38,
252b5132
RH
2395#endif
2396"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 2397 {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,101},
252b5132
RH
2398
2399/* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */
2400{
2401#ifdef NICENAMES
78a33af2 2402"or rd,address_src(rs)",16,10,0x38,
252b5132
RH
2403#endif
2404"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 2405 {CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,101},
252b5132
RH
2406
2407/* 0000 0101 0000 dddd imm16 *** or rd,imm16 */
2408{
2409#ifdef NICENAMES
78a33af2 2410"or rd,imm16",16,7,0x38,
252b5132
RH
2411#endif
2412"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 2413 {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,101},
252b5132
RH
2414
2415/* 1000 0101 ssss dddd *** or rd,rs */
2416{
2417#ifdef NICENAMES
78a33af2 2418"or rd,rs",16,4,0x38,
252b5132
RH
2419#endif
2420"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 2421 {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,101},
252b5132
RH
2422
2423/* 0000 0100 ssN0 dddd *** orb rbd,@rs */
2424{
2425#ifdef NICENAMES
78a33af2 2426"orb rbd,@rs",8,7,0x3c,
252b5132
RH
2427#endif
2428"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2429 {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,102},
252b5132
RH
2430
2431/* 0100 0100 0000 dddd address_src *** orb rbd,address_src */
2432{
2433#ifdef NICENAMES
78a33af2 2434"orb rbd,address_src",8,9,0x3c,
252b5132
RH
2435#endif
2436"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 2437 {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,102},
252b5132
RH
2438
2439/* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */
2440{
2441#ifdef NICENAMES
78a33af2 2442"orb rbd,address_src(rs)",8,10,0x3c,
252b5132
RH
2443#endif
2444"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 2445 {CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,102},
252b5132
RH
2446
2447/* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */
2448{
2449#ifdef NICENAMES
78a33af2 2450"orb rbd,imm8",8,7,0x3c,
252b5132
RH
2451#endif
2452"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 2453 {CLASS_BIT+0,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,102},
252b5132
RH
2454
2455/* 1000 0100 ssss dddd *** orb rbd,rbs */
2456{
2457#ifdef NICENAMES
78a33af2 2458"orb rbd,rbs",8,4,0x3c,
252b5132
RH
2459#endif
2460"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 2461 {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,102},
252b5132 2462
6ddfd88c 2463/* 0011 1011 ssN0 1010 0000 aaaa dddd 0000 *** otdr @ro,@rs,ra */
252b5132
RH
2464{
2465#ifdef NICENAMES
6ddfd88c 2466"otdr @ro,@rs,ra",16,11,0x04,
252b5132 2467#endif
6ddfd88c
CG
2468"otdr",OPC_otdr,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2469 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,103},
252b5132 2470
6ddfd88c 2471/* 0011 1010 ssN0 1010 0000 aaaa dddd 0000 *** otdrb @ro,@rs,ra */
252b5132
RH
2472{
2473#ifdef NICENAMES
6ddfd88c 2474"otdrb @ro,@rs,ra",8,11,0x04,
252b5132 2475#endif
6ddfd88c
CG
2476"otdrb",OPC_otdrb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2477 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,104},
252b5132 2478
6ddfd88c 2479/* 0011 1011 ssN0 0010 0000 aaaa dddd 0000 *** otir @ro,@rs,ra */
252b5132
RH
2480{
2481#ifdef NICENAMES
6ddfd88c 2482"otir @ro,@rs,ra",16,11,0x04,
252b5132 2483#endif
6ddfd88c
CG
2484"otir",OPC_otir,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2485 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,105},
252b5132 2486
6ddfd88c 2487/* 0011 1010 ssN0 0010 0000 aaaa dddd 0000 *** otirb @ro,@rs,ra */
252b5132
RH
2488{
2489#ifdef NICENAMES
6ddfd88c 2490"otirb @ro,@rs,ra",8,11,0x04,
252b5132 2491#endif
6ddfd88c
CG
2492"otirb",OPC_otirb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2493 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,106},
252b5132 2494
6ddfd88c 2495/* 0011 1111 dddd ssss *** out @ro,rs */
252b5132
RH
2496{
2497#ifdef NICENAMES
6ddfd88c 2498"out @ro,rs",16,10,0x00,
252b5132 2499#endif
6ddfd88c
CG
2500"out",OPC_out,0,{CLASS_IRO+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2501 {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,107},
252b5132 2502
6ddfd88c 2503/* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
252b5132
RH
2504{
2505#ifdef NICENAMES
6ddfd88c 2506"out imm16,rs",16,12,0x00,
252b5132 2507#endif
6ddfd88c
CG
2508"out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
2509 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,107},
252b5132 2510
6ddfd88c 2511/* 0011 1110 dddd ssss *** outb @ro,rbs */
252b5132
RH
2512{
2513#ifdef NICENAMES
6ddfd88c 2514"outb @ro,rbs",8,10,0x00,
252b5132 2515#endif
6ddfd88c
CG
2516"outb",OPC_outb,0,{CLASS_IRO+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2517 {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,108},
252b5132 2518
6ddfd88c 2519/* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
252b5132
RH
2520{
2521#ifdef NICENAMES
6ddfd88c 2522"outb imm16,rbs",8,12,0x00,
252b5132 2523#endif
6ddfd88c
CG
2524"outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
2525 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,108},
252b5132 2526
6ddfd88c 2527/* 0011 1011 ssN0 1010 0000 aaaa dddd 1000 *** outd @ro,@rs,ra */
252b5132
RH
2528{
2529#ifdef NICENAMES
6ddfd88c 2530"outd @ro,@rs,ra",16,21,0x04,
252b5132 2531#endif
6ddfd88c
CG
2532"outd",OPC_outd,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2533 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,109},
2534
2535/* 0011 1010 ssN0 1010 0000 aaaa dddd 1000 *** outdb @ro,@rs,ra */
2536{
2537#ifdef NICENAMES
2538"outdb @ro,@rs,ra",8,21,0x04,
2539#endif
2540"outdb",OPC_outdb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2541 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,110},
2542
2543/* 0011 1011 ssN0 0010 0000 aaaa dddd 1000 *** outi @ro,@rs,ra */
2544{
2545#ifdef NICENAMES
2546"outi @ro,@rs,ra",16,21,0x04,
2547#endif
2548"outi",OPC_outi,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2549 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,111},
2550
2551/* 0011 1010 ssN0 0010 0000 aaaa dddd 1000 *** outib @ro,@rs,ra */
2552{
2553#ifdef NICENAMES
2554"outib @ro,@rs,ra",8,21,0x04,
2555#endif
2556"outib",OPC_outib,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2557 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,112},
252b5132
RH
2558
2559/* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */
2560{
2561#ifdef NICENAMES
78a33af2 2562"pop @rd,@rs",16,12,0x00,
252b5132
RH
2563#endif
2564"pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2565 {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,113},
252b5132
RH
2566
2567/* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */
2568{
2569#ifdef NICENAMES
78a33af2 2570"pop address_dst(rd),@rs",16,16,0x00,
252b5132
RH
2571#endif
2572"pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2573 {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,113},
252b5132
RH
2574
2575/* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */
2576{
2577#ifdef NICENAMES
78a33af2 2578"pop address_dst,@rs",16,16,0x00,
252b5132
RH
2579#endif
2580"pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
6ddfd88c 2581 {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,113},
252b5132
RH
2582
2583/* 1001 0111 ssN0 dddd *** pop rd,@rs */
2584{
2585#ifdef NICENAMES
78a33af2 2586"pop rd,@rs",16,8,0x00,
252b5132
RH
2587#endif
2588"pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2589 {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,113},
252b5132
RH
2590
2591/* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */
2592{
2593#ifdef NICENAMES
78a33af2 2594"popl @rd,@rs",32,19,0x00,
252b5132
RH
2595#endif
2596"popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2597 {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,114},
252b5132
RH
2598
2599/* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */
2600{
2601#ifdef NICENAMES
78a33af2 2602"popl address_dst(rd),@rs",32,23,0x00,
252b5132
RH
2603#endif
2604"popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2605 {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,114},
252b5132
RH
2606
2607/* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */
2608{
2609#ifdef NICENAMES
78a33af2 2610"popl address_dst,@rs",32,23,0x00,
252b5132
RH
2611#endif
2612"popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
6ddfd88c 2613 {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,114},
252b5132
RH
2614
2615/* 1001 0101 ssN0 dddd *** popl rrd,@rs */
2616{
2617#ifdef NICENAMES
78a33af2 2618"popl rrd,@rs",32,12,0x00,
252b5132
RH
2619#endif
2620"popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2621 {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,114},
252b5132
RH
2622
2623/* 0001 0011 ddN0 ssN0 *** push @rd,@rs */
2624{
2625#ifdef NICENAMES
78a33af2 2626"push @rd,@rs",16,13,0x00,
252b5132
RH
2627#endif
2628"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2629 {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,115},
252b5132
RH
2630
2631/* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */
2632{
2633#ifdef NICENAMES
78a33af2 2634"push @rd,address_src",16,14,0x00,
252b5132
RH
2635#endif
2636"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 2637 {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,115},
252b5132
RH
2638
2639/* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */
2640{
2641#ifdef NICENAMES
78a33af2 2642"push @rd,address_src(rs)",16,14,0x00,
252b5132
RH
2643#endif
2644"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 2645 {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,115},
252b5132
RH
2646
2647/* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */
2648{
2649#ifdef NICENAMES
78a33af2 2650"push @rd,imm16",16,12,0x00,
252b5132
RH
2651#endif
2652"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 2653 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,115},
252b5132
RH
2654
2655/* 1001 0011 ddN0 ssss *** push @rd,rs */
2656{
2657#ifdef NICENAMES
78a33af2 2658"push @rd,rs",16,9,0x00,
252b5132
RH
2659#endif
2660"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 2661 {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,115},
252b5132
RH
2662
2663/* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */
2664{
2665#ifdef NICENAMES
78a33af2 2666"pushl @rd,@rs",32,20,0x00,
252b5132
RH
2667#endif
2668"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 2669 {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,116},
252b5132
RH
2670
2671/* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */
2672{
2673#ifdef NICENAMES
78a33af2 2674"pushl @rd,address_src",32,21,0x00,
252b5132
RH
2675#endif
2676"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 2677 {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,116},
252b5132
RH
2678
2679/* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */
2680{
2681#ifdef NICENAMES
78a33af2 2682"pushl @rd,address_src(rs)",32,21,0x00,
252b5132
RH
2683#endif
2684"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 2685 {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,116},
252b5132
RH
2686
2687/* 1001 0001 ddN0 ssss *** pushl @rd,rrs */
2688{
2689#ifdef NICENAMES
78a33af2 2690"pushl @rd,rrs",32,12,0x00,
252b5132
RH
2691#endif
2692"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6ddfd88c 2693 {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,116},
252b5132
RH
2694
2695/* 0010 0011 ddN0 imm4 *** res @rd,imm4 */
2696{
2697#ifdef NICENAMES
78a33af2 2698"res @rd,imm4",16,11,0x00,
252b5132
RH
2699#endif
2700"res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 2701 {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,117},
252b5132
RH
2702
2703/* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */
2704{
2705#ifdef NICENAMES
78a33af2 2706"res address_dst(rd),imm4",16,14,0x00,
252b5132
RH
2707#endif
2708"res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 2709 {CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,117},
252b5132
RH
2710
2711/* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */
2712{
2713#ifdef NICENAMES
78a33af2 2714"res address_dst,imm4",16,13,0x00,
252b5132
RH
2715#endif
2716"res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 2717 {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,117},
252b5132
RH
2718
2719/* 1010 0011 dddd imm4 *** res rd,imm4 */
2720{
2721#ifdef NICENAMES
78a33af2 2722"res rd,imm4",16,4,0x00,
252b5132
RH
2723#endif
2724"res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 2725 {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,117},
252b5132
RH
2726
2727/* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */
2728{
2729#ifdef NICENAMES
78a33af2 2730"res rd,rs",16,10,0x00,
252b5132
RH
2731#endif
2732"res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 2733 {CLASS_BIT+2,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,117},
252b5132
RH
2734
2735/* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */
2736{
2737#ifdef NICENAMES
78a33af2 2738"resb @rd,imm4",8,11,0x00,
252b5132
RH
2739#endif
2740"resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 2741 {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,118},
252b5132
RH
2742
2743/* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */
2744{
2745#ifdef NICENAMES
78a33af2 2746"resb address_dst(rd),imm4",8,14,0x00,
252b5132
RH
2747#endif
2748"resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 2749 {CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,118},
252b5132
RH
2750
2751/* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */
2752{
2753#ifdef NICENAMES
78a33af2 2754"resb address_dst,imm4",8,13,0x00,
252b5132
RH
2755#endif
2756"resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 2757 {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,118},
252b5132
RH
2758
2759/* 1010 0010 dddd imm4 *** resb rbd,imm4 */
2760{
2761#ifdef NICENAMES
78a33af2 2762"resb rbd,imm4",8,4,0x00,
252b5132
RH
2763#endif
2764"resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 2765 {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,118},
252b5132
RH
2766
2767/* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */
2768{
2769#ifdef NICENAMES
78a33af2 2770"resb rbd,rs",8,10,0x00,
252b5132
RH
2771#endif
2772"resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 2773 {CLASS_BIT+2,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,118},
252b5132
RH
2774
2775/* 1000 1101 flags 0011 *** resflg flags */
2776{
2777#ifdef NICENAMES
78a33af2 2778"resflg flags",16,7,0x3c,
252b5132
RH
2779#endif
2780"resflg",OPC_resflg,0,{CLASS_FLAGS,},
6ddfd88c 2781 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+3,0,0,0,0,0,},1,2,119},
252b5132
RH
2782
2783/* 1001 1110 0000 cccc *** ret cc */
2784{
2785#ifdef NICENAMES
78a33af2 2786"ret cc",16,10,0x00,
252b5132
RH
2787#endif
2788"ret",OPC_ret,0,{CLASS_CC,},
6ddfd88c 2789 {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,120},
252b5132
RH
2790
2791/* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */
2792{
2793#ifdef NICENAMES
78a33af2 2794"rl rd,imm1or2",16,6,0x3c,
252b5132
RH
2795#endif
2796"rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6ddfd88c 2797 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,121},
252b5132
RH
2798
2799/* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */
2800{
2801#ifdef NICENAMES
78a33af2 2802"rlb rbd,imm1or2",8,6,0x3c,
252b5132
RH
2803#endif
2804"rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6ddfd88c 2805 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,122},
252b5132
RH
2806
2807/* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */
2808{
2809#ifdef NICENAMES
78a33af2 2810"rlc rd,imm1or2",16,6,0x3c,
252b5132
RH
2811#endif
2812"rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6ddfd88c 2813 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,123},
252b5132
RH
2814
2815/* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */
2816{
2817#ifdef NICENAMES
78a33af2 2818"rlcb rbd,imm1or2",8,9,0x10,
252b5132
RH
2819#endif
2820"rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6ddfd88c 2821 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,124},
252b5132
RH
2822
2823/* 1011 1110 aaaa bbbb *** rldb rbb,rba */
2824{
2825#ifdef NICENAMES
78a33af2 2826"rldb rbb,rba",8,9,0x10,
252b5132
RH
2827#endif
2828"rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
6ddfd88c 2829 {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,125},
252b5132
RH
2830
2831/* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */
2832{
2833#ifdef NICENAMES
78a33af2 2834"rr rd,imm1or2",16,6,0x3c,
252b5132
RH
2835#endif
2836"rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6ddfd88c 2837 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,126},
252b5132
RH
2838
2839/* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */
2840{
2841#ifdef NICENAMES
78a33af2 2842"rrb rbd,imm1or2",8,6,0x3c,
252b5132
RH
2843#endif
2844"rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6ddfd88c 2845 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,127},
252b5132
RH
2846
2847/* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */
2848{
2849#ifdef NICENAMES
78a33af2 2850"rrc rd,imm1or2",16,6,0x3c,
252b5132
RH
2851#endif
2852"rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6ddfd88c 2853 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,128},
252b5132
RH
2854
2855/* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */
2856{
2857#ifdef NICENAMES
78a33af2 2858"rrcb rbd,imm1or2",8,9,0x10,
252b5132
RH
2859#endif
2860"rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6ddfd88c 2861 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,129},
252b5132
RH
2862
2863/* 1011 1100 aaaa bbbb *** rrdb rbb,rba */
2864{
2865#ifdef NICENAMES
78a33af2 2866"rrdb rbb,rba",8,9,0x10,
252b5132
RH
2867#endif
2868"rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
6ddfd88c 2869 {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,130},
252b5132
RH
2870
2871/* 0011 0110 imm8 *** rsvd36 */
2872{
2873#ifdef NICENAMES
78a33af2 2874"rsvd36",8,10,0x00,
252b5132
RH
2875#endif
2876"rsvd36",OPC_rsvd36,0,{0},
6ddfd88c 2877 {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,131},
252b5132
RH
2878
2879/* 0011 1000 imm8 *** rsvd38 */
2880{
2881#ifdef NICENAMES
78a33af2 2882"rsvd38",8,10,0x00,
252b5132
RH
2883#endif
2884"rsvd38",OPC_rsvd38,0,{0},
6ddfd88c 2885 {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,132},
252b5132
RH
2886
2887/* 0111 1000 imm8 *** rsvd78 */
2888{
2889#ifdef NICENAMES
78a33af2 2890"rsvd78",8,10,0x00,
252b5132
RH
2891#endif
2892"rsvd78",OPC_rsvd78,0,{0},
6ddfd88c 2893 {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,133},
252b5132
RH
2894
2895/* 0111 1110 imm8 *** rsvd7e */
2896{
2897#ifdef NICENAMES
78a33af2 2898"rsvd7e",8,10,0x00,
252b5132
RH
2899#endif
2900"rsvd7e",OPC_rsvd7e,0,{0},
6ddfd88c 2901 {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,134},
252b5132
RH
2902
2903/* 1001 1101 imm8 *** rsvd9d */
2904{
2905#ifdef NICENAMES
78a33af2 2906"rsvd9d",8,10,0x00,
252b5132
RH
2907#endif
2908"rsvd9d",OPC_rsvd9d,0,{0},
6ddfd88c 2909 {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,135},
252b5132
RH
2910
2911/* 1001 1111 imm8 *** rsvd9f */
2912{
2913#ifdef NICENAMES
78a33af2 2914"rsvd9f",8,10,0x00,
252b5132
RH
2915#endif
2916"rsvd9f",OPC_rsvd9f,0,{0},
6ddfd88c 2917 {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,136},
252b5132
RH
2918
2919/* 1011 1001 imm8 *** rsvdb9 */
2920{
2921#ifdef NICENAMES
78a33af2 2922"rsvdb9",8,10,0x00,
252b5132
RH
2923#endif
2924"rsvdb9",OPC_rsvdb9,0,{0},
6ddfd88c 2925 {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,137},
252b5132
RH
2926
2927/* 1011 1111 imm8 *** rsvdbf */
2928{
2929#ifdef NICENAMES
78a33af2 2930"rsvdbf",8,10,0x00,
252b5132
RH
2931#endif
2932"rsvdbf",OPC_rsvdbf,0,{0},
6ddfd88c 2933 {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,138},
252b5132
RH
2934
2935/* 1011 0111 ssss dddd *** sbc rd,rs */
2936{
2937#ifdef NICENAMES
78a33af2 2938"sbc rd,rs",16,5,0x3c,
252b5132
RH
2939#endif
2940"sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 2941 {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,139},
252b5132
RH
2942
2943/* 1011 0110 ssss dddd *** sbcb rbd,rbs */
2944{
2945#ifdef NICENAMES
78a33af2 2946"sbcb rbd,rbs",8,5,0x3f,
252b5132
RH
2947#endif
2948"sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 2949 {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,140},
252b5132
RH
2950
2951/* 0111 1111 imm8 *** sc imm8 */
2952{
2953#ifdef NICENAMES
78a33af2 2954"sc imm8",8,33,0x3f,
252b5132
RH
2955#endif
2956"sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),},
6ddfd88c 2957 {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,141},
252b5132
RH
2958
2959/* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */
2960{
2961#ifdef NICENAMES
78a33af2 2962"sda rd,rs",16,15,0x3c,
252b5132
RH
2963#endif
2964"sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 2965 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,142},
252b5132
RH
2966
2967/* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */
2968{
2969#ifdef NICENAMES
78a33af2 2970"sdab rbd,rs",8,15,0x3c,
252b5132
RH
2971#endif
2972"sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 2973 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,143},
252b5132
RH
2974
2975/* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */
2976{
2977#ifdef NICENAMES
78a33af2 2978"sdal rrd,rs",32,15,0x3c,
252b5132
RH
2979#endif
2980"sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 2981 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,144},
252b5132
RH
2982
2983/* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */
2984{
2985#ifdef NICENAMES
78a33af2 2986"sdl rd,rs",16,15,0x38,
252b5132
RH
2987#endif
2988"sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 2989 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,145},
252b5132
RH
2990
2991/* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */
2992{
2993#ifdef NICENAMES
78a33af2 2994"sdlb rbd,rs",8,15,0x38,
252b5132
RH
2995#endif
2996"sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 2997 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,146},
252b5132
RH
2998
2999/* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */
3000{
3001#ifdef NICENAMES
78a33af2 3002"sdll rrd,rs",32,15,0x38,
252b5132
RH
3003#endif
3004"sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 3005 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,147},
252b5132
RH
3006
3007/* 0010 0101 ddN0 imm4 *** set @rd,imm4 */
3008{
3009#ifdef NICENAMES
78a33af2 3010"set @rd,imm4",16,11,0x00,
252b5132
RH
3011#endif
3012"set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 3013 {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,148},
252b5132
RH
3014
3015/* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */
3016{
3017#ifdef NICENAMES
78a33af2 3018"set address_dst(rd),imm4",16,14,0x00,
252b5132
RH
3019#endif
3020"set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 3021 {CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,148},
252b5132
RH
3022
3023/* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */
3024{
3025#ifdef NICENAMES
78a33af2 3026"set address_dst,imm4",16,13,0x00,
252b5132
RH
3027#endif
3028"set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 3029 {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,148},
252b5132
RH
3030
3031/* 1010 0101 dddd imm4 *** set rd,imm4 */
3032{
3033#ifdef NICENAMES
78a33af2 3034"set rd,imm4",16,4,0x00,
252b5132
RH
3035#endif
3036"set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 3037 {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,148},
252b5132
RH
3038
3039/* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */
3040{
3041#ifdef NICENAMES
78a33af2 3042"set rd,rs",16,10,0x00,
252b5132
RH
3043#endif
3044"set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 3045 {CLASS_BIT+2,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,148},
252b5132
RH
3046
3047/* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */
3048{
3049#ifdef NICENAMES
78a33af2 3050"setb @rd,imm4",8,11,0x00,
252b5132
RH
3051#endif
3052"setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 3053 {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,149},
252b5132
RH
3054
3055/* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */
3056{
3057#ifdef NICENAMES
78a33af2 3058"setb address_dst(rd),imm4",8,14,0x00,
252b5132
RH
3059#endif
3060"setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 3061 {CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,149},
252b5132
RH
3062
3063/* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */
3064{
3065#ifdef NICENAMES
78a33af2 3066"setb address_dst,imm4",8,13,0x00,
252b5132
RH
3067#endif
3068"setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 3069 {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,149},
252b5132
RH
3070
3071/* 1010 0100 dddd imm4 *** setb rbd,imm4 */
3072{
3073#ifdef NICENAMES
78a33af2 3074"setb rbd,imm4",8,4,0x00,
252b5132
RH
3075#endif
3076"setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 3077 {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,149},
252b5132
RH
3078
3079/* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */
3080{
3081#ifdef NICENAMES
78a33af2 3082"setb rbd,rs",8,10,0x00,
252b5132
RH
3083#endif
3084"setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 3085 {CLASS_BIT+2,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,149},
252b5132
RH
3086
3087/* 1000 1101 flags 0001 *** setflg flags */
3088{
3089#ifdef NICENAMES
78a33af2 3090"setflg flags",16,7,0x3c,
252b5132
RH
3091#endif
3092"setflg",OPC_setflg,0,{CLASS_FLAGS,},
6ddfd88c 3093 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+1,0,0,0,0,0,},1,2,150},
252b5132 3094
6840198f 3095/* 0011 1011 dddd 0101 imm16 *** sin rd,imm16 */
252b5132
RH
3096{
3097#ifdef NICENAMES
6ddfd88c 3098"sin rd,imm16",16,12,0x00,
252b5132 3099#endif
6840198f 3100"sin",OPC_sin,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 3101 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,151},
252b5132 3102
6840198f 3103/* 0011 1010 dddd 0101 imm16 *** sinb rbd,imm16 */
252b5132
RH
3104{
3105#ifdef NICENAMES
6ddfd88c 3106"sinb rbd,imm16",8,10,0x00,
252b5132 3107#endif
6840198f 3108"sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c
CG
3109 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,152},
3110
3111/* 0011 1011 ssss 1001 0000 aaaa ddN0 1000 *** sind @rd,@ri,ra */
3112{
3113#ifdef NICENAMES
3114"sind @rd,@ri,ra",16,21,0x04,
3115#endif
3116"sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3117 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,153},
3118
3119/* 0011 1010 ssss 1001 0000 aaaa ddN0 1000 *** sindb @rd,@ri,ra */
3120{
3121#ifdef NICENAMES
3122"sindb @rd,@ri,ra",8,21,0x04,
3123#endif
3124"sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3125 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,154},
3126
3127/* 0011 1011 ssss 1001 0000 aaaa ddN0 0000 *** sindr @rd,@ri,ra */
3128{
3129#ifdef NICENAMES
3130"sindr @rd,@ri,ra",16,11,0x04,
3131#endif
3132"sindr",OPC_sindr,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3133 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,155},
3134
3135/* 0011 1010 ssss 1001 0000 aaaa ddN0 0000 *** sindrb @rd,@ri,ra */
3136{
3137#ifdef NICENAMES
3138"sindrb @rd,@ri,ra",8,11,0x04,
3139#endif
3140"sindrb",OPC_sindrb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3141 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,156},
252b5132 3142
6ddfd88c 3143/* 0011 1011 ssss 0001 0000 aaaa ddN0 1000 *** sini @rd,@ri,ra */
252b5132
RH
3144{
3145#ifdef NICENAMES
6ddfd88c 3146"sini @rd,@ri,ra",16,21,0x04,
252b5132 3147#endif
6ddfd88c
CG
3148"sini",OPC_sini,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3149 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,157},
252b5132 3150
6ddfd88c 3151/* 0011 1010 ssss 0001 0000 aaaa ddN0 1000 *** sinib @rd,@ri,ra */
252b5132
RH
3152{
3153#ifdef NICENAMES
6ddfd88c 3154"sinib @rd,@ri,ra",8,21,0x04,
252b5132 3155#endif
6ddfd88c
CG
3156"sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3157 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,158},
252b5132 3158
6ddfd88c 3159/* 0011 1011 ssss 0001 0000 aaaa ddN0 0000 *** sinir @rd,@ri,ra */
252b5132
RH
3160{
3161#ifdef NICENAMES
6ddfd88c 3162"sinir @rd,@ri,ra",16,11,0x04,
252b5132 3163#endif
6ddfd88c
CG
3164"sinir",OPC_sinir,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3165 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,159},
252b5132 3166
6ddfd88c 3167/* 0011 1010 ssss 0001 0000 aaaa ddN0 0000 *** sinirb @rd,@ri,ra */
252b5132
RH
3168{
3169#ifdef NICENAMES
6ddfd88c 3170"sinirb @rd,@ri,ra",8,11,0x04,
252b5132 3171#endif
6ddfd88c
CG
3172"sinirb",OPC_sinirb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3173 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,160},
252b5132
RH
3174
3175/* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */
3176{
3177#ifdef NICENAMES
78a33af2 3178"sla rd,imm8",16,13,0x3c,
252b5132
RH
3179#endif
3180"sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 3181 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,161},
252b5132 3182
3c25c5f6 3183/* 1011 0010 dddd 1001 iiii iiii 0000 imm4 *** slab rbd,imm4 */
252b5132
RH
3184{
3185#ifdef NICENAMES
78a33af2 3186"slab rbd,imm4",8,13,0x3c,
252b5132 3187#endif
3c25c5f6 3188"slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 3189 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),0,},2,4,162},
252b5132
RH
3190
3191/* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */
3192{
3193#ifdef NICENAMES
78a33af2 3194"slal rrd,imm8",32,13,0x3c,
252b5132
RH
3195#endif
3196"slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 3197 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,163},
252b5132
RH
3198
3199/* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */
3200{
3201#ifdef NICENAMES
78a33af2 3202"sll rd,imm8",16,13,0x38,
252b5132
RH
3203#endif
3204"sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 3205 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,164},
252b5132 3206
3c25c5f6 3207/* 1011 0010 dddd 0001 iiii iiii 0000 imm4 *** sllb rbd,imm4 */
252b5132
RH
3208{
3209#ifdef NICENAMES
78a33af2 3210"sllb rbd,imm4",8,13,0x38,
252b5132 3211#endif
3c25c5f6 3212"sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 3213 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),0,},2,4,165},
252b5132
RH
3214
3215/* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */
3216{
3217#ifdef NICENAMES
78a33af2 3218"slll rrd,imm8",32,13,0x38,
252b5132
RH
3219#endif
3220"slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c
CG
3221 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,166},
3222
3223/* 0011 1011 ssN0 1011 0000 aaaa dddd 0000 *** sotdr @ro,@rs,ra */
3224{
3225#ifdef NICENAMES
3226"sotdr @ro,@rs,ra",16,11,0x04,
3227#endif
3228"sotdr",OPC_sotdr,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3229 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,167},
3230
3231/* 0011 1010 ssN0 1011 0000 aaaa dddd 0000 *** sotdrb @ro,@rs,ra */
3232{
3233#ifdef NICENAMES
3234"sotdrb @ro,@rs,ra",8,11,0x04,
3235#endif
3236"sotdrb",OPC_sotdrb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3237 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,168},
3238
3239/* 0011 1011 ssN0 0011 0000 aaaa dddd 0000 *** sotir @ro,@rs,ra */
3240{
3241#ifdef NICENAMES
3242"sotir @ro,@rs,ra",16,11,0x04,
3243#endif
3244"sotir",OPC_sotir,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3245 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,169},
3246
3247/* 0011 1010 ssN0 0011 0000 aaaa dddd 0000 *** sotirb @ro,@rs,ra */
3248{
3249#ifdef NICENAMES
3250"sotirb @ro,@rs,ra",8,11,0x04,
3251#endif
3252"sotirb",OPC_sotirb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3253 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,170},
252b5132 3254
563a3225 3255/* 0011 1011 ssss 0111 imm16 *** sout imm16,rs */
252b5132
RH
3256{
3257#ifdef NICENAMES
6ddfd88c 3258"sout imm16,rs",16,12,0x00,
252b5132
RH
3259#endif
3260"sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
563a3225 3261 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,171},
252b5132 3262
563a3225 3263/* 0011 1010 ssss 0111 imm16 *** soutb imm16,rbs */
252b5132
RH
3264{
3265#ifdef NICENAMES
6ddfd88c 3266"soutb imm16,rbs",8,12,0x00,
252b5132
RH
3267#endif
3268"soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
563a3225 3269 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,172},
252b5132 3270
6ddfd88c 3271/* 0011 1011 ssN0 1011 0000 aaaa dddd 1000 *** soutd @ro,@rs,ra */
252b5132
RH
3272{
3273#ifdef NICENAMES
6ddfd88c 3274"soutd @ro,@rs,ra",16,21,0x04,
252b5132 3275#endif
6ddfd88c
CG
3276"soutd",OPC_soutd,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3277 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,173},
252b5132 3278
6ddfd88c 3279/* 0011 1010 ssN0 1011 0000 aaaa dddd 1000 *** soutdb @ro,@rs,ra */
252b5132
RH
3280{
3281#ifdef NICENAMES
6ddfd88c 3282"soutdb @ro,@rs,ra",8,21,0x04,
252b5132 3283#endif
6ddfd88c
CG
3284"soutdb",OPC_soutdb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3285 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,174},
252b5132 3286
6ddfd88c 3287/* 0011 1011 ssN0 0011 0000 aaaa dddd 1000 *** souti @ro,@rs,ra */
252b5132
RH
3288{
3289#ifdef NICENAMES
6ddfd88c 3290"souti @ro,@rs,ra",16,21,0x04,
252b5132 3291#endif
6ddfd88c
CG
3292"souti",OPC_souti,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3293 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,175},
252b5132 3294
6ddfd88c 3295/* 0011 1010 ssN0 0011 0000 aaaa dddd 1000 *** soutib @ro,@rs,ra */
252b5132
RH
3296{
3297#ifdef NICENAMES
6ddfd88c 3298"soutib @ro,@rs,ra",8,21,0x04,
252b5132 3299#endif
6ddfd88c
CG
3300"soutib",OPC_soutib,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3301 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,176},
252b5132
RH
3302
3303/* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */
3304{
3305#ifdef NICENAMES
78a33af2 3306"sra rd,imm8",16,13,0x3c,
252b5132
RH
3307#endif
3308"sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 3309 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,177},
252b5132 3310
3c25c5f6 3311/* 1011 0010 dddd 1001 iiii iiii 1111 nim4 *** srab rbd,imm4 */
252b5132
RH
3312{
3313#ifdef NICENAMES
78a33af2 3314"srab rbd,imm4",8,13,0x3c,
252b5132 3315#endif
3c25c5f6 3316"srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 3317 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM4),0,},2,4,178},
252b5132
RH
3318
3319/* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */
3320{
3321#ifdef NICENAMES
78a33af2 3322"sral rrd,imm8",32,13,0x3c,
252b5132
RH
3323#endif
3324"sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 3325 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,179},
252b5132
RH
3326
3327/* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */
3328{
3329#ifdef NICENAMES
78a33af2 3330"srl rd,imm8",16,13,0x3c,
252b5132
RH
3331#endif
3332"srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 3333 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,180},
252b5132 3334
3c25c5f6 3335/* 1011 0010 dddd 0001 iiii iiii 1111 nim4 *** srlb rbd,imm4 */
252b5132
RH
3336{
3337#ifdef NICENAMES
78a33af2 3338"srlb rbd,imm4",8,13,0x3c,
252b5132 3339#endif
3c25c5f6 3340"srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6ddfd88c 3341 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM4),0,},2,4,181},
252b5132
RH
3342
3343/* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */
3344{
3345#ifdef NICENAMES
78a33af2 3346"srll rrd,imm8",32,13,0x3c,
252b5132
RH
3347#endif
3348"srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 3349 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,182},
252b5132
RH
3350
3351/* 0000 0011 ssN0 dddd *** sub rd,@rs */
3352{
3353#ifdef NICENAMES
78a33af2 3354"sub rd,@rs",16,7,0x3c,
252b5132
RH
3355#endif
3356"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 3357 {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,183},
252b5132
RH
3358
3359/* 0100 0011 0000 dddd address_src *** sub rd,address_src */
3360{
3361#ifdef NICENAMES
78a33af2 3362"sub rd,address_src",16,9,0x3c,
252b5132
RH
3363#endif
3364"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 3365 {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
252b5132
RH
3366
3367/* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */
3368{
3369#ifdef NICENAMES
78a33af2 3370"sub rd,address_src(rs)",16,10,0x3c,
252b5132
RH
3371#endif
3372"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 3373 {CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
252b5132
RH
3374
3375/* 0000 0011 0000 dddd imm16 *** sub rd,imm16 */
3376{
3377#ifdef NICENAMES
78a33af2 3378"sub rd,imm16",16,7,0x3c,
252b5132
RH
3379#endif
3380"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6ddfd88c 3381 {CLASS_BIT+0,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,183},
252b5132
RH
3382
3383/* 1000 0011 ssss dddd *** sub rd,rs */
3384{
3385#ifdef NICENAMES
78a33af2 3386"sub rd,rs",16,4,0x3c,
252b5132
RH
3387#endif
3388"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6ddfd88c 3389 {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,183},
252b5132
RH
3390
3391/* 0000 0010 ssN0 dddd *** subb rbd,@rs */
3392{
3393#ifdef NICENAMES
78a33af2 3394"subb rbd,@rs",8,7,0x3f,
252b5132
RH
3395#endif
3396"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 3397 {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,184},
252b5132
RH
3398
3399/* 0100 0010 0000 dddd address_src *** subb rbd,address_src */
3400{
3401#ifdef NICENAMES
78a33af2 3402"subb rbd,address_src",8,9,0x3f,
252b5132
RH
3403#endif
3404"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 3405 {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
252b5132
RH
3406
3407/* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */
3408{
3409#ifdef NICENAMES
78a33af2 3410"subb rbd,address_src(rs)",8,10,0x3f,
252b5132
RH
3411#endif
3412"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 3413 {CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
252b5132
RH
3414
3415/* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */
3416{
3417#ifdef NICENAMES
78a33af2 3418"subb rbd,imm8",8,7,0x3f,
252b5132
RH
3419#endif
3420"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6ddfd88c 3421 {CLASS_BIT+0,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,184},
252b5132
RH
3422
3423/* 1000 0010 ssss dddd *** subb rbd,rbs */
3424{
3425#ifdef NICENAMES
78a33af2 3426"subb rbd,rbs",8,4,0x3f,
252b5132
RH
3427#endif
3428"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6ddfd88c 3429 {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,184},
252b5132
RH
3430
3431/* 0001 0010 ssN0 dddd *** subl rrd,@rs */
3432{
3433#ifdef NICENAMES
78a33af2 3434"subl rrd,@rs",32,14,0x3c,
252b5132
RH
3435#endif
3436"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6ddfd88c 3437 {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,185},
252b5132
RH
3438
3439/* 0101 0010 0000 dddd address_src *** subl rrd,address_src */
3440{
3441#ifdef NICENAMES
78a33af2 3442"subl rrd,address_src",32,15,0x3c,
252b5132
RH
3443#endif
3444"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
6ddfd88c 3445 {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,185},
252b5132
RH
3446
3447/* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */
3448{
3449#ifdef NICENAMES
78a33af2 3450"subl rrd,address_src(rs)",32,16,0x3c,
252b5132
RH
3451#endif
3452"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
6ddfd88c 3453 {CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,185},
252b5132
RH
3454
3455/* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */
3456{
3457#ifdef NICENAMES
78a33af2 3458"subl rrd,imm32",32,14,0x3c,
252b5132
RH
3459#endif
3460"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
6ddfd88c 3461 {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,185},
252b5132
RH
3462
3463/* 1001 0010 ssss dddd *** subl rrd,rrs */
3464{
3465#ifdef NICENAMES
78a33af2 3466"subl rrd,rrs",32,8,0x3c,
252b5132
RH
3467#endif
3468"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6ddfd88c 3469 {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,185},
252b5132
RH
3470
3471/* 1010 1111 dddd cccc *** tcc cc,rd */
3472{
3473#ifdef NICENAMES
78a33af2 3474"tcc cc,rd",16,5,0x00,
252b5132
RH
3475#endif
3476"tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),},
6ddfd88c 3477 {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,186},
252b5132
RH
3478
3479/* 1010 1110 dddd cccc *** tccb cc,rbd */
3480{
3481#ifdef NICENAMES
78a33af2 3482"tccb cc,rbd",8,5,0x00,
252b5132
RH
3483#endif
3484"tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),},
6ddfd88c 3485 {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,187},
252b5132
RH
3486
3487/* 0000 1101 ddN0 0100 *** test @rd */
3488{
3489#ifdef NICENAMES
78a33af2 3490"test @rd",16,8,0x18,
252b5132
RH
3491#endif
3492"test",OPC_test,0,{CLASS_IR+(ARG_RD),},
6ddfd88c 3493 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,188},
252b5132
RH
3494
3495/* 0100 1101 0000 0100 address_dst *** test address_dst */
3496{
3497#ifdef NICENAMES
78a33af2 3498"test address_dst",16,11,0x00,
252b5132
RH
3499#endif
3500"test",OPC_test,0,{CLASS_DA+(ARG_DST),},
6ddfd88c 3501 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,188},
252b5132
RH
3502
3503/* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */
3504{
3505#ifdef NICENAMES
78a33af2 3506"test address_dst(rd)",16,12,0x00,
252b5132
RH
3507#endif
3508"test",OPC_test,0,{CLASS_X+(ARG_RD),},
6ddfd88c 3509 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,188},
252b5132
RH
3510
3511/* 1000 1101 dddd 0100 *** test rd */
3512{
3513#ifdef NICENAMES
78a33af2 3514"test rd",16,7,0x00,
252b5132
RH
3515#endif
3516"test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),},
6ddfd88c 3517 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,188},
252b5132
RH
3518
3519/* 0000 1100 ddN0 0100 *** testb @rd */
3520{
3521#ifdef NICENAMES
78a33af2 3522"testb @rd",8,8,0x1c,
252b5132
RH
3523#endif
3524"testb",OPC_testb,0,{CLASS_IR+(ARG_RD),},
6ddfd88c 3525 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,189},
252b5132
RH
3526
3527/* 0100 1100 0000 0100 address_dst *** testb address_dst */
3528{
3529#ifdef NICENAMES
78a33af2 3530"testb address_dst",8,11,0x1c,
252b5132
RH
3531#endif
3532"testb",OPC_testb,0,{CLASS_DA+(ARG_DST),},
6ddfd88c 3533 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,189},
252b5132
RH
3534
3535/* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */
3536{
3537#ifdef NICENAMES
78a33af2 3538"testb address_dst(rd)",8,12,0x1c,
252b5132
RH
3539#endif
3540"testb",OPC_testb,0,{CLASS_X+(ARG_RD),},
6ddfd88c 3541 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,189},
252b5132
RH
3542
3543/* 1000 1100 dddd 0100 *** testb rbd */
3544{
3545#ifdef NICENAMES
78a33af2 3546"testb rbd",8,7,0x1c,
252b5132
RH
3547#endif
3548"testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),},
6ddfd88c 3549 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,189},
252b5132
RH
3550
3551/* 0001 1100 ddN0 1000 *** testl @rd */
3552{
3553#ifdef NICENAMES
78a33af2 3554"testl @rd",32,13,0x18,
252b5132
RH
3555#endif
3556"testl",OPC_testl,0,{CLASS_IR+(ARG_RD),},
6ddfd88c 3557 {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,190},
252b5132
RH
3558
3559/* 0101 1100 0000 1000 address_dst *** testl address_dst */
3560{
3561#ifdef NICENAMES
78a33af2 3562"testl address_dst",32,16,0x18,
252b5132
RH
3563#endif
3564"testl",OPC_testl,0,{CLASS_DA+(ARG_DST),},
6ddfd88c 3565 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,190},
252b5132
RH
3566
3567/* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */
3568{
3569#ifdef NICENAMES
78a33af2 3570"testl address_dst(rd)",32,17,0x18,
252b5132
RH
3571#endif
3572"testl",OPC_testl,0,{CLASS_X+(ARG_RD),},
6ddfd88c 3573 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,190},
252b5132
RH
3574
3575/* 1001 1100 dddd 1000 *** testl rrd */
3576{
3577#ifdef NICENAMES
78a33af2 3578"testl rrd",32,13,0x18,
252b5132
RH
3579#endif
3580"testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),},
6ddfd88c 3581 {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,190},
252b5132 3582
747a4ac1 3583/* 1011 1000 ddN0 1000 0000 rrrr ssN0 0000 *** trdb @rd,@rs,rr */
252b5132
RH
3584{
3585#ifdef NICENAMES
747a4ac1 3586"trdb @rd,@rs,rr",8,25,0x04,
252b5132 3587#endif
747a4ac1
CG
3588"trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
3589 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,191},
252b5132 3590
747a4ac1 3591/* 1011 1000 ddN0 1100 0000 rrrr ssN0 0000 *** trdrb @rd,@rs,rr */
252b5132
RH
3592{
3593#ifdef NICENAMES
747a4ac1 3594"trdrb @rd,@rs,rr",8,25,0x04,
252b5132 3595#endif
747a4ac1
CG
3596"trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
3597 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,192},
252b5132 3598
747a4ac1 3599/* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rr */
252b5132
RH
3600{
3601#ifdef NICENAMES
747a4ac1 3602"trib @rd,@rs,rr",8,25,0x04,
252b5132 3603#endif
747a4ac1 3604"trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 3605 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,193},
252b5132 3606
747a4ac1 3607/* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rr */
252b5132
RH
3608{
3609#ifdef NICENAMES
747a4ac1 3610"trirb @rd,@rs,rr",8,25,0x04,
252b5132 3611#endif
747a4ac1 3612"trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 3613 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,194},
252b5132 3614
747a4ac1 3615/* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtdb @ra,@rb,rr */
252b5132
RH
3616{
3617#ifdef NICENAMES
747a4ac1 3618"trtdb @ra,@rb,rr",8,25,0x14,
252b5132 3619#endif
747a4ac1 3620"trtdb",OPC_trtdb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 3621 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,195},
252b5132 3622
747a4ac1 3623/* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rr */
252b5132
RH
3624{
3625#ifdef NICENAMES
747a4ac1 3626"trtdrb @ra,@rb,rr",8,25,0x14,
252b5132 3627#endif
747a4ac1 3628"trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 3629 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,196},
252b5132 3630
747a4ac1 3631/* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rr */
252b5132
RH
3632{
3633#ifdef NICENAMES
747a4ac1 3634"trtib @ra,@rb,rr",8,25,0x14,
252b5132 3635#endif
747a4ac1 3636"trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 3637 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,197},
252b5132 3638
747a4ac1 3639/* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rr */
252b5132
RH
3640{
3641#ifdef NICENAMES
747a4ac1 3642"trtirb @ra,@rb,rr",8,25,0x14,
252b5132 3643#endif
747a4ac1 3644"trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),},
6ddfd88c 3645 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,198},
6840198f 3646
252b5132
RH
3647/* 0000 1101 ddN0 0110 *** tset @rd */
3648{
3649#ifdef NICENAMES
78a33af2 3650"tset @rd",16,11,0x08,
252b5132
RH
3651#endif
3652"tset",OPC_tset,0,{CLASS_IR+(ARG_RD),},
747a4ac1 3653 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,199},
252b5132
RH
3654
3655/* 0100 1101 0000 0110 address_dst *** tset address_dst */
3656{
3657#ifdef NICENAMES
78a33af2 3658"tset address_dst",16,14,0x08,
252b5132
RH
3659#endif
3660"tset",OPC_tset,0,{CLASS_DA+(ARG_DST),},
747a4ac1 3661 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,199},
252b5132
RH
3662
3663/* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */
3664{
3665#ifdef NICENAMES
78a33af2 3666"tset address_dst(rd)",16,15,0x08,
252b5132
RH
3667#endif
3668"tset",OPC_tset,0,{CLASS_X+(ARG_RD),},
747a4ac1 3669 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,199},
252b5132
RH
3670
3671/* 1000 1101 dddd 0110 *** tset rd */
3672{
3673#ifdef NICENAMES
78a33af2 3674"tset rd",16,7,0x08,
252b5132
RH
3675#endif
3676"tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),},
747a4ac1 3677 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,199},
252b5132
RH
3678
3679/* 0000 1100 ddN0 0110 *** tsetb @rd */
3680{
3681#ifdef NICENAMES
78a33af2 3682"tsetb @rd",8,11,0x08,
252b5132
RH
3683#endif
3684"tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),},
747a4ac1 3685 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,200},
252b5132
RH
3686
3687/* 0100 1100 0000 0110 address_dst *** tsetb address_dst */
3688{
3689#ifdef NICENAMES
78a33af2 3690"tsetb address_dst",8,14,0x08,
252b5132
RH
3691#endif
3692"tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),},
747a4ac1 3693 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,200},
252b5132
RH
3694
3695/* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */
3696{
3697#ifdef NICENAMES
78a33af2 3698"tsetb address_dst(rd)",8,15,0x08,
252b5132
RH
3699#endif
3700"tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),},
747a4ac1 3701 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,200},
252b5132
RH
3702
3703/* 1000 1100 dddd 0110 *** tsetb rbd */
3704{
3705#ifdef NICENAMES
78a33af2 3706"tsetb rbd",8,7,0x08,
252b5132
RH
3707#endif
3708"tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),},
747a4ac1 3709 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,200},
252b5132
RH
3710
3711/* 0000 1001 ssN0 dddd *** xor rd,@rs */
3712{
3713#ifdef NICENAMES
78a33af2 3714"xor rd,@rs",16,7,0x18,
252b5132
RH
3715#endif
3716"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
747a4ac1 3717 {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,201},
252b5132
RH
3718
3719/* 0100 1001 0000 dddd address_src *** xor rd,address_src */
3720{
3721#ifdef NICENAMES
78a33af2 3722"xor rd,address_src",16,9,0x18,
252b5132
RH
3723#endif
3724"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
747a4ac1 3725 {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,201},
252b5132
RH
3726
3727/* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */
3728{
3729#ifdef NICENAMES
78a33af2 3730"xor rd,address_src(rs)",16,10,0x18,
252b5132
RH
3731#endif
3732"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
747a4ac1 3733 {CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,201},
252b5132
RH
3734
3735/* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */
3736{
3737#ifdef NICENAMES
78a33af2 3738"xor rd,imm16",16,7,0x18,
252b5132
RH
3739#endif
3740"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
747a4ac1 3741 {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,201},
252b5132
RH
3742
3743/* 1000 1001 ssss dddd *** xor rd,rs */
3744{
3745#ifdef NICENAMES
78a33af2 3746"xor rd,rs",16,4,0x18,
252b5132
RH
3747#endif
3748"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
747a4ac1 3749 {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,201},
252b5132
RH
3750
3751/* 0000 1000 ssN0 dddd *** xorb rbd,@rs */
3752{
3753#ifdef NICENAMES
78a33af2 3754"xorb rbd,@rs",8,7,0x1c,
252b5132
RH
3755#endif
3756"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
747a4ac1 3757 {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,202},
252b5132
RH
3758
3759/* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */
3760{
3761#ifdef NICENAMES
78a33af2 3762"xorb rbd,address_src",8,9,0x1c,
252b5132
RH
3763#endif
3764"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
747a4ac1 3765 {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,202},
252b5132
RH
3766
3767/* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */
3768{
3769#ifdef NICENAMES
78a33af2 3770"xorb rbd,address_src(rs)",8,10,0x1c,
252b5132
RH
3771#endif
3772"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
747a4ac1 3773 {CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,202},
252b5132
RH
3774
3775/* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */
3776{
3777#ifdef NICENAMES
78a33af2 3778"xorb rbd,imm8",8,7,0x1c,
252b5132
RH
3779#endif
3780"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
747a4ac1 3781 {CLASS_BIT+0,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,202},
252b5132
RH
3782
3783/* 1000 1000 ssss dddd *** xorb rbd,rbs */
3784{
3785#ifdef NICENAMES
eae14d64 3786"xorb rbd,rbs",8,4,0x1c,
252b5132
RH
3787#endif
3788"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
747a4ac1 3789 {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,202},
252b5132 3790
28bab82b
NC
3791/* end marker */
3792{
3793#ifdef NICENAMES
3794NULL,0,0,
37950,
3796#endif
3797NULL,0,0,{0,0,0,0},{0,0,0,0,0,0,0,0,0,0},0,0,0}
3798};
252b5132 3799#endif