~ubuntu-branches/debian/jessie/gdb/jessie

« back to all changes in this revision

Viewing changes to sim/iq2000/decode.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Jacobowitz
  • Date: 2010-03-20 01:21:29 UTC
  • mfrom: (1.3.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20100320012129-t7h25y8zgr8c2369
Tags: 7.1-1
* New upstream release, including:
  - PIE support (Closes: #346409).
  - C++ improvements, including static_cast<> et al, namespace imports,
    and bug fixes in printing virtual base classes.
  - Multi-program debugging.  One GDB can now debug multiple programs
    at the same time.
  - Python scripting improvements, including gdb.parse_and_eval.
  - Updated MIPS Linux signal frame layout (Closes: #570875).
  - No internal error stepping over _dl_debug_state (Closes: #569551).
* Update to Standards-Version: 3.8.4 (no changes required).
* Include more relevant (and smaller) docs in the gdbserver package
  (Closes: #571132).
* Do not duplicate documentation in gdb64, gdb-source, and libgdb-dev.
* Fix crash when switching into TUI mode (Closes: #568489).

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
THIS FILE IS MACHINE GENERATED WITH CGEN.
4
4
 
5
 
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
 
5
Copyright 1996-2010 Free Software Foundation, Inc.
6
6
 
7
7
This file is part of the GNU simulators.
8
8
 
9
 
This program is free software; you can redistribute it and/or modify
10
 
it under the terms of the GNU General Public License as published by
11
 
the Free Software Foundation; either version 3 of the License, or
12
 
(at your option) any later version.
13
 
 
14
 
This program is distributed in the hope that it will be useful,
15
 
but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 
GNU General Public License for more details.
18
 
 
19
 
You should have received a copy of the GNU General Public License
20
 
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
9
   This file is free software; you can redistribute it and/or modify
 
10
   it under the terms of the GNU General Public License as published by
 
11
   the Free Software Foundation; either version 3, or (at your option)
 
12
   any later version.
 
13
 
 
14
   It is distributed in the hope that it will be useful, but WITHOUT
 
15
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 
16
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
 
17
   License for more details.
 
18
 
 
19
   You should have received a copy of the GNU General Public License along
 
20
   with this program; if not, write to the Free Software Foundation, Inc.,
 
21
   51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
21
22
 
22
23
*/
23
24
 
32
33
   teensy bit of cpu in the decoder.  Moving it to malloc space is trivial
33
34
   but won't be done until necessary (we don't currently support the runtime
34
35
   addition of instructions nor an SMP machine with different cpus).  */
35
 
static IDESC iq2000bf_insn_data[IQ2000BF_INSN_BMB + 1];
 
36
static IDESC iq2000bf_insn_data[IQ2000BF_INSN__MAX];
36
37
 
37
38
/* Commas between elements are contained in the macros.
38
39
   Some of these are conditionally compiled out.  */
49
50
  { IQ2000_INSN_ADDI, IQ2000BF_INSN_ADDI, IQ2000BF_SFMT_ADDI },
50
51
  { IQ2000_INSN_ADDIU, IQ2000BF_INSN_ADDIU, IQ2000BF_SFMT_ADDI },
51
52
  { IQ2000_INSN_ADDU, IQ2000BF_INSN_ADDU, IQ2000BF_SFMT_ADD },
52
 
  { IQ2000_INSN_ADO16, IQ2000BF_INSN_ADO16, IQ2000BF_SFMT_ADO16 },
 
53
  { IQ2000_INSN_ADO16, IQ2000BF_INSN_ADO16, IQ2000BF_SFMT_ADD },
53
54
  { IQ2000_INSN_AND, IQ2000BF_INSN_AND, IQ2000BF_SFMT_ADD },
54
55
  { IQ2000_INSN_ANDI, IQ2000BF_INSN_ANDI, IQ2000BF_SFMT_ADDI },
55
56
  { IQ2000_INSN_ANDOI, IQ2000BF_INSN_ANDOI, IQ2000BF_SFMT_ADDI },
191
192
  { IQ2000_INSN_BMB, IQ2000BF_INSN_BMB, IQ2000BF_SFMT_BBV },
192
193
};
193
194
 
194
 
static const struct insn_sem iq2000bf_insn_sem_invalid = {
 
195
static const struct insn_sem iq2000bf_insn_sem_invalid =
 
196
{
195
197
  VIRTUAL_INSN_X_INVALID, IQ2000BF_INSN_X_INVALID, IQ2000BF_SFMT_EMPTY
196
198
};
197
199
 
230
232
{
231
233
  IDESC *id,*tabend;
232
234
  const struct insn_sem *t,*tend;
233
 
  int tabsize = sizeof (iq2000bf_insn_data) / sizeof (IDESC);
 
235
  int tabsize = IQ2000BF_INSN__MAX;
234
236
  IDESC *table = iq2000bf_insn_data;
235
237
 
236
238
  memset (table, 0, tabsize * sizeof (IDESC));
255
257
 
256
258
const IDESC *
257
259
iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
258
 
              CGEN_INSN_INT base_insn, CGEN_INSN_INT entire_insn,
 
260
              CGEN_INSN_WORD base_insn, CGEN_INSN_WORD entire_insn,
259
261
              ARGBUF *abuf)
260
262
{
261
263
  /* Result of decoder.  */
262
264
  IQ2000BF_INSN_TYPE itype;
263
265
 
264
266
  {
265
 
    CGEN_INSN_INT insn = base_insn;
 
267
    CGEN_INSN_WORD insn = base_insn;
266
268
 
267
269
    {
268
270
      unsigned int val = (((insn >> 26) & (63 << 0)));
273
275
          unsigned int val = (((insn >> 1) & (1 << 4)) | ((insn >> 0) & (15 << 0)));
274
276
          switch (val)
275
277
          {
276
 
          case 0 : itype = IQ2000BF_INSN_SLL;goto extract_sfmt_sll;
277
 
          case 1 : itype = IQ2000BF_INSN_SLMV;goto extract_sfmt_slmv;
278
 
          case 2 : itype = IQ2000BF_INSN_SRL;goto extract_sfmt_sll;
279
 
          case 3 : itype = IQ2000BF_INSN_SRA;goto extract_sfmt_sll;
280
 
          case 4 : itype = IQ2000BF_INSN_SLLV;goto extract_sfmt_add;
281
 
          case 5 : itype = IQ2000BF_INSN_SRMV;goto extract_sfmt_slmv;
282
 
          case 6 : itype = IQ2000BF_INSN_SRLV;goto extract_sfmt_add;
283
 
          case 7 : itype = IQ2000BF_INSN_SRAV;goto extract_sfmt_add;
284
 
          case 8 : itype = IQ2000BF_INSN_JR;goto extract_sfmt_jr;
285
 
          case 9 : itype = IQ2000BF_INSN_JALR;goto extract_sfmt_jalr;
286
 
          case 10 : itype = IQ2000BF_INSN_JCR;goto extract_sfmt_bctxt;
287
 
          case 12 : itype = IQ2000BF_INSN_SYSCALL;goto extract_sfmt_syscall;
288
 
          case 13 : itype = IQ2000BF_INSN_BREAK;goto extract_sfmt_break;
289
 
          case 14 : itype = IQ2000BF_INSN_SLEEP;goto extract_sfmt_syscall;
290
 
          case 16 : itype = IQ2000BF_INSN_ADD;goto extract_sfmt_add;
291
 
          case 17 : itype = IQ2000BF_INSN_ADDU;goto extract_sfmt_add;
292
 
          case 18 : itype = IQ2000BF_INSN_SUB;goto extract_sfmt_add;
293
 
          case 19 : itype = IQ2000BF_INSN_SUBU;goto extract_sfmt_add;
294
 
          case 20 : itype = IQ2000BF_INSN_AND;goto extract_sfmt_add;
295
 
          case 21 : itype = IQ2000BF_INSN_OR;goto extract_sfmt_add;
296
 
          case 22 : itype = IQ2000BF_INSN_XOR;goto extract_sfmt_add;
297
 
          case 23 : itype = IQ2000BF_INSN_NOR;goto extract_sfmt_add;
298
 
          case 25 : itype = IQ2000BF_INSN_ADO16;goto extract_sfmt_ado16;
299
 
          case 26 : itype = IQ2000BF_INSN_SLT;goto extract_sfmt_slt;
300
 
          case 27 : itype = IQ2000BF_INSN_SLTU;goto extract_sfmt_slt;
301
 
          case 29 : itype = IQ2000BF_INSN_MRGB;goto extract_sfmt_mrgb;
 
278
          case 0 :
 
279
            if ((entire_insn & 0xffe0003f) == 0x0)
 
280
              { itype = IQ2000BF_INSN_SLL; goto extract_sfmt_sll; }
 
281
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
282
          case 1 :
 
283
            if ((entire_insn & 0xfc00003f) == 0x1)
 
284
              { itype = IQ2000BF_INSN_SLMV; goto extract_sfmt_slmv; }
 
285
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
286
          case 2 :
 
287
            if ((entire_insn & 0xffe0003f) == 0x2)
 
288
              { itype = IQ2000BF_INSN_SRL; goto extract_sfmt_sll; }
 
289
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
290
          case 3 :
 
291
            if ((entire_insn & 0xffe0003f) == 0x3)
 
292
              { itype = IQ2000BF_INSN_SRA; goto extract_sfmt_sll; }
 
293
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
294
          case 4 :
 
295
            if ((entire_insn & 0xfc0007ff) == 0x4)
 
296
              { itype = IQ2000BF_INSN_SLLV; goto extract_sfmt_add; }
 
297
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
298
          case 5 :
 
299
            if ((entire_insn & 0xfc00003f) == 0x5)
 
300
              { itype = IQ2000BF_INSN_SRMV; goto extract_sfmt_slmv; }
 
301
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
302
          case 6 :
 
303
            if ((entire_insn & 0xfc0007ff) == 0x6)
 
304
              { itype = IQ2000BF_INSN_SRLV; goto extract_sfmt_add; }
 
305
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
306
          case 7 :
 
307
            if ((entire_insn & 0xfc0007ff) == 0x7)
 
308
              { itype = IQ2000BF_INSN_SRAV; goto extract_sfmt_add; }
 
309
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
310
          case 8 :
 
311
            if ((entire_insn & 0xfc1fffff) == 0x8)
 
312
              { itype = IQ2000BF_INSN_JR; goto extract_sfmt_jr; }
 
313
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
314
          case 9 :
 
315
            if ((entire_insn & 0xfc1f07ff) == 0x9)
 
316
              { itype = IQ2000BF_INSN_JALR; goto extract_sfmt_jalr; }
 
317
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
318
          case 10 :
 
319
            if ((entire_insn & 0xfc1fffff) == 0xa)
 
320
              { itype = IQ2000BF_INSN_JCR; goto extract_sfmt_bctxt; }
 
321
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
322
          case 12 :
 
323
            if ((entire_insn & 0xfc00003f) == 0xc)
 
324
              { itype = IQ2000BF_INSN_SYSCALL; goto extract_sfmt_syscall; }
 
325
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
326
          case 13 :
 
327
            if ((entire_insn & 0xffffffff) == 0xd)
 
328
              { itype = IQ2000BF_INSN_BREAK; goto extract_sfmt_break; }
 
329
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
330
          case 14 :
 
331
            if ((entire_insn & 0xfc00003f) == 0xe)
 
332
              { itype = IQ2000BF_INSN_SLEEP; goto extract_sfmt_syscall; }
 
333
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
334
          case 16 :
 
335
            if ((entire_insn & 0xfc0007ff) == 0x20)
 
336
              { itype = IQ2000BF_INSN_ADD; goto extract_sfmt_add; }
 
337
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
338
          case 17 :
 
339
            if ((entire_insn & 0xfc0007ff) == 0x21)
 
340
              { itype = IQ2000BF_INSN_ADDU; goto extract_sfmt_add; }
 
341
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
342
          case 18 :
 
343
            if ((entire_insn & 0xfc0007ff) == 0x22)
 
344
              { itype = IQ2000BF_INSN_SUB; goto extract_sfmt_add; }
 
345
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
346
          case 19 :
 
347
            if ((entire_insn & 0xfc0007ff) == 0x23)
 
348
              { itype = IQ2000BF_INSN_SUBU; goto extract_sfmt_add; }
 
349
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
350
          case 20 :
 
351
            if ((entire_insn & 0xfc0007ff) == 0x24)
 
352
              { itype = IQ2000BF_INSN_AND; goto extract_sfmt_add; }
 
353
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
354
          case 21 :
 
355
            if ((entire_insn & 0xfc0007ff) == 0x25)
 
356
              { itype = IQ2000BF_INSN_OR; goto extract_sfmt_add; }
 
357
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
358
          case 22 :
 
359
            if ((entire_insn & 0xfc0007ff) == 0x26)
 
360
              { itype = IQ2000BF_INSN_XOR; goto extract_sfmt_add; }
 
361
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
362
          case 23 :
 
363
            if ((entire_insn & 0xfc0007ff) == 0x27)
 
364
              { itype = IQ2000BF_INSN_NOR; goto extract_sfmt_add; }
 
365
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
366
          case 25 :
 
367
            if ((entire_insn & 0xfc0007ff) == 0x29)
 
368
              { itype = IQ2000BF_INSN_ADO16; goto extract_sfmt_add; }
 
369
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
370
          case 26 :
 
371
            if ((entire_insn & 0xfc0007ff) == 0x2a)
 
372
              { itype = IQ2000BF_INSN_SLT; goto extract_sfmt_slt; }
 
373
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
374
          case 27 :
 
375
            if ((entire_insn & 0xfc0007ff) == 0x2b)
 
376
              { itype = IQ2000BF_INSN_SLTU; goto extract_sfmt_slt; }
 
377
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
378
          case 29 :
 
379
            if ((entire_insn & 0xfc00043f) == 0x2d)
 
380
              { itype = IQ2000BF_INSN_MRGB; goto extract_sfmt_mrgb; }
 
381
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
302
382
          default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
303
383
          }
304
384
        }
307
387
          unsigned int val = (((insn >> 17) & (1 << 3)) | ((insn >> 16) & (7 << 0)));
308
388
          switch (val)
309
389
          {
310
 
          case 0 : itype = IQ2000BF_INSN_BLTZ;goto extract_sfmt_bgez;
311
 
          case 1 : itype = IQ2000BF_INSN_BGEZ;goto extract_sfmt_bgez;
312
 
          case 2 : itype = IQ2000BF_INSN_BLTZL;goto extract_sfmt_bgez;
313
 
          case 3 : itype = IQ2000BF_INSN_BGEZL;goto extract_sfmt_bgez;
314
 
          case 6 : itype = IQ2000BF_INSN_BCTXT;goto extract_sfmt_bctxt;
315
 
          case 8 : itype = IQ2000BF_INSN_BLTZAL;goto extract_sfmt_bgezal;
316
 
          case 9 : itype = IQ2000BF_INSN_BGEZAL;goto extract_sfmt_bgezal;
317
 
          case 10 : itype = IQ2000BF_INSN_BLTZALL;goto extract_sfmt_bgezal;
318
 
          case 11 : itype = IQ2000BF_INSN_BGEZALL;goto extract_sfmt_bgezal;
 
390
          case 0 :
 
391
            if ((entire_insn & 0xfc1f0000) == 0x4000000)
 
392
              { itype = IQ2000BF_INSN_BLTZ; goto extract_sfmt_bgez; }
 
393
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
394
          case 1 :
 
395
            if ((entire_insn & 0xfc1f0000) == 0x4010000)
 
396
              { itype = IQ2000BF_INSN_BGEZ; goto extract_sfmt_bgez; }
 
397
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
398
          case 2 :
 
399
            if ((entire_insn & 0xfc1f0000) == 0x4020000)
 
400
              { itype = IQ2000BF_INSN_BLTZL; goto extract_sfmt_bgez; }
 
401
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
402
          case 3 :
 
403
            if ((entire_insn & 0xfc1f0000) == 0x4030000)
 
404
              { itype = IQ2000BF_INSN_BGEZL; goto extract_sfmt_bgez; }
 
405
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
406
          case 6 :
 
407
            if ((entire_insn & 0xfc1f0000) == 0x4060000)
 
408
              { itype = IQ2000BF_INSN_BCTXT; goto extract_sfmt_bctxt; }
 
409
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
410
          case 8 :
 
411
            if ((entire_insn & 0xfc1f0000) == 0x4100000)
 
412
              { itype = IQ2000BF_INSN_BLTZAL; goto extract_sfmt_bgezal; }
 
413
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
414
          case 9 :
 
415
            if ((entire_insn & 0xfc1f0000) == 0x4110000)
 
416
              { itype = IQ2000BF_INSN_BGEZAL; goto extract_sfmt_bgezal; }
 
417
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
418
          case 10 :
 
419
            if ((entire_insn & 0xfc1f0000) == 0x4120000)
 
420
              { itype = IQ2000BF_INSN_BLTZALL; goto extract_sfmt_bgezal; }
 
421
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
422
          case 11 :
 
423
            if ((entire_insn & 0xfc1f0000) == 0x4130000)
 
424
              { itype = IQ2000BF_INSN_BGEZALL; goto extract_sfmt_bgezal; }
 
425
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
319
426
          default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
320
427
          }
321
428
        }
322
 
      case 2 : itype = IQ2000BF_INSN_J;goto extract_sfmt_j;
323
 
      case 3 : itype = IQ2000BF_INSN_JAL;goto extract_sfmt_jal;
324
 
      case 4 : itype = IQ2000BF_INSN_BEQ;goto extract_sfmt_bbv;
325
 
      case 5 : itype = IQ2000BF_INSN_BNE;goto extract_sfmt_bbv;
326
 
      case 6 : itype = IQ2000BF_INSN_BLEZ;goto extract_sfmt_bgez;
327
 
      case 7 : itype = IQ2000BF_INSN_BGTZ;goto extract_sfmt_bgez;
328
 
      case 8 : itype = IQ2000BF_INSN_ADDI;goto extract_sfmt_addi;
329
 
      case 9 : itype = IQ2000BF_INSN_ADDIU;goto extract_sfmt_addi;
330
 
      case 10 : itype = IQ2000BF_INSN_SLTI;goto extract_sfmt_slti;
331
 
      case 11 : itype = IQ2000BF_INSN_SLTIU;goto extract_sfmt_slti;
332
 
      case 12 : itype = IQ2000BF_INSN_ANDI;goto extract_sfmt_addi;
333
 
      case 13 : itype = IQ2000BF_INSN_ORI;goto extract_sfmt_addi;
334
 
      case 14 : itype = IQ2000BF_INSN_XORI;goto extract_sfmt_addi;
335
 
      case 15 : itype = IQ2000BF_INSN_LUI;goto extract_sfmt_lui;
 
429
      case 2 :
 
430
        if ((entire_insn & 0xffff0000) == 0x8000000)
 
431
          { itype = IQ2000BF_INSN_J; goto extract_sfmt_j; }
 
432
        itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
433
      case 3 :
 
434
        if ((entire_insn & 0xffff0000) == 0xc000000)
 
435
          { itype = IQ2000BF_INSN_JAL; goto extract_sfmt_jal; }
 
436
        itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
437
      case 4 : itype = IQ2000BF_INSN_BEQ; goto extract_sfmt_bbv;
 
438
      case 5 : itype = IQ2000BF_INSN_BNE; goto extract_sfmt_bbv;
 
439
      case 6 :
 
440
        if ((entire_insn & 0xfc1f0000) == 0x18000000)
 
441
          { itype = IQ2000BF_INSN_BLEZ; goto extract_sfmt_bgez; }
 
442
        itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
443
      case 7 :
 
444
        if ((entire_insn & 0xfc1f0000) == 0x1c000000)
 
445
          { itype = IQ2000BF_INSN_BGTZ; goto extract_sfmt_bgez; }
 
446
        itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
447
      case 8 : itype = IQ2000BF_INSN_ADDI; goto extract_sfmt_addi;
 
448
      case 9 : itype = IQ2000BF_INSN_ADDIU; goto extract_sfmt_addi;
 
449
      case 10 : itype = IQ2000BF_INSN_SLTI; goto extract_sfmt_slti;
 
450
      case 11 : itype = IQ2000BF_INSN_SLTIU; goto extract_sfmt_slti;
 
451
      case 12 : itype = IQ2000BF_INSN_ANDI; goto extract_sfmt_addi;
 
452
      case 13 : itype = IQ2000BF_INSN_ORI; goto extract_sfmt_addi;
 
453
      case 14 : itype = IQ2000BF_INSN_XORI; goto extract_sfmt_addi;
 
454
      case 15 :
 
455
        if ((entire_insn & 0xffe00000) == 0x3c000000)
 
456
          { itype = IQ2000BF_INSN_LUI; goto extract_sfmt_lui; }
 
457
        itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
336
458
      case 16 :
337
459
        {
338
460
          unsigned int val = (((insn >> 19) & (15 << 3)) | ((insn >> 15) & (3 << 1)) | ((insn >> 4) & (1 << 0)));
341
463
          case 0 : /* fall through */
342
464
          case 2 : /* fall through */
343
465
          case 4 : /* fall through */
344
 
          case 6 : itype = IQ2000BF_INSN_MFC0;goto extract_sfmt_syscall;
 
466
          case 6 :
 
467
            if ((entire_insn & 0xffe007ff) == 0x40000000)
 
468
              { itype = IQ2000BF_INSN_MFC0; goto extract_sfmt_syscall; }
 
469
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
345
470
          case 8 : /* fall through */
346
471
          case 10 : /* fall through */
347
472
          case 12 : /* fall through */
348
 
          case 14 : itype = IQ2000BF_INSN_CFC0;goto extract_sfmt_syscall;
 
473
          case 14 :
 
474
            if ((entire_insn & 0xffe007ff) == 0x40400000)
 
475
              { itype = IQ2000BF_INSN_CFC0; goto extract_sfmt_syscall; }
 
476
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
349
477
          case 16 : /* fall through */
350
478
          case 18 : /* fall through */
351
479
          case 20 : /* fall through */
352
 
          case 22 : itype = IQ2000BF_INSN_MTC0;goto extract_sfmt_syscall;
 
480
          case 22 :
 
481
            if ((entire_insn & 0xffe007ff) == 0x40800000)
 
482
              { itype = IQ2000BF_INSN_MTC0; goto extract_sfmt_syscall; }
 
483
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
353
484
          case 24 : /* fall through */
354
485
          case 26 : /* fall through */
355
486
          case 28 : /* fall through */
356
 
          case 30 : itype = IQ2000BF_INSN_CTC0;goto extract_sfmt_syscall;
 
487
          case 30 :
 
488
            if ((entire_insn & 0xffe007ff) == 0x40c00000)
 
489
              { itype = IQ2000BF_INSN_CTC0; goto extract_sfmt_syscall; }
 
490
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
357
491
          case 32 : /* fall through */
358
 
          case 33 : itype = IQ2000BF_INSN_BC0F;goto extract_sfmt_bctxt;
 
492
          case 33 :
 
493
            if ((entire_insn & 0xffff0000) == 0x41000000)
 
494
              { itype = IQ2000BF_INSN_BC0F; goto extract_sfmt_bctxt; }
 
495
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
359
496
          case 34 : /* fall through */
360
 
          case 35 : itype = IQ2000BF_INSN_BC0T;goto extract_sfmt_bctxt;
 
497
          case 35 :
 
498
            if ((entire_insn & 0xffff0000) == 0x41010000)
 
499
              { itype = IQ2000BF_INSN_BC0T; goto extract_sfmt_bctxt; }
 
500
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
361
501
          case 36 : /* fall through */
362
 
          case 37 : itype = IQ2000BF_INSN_BC0FL;goto extract_sfmt_bctxt;
 
502
          case 37 :
 
503
            if ((entire_insn & 0xffff0000) == 0x41020000)
 
504
              { itype = IQ2000BF_INSN_BC0FL; goto extract_sfmt_bctxt; }
 
505
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
363
506
          case 38 : /* fall through */
364
 
          case 39 : itype = IQ2000BF_INSN_BC0TL;goto extract_sfmt_bctxt;
365
 
          case 65 : itype = IQ2000BF_INSN_RFE;goto extract_sfmt_syscall;
 
507
          case 39 :
 
508
            if ((entire_insn & 0xffff0000) == 0x41030000)
 
509
              { itype = IQ2000BF_INSN_BC0TL; goto extract_sfmt_bctxt; }
 
510
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
511
          case 65 :
 
512
            if ((entire_insn & 0xffffffff) == 0x42000010)
 
513
              { itype = IQ2000BF_INSN_RFE; goto extract_sfmt_syscall; }
 
514
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
366
515
          default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
367
516
          }
368
517
        }
371
520
          unsigned int val = (((insn >> 22) & (3 << 0)));
372
521
          switch (val)
373
522
          {
374
 
          case 0 : itype = IQ2000BF_INSN_MFC1;goto extract_sfmt_syscall;
375
 
          case 1 : itype = IQ2000BF_INSN_CFC1;goto extract_sfmt_syscall;
376
 
          case 2 : itype = IQ2000BF_INSN_MTC1;goto extract_sfmt_syscall;
377
 
          case 3 : itype = IQ2000BF_INSN_CTC1;goto extract_sfmt_syscall;
 
523
          case 0 :
 
524
            if ((entire_insn & 0xffe007ff) == 0x44000000)
 
525
              { itype = IQ2000BF_INSN_MFC1; goto extract_sfmt_syscall; }
 
526
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
527
          case 1 :
 
528
            if ((entire_insn & 0xffe007ff) == 0x44400000)
 
529
              { itype = IQ2000BF_INSN_CFC1; goto extract_sfmt_syscall; }
 
530
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
531
          case 2 :
 
532
            if ((entire_insn & 0xffe007ff) == 0x44800000)
 
533
              { itype = IQ2000BF_INSN_MTC1; goto extract_sfmt_syscall; }
 
534
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
535
          case 3 :
 
536
            if ((entire_insn & 0xffe007ff) == 0x44c00000)
 
537
              { itype = IQ2000BF_INSN_CTC1; goto extract_sfmt_syscall; }
 
538
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
378
539
          default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
379
540
          }
380
541
        }
388
549
              unsigned int val = (((insn >> 23) & (1 << 0)));
389
550
              switch (val)
390
551
              {
391
 
              case 0 : itype = IQ2000BF_INSN_MFC2;goto extract_sfmt_syscall;
392
 
              case 1 : itype = IQ2000BF_INSN_MTC2;goto extract_sfmt_syscall;
 
552
              case 0 :
 
553
                if ((entire_insn & 0xffe007ff) == 0x48000000)
 
554
                  { itype = IQ2000BF_INSN_MFC2; goto extract_sfmt_syscall; }
 
555
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
556
              case 1 :
 
557
                if ((entire_insn & 0xffe007ff) == 0x48800000)
 
558
                  { itype = IQ2000BF_INSN_MTC2; goto extract_sfmt_syscall; }
 
559
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
393
560
              default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
394
561
              }
395
562
            }
396
 
          case 32 : itype = IQ2000BF_INSN_LUULCK;goto extract_sfmt_syscall;
397
 
          case 33 : itype = IQ2000BF_INSN_LUR;goto extract_sfmt_syscall;
398
 
          case 34 : itype = IQ2000BF_INSN_LUM32;goto extract_sfmt_syscall;
399
 
          case 35 : itype = IQ2000BF_INSN_LUC32;goto extract_sfmt_syscall;
400
 
          case 36 : itype = IQ2000BF_INSN_LULCK;goto extract_sfmt_syscall;
401
 
          case 37 : itype = IQ2000BF_INSN_LURL;goto extract_sfmt_syscall;
402
 
          case 38 : itype = IQ2000BF_INSN_LUM32L;goto extract_sfmt_syscall;
403
 
          case 39 : itype = IQ2000BF_INSN_LUC32L;goto extract_sfmt_syscall;
404
 
          case 40 : itype = IQ2000BF_INSN_LUK;goto extract_sfmt_syscall;
405
 
          case 42 : itype = IQ2000BF_INSN_LUM64;goto extract_sfmt_syscall;
406
 
          case 43 : itype = IQ2000BF_INSN_LUC64;goto extract_sfmt_syscall;
407
 
          case 46 : itype = IQ2000BF_INSN_LUM64L;goto extract_sfmt_syscall;
408
 
          case 47 : itype = IQ2000BF_INSN_LUC64L;goto extract_sfmt_syscall;
409
 
          case 48 : itype = IQ2000BF_INSN_SRRD;goto extract_sfmt_syscall;
410
 
          case 49 : itype = IQ2000BF_INSN_SRWR;goto extract_sfmt_syscall;
411
 
          case 52 : itype = IQ2000BF_INSN_SRRDL;goto extract_sfmt_syscall;
412
 
          case 53 : itype = IQ2000BF_INSN_SRWRU;goto extract_sfmt_syscall;
413
 
          case 54 : itype = IQ2000BF_INSN_SRULCK;goto extract_sfmt_syscall;
 
563
          case 32 :
 
564
            if ((entire_insn & 0xffe0ffff) == 0x48200000)
 
565
              { itype = IQ2000BF_INSN_LUULCK; goto extract_sfmt_syscall; }
 
566
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
567
          case 33 :
 
568
            if ((entire_insn & 0xffe007ff) == 0x48200001)
 
569
              { itype = IQ2000BF_INSN_LUR; goto extract_sfmt_syscall; }
 
570
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
571
          case 34 :
 
572
            if ((entire_insn & 0xffe007ff) == 0x48200002)
 
573
              { itype = IQ2000BF_INSN_LUM32; goto extract_sfmt_syscall; }
 
574
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
575
          case 35 :
 
576
            if ((entire_insn & 0xffe007ff) == 0x48200003)
 
577
              { itype = IQ2000BF_INSN_LUC32; goto extract_sfmt_syscall; }
 
578
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
579
          case 36 :
 
580
            if ((entire_insn & 0xffe0ffff) == 0x48200004)
 
581
              { itype = IQ2000BF_INSN_LULCK; goto extract_sfmt_syscall; }
 
582
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
583
          case 37 :
 
584
            if ((entire_insn & 0xffe007ff) == 0x48200005)
 
585
              { itype = IQ2000BF_INSN_LURL; goto extract_sfmt_syscall; }
 
586
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
587
          case 38 :
 
588
            if ((entire_insn & 0xffe007ff) == 0x48200006)
 
589
              { itype = IQ2000BF_INSN_LUM32L; goto extract_sfmt_syscall; }
 
590
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
591
          case 39 :
 
592
            if ((entire_insn & 0xffe007ff) == 0x48200007)
 
593
              { itype = IQ2000BF_INSN_LUC32L; goto extract_sfmt_syscall; }
 
594
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
595
          case 40 :
 
596
            if ((entire_insn & 0xffe007ff) == 0x48200008)
 
597
              { itype = IQ2000BF_INSN_LUK; goto extract_sfmt_syscall; }
 
598
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
599
          case 42 :
 
600
            if ((entire_insn & 0xffe007ff) == 0x4820000a)
 
601
              { itype = IQ2000BF_INSN_LUM64; goto extract_sfmt_syscall; }
 
602
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
603
          case 43 :
 
604
            if ((entire_insn & 0xffe007ff) == 0x4820000b)
 
605
              { itype = IQ2000BF_INSN_LUC64; goto extract_sfmt_syscall; }
 
606
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
607
          case 46 :
 
608
            if ((entire_insn & 0xffe007ff) == 0x4820000e)
 
609
              { itype = IQ2000BF_INSN_LUM64L; goto extract_sfmt_syscall; }
 
610
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
611
          case 47 :
 
612
            if ((entire_insn & 0xffe007ff) == 0x4820000f)
 
613
              { itype = IQ2000BF_INSN_LUC64L; goto extract_sfmt_syscall; }
 
614
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
615
          case 48 :
 
616
            if ((entire_insn & 0xffe0ffff) == 0x48200010)
 
617
              { itype = IQ2000BF_INSN_SRRD; goto extract_sfmt_syscall; }
 
618
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
619
          case 49 :
 
620
            if ((entire_insn & 0xffe007ff) == 0x48200011)
 
621
              { itype = IQ2000BF_INSN_SRWR; goto extract_sfmt_syscall; }
 
622
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
623
          case 52 :
 
624
            if ((entire_insn & 0xffe0ffff) == 0x48200014)
 
625
              { itype = IQ2000BF_INSN_SRRDL; goto extract_sfmt_syscall; }
 
626
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
627
          case 53 :
 
628
            if ((entire_insn & 0xffe007ff) == 0x48200015)
 
629
              { itype = IQ2000BF_INSN_SRWRU; goto extract_sfmt_syscall; }
 
630
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
631
          case 54 :
 
632
            if ((entire_insn & 0xffe0ffff) == 0x48200016)
 
633
              { itype = IQ2000BF_INSN_SRULCK; goto extract_sfmt_syscall; }
 
634
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
414
635
          case 64 :
415
636
            {
416
637
              unsigned int val = (((insn >> 23) & (1 << 0)));
417
638
              switch (val)
418
639
              {
419
 
              case 0 : itype = IQ2000BF_INSN_CFC2;goto extract_sfmt_syscall;
420
 
              case 1 : itype = IQ2000BF_INSN_CTC2;goto extract_sfmt_syscall;
 
640
              case 0 :
 
641
                if ((entire_insn & 0xffe007ff) == 0x48400000)
 
642
                  { itype = IQ2000BF_INSN_CFC2; goto extract_sfmt_syscall; }
 
643
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
644
              case 1 :
 
645
                if ((entire_insn & 0xffe007ff) == 0x48c00000)
 
646
                  { itype = IQ2000BF_INSN_CTC2; goto extract_sfmt_syscall; }
 
647
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
421
648
              default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
422
649
              }
423
650
            }
429
656
          unsigned int val = (((insn >> 19) & (31 << 2)) | ((insn >> 0) & (3 << 0)));
430
657
          switch (val)
431
658
          {
432
 
          case 0 : itype = IQ2000BF_INSN_MFC3;goto extract_sfmt_syscall;
 
659
          case 0 :
 
660
            if ((entire_insn & 0xffe007ff) == 0x4c000000)
 
661
              { itype = IQ2000BF_INSN_MFC3; goto extract_sfmt_syscall; }
 
662
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
433
663
          case 4 :
434
664
            {
435
665
              unsigned int val = (((insn >> 2) & (3 << 0)));
436
666
              switch (val)
437
667
              {
438
 
              case 0 : itype = IQ2000BF_INSN_WB;goto extract_sfmt_syscall;
439
 
              case 1 : itype = IQ2000BF_INSN_RB;goto extract_sfmt_syscall;
440
 
              case 2 : itype = IQ2000BF_INSN_TRAPQFL;goto extract_sfmt_syscall;
 
668
              case 0 :
 
669
                if ((entire_insn & 0xffe007ff) == 0x4c200000)
 
670
                  { itype = IQ2000BF_INSN_WB; goto extract_sfmt_syscall; }
 
671
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
672
              case 1 :
 
673
                if ((entire_insn & 0xffe007ff) == 0x4c200004)
 
674
                  { itype = IQ2000BF_INSN_RB; goto extract_sfmt_syscall; }
 
675
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
676
              case 2 :
 
677
                if ((entire_insn & 0xffffffff) == 0x4c200008)
 
678
                  { itype = IQ2000BF_INSN_TRAPQFL; goto extract_sfmt_syscall; }
 
679
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
441
680
              default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
442
681
              }
443
682
            }
446
685
              unsigned int val = (((insn >> 3) & (1 << 0)));
447
686
              switch (val)
448
687
              {
449
 
              case 0 : itype = IQ2000BF_INSN_WBU;goto extract_sfmt_syscall;
450
 
              case 1 : itype = IQ2000BF_INSN_TRAPQNE;goto extract_sfmt_syscall;
 
688
              case 0 :
 
689
                if ((entire_insn & 0xffe007ff) == 0x4c200001)
 
690
                  { itype = IQ2000BF_INSN_WBU; goto extract_sfmt_syscall; }
 
691
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
692
              case 1 :
 
693
                if ((entire_insn & 0xffffffff) == 0x4c200009)
 
694
                  { itype = IQ2000BF_INSN_TRAPQNE; goto extract_sfmt_syscall; }
 
695
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
451
696
              default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
452
697
              }
453
698
            }
456
701
              unsigned int val = (((insn >> 2) & (3 << 0)));
457
702
              switch (val)
458
703
              {
459
 
              case 0 : itype = IQ2000BF_INSN_WX;goto extract_sfmt_syscall;
460
 
              case 1 : itype = IQ2000BF_INSN_RX;goto extract_sfmt_syscall;
461
 
              case 2 : itype = IQ2000BF_INSN_TRAPREL;goto extract_sfmt_syscall;
 
704
              case 0 :
 
705
                if ((entire_insn & 0xffe007ff) == 0x4c200002)
 
706
                  { itype = IQ2000BF_INSN_WX; goto extract_sfmt_syscall; }
 
707
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
708
              case 1 :
 
709
                if ((entire_insn & 0xffe007ff) == 0x4c200006)
 
710
                  { itype = IQ2000BF_INSN_RX; goto extract_sfmt_syscall; }
 
711
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
712
              case 2 :
 
713
                if ((entire_insn & 0xffe0ffff) == 0x4c20000a)
 
714
                  { itype = IQ2000BF_INSN_TRAPREL; goto extract_sfmt_syscall; }
 
715
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
462
716
              default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
463
717
              }
464
718
            }
467
721
              unsigned int val = (((insn >> 2) & (1 << 0)));
468
722
              switch (val)
469
723
              {
470
 
              case 0 : itype = IQ2000BF_INSN_WXU;goto extract_sfmt_syscall;
471
 
              case 1 : itype = IQ2000BF_INSN_PKRL;goto extract_sfmt_syscall;
 
724
              case 0 :
 
725
                if ((entire_insn & 0xffe007ff) == 0x4c200003)
 
726
                  { itype = IQ2000BF_INSN_WXU; goto extract_sfmt_syscall; }
 
727
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
728
              case 1 :
 
729
                if ((entire_insn & 0xffe007ff) == 0x4c200007)
 
730
                  { itype = IQ2000BF_INSN_PKRL; goto extract_sfmt_syscall; }
 
731
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
472
732
              default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
473
733
              }
474
734
            }
475
 
          case 8 : itype = IQ2000BF_INSN_CFC3;goto extract_sfmt_syscall;
476
 
          case 16 : itype = IQ2000BF_INSN_MTC3;goto extract_sfmt_syscall;
477
 
          case 24 : itype = IQ2000BF_INSN_CTC3;goto extract_sfmt_syscall;
 
735
          case 8 :
 
736
            if ((entire_insn & 0xffe007ff) == 0x4c400000)
 
737
              { itype = IQ2000BF_INSN_CFC3; goto extract_sfmt_syscall; }
 
738
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
739
          case 16 :
 
740
            if ((entire_insn & 0xffe007ff) == 0x4c800000)
 
741
              { itype = IQ2000BF_INSN_MTC3; goto extract_sfmt_syscall; }
 
742
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
743
          case 24 :
 
744
            if ((entire_insn & 0xffe007ff) == 0x4cc00000)
 
745
              { itype = IQ2000BF_INSN_CTC3; goto extract_sfmt_syscall; }
 
746
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
478
747
          case 32 : /* fall through */
479
748
          case 33 : /* fall through */
480
749
          case 34 : /* fall through */
483
752
              unsigned int val = (((insn >> 16) & (3 << 0)));
484
753
              switch (val)
485
754
              {
486
 
              case 0 : itype = IQ2000BF_INSN_BC3F;goto extract_sfmt_bctxt;
487
 
              case 1 : itype = IQ2000BF_INSN_BC3T;goto extract_sfmt_bctxt;
488
 
              case 2 : itype = IQ2000BF_INSN_BC3FL;goto extract_sfmt_bctxt;
489
 
              case 3 : itype = IQ2000BF_INSN_BC3TL;goto extract_sfmt_bctxt;
 
755
              case 0 :
 
756
                if ((entire_insn & 0xffff0000) == 0x4d000000)
 
757
                  { itype = IQ2000BF_INSN_BC3F; goto extract_sfmt_bctxt; }
 
758
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
759
              case 1 :
 
760
                if ((entire_insn & 0xffff0000) == 0x4d010000)
 
761
                  { itype = IQ2000BF_INSN_BC3T; goto extract_sfmt_bctxt; }
 
762
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
763
              case 2 :
 
764
                if ((entire_insn & 0xffff0000) == 0x4d020000)
 
765
                  { itype = IQ2000BF_INSN_BC3FL; goto extract_sfmt_bctxt; }
 
766
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
767
              case 3 :
 
768
                if ((entire_insn & 0xffff0000) == 0x4d030000)
 
769
                  { itype = IQ2000BF_INSN_BC3TL; goto extract_sfmt_bctxt; }
 
770
                itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
490
771
              default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
491
772
              }
492
773
            }
