Rizin
unix-like reverse engineering framework and cli tools
table.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: 2014 Ilya V. Matveychikov <matvejchikov@gmail.com>
2 // SPDX-License-Identifier: LGPL-3.0-only
3 
4 static insn_head_t c55x_list[] = {
5 {
6  .byte = 0x00,
7  .size = 0x03,
8  .insn = {
9  // kkkkkkkkxCCCCCCC0000000E
10  .i_list = NULL,
11  .m_list = NULL,
12  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,CCCCCCC), INSN_FLAG(16,k8), LIST_END },
13  .syntax = INSN_SYNTAX(rptcc k8, cond),
14  },
15 },
16 {
17  .byte = 0x02,
18  .size = 0x03,
19  .insn = {
20  // xxxxxxxxxCCCCCCC0000001E
21  .i_list = NULL,
22  .m_list = NULL,
23  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,CCCCCCC), LIST_END },
24  .syntax = INSN_SYNTAX(retcc cond),
25  },
26 },
27 {
28  .byte = 0x04,
29  .size = 0x03,
30  .insn = {
31  // LLLLLLLLxCCCCCCC0000010E
32  .i_list = NULL,
33  .m_list = NULL,
34  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,CCCCCCC), INSN_FLAG(16,L8), LIST_END },
35  .syntax = INSN_SYNTAX(bcc L8, cond),
36  },
37 },
38 {
39  .byte = 0x06,
40  .size = 0x03,
41  .insn = {
42  // LLLLLLLLLLLLLLLL0000011E
43  .i_list = NULL,
44  .m_list = NULL,
45  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,L16), LIST_END },
46  .syntax = INSN_SYNTAX(b L16),
47  },
48 },
49 {
50  .byte = 0x08,
51  .size = 0x03,
52  .insn = {
53  // LLLLLLLLLLLLLLLL0000100E
54  .i_list = NULL,
55  .m_list = NULL,
56  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,L16), LIST_END },
57  .syntax = INSN_SYNTAX(call L16),
58  },
59 },
60 {
61  .byte = 0x0c,
62  .size = 0x03,
63  .insn = {
64  // kkkkkkkkkkkkkkkk0000110E
65  .i_list = NULL,
66  .m_list = NULL,
67  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k16), LIST_END },
68  .syntax = INSN_SYNTAX(rpt k16),
69  },
70 },
71 {
72  .byte = 0x0e,
73  .size = 0x03,
74  .insn = {
75  // llllllllllllllll0000111E
76  .i_list = NULL,
77  .m_list = NULL,
78  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,l16), LIST_END },
79  .syntax = INSN_SYNTAX(rptb pmad),
80  },
81 },
82 {
83  .byte = 0x10,
84  .size = 0x03,
85  .insn = {
86  .i_list = (insn_item_t []) {
87  {
88  // xxSHIFTWDDSS00000001000E
89  .i_list = NULL,
90  .m_list = (insn_mask_t []) { INSN_MASK(8,4,0), LIST_END },
91  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
92  .syntax = INSN_SYNTAX(and ACx << #SHIFTW[, ACy]),
93  },
94  {
95  // xxSHIFTWDDSS00010001000E
96  .i_list = NULL,
97  .m_list = (insn_mask_t []) { INSN_MASK(8,4,1), LIST_END },
98  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
99  .syntax = INSN_SYNTAX(or ACx << #SHIFTW[, ACy]),
100  },
101  {
102  // xxSHIFTWDDSS00100001000E
103  .i_list = NULL,
104  .m_list = (insn_mask_t []) { INSN_MASK(8,4,2), LIST_END },
105  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
106  .syntax = INSN_SYNTAX(xor ACx << #SHIFTW[, ACy]),
107  },
108  {
109  // xxSHIFTWDDSS00110001000E
110  .i_list = NULL,
111  .m_list = (insn_mask_t []) { INSN_MASK(8,4,3), LIST_END },
112  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
113  .syntax = INSN_SYNTAX(add ACx << #SHIFTW, ACy),
114  },
115  {
116  // xxSHIFTWDDSS01000001000E
117  .i_list = NULL,
118  .m_list = (insn_mask_t []) { INSN_MASK(8,4,4), LIST_END },
119  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
120  .syntax = INSN_SYNTAX(sub ACx << #SHIFTW, ACy),
121  },
122  {
123  // xxSHIFTWDDSS01010001000E
124  .i_list = NULL,
125  .m_list = (insn_mask_t []) { INSN_MASK(8,4,5), LIST_END },
126  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
127  .syntax = INSN_SYNTAX(sfts ACx, #SHIFTW[, ACy]),
128  },
129  {
130  // xxSHIFTWDDSS01100001000E
131  .i_list = NULL,
132  .m_list = (insn_mask_t []) { INSN_MASK(8,4,6), LIST_END },
133  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
134  .syntax = INSN_SYNTAX(sftsc ACx, #SHIFTW[, ACy]),
135  },
136  {
137  // xxSHIFTWDDSS01110001000E
138  .i_list = NULL,
139  .m_list = (insn_mask_t []) { INSN_MASK(8,4,7), LIST_END },
140  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
141  .syntax = INSN_SYNTAX(sftl ACx, #SHIFTW[, ACy]),
142  },
143  {
144  // xxddxxxxxxSS10000001000E
145  .i_list = NULL,
146  .m_list = (insn_mask_t []) { INSN_MASK(8,4,8), LIST_END },
147  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(20,dd), LIST_END },
148  .syntax = INSN_SYNTAX(exp ACx, Tx),
149  },
150  {
151  // xxddxxxxDDSS10010001000E
152  .i_list = NULL,
153  .m_list = (insn_mask_t []) { INSN_MASK(8,4,9), LIST_END },
154  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(20,dd), LIST_END },
155  .syntax = INSN_SYNTAX(mant ACx, ACy :: nexp ACx, Tx),
156  },
157  {
158  // SSddxxxtxxSS10100001000E
159  .i_list = NULL,
160  .m_list = (insn_mask_t []) { INSN_MASK(8,4,10), LIST_END },
161  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(16,t), INSN_FLAG(20,dd), INSN_FLAG(22,SS), LIST_END },
162  .syntax = INSN_SYNTAX(bcnt ACx, ACy, TCx, Tx),
163  },
164  {
165  // SSDDnnnnDDSS11000001000E
166  .i_list = NULL,
167  .m_list = (insn_mask_t []) { INSN_MASK(8,4,12), LIST_END },
168  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
169  .syntax = INSN_SYNTAX(maxdiff ACx, ACy, ACz, ACw),
170  },
171  {
172  // SSDDxxxrDDSS11010001000E
173  .i_list = NULL,
174  .m_list = (insn_mask_t []) { INSN_MASK(8,4,13), LIST_END },
175  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,r), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
176  .syntax = INSN_SYNTAX(dmaxdiff ACx, ACy, ACz, ACw, TRNx),
177  },
178  {
179  // SSDDxxxxDDSS11100001000E
180  .i_list = NULL,
181  .m_list = (insn_mask_t []) { INSN_MASK(8,4,14), LIST_END },
182  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
183  .syntax = INSN_SYNTAX(mindiff ACx, ACy, ACz, ACw),
184  },
185  {
186  // SSDDxxxrDDSS11110001000E
187  .i_list = NULL,
188  .m_list = (insn_mask_t []) { INSN_MASK(8,4,15), LIST_END },
189  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,r), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
190  .syntax = INSN_SYNTAX(dmindiff ACx, ACy, ACz, ACw, TRNx),
191  },
192  LIST_END,
193  },
194  .m_list = NULL,
195  .f_list = NULL,
196  .syntax = NULL,
197  },
198 },
199 {
200  .byte = 0x12,
201  .size = 0x03,
202  .insn = {
203  .i_list = (insn_item_t []) {
204  {
205  // FDDD0uttFSSScc010001001E
206  .i_list = NULL,
207  .m_list = (insn_mask_t []) { INSN_MASK(8,2,1), INSN_MASK(19,1,0), LIST_END },
208  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,cc), INSN_FLAG(12,FSSS), INSN_FLAG(16,tt), INSN_FLAG(18,u), INSN_FLAG(20,FDDD), LIST_END },
209  .syntax = INSN_SYNTAX(cmpand[u] src RELOP dst, TCy, TCx),
210  },
211  {
212  // FDDD1uttFSSScc010001001E
213  .i_list = NULL,
214  .m_list = (insn_mask_t []) { INSN_MASK(8,2,1), INSN_MASK(19,1,1), LIST_END },
215  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,cc), INSN_FLAG(12,FSSS), INSN_FLAG(16,tt), INSN_FLAG(18,u), INSN_FLAG(20,FDDD), LIST_END },
216  .syntax = INSN_SYNTAX(cmpand[u] src RELOP dst, !TCy, TCx),
217  },
218  {
219  // FDDD0uttFSSScc100001001E
220  .i_list = NULL,
221  .m_list = (insn_mask_t []) { INSN_MASK(8,2,2), INSN_MASK(19,1,0), LIST_END },
222  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,cc), INSN_FLAG(12,FSSS), INSN_FLAG(16,tt), INSN_FLAG(18,u), INSN_FLAG(20,FDDD), LIST_END },
223  .syntax = INSN_SYNTAX(cmpor[u] src RELOP dst, TCy, TCx),
224  },
225  {
226  // FDDD1uttFSSScc100001001E
227  .i_list = NULL,
228  .m_list = (insn_mask_t []) { INSN_MASK(8,2,2), INSN_MASK(19,1,1), LIST_END },
229  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,cc), INSN_FLAG(12,FSSS), INSN_FLAG(16,tt), INSN_FLAG(18,u), INSN_FLAG(20,FDDD), LIST_END },
230  .syntax = INSN_SYNTAX(cmpor[u] src RELOP dst, !TCy, TCx),
231  },
232  {
233  // FDDD0xvvFSSSxx110001001E
234  .i_list = NULL,
235  .m_list = (insn_mask_t []) { INSN_MASK(8,2,3), INSN_MASK(19,1,0), LIST_END },
236  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(16,vv), INSN_FLAG(20,FDDD), LIST_END },
237  .syntax = INSN_SYNTAX(rol BitOut, src, BitIn, dst),
238  },
239  {
240  // FDDD1xvvFSSSxx110001001E
241  .i_list = NULL,
242  .m_list = (insn_mask_t []) { INSN_MASK(8,2,3), INSN_MASK(19,1,1), LIST_END },
243  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(16,vv), INSN_FLAG(20,FDDD), LIST_END },
244  .syntax = INSN_SYNTAX(ror BitIn, src, BitOut, dst),
245  },
246  {
247  // FDDDxuxtFSSScc000001001E
248  .i_list = NULL,
249  .m_list = (insn_mask_t []) { INSN_MASK(8,2,0), LIST_END },
250  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,cc), INSN_FLAG(12,FSSS), INSN_FLAG(16,t), INSN_FLAG(18,u), INSN_FLAG(20,FDDD), LIST_END },
251  .syntax = INSN_SYNTAX(cmp[u] src RELOP dst, TCx),
252  },
253  LIST_END,
254  },
255  .m_list = NULL,
256  .f_list = NULL,
257  .syntax = NULL,
258  },
259 },
260 {
261  .byte = 0x14,
262  .size = 0x03,
263  .insn = {
264  .i_list = (insn_item_t []) {
265  {
266  // XACD0000XACS00010001010E
267  .i_list = NULL,
268  .m_list = (insn_mask_t []) { INSN_MASK(8,4,1), INSN_MASK(16,4,0), LIST_END },
269  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XACS), INSN_FLAG(20,XACD), LIST_END },
270  .syntax = INSN_SYNTAX(aadd XACsrc, XACdst),
271  },
272  {
273  // XACD0001XACS00010001010E
274  .i_list = NULL,
275  .m_list = (insn_mask_t []) { INSN_MASK(8,4,1), INSN_MASK(16,4,1), LIST_END },
276  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XACS), INSN_FLAG(20,XACD), LIST_END },
277  .syntax = INSN_SYNTAX(amov XACsrc, XACdst),
278  },
279  {
280  // XACD0010XACS00010001010E
281  .i_list = NULL,
282  .m_list = (insn_mask_t []) { INSN_MASK(8,4,1), INSN_MASK(16,4,2), LIST_END },
283  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XACS), INSN_FLAG(20,XACD), LIST_END },
284  .syntax = INSN_SYNTAX(asub XACsrc, XACdst),
285  },
286  {
287  // XACD1000XACS00010001010E
288  .i_list = NULL,
289  .m_list = (insn_mask_t []) { INSN_MASK(8,4,1), INSN_MASK(16,4,8), LIST_END },
290  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XACS), INSN_FLAG(20,XACD), LIST_END },
291  .syntax = INSN_SYNTAX(aadd XACsrc, XACdst),
292  },
293  {
294  // XACD1001XACS00010001010E
295  .i_list = NULL,
296  .m_list = (insn_mask_t []) { INSN_MASK(8,4,1), INSN_MASK(16,4,9), LIST_END },
297  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XACS), INSN_FLAG(20,XACD), LIST_END },
298  .syntax = INSN_SYNTAX(amov XACsrc, XACdst),
299  },
300  {
301  // XACD1010XACS00010001010E
302  .i_list = NULL,
303  .m_list = (insn_mask_t []) { INSN_MASK(8,4,1), INSN_MASK(16,4,10), LIST_END },
304  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XACS), INSN_FLAG(20,XACD), LIST_END },
305  .syntax = INSN_SYNTAX(asub XACsrc, XACdst),
306  },
307  {
308  // FDDD0000FSSSxxxx0001010E
309  .i_list = NULL,
310  .m_list = (insn_mask_t []) { INSN_MASK(16,4,0), LIST_END },
311  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(20,FDDD), LIST_END },
312  .syntax = INSN_SYNTAX(aadd TAx, TAy),
313  },
314  {
315  // FDDD0001FSSSxxxx0001010E
316  .i_list = NULL,
317  .m_list = (insn_mask_t []) { INSN_MASK(16,4,1), LIST_END },
318  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(20,FDDD), LIST_END },
319  .syntax = INSN_SYNTAX(amov TAx, TAy),
320  },
321  {
322  // FDDD0010FSSSxxxx0001010E
323  .i_list = NULL,
324  .m_list = (insn_mask_t []) { INSN_MASK(16,4,2), LIST_END },
325  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(20,FDDD), LIST_END },
326  .syntax = INSN_SYNTAX(asub TAx, TAy),
327  },
328  {
329  // FDDD0100PPPPPPPP0001010E
330  .i_list = NULL,
331  .m_list = (insn_mask_t []) { INSN_MASK(16,4,4), LIST_END },
332  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,P8), INSN_FLAG(20,FDDD), LIST_END },
333  .syntax = INSN_SYNTAX(aadd P8, TAx),
334  },
335  {
336  // FDDD0101PPPPPPPP0001010E
337  .i_list = NULL,
338  .m_list = (insn_mask_t []) { INSN_MASK(16,4,5), LIST_END },
339  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,P8), INSN_FLAG(20,FDDD), LIST_END },
340  .syntax = INSN_SYNTAX(amov P8, TAx),
341  },
342  {
343  // FDDD0110PPPPPPPP0001010E
344  .i_list = NULL,
345  .m_list = (insn_mask_t []) { INSN_MASK(16,4,6), LIST_END },
346  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,P8), INSN_FLAG(20,FDDD), LIST_END },
347  .syntax = INSN_SYNTAX(asub P8, TAx),
348  },
349  {
350  // FDDD1000FSSSxxxx0001010E
351  .i_list = NULL,
352  .m_list = (insn_mask_t []) { INSN_MASK(16,4,8), LIST_END },
353  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(20,FDDD), LIST_END },
354  .syntax = INSN_SYNTAX(aadd TAx, TAy),
355  },
356  {
357  // FDDD1001FSSSxxxx0001010E
358  .i_list = NULL,
359  .m_list = (insn_mask_t []) { INSN_MASK(16,4,9), LIST_END },
360  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(20,FDDD), LIST_END },
361  .syntax = INSN_SYNTAX(amov TAx, TAy),
362  },
363  {
364  // FDDD1010FSSSxxxx0001010E
365  .i_list = NULL,
366  .m_list = (insn_mask_t []) { INSN_MASK(16,4,10), LIST_END },
367  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(20,FDDD), LIST_END },
368  .syntax = INSN_SYNTAX(asub TAx, TAy),
369  },
370  {
371  // FDDD1100PPPPPPPP0001010E
372  .i_list = NULL,
373  .m_list = (insn_mask_t []) { INSN_MASK(16,4,12), LIST_END },
374  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,P8), INSN_FLAG(20,FDDD), LIST_END },
375  .syntax = INSN_SYNTAX(aadd P8, TAx),
376  },
377  {
378  // FDDD1101PPPPPPPP0001010E
379  .i_list = NULL,
380  .m_list = (insn_mask_t []) { INSN_MASK(16,4,13), LIST_END },
381  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,P8), INSN_FLAG(20,FDDD), LIST_END },
382  .syntax = INSN_SYNTAX(amov P8, TAx),
383  },
384  {
385  // FDDD1110PPPPPPPP0001010E
386  .i_list = NULL,
387  .m_list = (insn_mask_t []) { INSN_MASK(16,4,14), LIST_END },
388  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,P8), INSN_FLAG(20,FDDD), LIST_END },
389  .syntax = INSN_SYNTAX(asub P8, TAx),
390  },
391  LIST_END,
392  },
393  .m_list = NULL,
394  .f_list = NULL,
395  .syntax = NULL,
396  },
397 },
398 {
399  .byte = 0x16,
400  .size = 0x03,
401  .insn = {
402  .i_list = (insn_item_t []) {
403  {
404  // kkkk0000xxxxxkkk0001011E
405  .i_list = NULL,
406  .m_list = (insn_mask_t []) { INSN_MASK(16,4,0), LIST_END },
407  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k3), INSN_FLAG(20,k4), LIST_END },
408  .syntax = INSN_SYNTAX(mov k7, dph),
409  },
410  {
411  // kkkk0011xxxkkkkk0001011E
412  .i_list = NULL,
413  .m_list = (insn_mask_t []) { INSN_MASK(16,4,3), LIST_END },
414  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k5), INSN_FLAG(20,k4), LIST_END },
415  .syntax = INSN_SYNTAX(mov k9, pdp),
416  },
417  {
418  // kkkk0100kkkkkkkk0001011E
419  .i_list = NULL,
420  .m_list = (insn_mask_t []) { INSN_MASK(16,4,4), LIST_END },
421  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(20,k4), LIST_END },
422  .syntax = INSN_SYNTAX(mov k12, bk03),
423  },
424  {
425  // kkkk0101kkkkkkkk0001011E
426  .i_list = NULL,
427  .m_list = (insn_mask_t []) { INSN_MASK(16,4,5), LIST_END },
428  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(20,k4), LIST_END },
429  .syntax = INSN_SYNTAX(mov k12, bk47),
430  },
431  {
432  // kkkk0110kkkkkkkk0001011E
433  .i_list = NULL,
434  .m_list = (insn_mask_t []) { INSN_MASK(16,4,6), LIST_END },
435  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(20,k4), LIST_END },
436  .syntax = INSN_SYNTAX(mov k12, bkc),
437  },
438  {
439  // kkkk1000kkkkkkkk0001011E
440  .i_list = NULL,
441  .m_list = (insn_mask_t []) { INSN_MASK(16,4,8), LIST_END },
442  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(20,k4), LIST_END },
443  .syntax = INSN_SYNTAX(mov k12, csr),
444  },
445  {
446  // kkkk1001kkkkkkkk0001011E
447  .i_list = NULL,
448  .m_list = (insn_mask_t []) { INSN_MASK(16,4,9), LIST_END },
449  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(20,k4), LIST_END },
450  .syntax = INSN_SYNTAX(mov k12, brc0),
451  },
452  {
453  // kkkk1010kkkkkkkk0001011E
454  .i_list = NULL,
455  .m_list = (insn_mask_t []) { INSN_MASK(16,4,10), LIST_END },
456  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(20,k4), LIST_END },
457  .syntax = INSN_SYNTAX(mov k12, brc1),
458  },
459  LIST_END,
460  },
461  .m_list = NULL,
462  .f_list = NULL,
463  .syntax = NULL,
464  },
465 },
466 {
467  .byte = 0x18,
468  .size = 0x03,
469  .insn = {
470  // FDDDFSSSkkkkkkkk0001100E
471  .i_list = NULL,
472  .m_list = NULL,
473  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
474  .syntax = INSN_SYNTAX(and k8, src, dst),
475  },
476 },
477 {
478  .byte = 0x1a,
479  .size = 0x03,
480  .insn = {
481  // FDDDFSSSkkkkkkkk0001101E
482  .i_list = NULL,
483  .m_list = NULL,
484  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
485  .syntax = INSN_SYNTAX(or k8, src, dst),
486  },
487 },
488 {
489  .byte = 0x1c,
490  .size = 0x03,
491  .insn = {
492  // FDDDFSSSkkkkkkkk0001110E
493  .i_list = NULL,
494  .m_list = NULL,
495  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
496  .syntax = INSN_SYNTAX(xor k8, src, dst),
497  },
498 },
499 {
500  .byte = 0x1e,
501  .size = 0x03,
502  .insn = {
503  .i_list = (insn_item_t []) {
504  {
505  // SSDDxx0%KKKKKKKK0001111E
506  .i_list = NULL,
507  .m_list = (insn_mask_t []) { INSN_MASK(17,1,0), LIST_END },
508  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,K8), INSN_FLAG(16,R), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
509  .syntax = INSN_SYNTAX(mpyk[r] K8, [ACx,] ACy),
510  },
511  {
512  // SSDDss1%KKKKKKKK0001111E
513  .i_list = NULL,
514  .m_list = (insn_mask_t []) { INSN_MASK(17,1,1), LIST_END },
515  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,K8), INSN_FLAG(16,R), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
516  .syntax = INSN_SYNTAX(mack[r] Tx, K8, [ACx,] ACy),
517  },
518  LIST_END,
519  },
520  .m_list = NULL,
521  .f_list = NULL,
522  .syntax = NULL,
523  },
524 },
525 {
526  .byte = 0x20,
527  .size = 0x01,
528  .insn = {
529  // 0010000E
530  .i_list = NULL,
531  .m_list = NULL,
532  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), LIST_END },
533  .syntax = INSN_SYNTAX(nop),
534  },
535 },
536 {
537  .byte = 0x22,
538  .size = 0x02,
539  .insn = {
540  // FSSSFDDD0010001E
541  .i_list = NULL,
542  .m_list = NULL,
543  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
544  .syntax = INSN_SYNTAX(mov src, dst),
545  },
546 },
547 {
548  .byte = 0x24,
549  .size = 0x02,
550  .insn = {
551  // FSSSFDDD0010010E
552  .i_list = NULL,
553  .m_list = NULL,
554  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
555  .syntax = INSN_SYNTAX(add [src,] dst),
556  },
557 },
558 {
559  .byte = 0x26,
560  .size = 0x02,
561  .insn = {
562  // FSSSFDDD0010011E
563  .i_list = NULL,
564  .m_list = NULL,
565  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
566  .syntax = INSN_SYNTAX(sub [src,] dst),
567  },
568 },
569 {
570  .byte = 0x28,
571  .size = 0x02,
572  .insn = {
573  // FSSSFDDD0010100E
574  .i_list = NULL,
575  .m_list = NULL,
576  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
577  .syntax = INSN_SYNTAX(and src, dst),
578  },
579 },
580 {
581  .byte = 0x2a,
582  .size = 0x02,
583  .insn = {
584  // FSSSFDDD0010101E
585  .i_list = NULL,
586  .m_list = NULL,
587  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
588  .syntax = INSN_SYNTAX(or src, dst),
589  },
590 },
591 {
592  .byte = 0x2c,
593  .size = 0x02,
594  .insn = {
595  // FSSSFDDD0010110E
596  .i_list = NULL,
597  .m_list = NULL,
598  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
599  .syntax = INSN_SYNTAX(xor src, dst),
600  },
601 },
602 {
603  .byte = 0x2e,
604  .size = 0x02,
605  .insn = {
606  // FSSSFDDD0010111E
607  .i_list = NULL,
608  .m_list = NULL,
609  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
610  .syntax = INSN_SYNTAX(max [src,] dst),
611  },
612 },
613 {
614  .byte = 0x30,
615  .size = 0x02,
616  .insn = {
617  // FSSSFDDD0011000E
618  .i_list = NULL,
619  .m_list = NULL,
620  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
621  .syntax = INSN_SYNTAX(min [src,] dst),
622  },
623 },
624 {
625  .byte = 0x32,
626  .size = 0x02,
627  .insn = {
628  // FSSSFDDD0011001E
629  .i_list = NULL,
630  .m_list = NULL,
631  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
632  .syntax = INSN_SYNTAX(abs [src,] dst),
633  },
634 },
635 {
636  .byte = 0x34,
637  .size = 0x02,
638  .insn = {
639  // FSSSFDDD0011010E
640  .i_list = NULL,
641  .m_list = NULL,
642  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
643  .syntax = INSN_SYNTAX(neg [src,] dst),
644  },
645 },
646 {
647  .byte = 0x36,
648  .size = 0x02,
649  .insn = {
650  // FSSSFDDD0011011E
651  .i_list = NULL,
652  .m_list = NULL,
653  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
654  .syntax = INSN_SYNTAX(not [src,] dst),
655  },
656 },
657 {
658  .byte = 0x38,
659  .size = 0x02,
660  .insn = {
661  // FSSSFDDD0011100E
662  .i_list = NULL,
663  .m_list = NULL,
664  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
665  .syntax = INSN_SYNTAX(psh src1, src2),
666  },
667 },
668 {
669  .byte = 0x3a,
670  .size = 0x02,
671  .insn = {
672  // FSSSFDDD0011101E
673  .i_list = NULL,
674  .m_list = NULL,
675  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
676  .syntax = INSN_SYNTAX(pop dst1, dst2),
677  },
678 },
679 {
680  .byte = 0x3c,
681  .size = 0x02,
682  .insn = {
683  // kkkkFDDD0011110E
684  .i_list = NULL,
685  .m_list = NULL,
686  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,k4), LIST_END },
687  .syntax = INSN_SYNTAX(mov K4, dst),
688  },
689 },
690 {
691  .byte = 0x3e,
692  .size = 0x02,
693  .insn = {
694  // kkkkFDDD0011111E
695  .i_list = NULL,
696  .m_list = NULL,
697  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,k4), LIST_END },
698  .syntax = INSN_SYNTAX(mov -K4, dst),
699  },
700 },
701 {
702  .byte = 0x40,
703  .size = 0x02,
704  .insn = {
705  // kkkkFDDD0100000E
706  .i_list = NULL,
707  .m_list = NULL,
708  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,k4), LIST_END },
709  .syntax = INSN_SYNTAX(add K4, dst),
710  },
711 },
712 {
713  .byte = 0x42,
714  .size = 0x02,
715  .insn = {
716  // kkkkFDDD0100001E
717  .i_list = NULL,
718  .m_list = NULL,
719  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,k4), LIST_END },
720  .syntax = INSN_SYNTAX(sub K4, dst),
721  },
722 },
723 {
724  .byte = 0x44,
725  .size = 0x02,
726  .insn = {
727  .i_list = (insn_item_t []) {
728  {
729  // 1000FDDD0100010E
730  .i_list = NULL,
731  .m_list = (insn_mask_t []) { INSN_MASK(12,4,8), LIST_END },
732  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
733  .syntax = INSN_SYNTAX(mov sp, TAx),
734  },
735  {
736  // 1001FDDD0100010E
737  .i_list = NULL,
738  .m_list = (insn_mask_t []) { INSN_MASK(12,4,9), LIST_END },
739  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
740  .syntax = INSN_SYNTAX(mov ssp, TAx),
741  },
742  {
743  // 1010FDDD0100010E
744  .i_list = NULL,
745  .m_list = (insn_mask_t []) { INSN_MASK(12,4,10), LIST_END },
746  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
747  .syntax = INSN_SYNTAX(mov cdp, TAx),
748  },
749  {
750  // 1100FDDD0100010E
751  .i_list = NULL,
752  .m_list = (insn_mask_t []) { INSN_MASK(12,4,12), LIST_END },
753  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
754  .syntax = INSN_SYNTAX(mov brc0, TAx),
755  },
756  {
757  // 1101FDDD0100010E
758  .i_list = NULL,
759  .m_list = (insn_mask_t []) { INSN_MASK(12,4,13), LIST_END },
760  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
761  .syntax = INSN_SYNTAX(mov brc1, TAx),
762  },
763  {
764  // 1110FDDD0100010E
765  .i_list = NULL,
766  .m_list = (insn_mask_t []) { INSN_MASK(12,4,14), LIST_END },
767  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
768  .syntax = INSN_SYNTAX(mov rptc, TAx),
769  },
770  {
771  // 01x0FDDD0100010E
772  .i_list = NULL,
773  .m_list = (insn_mask_t []) { INSN_MASK(12,1,0), INSN_MASK(14,2,1), LIST_END },
774  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
775  .syntax = INSN_SYNTAX(sfts dst, #-1),
776  },
777  {
778  // 01x1FDDD0100010E
779  .i_list = NULL,
780  .m_list = (insn_mask_t []) { INSN_MASK(12,1,1), INSN_MASK(14,2,1), LIST_END },
781  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
782  .syntax = INSN_SYNTAX(sfts dst, #1),
783  },
784  {
785  // 00SSFDDD0100010E
786  .i_list = NULL,
787  .m_list = (insn_mask_t []) { INSN_MASK(14,2,0), LIST_END },
788  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,SS), LIST_END },
789  .syntax = INSN_SYNTAX(mov hi(ACx), TAx),
790  },
791  LIST_END,
792  },
793  .m_list = NULL,
794  .f_list = NULL,
795  .syntax = NULL,
796  },
797 },
798 {
799  .byte = 0x46,
800  .size = 0x02,
801  .insn = {
802  .i_list = (insn_item_t []) {
803  {
804  // kkkk00000100011E
805  .i_list = NULL,
806  .m_list = (insn_mask_t []) { INSN_MASK(8,4,0), LIST_END },
807  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
808  .syntax = INSN_SYNTAX(bclr K4, st0_55),
809  },
810  {
811  // kkkk00010100011E
812  .i_list = NULL,
813  .m_list = (insn_mask_t []) { INSN_MASK(8,4,1), LIST_END },
814  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
815  .syntax = INSN_SYNTAX(bset K4, st0_55),
816  },
817  {
818  // kkkk00100100011E
819  .i_list = NULL,
820  .m_list = (insn_mask_t []) { INSN_MASK(8,4,2), LIST_END },
821  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
822  .syntax = INSN_SYNTAX(bclr K4, st1_55),
823  },
824  {
825  // kkkk00110100011E
826  .i_list = NULL,
827  .m_list = (insn_mask_t []) { INSN_MASK(8,4,3), LIST_END },
828  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
829  .syntax = INSN_SYNTAX(bset K4, st1_55),
830  },
831  {
832  // kkkk01000100011E
833  .i_list = NULL,
834  .m_list = (insn_mask_t []) { INSN_MASK(8,4,4), LIST_END },
835  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
836  .syntax = INSN_SYNTAX(bclr K4, st2_55),
837  },
838  {
839  // kkkk01010100011E
840  .i_list = NULL,
841  .m_list = (insn_mask_t []) { INSN_MASK(8,4,5), LIST_END },
842  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
843  .syntax = INSN_SYNTAX(bset K4, st2_55),
844  },
845  {
846  // kkkk01100100011E
847  .i_list = NULL,
848  .m_list = (insn_mask_t []) { INSN_MASK(8,4,6), LIST_END },
849  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
850  .syntax = INSN_SYNTAX(bclr K4, st3_55),
851  },
852  {
853  // kkkk01110100011E
854  .i_list = NULL,
855  .m_list = (insn_mask_t []) { INSN_MASK(8,4,7), LIST_END },
856  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
857  .syntax = INSN_SYNTAX(bset K4, st3_55),
858  },
859  LIST_END,
860  },
861  .m_list = NULL,
862  .f_list = NULL,
863  .syntax = NULL,
864  },
865 },
866 {
867  .byte = 0x48,
868  .size = 0x02,
869  .insn = {
870  .i_list = (insn_item_t []) {
871  {
872  // xxxxx10101001000
873  .i_list = NULL,
874  .m_list = (insn_mask_t []) { INSN_MASK(8,3,5), LIST_END },
875  .f_list = NULL,
876  .syntax = INSN_SYNTAX(reti),
877  },
878  {
879  // xxxxx0000100100E
880  .i_list = NULL,
881  .m_list = (insn_mask_t []) { INSN_MASK(8,3,0), LIST_END },
882  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), LIST_END },
883  .syntax = INSN_SYNTAX(rpt csr),
884  },
885  {
886  // FSSSx0010100100E
887  .i_list = NULL,
888  .m_list = (insn_mask_t []) { INSN_MASK(8,3,1), LIST_END },
889  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
890  .syntax = INSN_SYNTAX(rptadd csr, TAx),
891  },
892  {
893  // kkkkx0100100100E
894  .i_list = NULL,
895  .m_list = (insn_mask_t []) { INSN_MASK(8,3,2), LIST_END },
896  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
897  .syntax = INSN_SYNTAX(rptadd csr, K4),
898  },
899  {
900  // kkkkx0110100100E
901  .i_list = NULL,
902  .m_list = (insn_mask_t []) { INSN_MASK(8,3,3), LIST_END },
903  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
904  .syntax = INSN_SYNTAX(rptsub csr, K4),
905  },
906  {
907  // xxxxx1000100100E
908  .i_list = NULL,
909  .m_list = (insn_mask_t []) { INSN_MASK(8,3,4), LIST_END },
910  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), LIST_END },
911  .syntax = INSN_SYNTAX(ret),
912  },
913  LIST_END,
914  },
915  .m_list = NULL,
916  .f_list = NULL,
917  .syntax = NULL,
918  },
919 },
920 {
921  .byte = 0x4a,
922  .size = 0x02,
923  .insn = {
924  .i_list = (insn_item_t []) {
925  {
926  // 0LLLLLLL0100101E
927  .i_list = NULL,
928  .m_list = (insn_mask_t []) { INSN_MASK(15,1,0), LIST_END },
929  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,L7), LIST_END },
930  .syntax = INSN_SYNTAX(b L7),
931  },
932  {
933  // 1lllllll0100101E
934  .i_list = NULL,
935  .m_list = (insn_mask_t []) { INSN_MASK(15,1,1), LIST_END },
936  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,l7), LIST_END },
937  .syntax = INSN_SYNTAX(rptblocal pmad),
938  },
939  LIST_END,
940  },
941  .m_list = NULL,
942  .f_list = NULL,
943  .syntax = NULL,
944  },
945 },
946 {
947  .byte = 0x4c,
948  .size = 0x02,
949  .insn = {
950  // kkkkkkkk0100110E
951  .i_list = NULL,
952  .m_list = NULL,
953  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), LIST_END },
954  .syntax = INSN_SYNTAX(rpt k8),
955  },
956 },
957 {
958  .byte = 0x4e,
959  .size = 0x02,
960  .insn = {
961  // KKKKKKKK0100111E
962  .i_list = NULL,
963  .m_list = NULL,
964  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,K8), LIST_END },
965  .syntax = INSN_SYNTAX(aadd K8, sp),
966  },
967 },
968 {
969  .byte = 0x50,
970  .size = 0x02,
971  .insn = {
972  .i_list = (insn_item_t []) {
973  {
974  // XDDD01000101000E
975  .i_list = NULL,
976  .m_list = (insn_mask_t []) { INSN_MASK(8,4,4), LIST_END },
977  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XDDD), LIST_END },
978  .syntax = INSN_SYNTAX(popboth xdst),
979  },
980  {
981  // XSSS01010101000E
982  .i_list = NULL,
983  .m_list = (insn_mask_t []) { INSN_MASK(8,4,5), LIST_END },
984  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XSSS), LIST_END },
985  .syntax = INSN_SYNTAX(pshboth xsrc),
986  },
987  {
988  // FDDDx0000101000E
989  .i_list = NULL,
990  .m_list = (insn_mask_t []) { INSN_MASK(8,3,0), LIST_END },
991  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FDDD), LIST_END },
992  .syntax = INSN_SYNTAX(sftl dst, #1),
993  },
994  {
995  // FDDDx0010101000E
996  .i_list = NULL,
997  .m_list = (insn_mask_t []) { INSN_MASK(8,3,1), LIST_END },
998  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FDDD), LIST_END },
999  .syntax = INSN_SYNTAX(sftl dst, #-1),
1000  },
1001  {
1002  // FDDDx0100101000E
1003  .i_list = NULL,
1004  .m_list = (insn_mask_t []) { INSN_MASK(8,3,2), LIST_END },
1005  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FDDD), LIST_END },
1006  .syntax = INSN_SYNTAX(pop dst),
1007  },
1008  {
1009  // xxDDx0110101000E
1010  .i_list = NULL,
1011  .m_list = (insn_mask_t []) { INSN_MASK(8,3,3), LIST_END },
1012  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,DD), LIST_END },
1013  .syntax = INSN_SYNTAX(pop dbl(ACx)),
1014  },
1015  {
1016  // FSSSx1100101000E
1017  .i_list = NULL,
1018  .m_list = (insn_mask_t []) { INSN_MASK(8,3,6), LIST_END },
1019  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
1020  .syntax = INSN_SYNTAX(psh src),
1021  },
1022  {
1023  // xxSSx1110101000E
1024  .i_list = NULL,
1025  .m_list = (insn_mask_t []) { INSN_MASK(8,3,7), LIST_END },
1026  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), LIST_END },
1027  .syntax = INSN_SYNTAX(psh dbl(ACx)),
1028  },
1029  LIST_END,
1030  },
1031  .m_list = NULL,
1032  .f_list = NULL,
1033  .syntax = NULL,
1034  },
1035 },
1036 {
1037  .byte = 0x52,
1038  .size = 0x02,
1039  .insn = {
1040  .i_list = (insn_item_t []) {
1041  {
1042  // FSSS10000101001E
1043  .i_list = NULL,
1044  .m_list = (insn_mask_t []) { INSN_MASK(8,4,8), LIST_END },
1045  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
1046  .syntax = INSN_SYNTAX(mov TAx, sp),
1047  },
1048  {
1049  // FSSS10010101001E
1050  .i_list = NULL,
1051  .m_list = (insn_mask_t []) { INSN_MASK(8,4,9), LIST_END },
1052  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
1053  .syntax = INSN_SYNTAX(mov TAx, ssp),
1054  },
1055  {
1056  // FSSS10100101001E
1057  .i_list = NULL,
1058  .m_list = (insn_mask_t []) { INSN_MASK(8,4,10), LIST_END },
1059  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
1060  .syntax = INSN_SYNTAX(mov TAx, cdp),
1061  },
1062  {
1063  // FSSS11000101001E
1064  .i_list = NULL,
1065  .m_list = (insn_mask_t []) { INSN_MASK(8,4,12), LIST_END },
1066  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
1067  .syntax = INSN_SYNTAX(mov TAx, csr),
1068  },
1069  {
1070  // FSSS11010101001E
1071  .i_list = NULL,
1072  .m_list = (insn_mask_t []) { INSN_MASK(8,4,13), LIST_END },
1073  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
1074  .syntax = INSN_SYNTAX(mov TAx, brc1),
1075  },
1076  {
1077  // FSSS11100101001E
1078  .i_list = NULL,
1079  .m_list = (insn_mask_t []) { INSN_MASK(8,4,14), LIST_END },
1080  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
1081  .syntax = INSN_SYNTAX(mov TAx, brc0),
1082  },
1083  {
1084  // FSSS00DD0101001E
1085  .i_list = NULL,
1086  .m_list = (insn_mask_t []) { INSN_MASK(10,2,0), LIST_END },
1087  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,DD), INSN_FLAG(12,FSSS), LIST_END },
1088  .syntax = INSN_SYNTAX(mov TAx, hi(ACx)),
1089  },
1090  LIST_END,
1091  },
1092  .m_list = NULL,
1093  .f_list = NULL,
1094  .syntax = NULL,
1095  },
1096 },
1097 {
1098  .byte = 0x54,
1099  .size = 0x02,
1100  .insn = {
1101  .i_list = (insn_item_t []) {
1102  {
1103  // DDSS000%0101010E
1104  .i_list = NULL,
1105  .m_list = (insn_mask_t []) { INSN_MASK(9,3,0), LIST_END },
1106  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1107  .syntax = INSN_SYNTAX(add[r]v [ACx,] ACy),
1108  },
1109  {
1110  // DDSS001%0101010E
1111  .i_list = NULL,
1112  .m_list = (insn_mask_t []) { INSN_MASK(9,3,1), LIST_END },
1113  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1114  .syntax = INSN_SYNTAX(sqa[r] [ACx,] ACy),
1115  },
1116  {
1117  // DDSS010%0101010E
1118  .i_list = NULL,
1119  .m_list = (insn_mask_t []) { INSN_MASK(9,3,2), LIST_END },
1120  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1121  .syntax = INSN_SYNTAX(sqs[r] [ACx,] ACy),
1122  },
1123  {
1124  // DDSS011%0101010E
1125  .i_list = NULL,
1126  .m_list = (insn_mask_t []) { INSN_MASK(9,3,3), LIST_END },
1127  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1128  .syntax = INSN_SYNTAX(mpy[r] [ACx,] ACy),
1129  },
1130  {
1131  // DDSS100%0101010E
1132  .i_list = NULL,
1133  .m_list = (insn_mask_t []) { INSN_MASK(9,3,4), LIST_END },
1134  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1135  .syntax = INSN_SYNTAX(sqr[r] [ACx,] ACy),
1136  },
1137  {
1138  // DDSS101%0101010E
1139  .i_list = NULL,
1140  .m_list = (insn_mask_t []) { INSN_MASK(9,3,5), LIST_END },
1141  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1142  .syntax = INSN_SYNTAX(round [ACx,] ACy),
1143  },
1144  {
1145  // DDSS110%0101010E
1146  .i_list = NULL,
1147  .m_list = (insn_mask_t []) { INSN_MASK(9,3,6), LIST_END },
1148  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1149  .syntax = INSN_SYNTAX(sat[r] [ACx,] ACy),
1150  },
1151  LIST_END,
1152  },
1153  .m_list = NULL,
1154  .f_list = NULL,
1155  .syntax = NULL,
1156  },
1157 },
1158 {
1159  .byte = 0x56,
1160  .size = 0x02,
1161  .insn = {
1162  .i_list = (insn_item_t []) {
1163  {
1164  // DDSSss0%0101011E
1165  .i_list = NULL,
1166  .m_list = (insn_mask_t []) { INSN_MASK(9,1,0), LIST_END },
1167  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1168  .syntax = INSN_SYNTAX(mac[r] ACx, Tx, ACy[, ACy]),
1169  },
1170  {
1171  // DDSSss1%0101011E
1172  .i_list = NULL,
1173  .m_list = (insn_mask_t []) { INSN_MASK(9,1,1), LIST_END },
1174  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1175  .syntax = INSN_SYNTAX(mas[r] Tx, [ACx,] ACy),
1176  },
1177  LIST_END,
1178  },
1179  .m_list = NULL,
1180  .f_list = NULL,
1181  .syntax = NULL,
1182  },
1183 },
1184 {
1185  .byte = 0x58,
1186  .size = 0x02,
1187  .insn = {
1188  .i_list = (insn_item_t []) {
1189  {
1190  // DDSSss0%0101100E
1191  .i_list = NULL,
1192  .m_list = (insn_mask_t []) { INSN_MASK(9,1,0), LIST_END },
1193  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1194  .syntax = INSN_SYNTAX(mpy[r] Tx, [ACx,] ACy),
1195  },
1196  {
1197  // DDSSss1%0101100E
1198  .i_list = NULL,
1199  .m_list = (insn_mask_t []) { INSN_MASK(9,1,1), LIST_END },
1200  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1201  .syntax = INSN_SYNTAX(mac[r] ACy, Tx, ACx, ACy),
1202  },
1203  LIST_END,
1204  },
1205  .m_list = NULL,
1206  .f_list = NULL,
1207  .syntax = NULL,
1208  },
1209 },
1210 {
1211  .byte = 0x5a,
1212  .size = 0x02,
1213  .insn = {
1214  .i_list = (insn_item_t []) {
1215  {
1216  // DDSSss000101101E
1217  .i_list = NULL,
1218  .m_list = (insn_mask_t []) { INSN_MASK(8,2,0), LIST_END },
1219  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1220  .syntax = INSN_SYNTAX(add ACx << Tx, ACy),
1221  },
1222  {
1223  // DDSSss010101101E
1224  .i_list = NULL,
1225  .m_list = (insn_mask_t []) { INSN_MASK(8,2,1), LIST_END },
1226  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1227  .syntax = INSN_SYNTAX(sub ACx << Tx, ACy),
1228  },
1229  {
1230  // DDxxxx1t0101101E
1231  .i_list = NULL,
1232  .m_list = (insn_mask_t []) { INSN_MASK(9,1,1), LIST_END },
1233  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,t), INSN_FLAG(14,DD), LIST_END },
1234  .syntax = INSN_SYNTAX(sftcc ACx, TCx),
1235  },
1236  LIST_END,
1237  },
1238  .m_list = NULL,
1239  .f_list = NULL,
1240  .syntax = NULL,
1241  },
1242 },
1243 {
1244  .byte = 0x5c,
1245  .size = 0x02,
1246  .insn = {
1247  .i_list = (insn_item_t []) {
1248  {
1249  // DDSSss000101110E
1250  .i_list = NULL,
1251  .m_list = (insn_mask_t []) { INSN_MASK(8,2,0), LIST_END },
1252  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1253  .syntax = INSN_SYNTAX(sftl ACx, Tx[, ACy]),
1254  },
1255  {
1256  // DDSSss010101110E
1257  .i_list = NULL,
1258  .m_list = (insn_mask_t []) { INSN_MASK(8,2,1), LIST_END },
1259  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1260  .syntax = INSN_SYNTAX(sfts ACx, Tx[, ACy]),
1261  },
1262  {
1263  // DDSSss100101110E
1264  .i_list = NULL,
1265  .m_list = (insn_mask_t []) { INSN_MASK(8,2,2), LIST_END },
1266  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
1267  .syntax = INSN_SYNTAX(sftsc ACx, Tx[, ACy]),
1268  },
1269  LIST_END,
1270  },
1271  .m_list = NULL,
1272  .f_list = NULL,
1273  .syntax = NULL,
1274  },
1275 },
1276 {
1277  .byte = 0x5e,
1278  .size = 0x02,
1279  .insn = {
1280  // 00kkkkkk0101111E
1281  .i_list = NULL,
1282  .m_list = (insn_mask_t []) { INSN_MASK(14,2,0), LIST_END },
1283  .f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k6), LIST_END },
1284  .syntax = INSN_SYNTAX(SWAP ( )),
1285  },
1286 },
1287 {
1288  .byte = 0x60,
1289  .size = 0x02,
1290  .insn = {
1291  // lCCCCCCC01100lll
1292  .i_list = NULL,
1293  .m_list = NULL,
1294  .f_list = (insn_flag_t []) { INSN_FLAG(0,l3), INSN_FLAG(8,CCCCCCC), INSN_FLAG(15,l1), LIST_END },
1295  .syntax = INSN_SYNTAX(bcc l4, cond),
1296  },
1297 },
1298 {
1299  .byte = 0x68,
1300  .size = 0x05,
1301  .insn = {
1302  // PPPPPPPPPPPPPPPPPPPPPPPPxCCCCCCC01101000
1303  .i_list = NULL,
1304  .m_list = NULL,
1305  .f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), INSN_FLAG(16,P24), LIST_END },
1306  .syntax = INSN_SYNTAX(bcc P24, cond),
1307  },
1308 },
1309 {
1310  .byte = 0x69,
1311  .size = 0x05,
1312  .insn = {
1313  // PPPPPPPPPPPPPPPPPPPPPPPPxCCCCCCC01101001
1314  .i_list = NULL,
1315  .m_list = NULL,
1316  .f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), INSN_FLAG(16,P24), LIST_END },
1317  .syntax = INSN_SYNTAX(callcc P24, cond),
1318  },
1319 },
1320 {
1321  .byte = 0x6a,
1322  .size = 0x04,
1323  .insn = {
1324  // PPPPPPPPPPPPPPPPPPPPPPPP01101010
1325  .i_list = NULL,
1326  .m_list = NULL,
1327  .f_list = (insn_flag_t []) { INSN_FLAG(8,P24), LIST_END },
1328  .syntax = INSN_SYNTAX(b P24),
1329  },
1330 },
1331 {
1332  .byte = 0x6c,
1333  .size = 0x04,
1334  .insn = {
1335  // PPPPPPPPPPPPPPPPPPPPPPPP01101100
1336  .i_list = NULL,
1337  .m_list = NULL,
1338  .f_list = (insn_flag_t []) { INSN_FLAG(8,P24), LIST_END },
1339  .syntax = INSN_SYNTAX(call P24),
1340  },
1341 },
1342 {
1343  .byte = 0x6d,
1344  .size = 0x04,
1345  .insn = {
1346  // LLLLLLLLLLLLLLLLxCCCCCCC01101101
1347  .i_list = NULL,
1348  .m_list = NULL,
1349  .f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), INSN_FLAG(16,L16), LIST_END },
1350  .syntax = INSN_SYNTAX(bcc L16, cond),
1351  },
1352 },
1353 {
1354  .byte = 0x6e,
1355  .size = 0x04,
1356  .insn = {
1357  // LLLLLLLLLLLLLLLLxCCCCCCC01101110
1358  .i_list = NULL,
1359  .m_list = NULL,
1360  .f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), INSN_FLAG(16,L16), LIST_END },
1361  .syntax = INSN_SYNTAX(callcc L16, cond),
1362  },
1363 },
1364 {
1365  .byte = 0x6f,
1366  .size = 0x04,
1367  .insn = {
1368  // LLLLLLLLKKKKKKKKFSSSccxu01101111
1369  .i_list = NULL,
1370  .m_list = NULL,
1371  .f_list = (insn_flag_t []) { INSN_FLAG(8,u), INSN_FLAG(10,cc), INSN_FLAG(12,FSSS), INSN_FLAG(16,K8), INSN_FLAG(24,L8), LIST_END },
1372  .syntax = INSN_SYNTAX(bcc[u] L8, src RELOP K8),
1373  },
1374 },
1375 {
1376  .byte = 0x70,
1377  .size = 0x04,
1378  .insn = {
1379  // SSDDSHFTKKKKKKKKKKKKKKKK01110000
1380  .i_list = NULL,
1381  .m_list = NULL,
1382  .f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,SHFT), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
1383  .syntax = INSN_SYNTAX(add K16 << #SHFT, [ACx,] ACy),
1384  },
1385 },
1386 {
1387  .byte = 0x71,
1388  .size = 0x04,
1389  .insn = {
1390  // SSDDSHFTKKKKKKKKKKKKKKKK01110001
1391  .i_list = NULL,
1392  .m_list = NULL,
1393  .f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,SHFT), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
1394  .syntax = INSN_SYNTAX(sub K16 << #SHFT, [ACx,] ACy),
1395  },
1396 },
1397 {
1398  .byte = 0x72,
1399  .size = 0x04,
1400  .insn = {
1401  // SSDDSHFTkkkkkkkkkkkkkkkk01110010
1402  .i_list = NULL,
1403  .m_list = NULL,
1404  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,SHFT), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
1405  .syntax = INSN_SYNTAX(and k16 << #SHFT, [ACx,] ACy),
1406  },
1407 },
1408 {
1409  .byte = 0x73,
1410  .size = 0x04,
1411  .insn = {
1412  // SSDDSHFTkkkkkkkkkkkkkkkk01110011
1413  .i_list = NULL,
1414  .m_list = NULL,
1415  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,SHFT), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
1416  .syntax = INSN_SYNTAX(or k16 << #SHFT, [ACx,] ACy),
1417  },
1418 },
1419 {
1420  .byte = 0x74,
1421  .size = 0x04,
1422  .insn = {
1423  // SSDDSHFTkkkkkkkkkkkkkkkk01110100
1424  .i_list = NULL,
1425  .m_list = NULL,
1426  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,SHFT), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
1427  .syntax = INSN_SYNTAX(xor k16 << #SHFT, [ACx,] ACy),
1428  },
1429 },
1430 {
1431  .byte = 0x75,
1432  .size = 0x04,
1433  .insn = {
1434  // xxDDSHFTKKKKKKKKKKKKKKKK01110101
1435  .i_list = NULL,
1436  .m_list = NULL,
1437  .f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,SHFT), INSN_FLAG(28,DD), LIST_END },
1438  .syntax = INSN_SYNTAX(mov K16 << #SHFT, ACx),
1439  },
1440 },
1441 {
1442  .byte = 0x76,
1443  .size = 0x04,
1444  .insn = {
1445  .i_list = (insn_item_t []) {
1446  {
1447  // FDDD00SSkkkkkkkkkkkkkkkk01110110
1448  .i_list = NULL,
1449  .m_list = (insn_mask_t []) { INSN_MASK(26,2,0), LIST_END },
1450  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,SS), INSN_FLAG(28,FDDD), LIST_END },
1451  .syntax = INSN_SYNTAX(bfxtr k16, ACx, dst),
1452  },
1453  {
1454  // FDDD01SSkkkkkkkkkkkkkkkk01110110
1455  .i_list = NULL,
1456  .m_list = (insn_mask_t []) { INSN_MASK(26,2,1), LIST_END },
1457  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,SS), INSN_FLAG(28,FDDD), LIST_END },
1458  .syntax = INSN_SYNTAX(bfxpa k16, ACx, dst),
1459  },
1460  {
1461  // FDDD10xxKKKKKKKKKKKKKKKK01110110
1462  .i_list = NULL,
1463  .m_list = (insn_mask_t []) { INSN_MASK(26,2,2), LIST_END },
1464  .f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(28,FDDD), LIST_END },
1465  .syntax = INSN_SYNTAX(mov K16, dst),
1466  },
1467  LIST_END,
1468  },
1469  .m_list = NULL,
1470  .f_list = NULL,
1471  .syntax = NULL,
1472  },
1473 },
1474 {
1475  .byte = 0x77,
1476  .size = 0x04,
1477  .insn = {
1478  // FDDDxxxxDDDDDDDDDDDDDDDD01110111
1479  .i_list = NULL,
1480  .m_list = NULL,
1481  .f_list = (insn_flag_t []) { INSN_FLAG(8,D16), INSN_FLAG(28,FDDD), LIST_END },
1482  .syntax = INSN_SYNTAX(amov D16, TAx),
1483  },
1484 },
1485 {
1486  .byte = 0x78,
1487  .size = 0x04,
1488  .insn = {
1489  .i_list = (insn_item_t []) {
1490  {
1491  // xxx0000xkkkkkkkkkkkkkkkk01111000
1492  .i_list = NULL,
1493  .m_list = (insn_mask_t []) { INSN_MASK(25,4,0), LIST_END },
1494  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
1495  .syntax = INSN_SYNTAX(mov k16, dp),
1496  },
1497  {
1498  // xxx0001xkkkkkkkkkkkkkkkk01111000
1499  .i_list = NULL,
1500  .m_list = (insn_mask_t []) { INSN_MASK(25,4,1), LIST_END },
1501  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
1502  .syntax = INSN_SYNTAX(mov k16, ssp),
1503  },
1504  {
1505  // xxx0010xkkkkkkkkkkkkkkkk01111000
1506  .i_list = NULL,
1507  .m_list = (insn_mask_t []) { INSN_MASK(25,4,2), LIST_END },
1508  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
1509  .syntax = INSN_SYNTAX(mov k16, cdp),
1510  },
1511  {
1512  // xxx0011xkkkkkkkkkkkkkkkk01111000
1513  .i_list = NULL,
1514  .m_list = (insn_mask_t []) { INSN_MASK(25,4,3), LIST_END },
1515  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
1516  .syntax = INSN_SYNTAX(mov k16, bsa01),
1517  },
1518  {
1519  // xxx0100xkkkkkkkkkkkkkkkk01111000
1520  .i_list = NULL,
1521  .m_list = (insn_mask_t []) { INSN_MASK(25,4,4), LIST_END },
1522  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
1523  .syntax = INSN_SYNTAX(mov k16, bsa23),
1524  },
1525  {
1526  // xxx0101xkkkkkkkkkkkkkkkk01111000
1527  .i_list = NULL,
1528  .m_list = (insn_mask_t []) { INSN_MASK(25,4,5), LIST_END },
1529  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
1530  .syntax = INSN_SYNTAX(mov k16, bsa45),
1531  },
1532  {
1533  // xxx0110xkkkkkkkkkkkkkkkk01111000
1534  .i_list = NULL,
1535  .m_list = (insn_mask_t []) { INSN_MASK(25,4,6), LIST_END },
1536  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
1537  .syntax = INSN_SYNTAX(mov k16, bsa67),
1538  },
1539  {
1540  // xxx0111xkkkkkkkkkkkkkkkk01111000
1541  .i_list = NULL,
1542  .m_list = (insn_mask_t []) { INSN_MASK(25,4,7), LIST_END },
1543  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
1544  .syntax = INSN_SYNTAX(mov k16, bsac),
1545  },
1546  {
1547  // xxx1000xkkkkkkkkkkkkkkkk01111000
1548  .i_list = NULL,
1549  .m_list = (insn_mask_t []) { INSN_MASK(25,4,8), LIST_END },
1550  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
1551  .syntax = INSN_SYNTAX(mov k16, sp),
1552  },
1553  LIST_END,
1554  },
1555  .m_list = NULL,
1556  .f_list = NULL,
1557  .syntax = NULL,
1558  },
1559 },
1560 {
1561  .byte = 0x79,
1562  .size = 0x04,
1563  .insn = {
1564  .i_list = (insn_item_t []) {
1565  {
1566  // SSDDxx0%KKKKKKKKKKKKKKKK01111001
1567  .i_list = NULL,
1568  .m_list = (insn_mask_t []) { INSN_MASK(25,1,0), LIST_END },
1569  .f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,R), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
1570  .syntax = INSN_SYNTAX(mpyk[r] K16, [ACx,] ACy),
1571  },
1572  {
1573  // SSDDss1%KKKKKKKKKKKKKKKK01111001
1574  .i_list = NULL,
1575  .m_list = (insn_mask_t []) { INSN_MASK(25,1,1), LIST_END },
1576  .f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,R), INSN_FLAG(26,ss), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
1577  .syntax = INSN_SYNTAX(mack[r] Tx, K16, [ACx,] ACy),
1578  },
1579  LIST_END,
1580  },
1581  .m_list = NULL,
1582  .f_list = NULL,
1583  .syntax = NULL,
1584  },
1585 },
1586 {
1587  .byte = 0x7a,
1588  .size = 0x04,
1589  .insn = {
1590  .i_list = (insn_item_t []) {
1591  {
1592  // SSDD000xKKKKKKKKKKKKKKKK01111010
1593  .i_list = NULL,
1594  .m_list = (insn_mask_t []) { INSN_MASK(25,3,0), LIST_END },
1595  .f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
1596  .syntax = INSN_SYNTAX(add K16 << #16, [ACx,] ACy),
1597  },
1598  {
1599  // SSDD001xKKKKKKKKKKKKKKKK01111010
1600  .i_list = NULL,
1601  .m_list = (insn_mask_t []) { INSN_MASK(25,3,1), LIST_END },
1602  .f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
1603  .syntax = INSN_SYNTAX(sub K16 << #16, [ACx,] ACy),
1604  },
1605  {
1606  // SSDD010xkkkkkkkkkkkkkkkk01111010
1607  .i_list = NULL,
1608  .m_list = (insn_mask_t []) { INSN_MASK(25,3,2), LIST_END },
1609  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
1610  .syntax = INSN_SYNTAX(and k16 << #16, [ACx,] ACy),
1611  },
1612  {
1613  // SSDD011xkkkkkkkkkkkkkkkk01111010
1614  .i_list = NULL,
1615  .m_list = (insn_mask_t []) { INSN_MASK(25,3,3), LIST_END },
1616  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
1617  .syntax = INSN_SYNTAX(or k16 << #16, [ACx,] ACy),
1618  },
1619  {
1620  // SSDD100xkkkkkkkkkkkkkkkk01111010
1621  .i_list = NULL,
1622  .m_list = (insn_mask_t []) { INSN_MASK(25,3,4), LIST_END },
1623  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
1624  .syntax = INSN_SYNTAX(xor k16 << #16, [ACx,] ACy),
1625  },
1626  {
1627  // xxDD101xKKKKKKKKKKKKKKKK01111010
1628  .i_list = NULL,
1629  .m_list = (insn_mask_t []) { INSN_MASK(25,3,5), LIST_END },
1630  .f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(28,DD), LIST_END },
1631  .syntax = INSN_SYNTAX(mov K16 << #16, ACx),
1632  },
1633  {
1634  // xxxx110xxxxxxxxxxxxxxxxx01111010
1635  .i_list = NULL,
1636  .m_list = (insn_mask_t []) { INSN_MASK(25,3,6), LIST_END },
1637  .f_list = NULL,
1638  .syntax = INSN_SYNTAX(idle),
1639  },
1640  LIST_END,
1641  },
1642  .m_list = NULL,
1643  .f_list = NULL,
1644  .syntax = NULL,
1645  },
1646 },
1647 {
1648  .byte = 0x7b,
1649  .size = 0x04,
1650  .insn = {
1651  // FDDDFSSSKKKKKKKKKKKKKKKK01111011
1652  .i_list = NULL,
1653  .m_list = NULL,
1654  .f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,FSSS), INSN_FLAG(28,FDDD), LIST_END },
1655  .syntax = INSN_SYNTAX(add K16, [src,] dst),
1656  },
1657 },
1658 {
1659  .byte = 0x7c,
1660  .size = 0x04,
1661  .insn = {
1662  // FDDDFSSSKKKKKKKKKKKKKKKK01111100
1663  .i_list = NULL,
1664  .m_list = NULL,
1665  .f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,FSSS), INSN_FLAG(28,FDDD), LIST_END },
1666  .syntax = INSN_SYNTAX(sub K16, [src,] dst),
1667  },
1668 },
1669 {
1670  .byte = 0x7d,
1671  .size = 0x04,
1672  .insn = {
1673  // FDDDFSSSkkkkkkkkkkkkkkkk01111101
1674  .i_list = NULL,
1675  .m_list = NULL,
1676  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,FSSS), INSN_FLAG(28,FDDD), LIST_END },
1677  .syntax = INSN_SYNTAX(and k16, src, dst),
1678  },
1679 },
1680 {
1681  .byte = 0x7e,
1682  .size = 0x04,
1683  .insn = {
1684  // FDDDFSSSkkkkkkkkkkkkkkkk01111110
1685  .i_list = NULL,
1686  .m_list = NULL,
1687  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,FSSS), INSN_FLAG(28,FDDD), LIST_END },
1688  .syntax = INSN_SYNTAX(or k16, src, dst),
1689  },
1690 },
1691 {
1692  .byte = 0x7f,
1693  .size = 0x04,
1694  .insn = {
1695  // FDDDFSSSkkkkkkkkkkkkkkkk01111111
1696  .i_list = NULL,
1697  .m_list = NULL,
1698  .f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,FSSS), INSN_FLAG(28,FDDD), LIST_END },
1699  .syntax = INSN_SYNTAX(xor k16, src, dst),
1700  },
1701 },
1702 {
1703  .byte = 0x80,
1704  .size = 0x03,
1705  .insn = {
1706  .i_list = (insn_item_t []) {
1707  {
1708  // YMMM00xxXXXMMMYY10000000
1709  .i_list = NULL,
1710  .m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
1711  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
1712  .syntax = INSN_SYNTAX(mov dbl(Xmem), dbl(Ymem)),
1713  },
1714  {
1715  // YMMM01xxXXXMMMYY10000000
1716  .i_list = NULL,
1717  .m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
1718  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
1719  .syntax = INSN_SYNTAX(mov Xmem, Ymem),
1720  },
1721  {
1722  // YMMM10SSXXXMMMYY10000000
1723  .i_list = NULL,
1724  .m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
1725  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
1726  .syntax = INSN_SYNTAX(mov ACx, Xmem, Ymem),
1727  },
1728  LIST_END,
1729  },
1730  .m_list = NULL,
1731  .f_list = NULL,
1732  .syntax = NULL,
1733  },
1734 },
1735 {
1736  .byte = 0x81,
1737  .size = 0x03,
1738  .insn = {
1739  .i_list = (insn_item_t []) {
1740  {
1741  // YMMM00DDXXXMMMYY10000001
1742  .i_list = NULL,
1743  .m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
1744  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
1745  .syntax = INSN_SYNTAX(add Xmem, Ymem, ACx),
1746  },
1747  {
1748  // YMMM01DDXXXMMMYY10000001
1749  .i_list = NULL,
1750  .m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
1751  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
1752  .syntax = INSN_SYNTAX(sub Xmem, Ymem, ACx),
1753  },
1754  {
1755  // YMMM10DDXXXMMMYY10000001
1756  .i_list = NULL,
1757  .m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
1758  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
1759  .syntax = INSN_SYNTAX(mov Xmem, Ymem, ACx),
1760  },
1761  LIST_END,
1762  },
1763  .m_list = NULL,
1764  .f_list = NULL,
1765  .syntax = NULL,
1766  },
1767 },
1768 {
1769  .byte = 0x82,
1770  .size = 0x04,
1771  .insn = {
1772  .i_list = (insn_item_t []) {
1773  {
1774  // uuDDDDg%YMMM00mmXXXMMMYY10000010
1775  .i_list = NULL,
1776  .m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
1777  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
1778  .syntax = INSN_SYNTAX(mpy[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mpy[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
1779  },
1780  {
1781  // uuDDDDg%YMMM01mmXXXMMMYY10000010
1782  .i_list = NULL,
1783  .m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
1784  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
1785  .syntax = INSN_SYNTAX(mac[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mpy[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
1786  },
1787  {
1788  // uuDDDDg%YMMM10mmXXXMMMYY10000010
1789  .i_list = NULL,
1790  .m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
1791  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
1792  .syntax = INSN_SYNTAX(mas[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mpy[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
1793  },
1794  {
1795  // uuxxDDg%YMMM11mmXXXMMMYY10000010
1796  .i_list = NULL,
1797  .m_list = (insn_mask_t []) { INSN_MASK(18,2,3), LIST_END },
1798  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(30,uu), LIST_END },
1799  .syntax = INSN_SYNTAX(amar Xmem :: mpy[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACx),
1800  },
1801  LIST_END,
1802  },
1803  .m_list = NULL,
1804  .f_list = NULL,
1805  .syntax = NULL,
1806  },
1807 },
1808 {
1809  .byte = 0x83,
1810  .size = 0x04,
1811  .insn = {
1812  .i_list = (insn_item_t []) {
1813  {
1814  // uuDDDDg%YMMM00mmXXXMMMYY10000011
1815  .i_list = NULL,
1816  .m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
1817  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
1818  .syntax = INSN_SYNTAX(mac[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
1819  },
1820  {
1821  // uuDDDDg%YMMM01mmXXXMMMYY10000011
1822  .i_list = NULL,
1823  .m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
1824  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
1825  .syntax = INSN_SYNTAX(mas[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
1826  },
1827  {
1828  // uuDDDDg%YMMM10mmXXXMMMYY10000011
1829  .i_list = NULL,
1830  .m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
1831  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
1832  .syntax = INSN_SYNTAX(mac[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx >> #16 :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
1833  },
1834  {
1835  // uuxxDDg%YMMM11mmXXXMMMYY10000011
1836  .i_list = NULL,
1837  .m_list = (insn_mask_t []) { INSN_MASK(18,2,3), LIST_END },
1838  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(30,uu), LIST_END },
1839  .syntax = INSN_SYNTAX(amar Xmem :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACx),
1840  },
1841  LIST_END,
1842  },
1843  .m_list = NULL,
1844  .f_list = NULL,
1845  .syntax = NULL,
1846  },
1847 },
1848 {
1849  .byte = 0x84,
1850  .size = 0x04,
1851  .insn = {
1852  .i_list = (insn_item_t []) {
1853  {
1854  // uuDDDDg%YMMM00mmXXXMMMYY10000100
1855  .i_list = NULL,
1856  .m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
1857  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
1858  .syntax = INSN_SYNTAX(mas[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy >> #16),
1859  },
1860  {
1861  // uuxxDDg%YMMM01mmXXXMMMYY10000100
1862  .i_list = NULL,
1863  .m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
1864  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(30,uu), LIST_END },
1865  .syntax = INSN_SYNTAX(amar Xmem :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACx >> #16),
1866  },
1867  {
1868  // uuDDDDg%YMMM10mmXXXMMMYY10000100
1869  .i_list = NULL,
1870  .m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
1871  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
1872  .syntax = INSN_SYNTAX(mpy[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy >> #16),
1873  },
1874  {
1875  // uuDDDDg%YMMM11mmXXXMMMYY10000100
1876  .i_list = NULL,
1877  .m_list = (insn_mask_t []) { INSN_MASK(18,2,3), LIST_END },
1878  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
1879  .syntax = INSN_SYNTAX(mac[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx >> #16 :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy >> #16),
1880  },
1881  LIST_END,
1882  },
1883  .m_list = NULL,
1884  .f_list = NULL,
1885  .syntax = NULL,
1886  },
1887 },
1888 {
1889  .byte = 0x85,
1890  .size = 0x04,
1891  .insn = {
1892  .i_list = (insn_item_t []) {
1893  {
1894  // DDx0DDU%YMMM11mmXXXMMMYY10000101
1895  .i_list = NULL,
1896  .m_list = (insn_mask_t []) { INSN_MASK(18,2,3), INSN_MASK(28,1,0), LIST_END },
1897  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,DD), INSN_FLAG(30,DD), LIST_END },
1898  .syntax = INSN_SYNTAX(firsadd Xmem, Ymem, Cmem, ACx, ACy),
1899  },
1900  {
1901  // DDx1DDU%YMMM11mmXXXMMMYY10000101
1902  .i_list = NULL,
1903  .m_list = (insn_mask_t []) { INSN_MASK(18,2,3), INSN_MASK(28,1,1), LIST_END },
1904  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,DD), INSN_FLAG(30,DD), LIST_END },
1905  .syntax = INSN_SYNTAX(firssub Xmem, Ymem, Cmem, ACx, ACy),
1906  },
1907  {
1908  // uuxxDDg%YMMM00mmXXXMMMYY10000101
1909  .i_list = NULL,
1910  .m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
1911  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(30,uu), LIST_END },
1912  .syntax = INSN_SYNTAX(amar Xmem :: mas[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACx),
1913  },
1914  {
1915  // uuDDDDg%YMMM01mmXXXMMMYY10000101
1916  .i_list = NULL,
1917  .m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
1918  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
1919  .syntax = INSN_SYNTAX(mas[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mas[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
1920  },
1921  {
1922  // xxxxxxxxYMMM10mmXXXMMMYY10000101
1923  .i_list = NULL,
1924  .m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
1925  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
1926  .syntax = INSN_SYNTAX(amar Xmem, Ymem, Cmem),
1927  },
1928  LIST_END,
1929  },
1930  .m_list = NULL,
1931  .f_list = NULL,
1932  .syntax = NULL,
1933  },
1934 },
1935 {
1936  .byte = 0x86,
1937  .size = 0x04,
1938  .insn = {
1939  .i_list = (insn_item_t []) {
1940  {
1941  // 1110xxn%YMMMDDDDXXXMMMYY10000110
1942  .i_list = NULL,
1943  .m_list = (insn_mask_t []) { INSN_MASK(28,4,14), LIST_END },
1944  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), LIST_END },
1945  .syntax = INSN_SYNTAX(sqdst Xmem, Ymem, ACx, ACy),
1946  },
1947  {
1948  // 1111xxn%YMMMDDDDXXXMMMYY10000110
1949  .i_list = NULL,
1950  .m_list = (insn_mask_t []) { INSN_MASK(28,4,15), LIST_END },
1951  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), LIST_END },
1952  .syntax = INSN_SYNTAX(abdst Xmem, Ymem, ACx, ACy),
1953  },
1954  {
1955  // 000guuU%YMMMxxDDXXXMMMYY10000110
1956  .i_list = NULL,
1957  .m_list = (insn_mask_t []) { INSN_MASK(29,3,0), LIST_END },
1958  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,uu), INSN_FLAG(28,g), LIST_END },
1959  .syntax = INSN_SYNTAX(mpym[r][40] [T3 = ][uns(]Xmem[)], [uns(]Ymem[)], ACx),
1960  },
1961  {
1962  // 001guuU%YMMMSSDDXXXMMMYY10000110
1963  .i_list = NULL,
1964  .m_list = (insn_mask_t []) { INSN_MASK(29,3,1), LIST_END },
1965  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,uu), INSN_FLAG(28,g), LIST_END },
1966  .syntax = INSN_SYNTAX(macm[r][40] [T3 = ][uns(]Xmem[)], [uns(]Ymem[)], [ACx,] ACy),
1967  },
1968  {
1969  // 010guuU%YMMMSSDDXXXMMMYY10000110
1970  .i_list = NULL,
1971  .m_list = (insn_mask_t []) { INSN_MASK(29,3,2), LIST_END },
1972  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,uu), INSN_FLAG(28,g), LIST_END },
1973  .syntax = INSN_SYNTAX(macm[r][40] [T3 = ][uns(]Xmem[)], [uns(]Ymem[)], ACx >> #16[, ACy]),
1974  },
1975  {
1976  // 011guuU%YMMMSSDDXXXMMMYY10000110
1977  .i_list = NULL,
1978  .m_list = (insn_mask_t []) { INSN_MASK(29,3,3), LIST_END },
1979  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,uu), INSN_FLAG(28,g), LIST_END },
1980  .syntax = INSN_SYNTAX(masm[r][40] [T3 = ][uns(]Xmem[)], [uns(]Ymem[)], [ACx,] ACy),
1981  },
1982  {
1983  // 100xssU%YMMMDDDDXXXMMMYY10000110
1984  .i_list = NULL,
1985  .m_list = (insn_mask_t []) { INSN_MASK(29,3,4), LIST_END },
1986  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,ss), LIST_END },
1987  .syntax = INSN_SYNTAX(masm[r] [T3 = ]Xmem, Tx, ACx :: mov Ymem << #16, ACy),
1988  },
1989  {
1990  // 101xssU%YMMMDDDDXXXMMMYY10000110
1991  .i_list = NULL,
1992  .m_list = (insn_mask_t []) { INSN_MASK(29,3,5), LIST_END },
1993  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,ss), LIST_END },
1994  .syntax = INSN_SYNTAX(macm[r] [T3 = ]Xmem, Tx, ACx :: mov Ymem << #16, ACy),
1995  },
1996  {
1997  // 110xxxx%YMMMDDDDXXXMMMYY10000110
1998  .i_list = NULL,
1999  .m_list = (insn_mask_t []) { INSN_MASK(29,3,6), LIST_END },
2000  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), LIST_END },
2001  .syntax = INSN_SYNTAX(lms Xmem, Ymem, ACx, ACy),
2002  },
2003  LIST_END,
2004  },
2005  .m_list = NULL,
2006  .f_list = NULL,
2007  .syntax = NULL,
2008  },
2009 },
2010 {
2011  .byte = 0x87,
2012  .size = 0x04,
2013  .insn = {
2014  .i_list = (insn_item_t []) {
2015  {
2016  // 01100001YMMMSSDDXXXMMMYY10000111
2017  .i_list = NULL,
2018  .m_list = (insn_mask_t []) { INSN_MASK(24,8,97), LIST_END },
2019  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
2020  .syntax = INSN_SYNTAX(lmsf Xmem, Ymem, ACx, ACy),
2021  },
2022  {
2023  // 000xssU%YMMMSSDDXXXMMMYY10000111
2024  .i_list = NULL,
2025  .m_list = (insn_mask_t []) { INSN_MASK(29,3,0), LIST_END },
2026  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,ss), LIST_END },
2027  .syntax = INSN_SYNTAX(mpym[r] [T3 = ]Xmem, Tx, ACy :: mov hi(ACx << t2), Ymem),
2028  },
2029  {
2030  // 001xssU%YMMMSSDDXXXMMMYY10000111
2031  .i_list = NULL,
2032  .m_list = (insn_mask_t []) { INSN_MASK(29,3,1), LIST_END },
2033  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,ss), LIST_END },
2034  .syntax = INSN_SYNTAX(macm[r] [T3 = ]Xmem, Tx, ACy :: mov hi(ACx << t2), Ymem),
2035  },
2036  {
2037  // 010xssU%YMMMSSDDXXXMMMYY10000111
2038  .i_list = NULL,
2039  .m_list = (insn_mask_t []) { INSN_MASK(29,3,2), LIST_END },
2040  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,ss), LIST_END },
2041  .syntax = INSN_SYNTAX(masm[r] [T3 = ]Xmem, Tx, ACy :: mov hi(ACx << t2), Ymem),
2042  },
2043  {
2044  // 100xxxxxYMMMSSDDXXXMMMYY10000111
2045  .i_list = NULL,
2046  .m_list = (insn_mask_t []) { INSN_MASK(29,3,4), LIST_END },
2047  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
2048  .syntax = INSN_SYNTAX(add Xmem << #16, ACx, ACy :: mov hi(ACy << t2), Ymem),
2049  },
2050  {
2051  // 101xxxxxYMMMSSDDXXXMMMYY10000111
2052  .i_list = NULL,
2053  .m_list = (insn_mask_t []) { INSN_MASK(29,3,5), LIST_END },
2054  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
2055  .syntax = INSN_SYNTAX(sub Xmem << #16, ACx, ACy :: mov hi(ACy << t2), Ymem),
2056  },
2057  {
2058  // 110xxxxxYMMMSSDDXXXMMMYY10000111
2059  .i_list = NULL,
2060  .m_list = (insn_mask_t []) { INSN_MASK(29,3,6), LIST_END },
2061  .f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
2062  .syntax = INSN_SYNTAX(mov Xmem << #16, ACy :: mov hi(ACx << t2), Ymem),
2063  },
2064  LIST_END,
2065  },
2066  .m_list = NULL,
2067  .f_list = NULL,
2068  .syntax = NULL,
2069  },
2070 },
2071 {
2072  .byte = 0x90,
2073  .size = 0x02,
2074  .insn = {
2075  // XSSSXDDD10010000
2076  .i_list = NULL,
2077  .m_list = NULL,
2078  .f_list = (insn_flag_t []) { INSN_FLAG(8,XDDD), INSN_FLAG(12,XSSS), LIST_END },
2079  .syntax = INSN_SYNTAX(mov xsrc, xdst),
2080  },
2081 },
2082 {
2083  .byte = 0x91,
2084  .size = 0x02,
2085  .insn = {
2086  // xxxxxxSS10010001
2087  .i_list = NULL,
2088  .m_list = NULL,
2089  .f_list = (insn_flag_t []) { INSN_FLAG(8,SS), LIST_END },
2090  .syntax = INSN_SYNTAX(b ACx),
2091  },
2092 },
2093 {
2094  .byte = 0x92,
2095  .size = 0x02,
2096  .insn = {
2097  // xxxxxxSS10010010
2098  .i_list = NULL,
2099  .m_list = NULL,
2100  .f_list = (insn_flag_t []) { INSN_FLAG(8,SS), LIST_END },
2101  .syntax = INSN_SYNTAX(call ACx),
2102  },
2103 },
2104 {
2105  .byte = 0x94,
2106  .size = 0x02,
2107  .insn = {
2108  // xxxxxxxx10010100
2109  .i_list = NULL,
2110  .m_list = NULL,
2111  .f_list = NULL,
2112  .syntax = INSN_SYNTAX(reset),
2113  },
2114 },
2115 {
2116  .byte = 0x95,
2117  .size = 0x02,
2118  .insn = {
2119  .i_list = (insn_item_t []) {
2120  {
2121  // 0xxkkkkk10010101
2122  .i_list = NULL,
2123  .m_list = (insn_mask_t []) { INSN_MASK(15,1,0), LIST_END },
2124  .f_list = (insn_flag_t []) { INSN_FLAG(8,k5), LIST_END },
2125  .syntax = INSN_SYNTAX(intr k5),
2126  },
2127  {
2128  // 1xxkkkkk10010101
2129  .i_list = NULL,
2130  .m_list = (insn_mask_t []) { INSN_MASK(15,1,1), LIST_END },
2131  .f_list = (insn_flag_t []) { INSN_FLAG(8,k5), LIST_END },
2132  .syntax = INSN_SYNTAX(trap k5),
2133  },
2134  LIST_END,
2135  },
2136  .m_list = NULL,
2137  .f_list = NULL,
2138  .syntax = NULL,
2139  },
2140 },
2141 {
2142  .byte = 0x96,
2143  .size = 0x02,
2144  .insn = {
2145  .i_list = (insn_item_t []) {
2146  {
2147  // 0CCCCCCC10010110
2148  .i_list = NULL,
2149  .m_list = (insn_mask_t []) { INSN_MASK(15,1,0), LIST_END },
2150  .f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), LIST_END },
2151  .syntax = INSN_SYNTAX(xcc [label, ]cond),
2152  },
2153  {
2154  // 1CCCCCCC10010110
2155  .i_list = NULL,
2156  .m_list = (insn_mask_t []) { INSN_MASK(15,1,1), LIST_END },
2157  .f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), LIST_END },
2158  .syntax = INSN_SYNTAX(xccpart [label, ]cond),
2159  },
2160  LIST_END,
2161  },
2162  .m_list = NULL,
2163  .f_list = NULL,
2164  .syntax = NULL,
2165  },
2166 },
2167 {
2168  .byte = 0x9e,
2169  .size = 0x02,
2170  .insn = {
2171  .i_list = (insn_item_t []) {
2172  {
2173  // 0CCCCCCC10011110
2174  .i_list = NULL,
2175  .m_list = (insn_mask_t []) { INSN_MASK(15,1,0), LIST_END },
2176  .f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), LIST_END },
2177  .syntax = INSN_SYNTAX(xcc [label, ]cond),
2178  },
2179  {
2180  // 1CCCCCCC10011110
2181  .i_list = NULL,
2182  .m_list = (insn_mask_t []) { INSN_MASK(15,1,1), LIST_END },
2183  .f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), LIST_END },
2184  .syntax = INSN_SYNTAX(xccpart [label, ]cond),
2185  },
2186  LIST_END,
2187  },
2188  .m_list = NULL,
2189  .f_list = NULL,
2190  .syntax = NULL,
2191  },
2192 },
2193 {
2194  .byte = 0x9f,
2195  .size = 0x02,
2196  .insn = {
2197  .i_list = (insn_item_t []) {
2198  {
2199  // 0CCCCCCC10011111
2200  .i_list = NULL,
2201  .m_list = (insn_mask_t []) { INSN_MASK(15,1,0), LIST_END },
2202  .f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), LIST_END },
2203  .syntax = INSN_SYNTAX(xcc [label, ]cond),
2204  },
2205  {
2206  // 1CCCCCCC10011111
2207  .i_list = NULL,
2208  .m_list = (insn_mask_t []) { INSN_MASK(15,1,1), LIST_END },
2209  .f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), LIST_END },
2210  .syntax = INSN_SYNTAX(xccpart [label, ]cond),
2211  },
2212  LIST_END,
2213  },
2214  .m_list = NULL,
2215  .f_list = NULL,
2216  .syntax = NULL,
2217  },
2218 },
2219 {
2220  .byte = 0xa0,
2221  .size = 0x02,
2222  .insn = {
2223  // AAAAAAAI1010FDDD
2224  .i_list = NULL,
2225  .m_list = NULL,
2226  .f_list = (insn_flag_t []) { INSN_FLAG(0,FDDD), INSN_FLAG(8,AAAAAAAI), LIST_END },
2227  .syntax = INSN_SYNTAX(mov Smem, dst),
2228  },
2229 },
2230 {
2231  .byte = 0xb0,
2232  .size = 0x02,
2233  .insn = {
2234  // AAAAAAAI101100DD
2235  .i_list = NULL,
2236  .m_list = NULL,
2237  .f_list = (insn_flag_t []) { INSN_FLAG(0,DD), INSN_FLAG(8,AAAAAAAI), LIST_END },
2238  .syntax = INSN_SYNTAX(mov Smem << #16, ACx),
2239  },
2240 },
2241 {
2242  .byte = 0xb4,
2243  .size = 0x02,
2244  .insn = {
2245  // AAAAAAAI10110100
2246  .i_list = NULL,
2247  .m_list = NULL,
2248  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2249  .syntax = INSN_SYNTAX(amar Smem),
2250  },
2251 },
2252 {
2253  .byte = 0xb5,
2254  .size = 0x02,
2255  .insn = {
2256  // AAAAAAAI10110101
2257  .i_list = NULL,
2258  .m_list = NULL,
2259  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2260  .syntax = INSN_SYNTAX(psh Smem),
2261  },
2262 },
2263 {
2264  .byte = 0xb6,
2265  .size = 0x02,
2266  .insn = {
2267  // AAAAAAAI10110110
2268  .i_list = NULL,
2269  .m_list = NULL,
2270  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2271  .syntax = INSN_SYNTAX(delay Smem),
2272  },
2273 },
2274 {
2275  .byte = 0xb7,
2276  .size = 0x02,
2277  .insn = {
2278  // AAAAAAAI10110111
2279  .i_list = NULL,
2280  .m_list = NULL,
2281  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2282  .syntax = INSN_SYNTAX(psh dbl(Lmem)),
2283  },
2284 },
2285 {
2286  .byte = 0xb8,
2287  .size = 0x02,
2288  .insn = {
2289  // AAAAAAAI10111000
2290  .i_list = NULL,
2291  .m_list = NULL,
2292  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2293  .syntax = INSN_SYNTAX(pop dbl(Lmem)),
2294  },
2295 },
2296 {
2297  .byte = 0xbb,
2298  .size = 0x02,
2299  .insn = {
2300  // AAAAAAAI10111011
2301  .i_list = NULL,
2302  .m_list = NULL,
2303  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2304  .syntax = INSN_SYNTAX(pop Smem),
2305  },
2306 },
2307 {
2308  .byte = 0xbc,
2309  .size = 0x02,
2310  .insn = {
2311  // AAAAAAAI101111SS
2312  .i_list = NULL,
2313  .m_list = NULL,
2314  .f_list = (insn_flag_t []) { INSN_FLAG(0,SS), INSN_FLAG(8,AAAAAAAI), LIST_END },
2315  .syntax = INSN_SYNTAX(mov hi(ACx), Smem),
2316  },
2317 },
2318 {
2319  .byte = 0xc0,
2320  .size = 0x02,
2321  .insn = {
2322  // AAAAAAAI1100FSSS
2323  .i_list = NULL,
2324  .m_list = NULL,
2325  .f_list = (insn_flag_t []) { INSN_FLAG(0,FSSS), INSN_FLAG(8,AAAAAAAI), LIST_END },
2326  .syntax = INSN_SYNTAX(mov src, Smem),
2327  },
2328 },
2329 {
2330  .byte = 0xd0,
2331  .size = 0x03,
2332  .insn = {
2333  .i_list = (insn_item_t []) {
2334  {
2335  // 0%DD01mmAAAAAAAI11010000
2336  .i_list = NULL,
2337  .m_list = (insn_mask_t []) { INSN_MASK(18,2,1), INSN_MASK(23,1,0), LIST_END },
2338  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), LIST_END },
2339  .syntax = INSN_SYNTAX(mpy[r] Smem, uns(Cmem), ACx),
2340  },
2341  {
2342  // 0%DD10mmAAAAAAAI11010000
2343  .i_list = NULL,
2344  .m_list = (insn_mask_t []) { INSN_MASK(18,2,2), INSN_MASK(23,1,0), LIST_END },
2345  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), LIST_END },
2346  .syntax = INSN_SYNTAX(mac[r] Smem, uns(Cmem), ACx),
2347  },
2348  {
2349  // 0%DD11mmAAAAAAAI11010000
2350  .i_list = NULL,
2351  .m_list = (insn_mask_t []) { INSN_MASK(18,2,3), INSN_MASK(23,1,0), LIST_END },
2352  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), LIST_END },
2353  .syntax = INSN_SYNTAX(mas[r] Smem, uns(Cmem), ACx),
2354  },
2355  {
2356  // U%DDxxmmAAAAAAAI11010000
2357  .i_list = NULL,
2358  .m_list = NULL,
2359  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2360  .syntax = INSN_SYNTAX(macm[r]z [T3 = ]Smem, Cmem, ACx),
2361  },
2362  LIST_END,
2363  },
2364  .m_list = NULL,
2365  .f_list = NULL,
2366  .syntax = NULL,
2367  },
2368 },
2369 {
2370  .byte = 0xd1,
2371  .size = 0x03,
2372  .insn = {
2373  .i_list = (insn_item_t []) {
2374  {
2375  // U%DD00mmAAAAAAAI11010001
2376  .i_list = NULL,
2377  .m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
2378  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2379  .syntax = INSN_SYNTAX(mpym[r] [T3 = ]Smem, Cmem, ACx),
2380  },
2381  {
2382  // U%DD01mmAAAAAAAI11010001
2383  .i_list = NULL,
2384  .m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
2385  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2386  .syntax = INSN_SYNTAX(macm[r] [T3 = ]Smem, Cmem, ACx),
2387  },
2388  {
2389  // U%DD10mmAAAAAAAI11010001
2390  .i_list = NULL,
2391  .m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
2392  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2393  .syntax = INSN_SYNTAX(masm[r] [T3 = ]Smem, Cmem, ACx),
2394  },
2395  LIST_END,
2396  },
2397  .m_list = NULL,
2398  .f_list = NULL,
2399  .syntax = NULL,
2400  },
2401 },
2402 {
2403  .byte = 0xd2,
2404  .size = 0x03,
2405  .insn = {
2406  .i_list = (insn_item_t []) {
2407  {
2408  // U%DD00SSAAAAAAAI11010010
2409  .i_list = NULL,
2410  .m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
2411  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2412  .syntax = INSN_SYNTAX(macm[r] [T3 = ]Smem, [ACx,] ACy),
2413  },
2414  {
2415  // U%DD01SSAAAAAAAI11010010
2416  .i_list = NULL,
2417  .m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
2418  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2419  .syntax = INSN_SYNTAX(masm[r] [T3 = ]Smem, [ACx,] ACy),
2420  },
2421  {
2422  // U%DD10SSAAAAAAAI11010010
2423  .i_list = NULL,
2424  .m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
2425  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2426  .syntax = INSN_SYNTAX(sqam[r] [T3 = ]Smem, [ACx,] ACy),
2427  },
2428  {
2429  // U%DD11SSAAAAAAAI11010010
2430  .i_list = NULL,
2431  .m_list = (insn_mask_t []) { INSN_MASK(18,2,3), LIST_END },
2432  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2433  .syntax = INSN_SYNTAX(sqsm[r] [T3 = ]Smem, [ACx,] ACy),
2434  },
2435  LIST_END,
2436  },
2437  .m_list = NULL,
2438  .f_list = NULL,
2439  .syntax = NULL,
2440  },
2441 },
2442 {
2443  .byte = 0xd3,
2444  .size = 0x03,
2445  .insn = {
2446  .i_list = (insn_item_t []) {
2447  {
2448  // U%DD00SSAAAAAAAI11010011
2449  .i_list = NULL,
2450  .m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
2451  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2452  .syntax = INSN_SYNTAX(mpym[r] [T3 = ]Smem, [ACx,] ACy),
2453  },
2454  {
2455  // U%DD10xxAAAAAAAI11010011
2456  .i_list = NULL,
2457  .m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
2458  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2459  .syntax = INSN_SYNTAX(sqrm[r] [T3 = ]Smem, ACx),
2460  },
2461  {
2462  // U%DDu1ssAAAAAAAI11010011
2463  .i_list = NULL,
2464  .m_list = (insn_mask_t []) { INSN_MASK(18,1,1), LIST_END },
2465  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,ss), INSN_FLAG(19,u), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2466  .syntax = INSN_SYNTAX(mpym[r][u] [T3 = ]Smem, Tx, ACx),
2467  },
2468  LIST_END,
2469  },
2470  .m_list = NULL,
2471  .f_list = NULL,
2472  .syntax = NULL,
2473  },
2474 },
2475 {
2476  .byte = 0xd4,
2477  .size = 0x03,
2478  .insn = {
2479  // U%DDssSSAAAAAAAI11010100
2480  .i_list = NULL,
2481  .m_list = NULL,
2482  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2483  .syntax = INSN_SYNTAX(macm[r] [T3 = ]Smem, Tx, [ACx,] ACy),
2484  },
2485 },
2486 {
2487  .byte = 0xd5,
2488  .size = 0x03,
2489  .insn = {
2490  // U%DDssSSAAAAAAAI11010101
2491  .i_list = NULL,
2492  .m_list = NULL,
2493  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
2494  .syntax = INSN_SYNTAX(masm[r] [T3 = ]Smem, Tx, [ACx,] ACy),
2495  },
2496 },
2497 {
2498  .byte = 0xd6,
2499  .size = 0x03,
2500  .insn = {
2501  // FDDDFSSSAAAAAAAI11010110
2502  .i_list = NULL,
2503  .m_list = NULL,
2504  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
2505  .syntax = INSN_SYNTAX(add Smem, [src,] dst),
2506  },
2507 },
2508 {
2509  .byte = 0xd7,
2510  .size = 0x03,
2511  .insn = {
2512  // FDDDFSSSAAAAAAAI11010111
2513  .i_list = NULL,
2514  .m_list = NULL,
2515  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
2516  .syntax = INSN_SYNTAX(sub Smem, [src,] dst),
2517  },
2518 },
2519 {
2520  .byte = 0xd8,
2521  .size = 0x03,
2522  .insn = {
2523  // FDDDFSSSAAAAAAAI11011000
2524  .i_list = NULL,
2525  .m_list = NULL,
2526  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
2527  .syntax = INSN_SYNTAX(sub src, Smem, dst),
2528  },
2529 },
2530 {
2531  .byte = 0xd9,
2532  .size = 0x03,
2533  .insn = {
2534  // FDDDFSSSAAAAAAAI11011001
2535  .i_list = NULL,
2536  .m_list = NULL,
2537  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
2538  .syntax = INSN_SYNTAX(and Smem, src, dst),
2539  },
2540 },
2541 {
2542  .byte = 0xda,
2543  .size = 0x03,
2544  .insn = {
2545  // FDDDFSSSAAAAAAAI11011010
2546  .i_list = NULL,
2547  .m_list = NULL,
2548  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
2549  .syntax = INSN_SYNTAX(or Smem, src, dst),
2550  },
2551 },
2552 {
2553  .byte = 0xdb,
2554  .size = 0x03,
2555  .insn = {
2556  // FDDDFSSSAAAAAAAI11011011
2557  .i_list = NULL,
2558  .m_list = NULL,
2559  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
2560  .syntax = INSN_SYNTAX(xor Smem, src, dst),
2561  },
2562 },
2563 {
2564  .byte = 0xdc,
2565  .size = 0x03,
2566  .insn = {
2567  .i_list = (insn_item_t []) {
2568  {
2569  // 0000xx10AAAAAAAI11011100
2570  .i_list = NULL,
2571  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,0), LIST_END },
2572  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2573  .syntax = INSN_SYNTAX(mov Smem, dp),
2574  },
2575  {
2576  // 0001xx10AAAAAAAI11011100
2577  .i_list = NULL,
2578  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,1), LIST_END },
2579  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2580  .syntax = INSN_SYNTAX(mov Smem, cdp),
2581  },
2582  {
2583  // 0010xx10AAAAAAAI11011100
2584  .i_list = NULL,
2585  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,2), LIST_END },
2586  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2587  .syntax = INSN_SYNTAX(mov Smem, bsa01),
2588  },
2589  {
2590  // 0011xx10AAAAAAAI11011100
2591  .i_list = NULL,
2592  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,3), LIST_END },
2593  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2594  .syntax = INSN_SYNTAX(mov Smem, bsa23),
2595  },
2596  {
2597  // 0100xx10AAAAAAAI11011100
2598  .i_list = NULL,
2599  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,4), LIST_END },
2600  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2601  .syntax = INSN_SYNTAX(mov Smem, bsa45),
2602  },
2603  {
2604  // 0101xx10AAAAAAAI11011100
2605  .i_list = NULL,
2606  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,5), LIST_END },
2607  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2608  .syntax = INSN_SYNTAX(mov Smem, bsa67),
2609  },
2610  {
2611  // 0110xx10AAAAAAAI11011100
2612  .i_list = NULL,
2613  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,6), LIST_END },
2614  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2615  .syntax = INSN_SYNTAX(mov Smem, bsac),
2616  },
2617  {
2618  // 0111xx10AAAAAAAI11011100
2619  .i_list = NULL,
2620  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,7), LIST_END },
2621  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2622  .syntax = INSN_SYNTAX(mov Smem, sp),
2623  },
2624  {
2625  // 1000xx10AAAAAAAI11011100
2626  .i_list = NULL,
2627  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,8), LIST_END },
2628  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2629  .syntax = INSN_SYNTAX(mov Smem, ssp),
2630  },
2631  {
2632  // 1001xx10AAAAAAAI11011100
2633  .i_list = NULL,
2634  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,9), LIST_END },
2635  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2636  .syntax = INSN_SYNTAX(mov Smem, bk03),
2637  },
2638  {
2639  // 1010xx10AAAAAAAI11011100
2640  .i_list = NULL,
2641  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,10), LIST_END },
2642  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2643  .syntax = INSN_SYNTAX(mov Smem, bk47),
2644  },
2645  {
2646  // 1011xx10AAAAAAAI11011100
2647  .i_list = NULL,
2648  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,11), LIST_END },
2649  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2650  .syntax = INSN_SYNTAX(mov Smem, bkc),
2651  },
2652  {
2653  // 1100xx10AAAAAAAI11011100
2654  .i_list = NULL,
2655  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,12), LIST_END },
2656  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2657  .syntax = INSN_SYNTAX(mov Smem, dph),
2658  },
2659  {
2660  // 1111xx10AAAAAAAI11011100
2661  .i_list = NULL,
2662  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,15), LIST_END },
2663  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2664  .syntax = INSN_SYNTAX(mov Smem, pdp),
2665  },
2666  {
2667  // x000xx11AAAAAAAI11011100
2668  .i_list = NULL,
2669  .m_list = (insn_mask_t []) { INSN_MASK(16,2,3), INSN_MASK(20,3,0), LIST_END },
2670  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2671  .syntax = INSN_SYNTAX(mov Smem, csr),
2672  },
2673  {
2674  // x001xx11AAAAAAAI11011100
2675  .i_list = NULL,
2676  .m_list = (insn_mask_t []) { INSN_MASK(16,2,3), INSN_MASK(20,3,1), LIST_END },
2677  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2678  .syntax = INSN_SYNTAX(mov Smem, brc0),
2679  },
2680  {
2681  // x010xx11AAAAAAAI11011100
2682  .i_list = NULL,
2683  .m_list = (insn_mask_t []) { INSN_MASK(16,2,3), INSN_MASK(20,3,2), LIST_END },
2684  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2685  .syntax = INSN_SYNTAX(mov Smem, brc1),
2686  },
2687  {
2688  // x011xx11AAAAAAAI11011100
2689  .i_list = NULL,
2690  .m_list = (insn_mask_t []) { INSN_MASK(16,2,3), INSN_MASK(20,3,3), LIST_END },
2691  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2692  .syntax = INSN_SYNTAX(mov Smem, trn0),
2693  },
2694  {
2695  // x100xx11AAAAAAAI11011100
2696  .i_list = NULL,
2697  .m_list = (insn_mask_t []) { INSN_MASK(16,2,3), INSN_MASK(20,3,4), LIST_END },
2698  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
2699  .syntax = INSN_SYNTAX(mov Smem, trn1),
2700  },
2701  {
2702  // kkkkxx00AAAAAAAI11011100
2703  .i_list = NULL,
2704  .m_list = (insn_mask_t []) { INSN_MASK(16,2,0), LIST_END },
2705  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
2706  .syntax = INSN_SYNTAX(btst K4, Smem, TC1),
2707  },
2708  {
2709  // kkkkxx01AAAAAAAI11011100
2710  .i_list = NULL,
2711  .m_list = (insn_mask_t []) { INSN_MASK(16,2,1), LIST_END },
2712  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
2713  .syntax = INSN_SYNTAX(btst K4, Smem, TC2),
2714  },
2715  LIST_END,
2716  },
2717  .m_list = NULL,
2718  .f_list = NULL,
2719  .syntax = NULL,
2720  },
2721 },
2722 {
2723  .byte = 0xdd,
2724  .size = 0x03,
2725  .insn = {
2726  .i_list = (insn_item_t []) {
2727  {
2728  // SSDDss00AAAAAAAI11011101
2729  .i_list = NULL,
2730  .m_list = (insn_mask_t []) { INSN_MASK(16,2,0), LIST_END },
2731  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2732  .syntax = INSN_SYNTAX(add Smem << Tx, [ACx,] ACy),
2733  },
2734  {
2735  // SSDDss01AAAAAAAI11011101
2736  .i_list = NULL,
2737  .m_list = (insn_mask_t []) { INSN_MASK(16,2,1), LIST_END },
2738  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2739  .syntax = INSN_SYNTAX(sub Smem << Tx, [ACx,] ACy),
2740  },
2741  {
2742  // SSDDss10AAAAAAAI11011101
2743  .i_list = NULL,
2744  .m_list = (insn_mask_t []) { INSN_MASK(16,2,2), LIST_END },
2745  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2746  .syntax = INSN_SYNTAX(addsub2cc Smem, ACx, Tx, TC1, TC2, ACy),
2747  },
2748  {
2749  // x%DDss11AAAAAAAI11011101
2750  .i_list = NULL,
2751  .m_list = (insn_mask_t []) { INSN_MASK(16,2,3), LIST_END },
2752  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,R), LIST_END },
2753  .syntax = INSN_SYNTAX(mov [rnd(]Smem << Tx[)], ACx),
2754  },
2755  LIST_END,
2756  },
2757  .m_list = NULL,
2758  .f_list = NULL,
2759  .syntax = NULL,
2760  },
2761 },
2762 {
2763  .byte = 0xde,
2764  .size = 0x03,
2765  .insn = {
2766  .i_list = (insn_item_t []) {
2767  {
2768  // SSDD0000AAAAAAAI11011110
2769  .i_list = NULL,
2770  .m_list = (insn_mask_t []) { INSN_MASK(16,4,0), LIST_END },
2771  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2772  .syntax = INSN_SYNTAX(addsubcc Smem, ACx, TC1, ACy),
2773  },
2774  {
2775  // SSDD0001AAAAAAAI11011110
2776  .i_list = NULL,
2777  .m_list = (insn_mask_t []) { INSN_MASK(16,4,1), LIST_END },
2778  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2779  .syntax = INSN_SYNTAX(addsubcc Smem, ACx, TC2, ACy),
2780  },
2781  {
2782  // SSDD0010AAAAAAAI11011110
2783  .i_list = NULL,
2784  .m_list = (insn_mask_t []) { INSN_MASK(16,4,2), LIST_END },
2785  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2786  .syntax = INSN_SYNTAX(addsubcc Smem, ACx, TC1, TC2, ACy),
2787  },
2788  {
2789  // SSDD0011AAAAAAAI11011110
2790  .i_list = NULL,
2791  .m_list = (insn_mask_t []) { INSN_MASK(16,4,3), LIST_END },
2792  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2793  .syntax = INSN_SYNTAX(subc Smem, [ACx,] ACy),
2794  },
2795  {
2796  // SSDD0100AAAAAAAI11011110
2797  .i_list = NULL,
2798  .m_list = (insn_mask_t []) { INSN_MASK(16,4,4), LIST_END },
2799  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2800  .syntax = INSN_SYNTAX(add Smem << #16, [ACx,] ACy),
2801  },
2802  {
2803  // SSDD0101AAAAAAAI11011110
2804  .i_list = NULL,
2805  .m_list = (insn_mask_t []) { INSN_MASK(16,4,5), LIST_END },
2806  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2807  .syntax = INSN_SYNTAX(sub Smem << #16, [ACx,] ACy),
2808  },
2809  {
2810  // SSDD0110AAAAAAAI11011110
2811  .i_list = NULL,
2812  .m_list = (insn_mask_t []) { INSN_MASK(16,4,6), LIST_END },
2813  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2814  .syntax = INSN_SYNTAX(sub ACx, Smem << #16, ACy),
2815  },
2816  {
2817  // ssDD1000AAAAAAAI11011110
2818  .i_list = NULL,
2819  .m_list = (insn_mask_t []) { INSN_MASK(16,4,8), LIST_END },
2820  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
2821  .syntax = INSN_SYNTAX(addsub Tx, Smem, ACx),
2822  },
2823  {
2824  // ssDD1001AAAAAAAI11011110
2825  .i_list = NULL,
2826  .m_list = (insn_mask_t []) { INSN_MASK(16,4,9), LIST_END },
2827  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
2828  .syntax = INSN_SYNTAX(subadd Tx, Smem, ACx),
2829  },
2830  LIST_END,
2831  },
2832  .m_list = NULL,
2833  .f_list = NULL,
2834  .syntax = NULL,
2835  },
2836 },
2837 {
2838  .byte = 0xdf,
2839  .size = 0x03,
2840  .insn = {
2841  .i_list = (insn_item_t []) {
2842  {
2843  // FDDD000uAAAAAAAI11011111
2844  .i_list = NULL,
2845  .m_list = (insn_mask_t []) { INSN_MASK(17,3,0), LIST_END },
2846  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,FDDD), LIST_END },
2847  .syntax = INSN_SYNTAX(mov [uns(]high_byte(Smem)[)], dst),
2848  },
2849  {
2850  // FDDD001uAAAAAAAI11011111
2851  .i_list = NULL,
2852  .m_list = (insn_mask_t []) { INSN_MASK(17,3,1), LIST_END },
2853  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,FDDD), LIST_END },
2854  .syntax = INSN_SYNTAX(mov [uns(]low_byte(Smem)[)], dst),
2855  },
2856  {
2857  // xxDD010uAAAAAAAI11011111
2858  .i_list = NULL,
2859  .m_list = (insn_mask_t []) { INSN_MASK(17,3,2), LIST_END },
2860  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,DD), LIST_END },
2861  .syntax = INSN_SYNTAX(mov [uns(]Smem[)], ACx),
2862  },
2863  {
2864  // SSDD100uAAAAAAAI11011111
2865  .i_list = NULL,
2866  .m_list = (insn_mask_t []) { INSN_MASK(17,3,4), LIST_END },
2867  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2868  .syntax = INSN_SYNTAX(add [uns(]Smem[)], CARRY, [ACx,] ACy),
2869  },
2870  {
2871  // SSDD101uAAAAAAAI11011111
2872  .i_list = NULL,
2873  .m_list = (insn_mask_t []) { INSN_MASK(17,3,5), LIST_END },
2874  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2875  .syntax = INSN_SYNTAX(sub [uns(]Smem[)], BORROW, [ACx,] ACy),
2876  },
2877  {
2878  // SSDD110uAAAAAAAI11011111
2879  .i_list = NULL,
2880  .m_list = (insn_mask_t []) { INSN_MASK(17,3,6), LIST_END },
2881  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2882  .syntax = INSN_SYNTAX(add [uns(]Smem[)], [ACx,] ACy),
2883  },
2884  {
2885  // SSDD111uAAAAAAAI11011111
2886  .i_list = NULL,
2887  .m_list = (insn_mask_t []) { INSN_MASK(17,3,7), LIST_END },
2888  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
2889  .syntax = INSN_SYNTAX(sub [uns(]Smem[)], [ACx,] ACy),
2890  },
2891  LIST_END,
2892  },
2893  .m_list = NULL,
2894  .f_list = NULL,
2895  .syntax = NULL,
2896  },
2897 },
2898 {
2899  .byte = 0xe0,
2900  .size = 0x03,
2901  .insn = {
2902  // FSSSxxxtAAAAAAAI11100000
2903  .i_list = NULL,
2904  .m_list = NULL,
2905  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,t), INSN_FLAG(20,FSSS), LIST_END },
2906  .syntax = INSN_SYNTAX(btst src, Smem, TCx),
2907  },
2908 },
2909 {
2910  .byte = 0xe1,
2911  .size = 0x03,
2912  .insn = {
2913  // DDSHIFTWAAAAAAAI11100001
2914  .i_list = NULL,
2915  .m_list = NULL,
2916  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(22,DD), LIST_END },
2917  .syntax = INSN_SYNTAX(mov low_byte(Smem) << #SHIFTW, ACx),
2918  },
2919 },
2920 {
2921  .byte = 0xe2,
2922  .size = 0x03,
2923  .insn = {
2924  // DDSHIFTWAAAAAAAI11100010
2925  .i_list = NULL,
2926  .m_list = NULL,
2927  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(22,DD), LIST_END },
2928  .syntax = INSN_SYNTAX(mov high_byte(Smem) << #SHIFTW, ACx),
2929  },
2930 },
2931 {
2932  .byte = 0xe3,
2933  .size = 0x03,
2934  .insn = {
2935  .i_list = (insn_item_t []) {
2936  {
2937  // FSSS1100AAAAAAAI11100011
2938  .i_list = NULL,
2939  .m_list = (insn_mask_t []) { INSN_MASK(16,4,12), LIST_END },
2940  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
2941  .syntax = INSN_SYNTAX(bset src, Smem),
2942  },
2943  {
2944  // FSSS1101AAAAAAAI11100011
2945  .i_list = NULL,
2946  .m_list = (insn_mask_t []) { INSN_MASK(16,4,13), LIST_END },
2947  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
2948  .syntax = INSN_SYNTAX(bclr src, Smem),
2949  },
2950  {
2951  // kkkk000xAAAAAAAI11100011
2952  .i_list = NULL,
2953  .m_list = (insn_mask_t []) { INSN_MASK(17,3,0), LIST_END },
2954  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
2955  .syntax = INSN_SYNTAX(btstset K4, Smem, TC1),
2956  },
2957  {
2958  // kkkk001xAAAAAAAI11100011
2959  .i_list = NULL,
2960  .m_list = (insn_mask_t []) { INSN_MASK(17,3,1), LIST_END },
2961  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
2962  .syntax = INSN_SYNTAX(btstset K4, Smem, TC2),
2963  },
2964  {
2965  // kkkk010xAAAAAAAI11100011
2966  .i_list = NULL,
2967  .m_list = (insn_mask_t []) { INSN_MASK(17,3,2), LIST_END },
2968  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
2969  .syntax = INSN_SYNTAX(btstclr K4, Smem, TC1),
2970  },
2971  {
2972  // kkkk011xAAAAAAAI11100011
2973  .i_list = NULL,
2974  .m_list = (insn_mask_t []) { INSN_MASK(17,3,3), LIST_END },
2975  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
2976  .syntax = INSN_SYNTAX(btstclr K4, Smem, TC2),
2977  },
2978  {
2979  // kkkk100xAAAAAAAI11100011
2980  .i_list = NULL,
2981  .m_list = (insn_mask_t []) { INSN_MASK(17,3,4), LIST_END },
2982  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
2983  .syntax = INSN_SYNTAX(btstnot K4, Smem, TC1),
2984  },
2985  {
2986  // kkkk101xAAAAAAAI11100011
2987  .i_list = NULL,
2988  .m_list = (insn_mask_t []) { INSN_MASK(17,3,5), LIST_END },
2989  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
2990  .syntax = INSN_SYNTAX(btstnot K4, Smem, TC2),
2991  },
2992  {
2993  // FSSS111xAAAAAAAI11100011
2994  .i_list = NULL,
2995  .m_list = (insn_mask_t []) { INSN_MASK(17,3,7), LIST_END },
2996  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
2997  .syntax = INSN_SYNTAX(bnot src, Smem),
2998  },
2999  LIST_END,
3000  },
3001  .m_list = NULL,
3002  .f_list = NULL,
3003  .syntax = NULL,
3004  },
3005 },
3006 {
3007  .byte = 0xe4,
3008  .size = 0x03,
3009  .insn = {
3010  .i_list = (insn_item_t []) {
3011  {
3012  // FSSSx0xxAAAAAAAI11100100
3013  .i_list = NULL,
3014  .m_list = (insn_mask_t []) { INSN_MASK(18,1,0), LIST_END },
3015  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
3016  .syntax = INSN_SYNTAX(psh src,Smem),
3017  },
3018  {
3019  // FDDDx1xxAAAAAAAI11100100
3020  .i_list = NULL,
3021  .m_list = (insn_mask_t []) { INSN_MASK(18,1,1), LIST_END },
3022  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FDDD), LIST_END },
3023  .syntax = INSN_SYNTAX(pop dst, Smem),
3024  },
3025  LIST_END,
3026  },
3027  .m_list = NULL,
3028  .f_list = NULL,
3029  .syntax = NULL,
3030  },
3031 },
3032 {
3033  .byte = 0xe5,
3034  .size = 0x03,
3035  .insn = {
3036  .i_list = (insn_item_t []) {
3037  {
3038  // 000010xxAAAAAAAI11100101
3039  .i_list = NULL,
3040  .m_list = (insn_mask_t []) { INSN_MASK(18,6,2), LIST_END },
3041  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3042  .syntax = INSN_SYNTAX(mov dp, Smem),
3043  },
3044  {
3045  // 000110xxAAAAAAAI11100101
3046  .i_list = NULL,
3047  .m_list = (insn_mask_t []) { INSN_MASK(18,6,6), LIST_END },
3048  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3049  .syntax = INSN_SYNTAX(mov cdp, Smem),
3050  },
3051  {
3052  // 001010xxAAAAAAAI11100101
3053  .i_list = NULL,
3054  .m_list = (insn_mask_t []) { INSN_MASK(18,6,10), LIST_END },
3055  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3056  .syntax = INSN_SYNTAX(mov bsa01, Smem),
3057  },
3058  {
3059  // 001110xxAAAAAAAI11100101
3060  .i_list = NULL,
3061  .m_list = (insn_mask_t []) { INSN_MASK(18,6,14), LIST_END },
3062  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3063  .syntax = INSN_SYNTAX(mov bsa23, Smem),
3064  },
3065  {
3066  // 010010xxAAAAAAAI11100101
3067  .i_list = NULL,
3068  .m_list = (insn_mask_t []) { INSN_MASK(18,6,18), LIST_END },
3069  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3070  .syntax = INSN_SYNTAX(mov bsa45, Smem),
3071  },
3072  {
3073  // 010110xxAAAAAAAI11100101
3074  .i_list = NULL,
3075  .m_list = (insn_mask_t []) { INSN_MASK(18,6,22), LIST_END },
3076  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3077  .syntax = INSN_SYNTAX(mov bsa67, Smem),
3078  },
3079  {
3080  // 011010xxAAAAAAAI11100101
3081  .i_list = NULL,
3082  .m_list = (insn_mask_t []) { INSN_MASK(18,6,26), LIST_END },
3083  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3084  .syntax = INSN_SYNTAX(mov bsac, Smem),
3085  },
3086  {
3087  // 011110xxAAAAAAAI11100101
3088  .i_list = NULL,
3089  .m_list = (insn_mask_t []) { INSN_MASK(18,6,30), LIST_END },
3090  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3091  .syntax = INSN_SYNTAX(mov sp, Smem),
3092  },
3093  {
3094  // 100010xxAAAAAAAI11100101
3095  .i_list = NULL,
3096  .m_list = (insn_mask_t []) { INSN_MASK(18,6,34), LIST_END },
3097  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3098  .syntax = INSN_SYNTAX(mov ssp, Smem),
3099  },
3100  {
3101  // 100110xxAAAAAAAI11100101
3102  .i_list = NULL,
3103  .m_list = (insn_mask_t []) { INSN_MASK(18,6,38), LIST_END },
3104  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3105  .syntax = INSN_SYNTAX(mov bk03, Smem),
3106  },
3107  {
3108  // 101010xxAAAAAAAI11100101
3109  .i_list = NULL,
3110  .m_list = (insn_mask_t []) { INSN_MASK(18,6,42), LIST_END },
3111  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3112  .syntax = INSN_SYNTAX(mov bk47, Smem),
3113  },
3114  {
3115  // 101110xxAAAAAAAI11100101
3116  .i_list = NULL,
3117  .m_list = (insn_mask_t []) { INSN_MASK(18,6,46), LIST_END },
3118  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3119  .syntax = INSN_SYNTAX(mov bkc, Smem),
3120  },
3121  {
3122  // 110010xxAAAAAAAI11100101
3123  .i_list = NULL,
3124  .m_list = (insn_mask_t []) { INSN_MASK(18,6,50), LIST_END },
3125  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3126  .syntax = INSN_SYNTAX(mov dph, Smem),
3127  },
3128  {
3129  // 111110xxAAAAAAAI11100101
3130  .i_list = NULL,
3131  .m_list = (insn_mask_t []) { INSN_MASK(18,6,62), LIST_END },
3132  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3133  .syntax = INSN_SYNTAX(mov pdp, Smem),
3134  },
3135  {
3136  // x00011xxAAAAAAAI11100101
3137  .i_list = NULL,
3138  .m_list = (insn_mask_t []) { INSN_MASK(18,5,3), LIST_END },
3139  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3140  .syntax = INSN_SYNTAX(mov csr, Smem),
3141  },
3142  {
3143  // x00111xxAAAAAAAI11100101
3144  .i_list = NULL,
3145  .m_list = (insn_mask_t []) { INSN_MASK(18,5,7), LIST_END },
3146  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3147  .syntax = INSN_SYNTAX(mov brc0, Smem),
3148  },
3149  {
3150  // x01011xxAAAAAAAI11100101
3151  .i_list = NULL,
3152  .m_list = (insn_mask_t []) { INSN_MASK(18,5,11), LIST_END },
3153  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3154  .syntax = INSN_SYNTAX(mov brc1, Smem),
3155  },
3156  {
3157  // x01111xxAAAAAAAI11100101
3158  .i_list = NULL,
3159  .m_list = (insn_mask_t []) { INSN_MASK(18,5,15), LIST_END },
3160  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3161  .syntax = INSN_SYNTAX(mov trn0, Smem),
3162  },
3163  {
3164  // x10011xxAAAAAAAI11100101
3165  .i_list = NULL,
3166  .m_list = (insn_mask_t []) { INSN_MASK(18,5,19), LIST_END },
3167  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3168  .syntax = INSN_SYNTAX(mov trn1, Smem),
3169  },
3170  {
3171  // FSSS01x0AAAAAAAI11100101
3172  .i_list = NULL,
3173  .m_list = (insn_mask_t []) { INSN_MASK(16,1,0), INSN_MASK(18,2,1), LIST_END },
3174  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
3175  .syntax = INSN_SYNTAX(mov src, high_byte(Smem)),
3176  },
3177  {
3178  // FSSS01x1AAAAAAAI11100101
3179  .i_list = NULL,
3180  .m_list = (insn_mask_t []) { INSN_MASK(16,1,1), INSN_MASK(18,2,1), LIST_END },
3181  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
3182  .syntax = INSN_SYNTAX(mov src, low_byte(Smem)),
3183  },
3184  LIST_END,
3185  },
3186  .m_list = NULL,
3187  .f_list = NULL,
3188  .syntax = NULL,
3189  },
3190 },
3191 {
3192  .byte = 0xe6,
3193  .size = 0x03,
3194  .insn = {
3195  // KKKKKKKKAAAAAAAI11100110
3196  .i_list = NULL,
3197  .m_list = NULL,
3198  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K8), LIST_END },
3199  .syntax = INSN_SYNTAX(mov K8, Smem),
3200  },
3201 },
3202 {
3203  .byte = 0xe7,
3204  .size = 0x03,
3205  .insn = {
3206  .i_list = (insn_item_t []) {
3207  {
3208  // SSss00xxAAAAAAAI11100111
3209  .i_list = NULL,
3210  .m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
3211  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,ss), INSN_FLAG(22,SS), LIST_END },
3212  .syntax = INSN_SYNTAX(mov ACx << Tx, Smem),
3213  },
3214  {
3215  // SSss10x%AAAAAAAI11100111
3216  .i_list = NULL,
3217  .m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
3218  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,R), INSN_FLAG(20,ss), INSN_FLAG(22,SS), LIST_END },
3219  .syntax = INSN_SYNTAX(mov [rnd(]hi(ACx << Tx)[)], Smem),
3220  },
3221  {
3222  // SSss11u%AAAAAAAI11100111
3223  .i_list = NULL,
3224  .m_list = (insn_mask_t []) { INSN_MASK(18,2,3), LIST_END },
3225  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,R), INSN_FLAG(17,u), INSN_FLAG(20,ss), INSN_FLAG(22,SS), LIST_END },
3226  .syntax = INSN_SYNTAX(mov [uns(] [rnd(]hi[(saturate](ACx << Tx)[)))], Smem),
3227  },
3228  LIST_END,
3229  },
3230  .m_list = NULL,
3231  .f_list = NULL,
3232  .syntax = NULL,
3233  },
3234 },
3235 {
3236  .byte = 0xe8,
3237  .size = 0x03,
3238  .insn = {
3239  .i_list = (insn_item_t []) {
3240  {
3241  // SSxxx0x%AAAAAAAI11101000
3242  .i_list = NULL,
3243  .m_list = (insn_mask_t []) { INSN_MASK(18,1,0), LIST_END },
3244  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,R), INSN_FLAG(22,SS), LIST_END },
3245  .syntax = INSN_SYNTAX(mov [rnd(]hi(ACx)[)], Smem),
3246  },
3247  {
3248  // SSxxx1u%AAAAAAAI11101000
3249  .i_list = NULL,
3250  .m_list = (insn_mask_t []) { INSN_MASK(18,1,1), LIST_END },
3251  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,R), INSN_FLAG(17,u), INSN_FLAG(22,SS), LIST_END },
3252  .syntax = INSN_SYNTAX(mov [uns(] [rnd(]hi[(saturate](ACx)[)))], Smem),
3253  },
3254  LIST_END,
3255  },
3256  .m_list = NULL,
3257  .f_list = NULL,
3258  .syntax = NULL,
3259  },
3260 },
3261 {
3262  .byte = 0xe9,
3263  .size = 0x03,
3264  .insn = {
3265  // SSSHIFTWAAAAAAAI11101001
3266  .i_list = NULL,
3267  .m_list = NULL,
3268  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(22,SS), LIST_END },
3269  .syntax = INSN_SYNTAX(mov ACx << #SHIFTW, Smem),
3270  },
3271 },
3272 {
3273  .byte = 0xea,
3274  .size = 0x03,
3275  .insn = {
3276  // SSSHIFTWAAAAAAAI11101010
3277  .i_list = NULL,
3278  .m_list = NULL,
3279  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(22,SS), LIST_END },
3280  .syntax = INSN_SYNTAX(mov hi(ACx << #SHIFTW), Smem),
3281  },
3282 },
3283 {
3284  .byte = 0xeb,
3285  .size = 0x03,
3286  .insn = {
3287  .i_list = (insn_item_t []) {
3288  {
3289  // FSSS1100AAAAAAAI11101011
3290  .i_list = NULL,
3291  .m_list = (insn_mask_t []) { INSN_MASK(16,4,12), LIST_END },
3292  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
3293  .syntax = INSN_SYNTAX(mov pair(TAx), dbl(Lmem)),
3294  },
3295  {
3296  // xxSS1101AAAAAAAI11101011
3297  .i_list = NULL,
3298  .m_list = (insn_mask_t []) { INSN_MASK(16,4,13), LIST_END },
3299  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,SS), LIST_END },
3300  .syntax = INSN_SYNTAX(mov ACx >> #1, dual(Lmem)),
3301  },
3302  {
3303  // xxSS10x0AAAAAAAI11101011
3304  .i_list = NULL,
3305  .m_list = (insn_mask_t []) { INSN_MASK(16,1,0), INSN_MASK(18,2,2), LIST_END },
3306  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,SS), LIST_END },
3307  .syntax = INSN_SYNTAX(mov ACx, dbl(Lmem)),
3308  },
3309  {
3310  // xxSS10u1AAAAAAAI11101011
3311  .i_list = NULL,
3312  .m_list = (insn_mask_t []) { INSN_MASK(16,1,1), INSN_MASK(18,2,2), LIST_END },
3313  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(17,u), INSN_FLAG(20,SS), LIST_END },
3314  .syntax = INSN_SYNTAX(mov [uns(]saturate(ACx)[)], dbl(Lmem)),
3315  },
3316  {
3317  // xxxx01xxAAAAAAAI11101011
3318  .i_list = NULL,
3319  .m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
3320  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3321  .syntax = INSN_SYNTAX(mov reta, dbl(Lmem)),
3322  },
3323  LIST_END,
3324  },
3325  .m_list = NULL,
3326  .f_list = NULL,
3327  .syntax = NULL,
3328  },
3329 },
3330 {
3331  .byte = 0xec,
3332  .size = 0x03,
3333  .insn = {
3334  .i_list = (insn_item_t []) {
3335  {
3336  // XDDD1110AAAAAAAI11101100
3337  .i_list = NULL,
3338  .m_list = (insn_mask_t []) { INSN_MASK(16,4,14), LIST_END },
3339  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,XDDD), LIST_END },
3340  .syntax = INSN_SYNTAX(amar Smem, XAdst),
3341  },
3342  {
3343  // FSSS000xAAAAAAAI11101100
3344  .i_list = NULL,
3345  .m_list = (insn_mask_t []) { INSN_MASK(17,3,0), LIST_END },
3346  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
3347  .syntax = INSN_SYNTAX(bset Baddr, src),
3348  },
3349  {
3350  // FSSS001xAAAAAAAI11101100
3351  .i_list = NULL,
3352  .m_list = (insn_mask_t []) { INSN_MASK(17,3,1), LIST_END },
3353  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
3354  .syntax = INSN_SYNTAX(bclr Baddr, src),
3355  },
3356  {
3357  // FSSS010xAAAAAAAI11101100
3358  .i_list = NULL,
3359  .m_list = (insn_mask_t []) { INSN_MASK(17,3,2), LIST_END },
3360  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
3361  .syntax = INSN_SYNTAX(btstp Baddr, src),
3362  },
3363  {
3364  // FSSS011xAAAAAAAI11101100
3365  .i_list = NULL,
3366  .m_list = (insn_mask_t []) { INSN_MASK(17,3,3), LIST_END },
3367  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
3368  .syntax = INSN_SYNTAX(bnot Baddr, src),
3369  },
3370  {
3371  // FSSS100tAAAAAAAI11101100
3372  .i_list = NULL,
3373  .m_list = (insn_mask_t []) { INSN_MASK(17,3,4), LIST_END },
3374  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,t), INSN_FLAG(20,FSSS), LIST_END },
3375  .syntax = INSN_SYNTAX(btst Baddr, src, TCx),
3376  },
3377  LIST_END,
3378  },
3379  .m_list = NULL,
3380  .f_list = NULL,
3381  .syntax = NULL,
3382  },
3383 },
3384 {
3385  .byte = 0xed,
3386  .size = 0x03,
3387  .insn = {
3388  .i_list = (insn_item_t []) {
3389  {
3390  // 00DD1010AAAAAAAI11101101
3391  .i_list = NULL,
3392  .m_list = (insn_mask_t []) { INSN_MASK(16,4,10), INSN_MASK(22,2,0), LIST_END },
3393  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), LIST_END },
3394  .syntax = INSN_SYNTAX(mov dbl(Lmem), pair(hi(ACx))),
3395  },
3396  {
3397  // 00DD1100AAAAAAAI11101101
3398  .i_list = NULL,
3399  .m_list = (insn_mask_t []) { INSN_MASK(16,4,12), INSN_MASK(22,2,0), LIST_END },
3400  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), LIST_END },
3401  .syntax = INSN_SYNTAX(mov dbl(Lmem), pair(LO(ACx))),
3402  },
3403  {
3404  // 00SS1110AAAAAAAI11101101
3405  .i_list = NULL,
3406  .m_list = (insn_mask_t []) { INSN_MASK(16,4,14), INSN_MASK(22,2,0), LIST_END },
3407  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,SS), LIST_END },
3408  .syntax = INSN_SYNTAX(mov pair(hi(ACx)), dbl(Lmem)),
3409  },
3410  {
3411  // 00SS1111AAAAAAAI11101101
3412  .i_list = NULL,
3413  .m_list = (insn_mask_t []) { INSN_MASK(16,4,15), INSN_MASK(22,2,0), LIST_END },
3414  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,SS), LIST_END },
3415  .syntax = INSN_SYNTAX(mov pair(lo(ACx)), dbl(Lmem)),
3416  },
3417  {
3418  // XDDD1111AAAAAAAI11101101
3419  .i_list = NULL,
3420  .m_list = (insn_mask_t []) { INSN_MASK(16,4,15), LIST_END },
3421  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,XDDD), LIST_END },
3422  .syntax = INSN_SYNTAX(mov dbl(Lmem), XAdst),
3423  },
3424  {
3425  // XSSS0101AAAAAAAI11101101
3426  .i_list = NULL,
3427  .m_list = (insn_mask_t []) { INSN_MASK(16,4,5), LIST_END },
3428  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,XSSS), LIST_END },
3429  .syntax = INSN_SYNTAX(mov XAsrc, dbl(Lmem)),
3430  },
3431  {
3432  // SSDD000nAAAAAAAI11101101
3433  .i_list = NULL,
3434  .m_list = (insn_mask_t []) { INSN_MASK(17,3,0), LIST_END },
3435  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
3436  .syntax = INSN_SYNTAX(add dbl(Lmem), [ACx,] ACy),
3437  },
3438  {
3439  // SSDD001nAAAAAAAI11101101
3440  .i_list = NULL,
3441  .m_list = (insn_mask_t []) { INSN_MASK(17,3,1), LIST_END },
3442  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
3443  .syntax = INSN_SYNTAX(sub dbl(Lmem), [ACx,] ACy),
3444  },
3445  {
3446  // SSDD010xAAAAAAAI11101101
3447  .i_list = NULL,
3448  .m_list = (insn_mask_t []) { INSN_MASK(17,3,2), LIST_END },
3449  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
3450  .syntax = INSN_SYNTAX(sub ACx, dbl(Lmem), ACy),
3451  },
3452  {
3453  // xxxx011xAAAAAAAI11101101
3454  .i_list = NULL,
3455  .m_list = (insn_mask_t []) { INSN_MASK(17,3,3), LIST_END },
3456  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
3457  .syntax = INSN_SYNTAX(mov dbl(Lmem), reta),
3458  },
3459  {
3460  // xxDD100gAAAAAAAI11101101
3461  .i_list = NULL,
3462  .m_list = (insn_mask_t []) { INSN_MASK(17,3,4), LIST_END },
3463  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,g), INSN_FLAG(20,DD), LIST_END },
3464  .syntax = INSN_SYNTAX(mov[40] dbl(Lmem), ACx),
3465  },
3466  {
3467  // FDDD111xAAAAAAAI11101101
3468  .i_list = NULL,
3469  .m_list = (insn_mask_t []) { INSN_MASK(17,3,7), LIST_END },
3470  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FDDD), LIST_END },
3471  .syntax = INSN_SYNTAX(mov dbl(Lmem), pair(TAx)),
3472  },
3473  LIST_END,
3474  },
3475  .m_list = NULL,
3476  .f_list = NULL,
3477  .syntax = NULL,
3478  },
3479 },
3480 {
3481  .byte = 0xee,
3482  .size = 0x03,
3483  .insn = {
3484  .i_list = (insn_item_t []) {
3485  {
3486  // SSDD000xAAAAAAAI11101110
3487  .i_list = NULL,
3488  .m_list = (insn_mask_t []) { INSN_MASK(17,3,0), LIST_END },
3489  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
3490  .syntax = INSN_SYNTAX(add dual(Lmem), [ACx,] ACy),
3491  },
3492  {
3493  // SSDD001xAAAAAAAI11101110
3494  .i_list = NULL,
3495  .m_list = (insn_mask_t []) { INSN_MASK(17,3,1), LIST_END },
3496  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
3497  .syntax = INSN_SYNTAX(sub dual(Lmem), [ACx,] ACy),
3498  },
3499  {
3500  // SSDD010xAAAAAAAI11101110
3501  .i_list = NULL,
3502  .m_list = (insn_mask_t []) { INSN_MASK(17,3,2), LIST_END },
3503  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
3504  .syntax = INSN_SYNTAX(sub ACx, dual(Lmem), ACy),
3505  },
3506  {
3507  // ssDD011xAAAAAAAI11101110
3508  .i_list = NULL,
3509  .m_list = (insn_mask_t []) { INSN_MASK(17,3,3), LIST_END },
3510  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
3511  .syntax = INSN_SYNTAX(sub dual(Lmem), Tx, ACx),
3512  },
3513  {
3514  // ssDD100xAAAAAAAI11101110
3515  .i_list = NULL,
3516  .m_list = (insn_mask_t []) { INSN_MASK(17,3,4), LIST_END },
3517  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
3518  .syntax = INSN_SYNTAX(add dual(Lmem), Tx, ACx),
3519  },
3520  {
3521  // ssDD101xAAAAAAAI11101110
3522  .i_list = NULL,
3523  .m_list = (insn_mask_t []) { INSN_MASK(17,3,5), LIST_END },
3524  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
3525  .syntax = INSN_SYNTAX(sub Tx, dual(Lmem), ACx),
3526  },
3527  {
3528  // ssDD110xAAAAAAAI11101110
3529  .i_list = NULL,
3530  .m_list = (insn_mask_t []) { INSN_MASK(17,3,6), LIST_END },
3531  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
3532  .syntax = INSN_SYNTAX(addsub Tx, dual(Lmem), ACx),
3533  },
3534  {
3535  // ssDD111xAAAAAAAI11101110
3536  .i_list = NULL,
3537  .m_list = (insn_mask_t []) { INSN_MASK(17,3,7), LIST_END },
3538  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
3539  .syntax = INSN_SYNTAX(subadd Tx, dual(Lmem), ACx),
3540  },
3541  LIST_END,
3542  },
3543  .m_list = NULL,
3544  .f_list = NULL,
3545  .syntax = NULL,
3546  },
3547 },
3548 {
3549  .byte = 0xef,
3550  .size = 0x03,
3551  .insn = {
3552  .i_list = (insn_item_t []) {
3553  {
3554  // xxxx00mmAAAAAAAI11101111
3555  .i_list = NULL,
3556  .m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
3557  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), LIST_END },
3558  .syntax = INSN_SYNTAX(mov Cmem, Smem),
3559  },
3560  {
3561  // xxxx01mmAAAAAAAI11101111
3562  .i_list = NULL,
3563  .m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
3564  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), LIST_END },
3565  .syntax = INSN_SYNTAX(mov Smem, Cmem),
3566  },
3567  {
3568  // xxxx10mmAAAAAAAI11101111
3569  .i_list = NULL,
3570  .m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
3571  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), LIST_END },
3572  .syntax = INSN_SYNTAX(mov Cmem,dbl(Lmem)),
3573  },
3574  {
3575  // xxxx11mmAAAAAAAI11101111
3576  .i_list = NULL,
3577  .m_list = (insn_mask_t []) { INSN_MASK(18,2,3), LIST_END },
3578  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), LIST_END },
3579  .syntax = INSN_SYNTAX(mov dbl(Lmem), Cmem),
3580  },
3581  LIST_END,
3582  },
3583  .m_list = NULL,
3584  .f_list = NULL,
3585  .syntax = NULL,
3586  },
3587 },
3588 {
3589  .byte = 0xf0,
3590  .size = 0x04,
3591  .insn = {
3592  // KKKKKKKKKKKKKKKKAAAAAAAI11110000
3593  .i_list = NULL,
3594  .m_list = NULL,
3595  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K16), LIST_END },
3596  .syntax = INSN_SYNTAX(cmp Smem == K16, TC1),
3597  },
3598 },
3599 {
3600  .byte = 0xf1,
3601  .size = 0x04,
3602  .insn = {
3603  // KKKKKKKKKKKKKKKKAAAAAAAI11110001
3604  .i_list = NULL,
3605  .m_list = NULL,
3606  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K16), LIST_END },
3607  .syntax = INSN_SYNTAX(cmp Smem == K16, TC2),
3608  },
3609 },
3610 {
3611  .byte = 0xf2,
3612  .size = 0x04,
3613  .insn = {
3614  // kkkkkkkkkkkkkkkkAAAAAAAI11110010
3615  .i_list = NULL,
3616  .m_list = NULL,
3617  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,k16), LIST_END },
3618  .syntax = INSN_SYNTAX(band Smem, k16, TC1),
3619  },
3620 },
3621 {
3622  .byte = 0xf3,
3623  .size = 0x04,
3624  .insn = {
3625  // kkkkkkkkkkkkkkkkAAAAAAAI11110011
3626  .i_list = NULL,
3627  .m_list = NULL,
3628  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,k16), LIST_END },
3629  .syntax = INSN_SYNTAX(band Smem, k16, TC2),
3630  },
3631 },
3632 {
3633  .byte = 0xf4,
3634  .size = 0x04,
3635  .insn = {
3636  // kkkkkkkkkkkkkkkkAAAAAAAI11110100
3637  .i_list = NULL,
3638  .m_list = NULL,
3639  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,k16), LIST_END },
3640  .syntax = INSN_SYNTAX(and k16, Smem),
3641  },
3642 },
3643 {
3644  .byte = 0xf5,
3645  .size = 0x04,
3646  .insn = {
3647  // kkkkkkkkkkkkkkkkAAAAAAAI11110101
3648  .i_list = NULL,
3649  .m_list = NULL,
3650  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,k16), LIST_END },
3651  .syntax = INSN_SYNTAX(or k16, Smem),
3652  },
3653 },
3654 {
3655  .byte = 0xf6,
3656  .size = 0x04,
3657  .insn = {
3658  // kkkkkkkkkkkkkkkkAAAAAAAI11110110
3659  .i_list = NULL,
3660  .m_list = NULL,
3661  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,k16), LIST_END },
3662  .syntax = INSN_SYNTAX(xor k16, Smem),
3663  },
3664 },
3665 {
3666  .byte = 0xf7,
3667  .size = 0x04,
3668  .insn = {
3669  // KKKKKKKKKKKKKKKKAAAAAAAI11110111
3670  .i_list = NULL,
3671  .m_list = NULL,
3672  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K16), LIST_END },
3673  .syntax = INSN_SYNTAX(add K16, Smem),
3674  },
3675 },
3676 {
3677  .byte = 0xf8,
3678  .size = 0x04,
3679  .insn = {
3680  .i_list = (insn_item_t []) {
3681  {
3682  // xxDDx0U%KKKKKKKKAAAAAAAI11111000
3683  .i_list = NULL,
3684  .m_list = (insn_mask_t []) { INSN_MASK(26,1,0), LIST_END },
3685  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K8), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(28,DD), LIST_END },
3686  .syntax = INSN_SYNTAX(mpymk[r] [T3 = ]Smem, K8, ACx),
3687  },
3688  {
3689  // SSDDx1U%KKKKKKKKAAAAAAAI11111000
3690  .i_list = NULL,
3691  .m_list = (insn_mask_t []) { INSN_MASK(26,1,1), LIST_END },
3692  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K8), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
3693  .syntax = INSN_SYNTAX(macmk[r] [T3 = ]Smem, K8, [ACx,] ACy),
3694  },
3695  LIST_END,
3696  },
3697  .m_list = NULL,
3698  .f_list = NULL,
3699  .syntax = NULL,
3700  },
3701 },
3702 {
3703  .byte = 0xf9,
3704  .size = 0x04,
3705  .insn = {
3706  .i_list = (insn_item_t []) {
3707  {
3708  // SSDD00xxuxSHIFTWAAAAAAAI11111001
3709  .i_list = NULL,
3710  .m_list = (insn_mask_t []) { INSN_MASK(26,2,0), LIST_END },
3711  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(23,u), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
3712  .syntax = INSN_SYNTAX(add [uns(]Smem[)] << #SHIFTW, [ACx,] ACy),
3713  },
3714  {
3715  // SSDD01xxuxSHIFTWAAAAAAAI11111001
3716  .i_list = NULL,
3717  .m_list = (insn_mask_t []) { INSN_MASK(26,2,1), LIST_END },
3718  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(23,u), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
3719  .syntax = INSN_SYNTAX(sub [uns(]Smem[)] << #SHIFTW, [ACx,] ACy),
3720  },
3721  {
3722  // xxDD10xxuxSHIFTWAAAAAAAI11111001
3723  .i_list = NULL,
3724  .m_list = (insn_mask_t []) { INSN_MASK(26,2,2), LIST_END },
3725  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(23,u), INSN_FLAG(28,DD), LIST_END },
3726  .syntax = INSN_SYNTAX(mov [uns(]Smem[)] << #SHIFTW, ACx),
3727  },
3728  LIST_END,
3729  },
3730  .m_list = NULL,
3731  .f_list = NULL,
3732  .syntax = NULL,
3733  },
3734 },
3735 {
3736  .byte = 0xfa,
3737  .size = 0x04,
3738  .insn = {
3739  .i_list = (insn_item_t []) {
3740  {
3741  // SSxxx0x%xxSHIFTWAAAAAAAI11111010
3742  .i_list = NULL,
3743  .m_list = (insn_mask_t []) { INSN_MASK(26,1,0), LIST_END },
3744  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(24,R), INSN_FLAG(30,SS), LIST_END },
3745  .syntax = INSN_SYNTAX(mov [rnd(]hi(ACx << #SHIFTW)[)], Smem),
3746  },
3747  {
3748  // SSxxx1x%uxSHIFTWAAAAAAAI11111010
3749  .i_list = NULL,
3750  .m_list = (insn_mask_t []) { INSN_MASK(26,1,1), LIST_END },
3751  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(23,u), INSN_FLAG(24,R), INSN_FLAG(30,SS), LIST_END },
3752  .syntax = INSN_SYNTAX(mov [uns(] [rnd(]hi[(saturate](ACx << #SHIFTW)[)))], Smem),
3753  },
3754  LIST_END,
3755  },
3756  .m_list = NULL,
3757  .f_list = NULL,
3758  .syntax = NULL,
3759  },
3760 },
3761 {
3762  .byte = 0xfb,
3763  .size = 0x04,
3764  .insn = {
3765  // KKKKKKKKKKKKKKKKAAAAAAAI11111011
3766  .i_list = NULL,
3767  .m_list = NULL,
3768  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K16), LIST_END },
3769  .syntax = INSN_SYNTAX(mov K16, Smem),
3770  },
3771 },
3772 {
3773  .byte = 0xfc,
3774  .size = 0x04,
3775  .insn = {
3776  // LLLLLLLLLLLLLLLLAAAAAAAI11111100
3777  .i_list = NULL,
3778  .m_list = NULL,
3779  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,L16), LIST_END },
3780  .syntax = INSN_SYNTAX(bcc L16, ARn_mod ! = #0),
3781  },
3782 },
3783 {
3784  .byte = 0xfd,
3785  .size = 0x04,
3786  .insn = {
3787  .i_list = (insn_item_t []) {
3788  {
3789  // DDDDuug%000000mmAAAAAAAI11111101
3790  .i_list = NULL,
3791  .m_list = (insn_mask_t []) { INSN_MASK(18,6,0), LIST_END },
3792  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3793  .syntax = INSN_SYNTAX(mpy[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mpy[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
3794  },
3795  {
3796  // DDDDuug%000001mmAAAAAAAI11111101
3797  .i_list = NULL,
3798  .m_list = (insn_mask_t []) { INSN_MASK(18,6,1), LIST_END },
3799  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3800  .syntax = INSN_SYNTAX(mpy[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
3801  },
3802  {
3803  // DDDDuug%000010mmAAAAAAAI11111101
3804  .i_list = NULL,
3805  .m_list = (insn_mask_t []) { INSN_MASK(18,6,2), LIST_END },
3806  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3807  .syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mpy[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
3808  },
3809  {
3810  // DDDDuug%000011mmAAAAAAAI11111101
3811  .i_list = NULL,
3812  .m_list = (insn_mask_t []) { INSN_MASK(18,6,3), LIST_END },
3813  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3814  .syntax = INSN_SYNTAX(mpy[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mas[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
3815  },
3816  {
3817  // DDDDuug%000100mmAAAAAAAI11111101
3818  .i_list = NULL,
3819  .m_list = (insn_mask_t []) { INSN_MASK(18,6,4), LIST_END },
3820  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3821  .syntax = INSN_SYNTAX(mas[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mpy[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
3822  },
3823  {
3824  // DDDDuug%000101mmAAAAAAAI11111101
3825  .i_list = NULL,
3826  .m_list = (insn_mask_t []) { INSN_MASK(18,6,5), LIST_END },
3827  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3828  .syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
3829  },
3830  {
3831  // DDDDuug%000110mmAAAAAAAI11111101
3832  .i_list = NULL,
3833  .m_list = (insn_mask_t []) { INSN_MASK(18,6,6), LIST_END },
3834  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3835  .syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mas[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
3836  },
3837  {
3838  // DDDDuug%000111mmAAAAAAAI11111101
3839  .i_list = NULL,
3840  .m_list = (insn_mask_t []) { INSN_MASK(18,6,7), LIST_END },
3841  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3842  .syntax = INSN_SYNTAX(mas[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
3843  },
3844  {
3845  // DDDDuug%001000mmAAAAAAAI11111101
3846  .i_list = NULL,
3847  .m_list = (insn_mask_t []) { INSN_MASK(18,6,8), LIST_END },
3848  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3849  .syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx>>#16),
3850  },
3851  {
3852  // DDDDuug%001001mmAAAAAAAI11111101
3853  .i_list = NULL,
3854  .m_list = (insn_mask_t []) { INSN_MASK(18,6,9), LIST_END },
3855  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3856  .syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy>>#16 :: mas[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
3857  },
3858  {
3859  // DDDDuug%001010mmAAAAAAAI11111101
3860  .i_list = NULL,
3861  .m_list = (insn_mask_t []) { INSN_MASK(18,6,10), LIST_END },
3862  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3863  .syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy>>#16 :: mpy[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
3864  },
3865  {
3866  // DDDDuug%001011mmAAAAAAAI11111101
3867  .i_list = NULL,
3868  .m_list = (insn_mask_t []) { INSN_MASK(18,6,11), LIST_END },
3869  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3870  .syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy>>#16 :: mac[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx>>#16),
3871  },
3872  {
3873  // DDDDuug%001100mmAAAAAAAI11111101
3874  .i_list = NULL,
3875  .m_list = (insn_mask_t []) { INSN_MASK(18,6,12), LIST_END },
3876  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3877  .syntax = INSN_SYNTAX(mas[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mas[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
3878  },
3879  {
3880  // DDDDuug%010000mmAAAAAAAI11111101
3881  .i_list = NULL,
3882  .m_list = (insn_mask_t []) { INSN_MASK(18,6,16), LIST_END },
3883  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3884  .syntax = INSN_SYNTAX(mpy[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mpy[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
3885  },
3886  {
3887  // DDDDuug%010001mmAAAAAAAI11111101
3888  .i_list = NULL,
3889  .m_list = (insn_mask_t []) { INSN_MASK(18,6,17), LIST_END },
3890  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3891  .syntax = INSN_SYNTAX(mpy[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
3892  },
3893  {
3894  // DDDDuug%010010mmAAAAAAAI11111101
3895  .i_list = NULL,
3896  .m_list = (insn_mask_t []) { INSN_MASK(18,6,18), LIST_END },
3897  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3898  .syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mpy[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
3899  },
3900  {
3901  // DDDDuug%010011mmAAAAAAAI11111101
3902  .i_list = NULL,
3903  .m_list = (insn_mask_t []) { INSN_MASK(18,6,19), LIST_END },
3904  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3905  .syntax = INSN_SYNTAX(mpy[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mas[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
3906  },
3907  {
3908  // DDDDuug%010100mmAAAAAAAI11111101
3909  .i_list = NULL,
3910  .m_list = (insn_mask_t []) { INSN_MASK(18,6,20), LIST_END },
3911  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3912  .syntax = INSN_SYNTAX(mas[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mpy[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
3913  },
3914  {
3915  // DDDDuug%010101mmAAAAAAAI11111101
3916  .i_list = NULL,
3917  .m_list = (insn_mask_t []) { INSN_MASK(18,6,21), LIST_END },
3918  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3919  .syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
3920  },
3921  {
3922  // DDDDuug%010110mmAAAAAAAI11111101
3923  .i_list = NULL,
3924  .m_list = (insn_mask_t []) { INSN_MASK(18,6,22), LIST_END },
3925  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3926  .syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mas[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
3927  },
3928  {
3929  // DDDDuug%010111mmAAAAAAAI11111101
3930  .i_list = NULL,
3931  .m_list = (insn_mask_t []) { INSN_MASK(18,6,23), LIST_END },
3932  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3933  .syntax = INSN_SYNTAX(mas[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
3934  },
3935  {
3936  // DDDDuug%011000mmAAAAAAAI11111101
3937  .i_list = NULL,
3938  .m_list = (insn_mask_t []) { INSN_MASK(18,6,24), LIST_END },
3939  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3940  .syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx>>#16),
3941  },
3942  {
3943  // DDDDuug%011001mmAAAAAAAI11111101
3944  .i_list = NULL,
3945  .m_list = (insn_mask_t []) { INSN_MASK(18,6,25), LIST_END },
3946  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3947  .syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy>>#16 :: mas[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
3948  },
3949  {
3950  // DDDDuug%011010mmAAAAAAAI11111101
3951  .i_list = NULL,
3952  .m_list = (insn_mask_t []) { INSN_MASK(18,6,26), LIST_END },
3953  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3954  .syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy>>#16 :: mpy[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
3955  },
3956  {
3957  // DDDDuug%011011mmAAAAAAAI11111101
3958  .i_list = NULL,
3959  .m_list = (insn_mask_t []) { INSN_MASK(18,6,27), LIST_END },
3960  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3961  .syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy>>#16 :: mac[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx>>#16),
3962  },
3963  {
3964  // DDDDuug%011100mmAAAAAAAI11111101
3965  .i_list = NULL,
3966  .m_list = (insn_mask_t []) { INSN_MASK(18,6,28), LIST_END },
3967  .f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
3968  .syntax = INSN_SYNTAX(mas[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mas[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
3969  },
3970  LIST_END,
3971  },
3972  .m_list = NULL,
3973  .f_list = NULL,
3974  .syntax = NULL,
3975  },
3976 },
3977 };
lzma_index * src
Definition: index.h:567
#define R(x, b, m)
Definition: arc.h:168
static RzILOpEffect * cmp(cs_insn *insn, bool is_thumb)
Definition: arm_il32.c:942
static RzILOpEffect * saturate(bool sign, bool is_sub, const char *dst, ut32 bits, RzILOpBitVector *val, ut32 ext_bits, bool set_q)
Definition: arm_il32.c:1365
static RzILOpEffect * mov(cs_insn *insn, bool is_thumb)
Definition: arm_il32.c:351
static ut32 neg(ArmOp *op)
Definition: armass64.c:981
int call(int a, int b)
Definition: bcj_test.c:25
#define NULL
Definition: cris-opc.c:27
#define r
Definition: crypto_rc6.c:12
const char * v
Definition: dsignal.c:12
struct @667 g
int max
Definition: enough.c:225
hi(addr) 0x03
char * dst
Definition: lz4.h:724
#define XXX(x, y, z)
Definition: md4.c:11
#define T3
Definition: mips-opc.c:116
#define min(a, b)
Definition: qsort.h:83
#define b(i)
Definition: sha256.c:42
#define cond(bop, top, mask, flags)
Definition: dis.h:35
#define SWAP(n)
Definition: md5.c:53
#define rol(x, n)
Definition: md5.h:163
static insn_head_t c55x_list[]
Definition: table.h:4
#define INSN_MASK(af, an, av)
Definition: tms320_dasm.h:240
#define INSN_SYNTAX(...)
Definition: tms320_dasm.h:244
#define INSN_FLAG(af, av)
Definition: tms320_dasm.h:242
#define LIST_END
Definition: tms320_dasm.h:237
static const z80_opcode dd[]
Definition: z80_tab.h:844
static int sp
Definition: z80asm.c:91
#define E
Definition: zip_err_str.c:12
static int add(char *argv[])
Definition: ziptool.c:84