493
 
          case 36 : itype = IQ2000BF_INSN_CHKHDR;goto extract_sfmt_syscall;
 
774
          case 36 :
 
775
            if ((entire_insn & 0xffe007ff) == 0x4d200000)
 
776
              { itype = IQ2000BF_INSN_CHKHDR; goto extract_sfmt_syscall; }
 
777
            itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
494
778
          case 64 : /* fall through */
495
779
          case 65 : /* fall through */
496
780
          case 66 : /* fall through */
497
 
          case 67 : itype = IQ2000BF_INSN_WBR1;goto extract_sfmt_syscall;
 
781
          case 67 : itype = IQ2000BF_INSN_WBR1; goto extract_sfmt_syscall;
498
782
          case 68 : /* fall through */
499
783
          case 69 : /* fall through */
500
784
          case 70 : /* fall through */
501
 
          case 71 : itype = IQ2000BF_INSN_WBR1U;goto extract_sfmt_syscall;
 
785
          case 71 : itype = IQ2000BF_INSN_WBR1U; goto extract_sfmt_syscall;
502
786
          case 72 : /* fall through */
503
787
          case 73 : /* fall through */
504
788
          case 74 : /* fall through */
505
 
          case 75 : itype = IQ2000BF_INSN_WBR30;goto extract_sfmt_syscall;
 
789
          case 75 : itype = IQ2000BF_INSN_WBR30; goto extract_sfmt_syscall;
506
790
          case 76 : /* fall through */
507
791
          case 77 : /* fall through */
508
792
          case 78 : /* fall through */
509
 
          case 79 : itype = IQ2000BF_INSN_WBR30U;goto extract_sfmt_syscall;
 
793
          case 79 : itype = IQ2000BF_INSN_WBR30U; goto extract_sfmt_syscall;
510
794
          case 80 : /* fall through */
511
795
          case 81 : /* fall through */
512
796
          case 82 : /* fall through */
513
 
          case 83 : itype = IQ2000BF_INSN_WXR1;goto extract_sfmt_syscall;
 
797
          case 83 : itype = IQ2000BF_INSN_WXR1; goto extract_sfmt_syscall;
514
798
          case 84 : /* fall through */
515
799
          case 85 : /* fall through */
516
800
          case 86 : /* fall through */
517
 
          case 87 : itype = IQ2000BF_INSN_WXR1U;goto extract_sfmt_syscall;
 
801
          case 87 : itype = IQ2000BF_INSN_WXR1U; goto extract_sfmt_syscall;
518
802
          case 88 : /* fall through */
519
803
          case 89 : /* fall through */
520
804
          case 90 : /* fall through */
521
 
          case 91 : itype = IQ2000BF_INSN_WXR30;goto extract_sfmt_syscall;
 
805
          case 91 : itype = IQ2000BF_INSN_WXR30; goto extract_sfmt_syscall;
522
806
          case 92 : /* fall through */
523
807
          case 93 : /* fall through */
524
808
          case 94 : /* fall through */
525
 
          case 95 : itype = IQ2000BF_INSN_WXR30U;goto extract_sfmt_syscall;
 
809
          case 95 : itype = IQ2000BF_INSN_WXR30U; goto extract_sfmt_syscall;
526
810
          case 96 : /* fall through */
527
811
          case 97 : /* fall through */
528
812
          case 98 : /* fall through */
529
 
          case 99 : itype = IQ2000BF_INSN_RBR1;goto extract_sfmt_syscall;
 
813
          case 99 : itype = IQ2000BF_INSN_RBR1; goto extract_sfmt_syscall;
530
814
          case 104 : /* fall through */
531
815
          case 105 : /* fall through */
532
816
          case 106 : /* fall through */
533
 
          case 107 : itype = IQ2000BF_INSN_RBR30;goto extract_sfmt_syscall;
 
817
          case 107 : itype = IQ2000BF_INSN_RBR30; goto extract_sfmt_syscall;
534
818
          case 112 : /* fall through */
535
819
          case 113 : /* fall through */
536
820
          case 114 : /* fall through */
537
 
          case 115 : itype = IQ2000BF_INSN_RXR1;goto extract_sfmt_syscall;
 
821
          case 115 : itype = IQ2000BF_INSN_RXR1; goto extract_sfmt_syscall;
538
822
          case 116 : /* fall through */
539
823
          case 117 : /* fall through */
540
824
          case 118 : /* fall through */
541
 
          case 119 : itype = IQ2000BF_INSN_PKRLR1;goto extract_sfmt_syscall;
 
825
          case 119 : itype = IQ2000BF_INSN_PKRLR1; goto extract_sfmt_syscall;
542
826
          case 120 : /* fall through */
543
827
          case 121 : /* fall through */
544
828
          case 122 : /* fall through */
545
 
          case 123 : itype = IQ2000BF_INSN_RXR30;goto extract_sfmt_syscall;
 
829
          case 123 : itype = IQ2000BF_INSN_RXR30; goto extract_sfmt_syscall;
546
830
          case 124 : /* fall through */
547
831
          case 125 : /* fall through */
548
832
          case 126 : /* fall through */
549
 
          case 127 : itype = IQ2000BF_INSN_PKRLR30;goto extract_sfmt_syscall;
 
833
          case 127 : itype = IQ2000BF_INSN_PKRLR30; goto extract_sfmt_syscall;
550
834
          default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
551
835
          }
552
836
        }
553
 
      case 20 : itype = IQ2000BF_INSN_BEQL;goto extract_sfmt_bbv;
554
 
      case 21 : itype = IQ2000BF_INSN_BNEL;goto extract_sfmt_bbv;
555
 
      case 22 : itype = IQ2000BF_INSN_BLEZL;goto extract_sfmt_bgez;
556
 
      case 23 : itype = IQ2000BF_INSN_BGTZL;goto extract_sfmt_bgez;
557
 
      case 24 : itype = IQ2000BF_INSN_BMB0;goto extract_sfmt_bbv;
558
 
      case 25 : itype = IQ2000BF_INSN_BMB1;goto extract_sfmt_bbv;
559
 
      case 26 : itype = IQ2000BF_INSN_BMB2;goto extract_sfmt_bbv;
560
 
      case 27 : itype = IQ2000BF_INSN_BMB3;goto extract_sfmt_bbv;
561
 
      case 28 : itype = IQ2000BF_INSN_BBI;goto extract_sfmt_bbi;
562
 
      case 29 : itype = IQ2000BF_INSN_BBV;goto extract_sfmt_bbv;
563
 
      case 30 : itype = IQ2000BF_INSN_BBIN;goto extract_sfmt_bbi;
564
 
      case 31 : itype = IQ2000BF_INSN_BBVN;goto extract_sfmt_bbv;
565
 
      case 32 : itype = IQ2000BF_INSN_LB;goto extract_sfmt_lb;
566
 
      case 33 : itype = IQ2000BF_INSN_LH;goto extract_sfmt_lh;
567
 
      case 35 : itype = IQ2000BF_INSN_LW;goto extract_sfmt_lw;
568
 
      case 36 : itype = IQ2000BF_INSN_LBU;goto extract_sfmt_lb;
569
 
      case 37 : itype = IQ2000BF_INSN_LHU;goto extract_sfmt_lh;
570
 
      case 39 : itype = IQ2000BF_INSN_RAM;goto extract_sfmt_ram;
571
 
      case 40 : itype = IQ2000BF_INSN_SB;goto extract_sfmt_sb;
572
 
      case 41 : itype = IQ2000BF_INSN_SH;goto extract_sfmt_sh;
573
 
      case 43 : itype = IQ2000BF_INSN_SW;goto extract_sfmt_sw;
574
 
      case 44 : itype = IQ2000BF_INSN_ANDOI;goto extract_sfmt_addi;
575
 
      case 45 : itype = IQ2000BF_INSN_BMB;goto extract_sfmt_bbv;
576
 
      case 47 : itype = IQ2000BF_INSN_ORUI;goto extract_sfmt_andoui;
577
 
      case 48 : itype = IQ2000BF_INSN_LDW;goto extract_sfmt_ldw;
578
 
      case 56 : itype = IQ2000BF_INSN_SDW;goto extract_sfmt_sdw;
579
 
      case 63 : itype = IQ2000BF_INSN_ANDOUI;goto extract_sfmt_andoui;
 
837
      case 20 : itype = IQ2000BF_INSN_BEQL; goto extract_sfmt_bbv;
 
838
      case 21 : itype = IQ2000BF_INSN_BNEL; goto extract_sfmt_bbv;
 
839
      case 22 :
 
840
        if ((entire_insn & 0xfc1f0000) == 0x58000000)
 
841
          { itype = IQ2000BF_INSN_BLEZL; goto extract_sfmt_bgez; }
 
842
        itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
843
      case 23 :
 
844
        if ((entire_insn & 0xfc1f0000) == 0x5c000000)
 
845
          { itype = IQ2000BF_INSN_BGTZL; goto extract_sfmt_bgez; }
 
846
        itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
847
      case 24 : itype = IQ2000BF_INSN_BMB0; goto extract_sfmt_bbv;
 
848
      case 25 : itype = IQ2000BF_INSN_BMB1; goto extract_sfmt_bbv;
 
849
      case 26 : itype = IQ2000BF_INSN_BMB2; goto extract_sfmt_bbv;
 
850
      case 27 : itype = IQ2000BF_INSN_BMB3; goto extract_sfmt_bbv;
 
851
      case 28 : itype = IQ2000BF_INSN_BBI; goto extract_sfmt_bbi;
 
852
      case 29 : itype = IQ2000BF_INSN_BBV; goto extract_sfmt_bbv;
 
853
      case 30 : itype = IQ2000BF_INSN_BBIN; goto extract_sfmt_bbi;
 
854
      case 31 : itype = IQ2000BF_INSN_BBVN; goto extract_sfmt_bbv;
 
855
      case 32 : itype = IQ2000BF_INSN_LB; goto extract_sfmt_lb;
 
856
      case 33 : itype = IQ2000BF_INSN_LH; goto extract_sfmt_lh;
 
857
      case 35 : itype = IQ2000BF_INSN_LW; goto extract_sfmt_lw;
 
858
      case 36 : itype = IQ2000BF_INSN_LBU; goto extract_sfmt_lb;
 
859
      case 37 : itype = IQ2000BF_INSN_LHU; goto extract_sfmt_lh;
 
860
      case 39 :
 
861
        if ((entire_insn & 0xfc000020) == 0x9c000000)
 
862
          { itype = IQ2000BF_INSN_RAM; goto extract_sfmt_ram; }
 
863
        itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
 
864
      case 40 : itype = IQ2000BF_INSN_SB; goto extract_sfmt_sb;
 
865
      case 41 : itype = IQ2000BF_INSN_SH; goto extract_sfmt_sh;
 
866
      case 43 : itype = IQ2000BF_INSN_SW; goto extract_sfmt_sw;
 
867
      case 44 : itype = IQ2000BF_INSN_ANDOI; goto extract_sfmt_addi;
 
868
      case 45 : itype = IQ2000BF_INSN_BMB; goto extract_sfmt_bbv;
 
869
      case 47 : itype = IQ2000BF_INSN_ORUI; goto extract_sfmt_andoui;
 
870
      case 48 : itype = IQ2000BF_INSN_LDW; goto extract_sfmt_ldw;
 
871
      case 56 : itype = IQ2000BF_INSN_SDW; goto extract_sfmt_sdw;
 
872
      case 63 : itype = IQ2000BF_INSN_ANDOUI; goto extract_sfmt_andoui;
580
873
      default : itype = IQ2000BF_INSN_X_INVALID; goto extract_sfmt_empty;
581
874
      }
582
875
    }
587
880
 extract_sfmt_empty:
588
881
  {
589
882
    const IDESC *idesc = &iq2000bf_insn_data[itype];
590
 
#define FLD(f) abuf->fields.fmt_empty.f
 
883
#define FLD(f) abuf->fields.sfmt_empty.f
591
884
 
592
885
 
593
886
  /* Record the fields for the semantic handler.  */
600
893
 extract_sfmt_add:
601
894
  {
602
895
    const IDESC *idesc = &iq2000bf_insn_data[itype];
603
 
    CGEN_INSN_INT insn = entire_insn;
 
896
    CGEN_INSN_WORD insn = entire_insn;
604
897
#define FLD(f) abuf->fields.sfmt_mrgb.f
605
898
    UINT f_rs;
606
899
    UINT f_rt;
623
916
 extract_sfmt_addi:
624
917
  {
625
918
    const IDESC *idesc = &iq2000bf_insn_data[itype];
626
 
    CGEN_INSN_INT insn = entire_insn;
 
919
    CGEN_INSN_WORD insn = entire_insn;
627
920
#define FLD(f) abuf->fields.sfmt_addi.f
628
921
    UINT f_rs;
629
922
    UINT f_rt;
643
936
    return idesc;
644
937
  }
645
938
 
646
 
 extract_sfmt_ado16:
647
 
  {
648
 
    const IDESC *idesc = &iq2000bf_insn_data[itype];
649
 
    CGEN_INSN_INT insn = entire_insn;
650
 
#define FLD(f) abuf->fields.sfmt_mrgb.f
651
 
    UINT f_rs;
652
 
    UINT f_rt;
653
 
    UINT f_rd;
654
 
 
655
 
    f_rs = EXTRACT_LSB0_UINT (insn, 32, 25, 5);
656
 
    f_rt = EXTRACT_LSB0_UINT (insn, 32, 20, 5);
657
 
    f_rd = EXTRACT_LSB0_UINT (insn, 32, 15, 5);
658
 
 
659
 
  /* Record the fields for the semantic handler.  */
660
 
  FLD (f_rs) = f_rs;
661
 
  FLD (f_rt) = f_rt;
662
 
  FLD (f_rd) = f_rd;
663
 
  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ado16", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_rd 0x%x", 'x', f_rd, (char *) 0));
664
 
 
665
 
#undef FLD
666
 
    return idesc;
667
 
  }
668
 
 
669
939
 extract_sfmt_ram:
670
940
  {
671
941
    const IDESC *idesc = &iq2000bf_insn_data[itype];
672
 
    CGEN_INSN_INT insn = entire_insn;
 
942
    CGEN_INSN_WORD insn = entire_insn;
673
943
#define FLD(f) abuf->fields.sfmt_ram.f
674
944
    UINT f_rs;
675
945
    UINT f_rt;
698
968
 extract_sfmt_sll:
699
969
  {
700
970
    const IDESC *idesc = &iq2000bf_insn_data[itype];
701
 
    CGEN_INSN_INT insn = entire_insn;
 
971
    CGEN_INSN_WORD insn = entire_insn;
702
972
#define FLD(f) abuf->fields.sfmt_ram.f
703
973
    UINT f_rt;
704
974
    UINT f_rd;
721
991
 extract_sfmt_slmv:
722
992
  {
723
993
    const IDESC *idesc = &iq2000bf_insn_data[itype];
724
 
    CGEN_INSN_INT insn = entire_insn;
 
994
    CGEN_INSN_WORD insn = entire_insn;
725
995
#define FLD(f) abuf->fields.sfmt_ram.f
726
996
    UINT f_rs;
727
997
    UINT f_rt;
747
1017
 extract_sfmt_slt:
748
1018
  {
749
1019
    const IDESC *idesc = &iq2000bf_insn_data[itype];
750
 
    CGEN_INSN_INT insn = entire_insn;
 
1020
    CGEN_INSN_WORD insn = entire_insn;
751
1021
#define FLD(f) abuf->fields.sfmt_mrgb.f
752
1022
    UINT f_rs;
753
1023
    UINT f_rt;
770
1040
 extract_sfmt_slti:
771
1041
  {
772
1042
    const IDESC *idesc = &iq2000bf_insn_data[itype];
773
 
    CGEN_INSN_INT insn = entire_insn;
 
1043
    CGEN_INSN_WORD insn = entire_insn;
774
1044
#define FLD(f) abuf->fields.sfmt_addi.f
775
1045
    UINT f_rs;
776
1046
    UINT f_rt;
793
1063
 extract_sfmt_bbi:
794
1064
  {
795
1065
    const IDESC *idesc = &iq2000bf_insn_data[itype];
796
 
    CGEN_INSN_INT insn = entire_insn;
 
1066
    CGEN_INSN_WORD insn = entire_insn;
797
1067
#define FLD(f) abuf->fields.sfmt_bbi.f
798
1068
    UINT f_rs;
799
1069
    UINT f_rt;
801
1071
 
802
1072
    f_rs = EXTRACT_LSB0_UINT (insn, 32, 25, 5);
803
1073
    f_rt = EXTRACT_LSB0_UINT (insn, 32, 20, 5);
804
 
    f_offset = ((((EXTRACT_LSB0_INT (insn, 32, 15, 16)) << (2))) + (((pc) + (4))));
 
1074
    f_offset = ((((EXTRACT_LSB0_SINT (insn, 32, 15, 16)) << (2))) + (((pc) + (4))));
805
1075
 
806
1076
  /* Record the fields for the semantic handler.  */
807
1077
  FLD (f_rt) = f_rt;
822
1092
 extract_sfmt_bbv:
823
1093
  {
824
1094
    const IDESC *idesc = &iq2000bf_insn_data[itype];
825
 
    CGEN_INSN_INT insn = entire_insn;
 
1095
    CGEN_INSN_WORD insn = entire_insn;
826
1096
#define FLD(f) abuf->fields.sfmt_bbi.f
827
1097
    UINT f_rs;
828
1098
    UINT f_rt;
830
1100
 
831
1101
    f_rs = EXTRACT_LSB0_UINT (insn, 32, 25, 5);
832
1102
    f_rt = EXTRACT_LSB0_UINT (insn, 32, 20, 5);
833
 
    f_offset = ((((EXTRACT_LSB0_INT (insn, 32, 15, 16)) << (2))) + (((pc) + (4))));
 
1103
    f_offset = ((((EXTRACT_LSB0_SINT (insn, 32, 15, 16)) << (2))) + (((pc) + (4))));
834
1104
 
835
1105
  /* Record the fields for the semantic handler.  */
836
1106
  FLD (f_rs) = f_rs;
851
1121
 extract_sfmt_bgez:
852
1122
  {
853
1123
    const IDESC *idesc = &iq2000bf_insn_data[itype];
854
 
    CGEN_INSN_INT insn = entire_insn;
 
1124
    CGEN_INSN_WORD insn = entire_insn;
855
1125
#define FLD(f) abuf->fields.sfmt_bbi.f
856
1126
    UINT f_rs;
857
1127
    SI f_offset;
858
1128
 
859
1129
    f_rs = EXTRACT_LSB0_UINT (insn, 32, 25, 5);
860
 
    f_offset = ((((EXTRACT_LSB0_INT (insn, 32, 15, 16)) << (2))) + (((pc) + (4))));
 
1130
    f_offset = ((((EXTRACT_LSB0_SINT (insn, 32, 15, 16)) << (2))) + (((pc) + (4))));
861
1131
 
862
1132
  /* Record the fields for the semantic handler.  */
863
1133
  FLD (f_rs) = f_rs;
877
1147
 extract_sfmt_bgezal:
878
1148
  {
879
1149
    const IDESC *idesc = &iq2000bf_insn_data[itype];
880
 
    CGEN_INSN_INT insn = entire_insn;
 
1150
    CGEN_INSN_WORD insn = entire_insn;
881
1151
#define FLD(f) abuf->fields.sfmt_bbi.f
882
1152
    UINT f_rs;
883
1153
    SI f_offset;
884
1154
 
885
1155
    f_rs = EXTRACT_LSB0_UINT (insn, 32, 25, 5);
886
 
    f_offset = ((((EXTRACT_LSB0_INT (insn, 32, 15, 16)) << (2))) + (((pc) + (4))));
 
1156
    f_offset = ((((EXTRACT_LSB0_SINT (insn, 32, 15, 16)) << (2))) + (((pc) + (4))));
887
1157
 
888
1158
  /* Record the fields for the semantic handler.  */
889
1159
  FLD (f_rs) = f_rs;
903
1173
 extract_sfmt_jalr:
904
1174
  {
905
1175
    const IDESC *idesc = &iq2000bf_insn_data[itype];
906
 
    CGEN_INSN_INT insn = entire_insn;
 
1176
    CGEN_INSN_WORD insn = entire_insn;
907
1177
#define FLD(f) abuf->fields.sfmt_mrgb.f
908
1178
    UINT f_rs;
909
1179
    UINT f_rd;
929
1199
 extract_sfmt_jr:
930
1200
  {
931
1201
    const IDESC *idesc = &iq2000bf_insn_data[itype];
932
 
    CGEN_INSN_INT insn = entire_insn;
 
1202
    CGEN_INSN_WORD insn = entire_insn;
933
1203
#define FLD(f) abuf->fields.sfmt_bbi.f
934
1204
    UINT f_rs;
935
1205
 
952
1222
 extract_sfmt_lb:
953
1223
  {
954
1224
    const IDESC *idesc = &iq2000bf_insn_data[itype];
955
 
    CGEN_INSN_INT insn = entire_insn;
 
1225
    CGEN_INSN_WORD insn = entire_insn;
956
1226
#define FLD(f) abuf->fields.sfmt_addi.f
957
1227
    UINT f_rs;
958
1228
    UINT f_rt;
975
1245
 extract_sfmt_lh:
976
1246
  {
977
1247
    const IDESC *idesc = &iq2000bf_insn_data[itype];
978
 
    CGEN_INSN_INT insn = entire_insn;
 
1248
    CGEN_INSN_WORD insn = entire_insn;
979
1249
#define FLD(f) abuf->fields.sfmt_addi.f
980
1250
    UINT f_rs;
981
1251
    UINT f_rt;
998
1268
 extract_sfmt_lui:
999
1269
  {
1000
1270
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1001
 
    CGEN_INSN_INT insn = entire_insn;
 
1271
    CGEN_INSN_WORD insn = entire_insn;
1002
1272
#define FLD(f) abuf->fields.sfmt_addi.f
1003
1273
    UINT f_rt;
1004
1274
    UINT f_imm;
1018
1288
 extract_sfmt_lw:
1019
1289
  {
1020
1290
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1021
 
    CGEN_INSN_INT insn = entire_insn;
 
1291
    CGEN_INSN_WORD insn = entire_insn;
1022
1292
#define FLD(f) abuf->fields.sfmt_addi.f
1023
1293
    UINT f_rs;
1024
1294
    UINT f_rt;
1041
1311
 extract_sfmt_sb:
1042
1312
  {
1043
1313
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1044
 
    CGEN_INSN_INT insn = entire_insn;
 
1314
    CGEN_INSN_WORD insn = entire_insn;
1045
1315
#define FLD(f) abuf->fields.sfmt_addi.f
1046
1316
    UINT f_rs;
1047
1317
    UINT f_rt;
1064
1334
 extract_sfmt_sh:
1065
1335
  {
1066
1336
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1067
 
    CGEN_INSN_INT insn = entire_insn;
 
1337
    CGEN_INSN_WORD insn = entire_insn;
1068
1338
#define FLD(f) abuf->fields.sfmt_addi.f
1069
1339
    UINT f_rs;
1070
1340
    UINT f_rt;
1087
1357
 extract_sfmt_sw:
1088
1358
  {
1089
1359
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1090
 
    CGEN_INSN_INT insn = entire_insn;
 
1360
    CGEN_INSN_WORD insn = entire_insn;
1091
1361
#define FLD(f) abuf->fields.sfmt_addi.f
1092
1362
    UINT f_rs;
1093
1363
    UINT f_rt;
1110
1380
 extract_sfmt_break:
1111
1381
  {
1112
1382
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1113
 
#define FLD(f) abuf->fields.fmt_empty.f
 
1383
#define FLD(f) abuf->fields.sfmt_empty.f
1114
1384
 
1115
1385
 
1116
1386
  /* Record the fields for the semantic handler.  */
1129
1399
 extract_sfmt_syscall:
1130
1400
  {
1131
1401
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1132
 
#define FLD(f) abuf->fields.fmt_empty.f
 
1402
#define FLD(f) abuf->fields.sfmt_empty.f
1133
1403
 
1134
1404
 
1135
1405
  /* Record the fields for the semantic handler.  */
1142
1412
 extract_sfmt_andoui:
1143
1413
  {
1144
1414
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1145
 
    CGEN_INSN_INT insn = entire_insn;
 
1415
    CGEN_INSN_WORD insn = entire_insn;
1146
1416
#define FLD(f) abuf->fields.sfmt_addi.f
1147
1417
    UINT f_rs;
1148
1418
    UINT f_rt;
1165
1435
 extract_sfmt_mrgb:
1166
1436
  {
1167
1437
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1168
 
    CGEN_INSN_INT insn = entire_insn;
 
1438
    CGEN_INSN_WORD insn = entire_insn;
1169
1439
#define FLD(f) abuf->fields.sfmt_mrgb.f
1170
1440
    UINT f_rs;
1171
1441
    UINT f_rt;
1191
1461
 extract_sfmt_bctxt:
1192
1462
  {
1193
1463
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1194
 
#define FLD(f) abuf->fields.fmt_empty.f
 
1464
#define FLD(f) abuf->fields.sfmt_empty.f
1195
1465
 
1196
1466
 
1197
1467
  /* Record the fields for the semantic handler.  */
1204
1474
 extract_sfmt_ldw:
1205
1475
  {
1206
1476
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1207
 
    CGEN_INSN_INT insn = entire_insn;
 
1477
    CGEN_INSN_WORD insn = entire_insn;
1208
1478
#define FLD(f) abuf->fields.sfmt_addi.f
1209
1479
    UINT f_rs;
1210
1480
    UINT f_rt;
1227
1497
 extract_sfmt_sdw:
1228
1498
  {
1229
1499
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1230
 
    CGEN_INSN_INT insn = entire_insn;
 
1500
    CGEN_INSN_WORD insn = entire_insn;
1231
1501
#define FLD(f) abuf->fields.sfmt_addi.f
1232
1502
    UINT f_rs;
1233
1503
    UINT f_rt;
1250
1520
 extract_sfmt_j:
1251
1521
  {
1252
1522
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1253
 
    CGEN_INSN_INT insn = entire_insn;
 
1523
    CGEN_INSN_WORD insn = entire_insn;
1254
1524
#define FLD(f) abuf->fields.sfmt_j.f
1255
1525
    USI f_jtarg;
1256
1526
 
1273
1543
 extract_sfmt_jal:
1274
1544
  {
1275
1545
    const IDESC *idesc = &iq2000bf_insn_data[itype];
1276
 
    CGEN_INSN_INT insn = entire_insn;
 
1546
    CGEN_INSN_WORD insn = entire_insn;
1277
1547
#define FLD(f) abuf->fields.sfmt_j.f
1278
1548
    USI f_jtarg;
1279
1549