diff options
author | Yoshinori Sato <ysato@users.sourceforge.jp> | 2015-12-15 09:26:56 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2015-12-15 09:26:56 +0000 |
commit | a117b0a51cd3c768453c244a3754c1b9a77e74fc (patch) | |
tree | fd573106470e4c963aa723316530c87ed5ba2a36 /opcodes | |
parent | ef603459d553034a3f4daeb9c8c673f5ef3e4ed0 (diff) | |
download | gdb-a117b0a51cd3c768453c244a3754c1b9a77e74fc.zip gdb-a117b0a51cd3c768453c244a3754c1b9a77e74fc.tar.gz gdb-a117b0a51cd3c768453c244a3754c1b9a77e74fc.tar.bz2 |
Add support for RX V2 Instruction Set
binutils
* readelf.c(get_machine_flags): Add v2 flag.
gas
* config/rx-defs.h(rx_cpu_type): Add RXV2 type.
* config/tc-rx.c(cpu_type_list): New type lookup table.
(md_parse_option): Use lookup table for choose cpu.
(md_show_usage): Add rxv2 for mcpu option.
* doc/c-rx.texi: Likewise.
* config/rx-parse.y: Add v2 instructions and ACC register.
(rx_check_v2): check v2 type.
include/elf
* rx.h(E_FLAG_RX_V2): New RXv2 type.
include/opcode
* rx.h: Add new instructions.
opcoes
* rx-deocde.opc(rx_decode_opcode): Add new instructions pattern.
* rx-dis.c(register_name): Add new register.
gas/testsuite
* gas/rx/emaca.d: New.
* gas/rx/emaca.sm: New.
* gas/rx/emsba.d: New.
* gas/rx/emsba.sm: New.
* gas/rx/emula.d: New.
* gas/rx/emula.sm: New.
* gas/rx/fadd.d: Add new pattern.
* gas/rx/fadd.sm: Add new pattern.
* gas/rx/fmul.d: Add new pattern.
* gas/rx/fmul.sm: Add new pattern.
* gas/rx/fsqrt.d: New.
* gas/rx/fsqrt.sm: New.
* gas/rx/fsub.d: Add new pattern.
* gas/rx/fsub.sm: Add new pattern.
* gas/rx/ftou.d: New.
* gas/rx/ftou.sm: New.
* gas/rx/maclh.d: New.
* gas/rx/maclh.sm: New.
* gas/rx/maclo.d: Add new pattern.
* gas/rx/maclo.sm: Add new pattern.
* gas/rx/macros.inc: Add new register.
* gas/rx/movco.d: New.
* gas/rx/movco.sm: New.
* gas/rx/movli.d: New.
* gas/rx/movli.sm: New.
* gas/rx/msbhi.d: New.
* gas/rx/msbhi.sm: New.
* gas/rx/msblh.d: New.
* gas/rx/msblh.sm: New.
* gas/rx/msblo.d: New.
* gas/rx/msblo.sm: New.
* gas/rx/mullh.d: New.
* gas/rx/mullh.sm: New.
* gas/rx/mvfacgu.d: New.
* gas/rx/mvfacgu.sm: New.
* gas/rx/mvfachi.d: Add new pattern.
* gas/rx/mvfachi.sm: Add new pattern.
* gas/rx/mvfaclo.d: Add new pattern.
* gas/rx/mvfaclo.sm: Add new pattern.
* gas/rx/mvfacmi.d: Add new pattern.
* gas/rx/mvfacmi.sm: Add new pattern.
* gas/rx/mvfc.d: Add new pattern.
* gas/rx/mvtacgu.d: New.
* gas/rx/mvtacgu.sm: New.
* gas/rx/mvtc.d: Add new pattern.
* gas/rx/popc.d: Add new pattern.
* gas/rx/pushc.d: Add new pattern.
* gas/rx/racl.d: New.
* gas/rx/racl.sm: New.
* gas/rx/racw.d: Add new pattern.
* gas/rx/racw.sm: Add new pattern.
* gas/rx/rdacl.d: New.
* gas/rx/rdacl.sm: New.
* gas/rx/rdacw.d: New.
* gas/rx/rdacw.sm: New.
* gas/rx/rx.exp: Add option.
* gas/rx/stnz.d: Add new pattern.
* gas/rx/stnz.sm: Add new pattern.
* gas/rx/stz.d: Add new pattern.
* gas/rx/stz.sm: Add new pattern.
* gas/rx/utof.d: New.
* gas/rx/utof.sm: New.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 6 | ||||
-rw-r--r-- | opcodes/rx-decode.c | 4017 | ||||
-rw-r--r-- | opcodes/rx-decode.opc | 115 | ||||
-rw-r--r-- | opcodes/rx-dis.c | 4 |
4 files changed, 2862 insertions, 1280 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 26cddf0..6145343 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2015-12-14 Yoshinori Sato <ysato@users.sourceforge.jp> + + * rx-deocde.opc: Add new instructions pattern. + * rx-deocde.c: Regenerate. + * rx-dis.c (register_name): Add new register. + 2015-12-14 Matthew Wahab <matthew.wahab@arm.com> * aarch64-asm-2.c: Regenerate. diff --git a/opcodes/rx-decode.c b/opcodes/rx-decode.c index 3a9099b..e298bed 100644 --- a/opcodes/rx-decode.c +++ b/opcodes/rx-decode.c @@ -294,7 +294,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("brk"); -#line 987 "rx-decode.opc" +#line 1025 "rx-decode.opc" ID(brk); } @@ -309,7 +309,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("dbt"); -#line 990 "rx-decode.opc" +#line 1028 "rx-decode.opc" ID(dbt); } @@ -324,7 +324,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("rts"); -#line 768 "rx-decode.opc" +#line 806 "rx-decode.opc" ID(rts); /*----------------------------------------------------------------------*/ @@ -342,7 +342,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("nop"); -#line 774 "rx-decode.opc" +#line 812 "rx-decode.opc" ID(nop); /*----------------------------------------------------------------------*/ @@ -360,7 +360,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("bra.a %a0"); -#line 746 "rx-decode.opc" +#line 784 "rx-decode.opc" ID(branch); DC(pc + IMMex(3)); } @@ -375,7 +375,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("bsr.a %a0"); -#line 762 "rx-decode.opc" +#line 800 "rx-decode.opc" ID(jsr); DC(pc + IMMex(3)); } @@ -578,13 +578,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_4: { /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */ -#line 611 "rx-decode.opc" +#line 649 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 611 "rx-decode.opc" +#line 649 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 611 "rx-decode.opc" +#line 649 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 611 "rx-decode.opc" +#line 649 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -597,7 +597,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mul %1%S1, %0"); -#line 611 "rx-decode.opc" +#line 649 "rx-decode.opc" ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____; } @@ -802,13 +802,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_8: { /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */ -#line 584 "rx-decode.opc" +#line 594 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 584 "rx-decode.opc" +#line 594 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 584 "rx-decode.opc" +#line 594 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 584 "rx-decode.opc" +#line 594 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -821,7 +821,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("max %1%S1, %0"); -#line 584 "rx-decode.opc" +#line 594 "rx-decode.opc" ID(max); SPm(ss, rsrc, mx); DR(rdst); /*----------------------------------------------------------------------*/ @@ -839,13 +839,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_9: { /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */ -#line 596 "rx-decode.opc" +#line 606 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 596 "rx-decode.opc" +#line 606 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 596 "rx-decode.opc" +#line 606 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 596 "rx-decode.opc" +#line 606 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -858,7 +858,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("min %1%S1, %0"); -#line 596 "rx-decode.opc" +#line 606 "rx-decode.opc" ID(min); SPm(ss, rsrc, mx); DR(rdst); /*----------------------------------------------------------------------*/ @@ -876,13 +876,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_10: { /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */ -#line 626 "rx-decode.opc" +#line 664 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 626 "rx-decode.opc" +#line 664 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 626 "rx-decode.opc" +#line 664 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 626 "rx-decode.opc" +#line 664 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -895,7 +895,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("emul %1%S1, %0"); -#line 626 "rx-decode.opc" +#line 664 "rx-decode.opc" ID(emul); SPm(ss, rsrc, mx); DR(rdst); /*----------------------------------------------------------------------*/ @@ -913,13 +913,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_11: { /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */ -#line 638 "rx-decode.opc" +#line 676 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 638 "rx-decode.opc" +#line 676 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 638 "rx-decode.opc" +#line 676 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 638 "rx-decode.opc" +#line 676 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -932,7 +932,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("emulu %1%S1, %0"); -#line 638 "rx-decode.opc" +#line 676 "rx-decode.opc" ID(emulu); SPm(ss, rsrc, mx); DR(rdst); /*----------------------------------------------------------------------*/ @@ -950,13 +950,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_12: { /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */ -#line 650 "rx-decode.opc" +#line 688 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 650 "rx-decode.opc" +#line 688 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 650 "rx-decode.opc" +#line 688 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 650 "rx-decode.opc" +#line 688 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -969,7 +969,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("div %1%S1, %0"); -#line 650 "rx-decode.opc" +#line 688 "rx-decode.opc" ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___; /*----------------------------------------------------------------------*/ @@ -987,13 +987,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_13: { /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */ -#line 662 "rx-decode.opc" +#line 700 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 662 "rx-decode.opc" +#line 700 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 662 "rx-decode.opc" +#line 700 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 662 "rx-decode.opc" +#line 700 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -1006,7 +1006,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("divu %1%S1, %0"); -#line 662 "rx-decode.opc" +#line 700 "rx-decode.opc" ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___; /*----------------------------------------------------------------------*/ @@ -1135,13 +1135,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_17: { /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */ -#line 891 "rx-decode.opc" +#line 929 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 891 "rx-decode.opc" +#line 929 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 891 "rx-decode.opc" +#line 929 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 891 "rx-decode.opc" +#line 929 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -1154,7 +1154,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("itof %1%S1, %0"); -#line 891 "rx-decode.opc" +#line 929 "rx-decode.opc" ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_; /*----------------------------------------------------------------------*/ @@ -1164,6 +1164,40 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + op_semantics_18: + { + /** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */ +#line 1115 "rx-decode.opc" + int mx AU = (op[1] >> 6) & 0x03; +#line 1115 "rx-decode.opc" + int sd AU = op[1] & 0x03; +#line 1115 "rx-decode.opc" + int rsrc AU = (op[3] >> 4) & 0x0f; +#line 1115 "rx-decode.opc" + int rdst AU = op[3] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", + "/** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */", + op[0], op[1], op[2], op[3]); + printf (" mx = 0x%x,", mx); + printf (" sd = 0x%x,", sd); + printf (" rsrc = 0x%x,", rsrc); + printf (" rdst = 0x%x\n", rdst); + } + SYNTAX("utof %1%S1, %0"); +#line 1115 "rx-decode.opc" + ID(utof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_; + + } + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -1270,6 +1304,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -1376,6 +1419,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -1482,6 +1534,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -1804,6 +1865,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -1910,6 +1980,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -2016,6 +2095,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -2122,6 +2210,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -2359,7 +2456,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[3] & 0x00) { case 0x00: - op_semantics_18: + op_semantics_19: { /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */ #line 494 "rx-decode.opc" @@ -2478,6 +2575,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -2499,7 +2605,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[3] & 0x00) { case 0x00: - goto op_semantics_18; + goto op_semantics_19; break; } break; @@ -2593,6 +2699,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -2614,7 +2729,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[3] & 0x00) { case 0x00: - goto op_semantics_18; + goto op_semantics_19; break; } break; @@ -2708,6 +2823,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -2729,7 +2853,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[3] & 0x00) { case 0x00: - goto op_semantics_18; + goto op_semantics_19; break; } break; @@ -2823,6 +2947,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -3145,6 +3278,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -3251,6 +3393,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -3357,6 +3508,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -3463,6 +3623,15 @@ rx_decode_opcode (unsigned long pc AU, break; } break; + case 0x15: + GETBYTE (); + switch (op[3] & 0x00) + { + case 0x00: + goto op_semantics_18; + break; + } + break; default: UNSUPPORTED(); break; } break; @@ -3479,7 +3648,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x0f: { /** 0000 1dsp bra.s %a0 */ -#line 737 "rx-decode.opc" +#line 775 "rx-decode.opc" int dsp AU = op[0] & 0x07; if (trace) { @@ -3489,7 +3658,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" dsp = 0x%x\n", dsp); } SYNTAX("bra.s %a0"); -#line 737 "rx-decode.opc" +#line 775 "rx-decode.opc" ID(branch); DC(pc + dsp3map[dsp]); } @@ -3512,9 +3681,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x1f: { /** 0001 n dsp b%1.s %a0 */ -#line 727 "rx-decode.opc" +#line 765 "rx-decode.opc" int n AU = (op[0] >> 3) & 0x01; -#line 727 "rx-decode.opc" +#line 765 "rx-decode.opc" int dsp AU = op[0] & 0x07; if (trace) { @@ -3525,7 +3694,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" dsp = 0x%x\n", dsp); } SYNTAX("b%1.s %a0"); -#line 727 "rx-decode.opc" +#line 765 "rx-decode.opc" ID(branch); Scc(n); DC(pc + dsp3map[dsp]); } @@ -3547,7 +3716,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x2f: { /** 0010 cond b%1.b %a0 */ -#line 730 "rx-decode.opc" +#line 768 "rx-decode.opc" int cond AU = op[0] & 0x0f; if (trace) { @@ -3557,7 +3726,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" cond = 0x%x\n", cond); } SYNTAX("b%1.b %a0"); -#line 730 "rx-decode.opc" +#line 768 "rx-decode.opc" ID(branch); Scc(cond); DC(pc + IMMex (1)); } @@ -3572,7 +3741,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("bra.b %a0"); -#line 740 "rx-decode.opc" +#line 778 "rx-decode.opc" ID(branch); DC(pc + IMMex(1)); } @@ -3587,7 +3756,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("bra.w %a0"); -#line 743 "rx-decode.opc" +#line 781 "rx-decode.opc" ID(branch); DC(pc + IMMex(2)); } @@ -3602,7 +3771,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("bsr.w %a0"); -#line 759 "rx-decode.opc" +#line 797 "rx-decode.opc" ID(jsr); DC(pc + IMMex(2)); } @@ -3611,7 +3780,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x3b: { /** 0011 101c b%1.w %a0 */ -#line 733 "rx-decode.opc" +#line 771 "rx-decode.opc" int c AU = op[0] & 0x01; if (trace) { @@ -3621,7 +3790,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" c = 0x%x\n", c); } SYNTAX("b%1.w %a0"); -#line 733 "rx-decode.opc" +#line 771 "rx-decode.opc" ID(branch); Scc(c); DC(pc + IMMex (2)); @@ -3632,7 +3801,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_19: + op_semantics_20: { /** 0011 11sz d dst sppp mov%s #%1, %0 */ #line 307 "rx-decode.opc" @@ -3666,7 +3835,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_19; + goto op_semantics_20; break; } break; @@ -3675,7 +3844,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_19; + goto op_semantics_20; break; } break; @@ -3714,7 +3883,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_20: + op_semantics_21: { /** 0100 00ss rsrc rdst sub %2%S2, %1 */ #line 539 "rx-decode.opc" @@ -3745,7 +3914,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_20; + goto op_semantics_21; break; } break; @@ -3754,7 +3923,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_20; + goto op_semantics_21; break; } break; @@ -3763,7 +3932,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_20; + goto op_semantics_21; break; } break; @@ -3772,7 +3941,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_21: + op_semantics_22: { /** 0100 01ss rsrc rdst cmp %2%S2, %1 */ #line 527 "rx-decode.opc" @@ -3803,7 +3972,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_21; + goto op_semantics_22; break; } break; @@ -3812,7 +3981,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_21; + goto op_semantics_22; break; } break; @@ -3821,7 +3990,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_21; + goto op_semantics_22; break; } break; @@ -3830,7 +3999,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_22: + op_semantics_23: { /** 0100 10ss rsrc rdst add %1%S1, %0 */ #line 503 "rx-decode.opc" @@ -3861,7 +4030,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_22; + goto op_semantics_23; break; } break; @@ -3870,7 +4039,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_22; + goto op_semantics_23; break; } break; @@ -3879,7 +4048,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_22; + goto op_semantics_23; break; } break; @@ -3888,14 +4057,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_23: + op_semantics_24: { /** 0100 11ss rsrc rdst mul %1%S1, %0 */ -#line 608 "rx-decode.opc" +#line 646 "rx-decode.opc" int ss AU = op[0] & 0x03; -#line 608 "rx-decode.opc" +#line 646 "rx-decode.opc" int rsrc AU = (op[1] >> 4) & 0x0f; -#line 608 "rx-decode.opc" +#line 646 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -3907,7 +4076,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mul %1%S1, %0"); -#line 608 "rx-decode.opc" +#line 646 "rx-decode.opc" ID(mul); SP(ss, rsrc); DR(rdst); F_____; } @@ -3919,7 +4088,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_23; + goto op_semantics_24; break; } break; @@ -3928,7 +4097,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_23; + goto op_semantics_24; break; } break; @@ -3937,7 +4106,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_23; + goto op_semantics_24; break; } break; @@ -3946,7 +4115,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_24: + op_semantics_25: { /** 0101 00ss rsrc rdst and %1%S1, %0 */ #line 416 "rx-decode.opc" @@ -3977,7 +4146,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_24; + goto op_semantics_25; break; } break; @@ -3986,7 +4155,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_24; + goto op_semantics_25; break; } break; @@ -3995,7 +4164,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_24; + goto op_semantics_25; break; } break; @@ -4004,7 +4173,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_25: + op_semantics_26: { /** 0101 01ss rsrc rdst or %1%S1, %0 */ #line 434 "rx-decode.opc" @@ -4035,7 +4204,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_25; + goto op_semantics_26; break; } break; @@ -4044,7 +4213,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_25; + goto op_semantics_26; break; } break; @@ -4053,7 +4222,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_25; + goto op_semantics_26; break; } break; @@ -4062,7 +4231,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_26: + op_semantics_27: { /** 0101 1 s ss rsrc rdst movu%s %1, %0 */ #line 355 "rx-decode.opc" @@ -4096,7 +4265,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_26; + goto op_semantics_27; break; } break; @@ -4105,7 +4274,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_26; + goto op_semantics_27; break; } break; @@ -4114,7 +4283,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_26; + goto op_semantics_27; break; } break; @@ -4123,7 +4292,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_26; + goto op_semantics_27; break; } break; @@ -4132,7 +4301,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_26; + goto op_semantics_27; break; } break; @@ -4141,7 +4310,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_26; + goto op_semantics_27; break; } break; @@ -4150,7 +4319,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_26; + goto op_semantics_27; break; } break; @@ -4242,9 +4411,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0110 0011 immm rdst mul #%1, %0 */ -#line 602 "rx-decode.opc" +#line 612 "rx-decode.opc" int immm AU = (op[1] >> 4) & 0x0f; -#line 602 "rx-decode.opc" +#line 612 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4255,17 +4424,18 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mul #%1, %0"); -#line 602 "rx-decode.opc" - if (immm == 1 && rdst == 0) - { - ID(nop2); - SYNTAX ("nop\t; mul\t#1, r0"); - } - else - { - ID(mul); - } - DR(rdst); SC(immm); F_____; +#line 612 "rx-decode.opc" + if (immm == 1 && rdst == 0) + { + ID(nop2); + SYNTAX ("nop\t; mul\t#1, r0"); + } + else + { + ID(mul); + } + DR(rdst); SC(immm); F_____; + } break; } @@ -4371,14 +4541,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_27: + op_semantics_28: { /** 0110 100i mmmm rdst shlr #%2, %0 */ -#line 688 "rx-decode.opc" +#line 726 "rx-decode.opc" int i AU = op[0] & 0x01; -#line 688 "rx-decode.opc" +#line 726 "rx-decode.opc" int mmmm AU = (op[1] >> 4) & 0x0f; -#line 688 "rx-decode.opc" +#line 726 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4390,7 +4560,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shlr #%2, %0"); -#line 688 "rx-decode.opc" +#line 726 "rx-decode.opc" ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC; } @@ -4402,7 +4572,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_27; + goto op_semantics_28; break; } break; @@ -4411,14 +4581,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_28: + op_semantics_29: { /** 0110 101i mmmm rdst shar #%2, %0 */ -#line 678 "rx-decode.opc" +#line 716 "rx-decode.opc" int i AU = op[0] & 0x01; -#line 678 "rx-decode.opc" +#line 716 "rx-decode.opc" int mmmm AU = (op[1] >> 4) & 0x0f; -#line 678 "rx-decode.opc" +#line 716 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4430,7 +4600,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shar #%2, %0"); -#line 678 "rx-decode.opc" +#line 716 "rx-decode.opc" ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC; } @@ -4442,7 +4612,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_28; + goto op_semantics_29; break; } break; @@ -4451,14 +4621,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_29: + op_semantics_30: { /** 0110 110i mmmm rdst shll #%2, %0 */ -#line 668 "rx-decode.opc" +#line 706 "rx-decode.opc" int i AU = op[0] & 0x01; -#line 668 "rx-decode.opc" +#line 706 "rx-decode.opc" int mmmm AU = (op[1] >> 4) & 0x0f; -#line 668 "rx-decode.opc" +#line 706 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4470,7 +4640,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shll #%2, %0"); -#line 668 "rx-decode.opc" +#line 706 "rx-decode.opc" ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC; } @@ -4482,7 +4652,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_29; + goto op_semantics_30; break; } break; @@ -4545,7 +4715,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_30: + op_semantics_31: { /** 0111 00im rsrc rdst add #%1, %2, %0 */ #line 509 "rx-decode.opc" @@ -4576,7 +4746,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_30; + goto op_semantics_31; break; } break; @@ -4585,7 +4755,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_30; + goto op_semantics_31; break; } break; @@ -4594,7 +4764,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_30; + goto op_semantics_31; break; } break; @@ -4603,7 +4773,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0xf0) { case 0x00: - op_semantics_31: + op_semantics_32: { /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */ #line 521 "rx-decode.opc" @@ -4625,14 +4795,13 @@ rx_decode_opcode (unsigned long pc AU, } break; case 0x10: - op_semantics_32: + op_semantics_33: { /** 0111 01im 0001rdst mul #%1, %0 */ -#line 605 "rx-decode.opc" +#line 624 "rx-decode.opc" int im AU = op[0] & 0x03; -#line 605 "rx-decode.opc" +#line 624 "rx-decode.opc" int rdst AU = op[1] & 0x0f; - int val = IMMex(im); if (trace) { printf ("\033[33m%s\033[0m %02x %02x\n", @@ -4642,31 +4811,32 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mul #%1, %0"); -#line 605 "rx-decode.opc" - if (val == 1 && rdst == 0) - { - SYNTAX("nop\t; mul\t#1, r0"); - switch (im) - { - case 2: ID(nop4); break; - case 3: ID(nop5); break; - case 0: ID(nop6); break; - default: - ID(mul); - SYNTAX("mul #%1, %0"); - break; - } - } - else - { - ID(mul); - } - DR(rdst); SC(val); F_____; +#line 624 "rx-decode.opc" + int val = IMMex(im); + if (val == 1 && rdst == 0) + { + SYNTAX("nop\t; mul\t#1, r0"); + switch (im) + { + case 2: ID(nop4); break; + case 3: ID(nop5); break; + case 0: ID(nop6); break; + default: + ID(mul); + SYNTAX("mul #%1, %0"); + break; + } + } + else + { + ID(mul); + } + DR(rdst); SC(val); F_____; } break; case 0x20: - op_semantics_33: + op_semantics_34: { /** 0111 01im 0010 rdst and #%1, %0 */ #line 413 "rx-decode.opc" @@ -4688,7 +4858,7 @@ rx_decode_opcode (unsigned long pc AU, } break; case 0x30: - op_semantics_34: + op_semantics_35: { /** 0111 01im 0011 rdst or #%1, %0 */ #line 431 "rx-decode.opc" @@ -4732,7 +4902,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x0d: case 0x0e: case 0x0f: - goto op_semantics_31; + goto op_semantics_32; break; case 0x10: case 0x11: @@ -4750,7 +4920,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x1d: case 0x1e: case 0x1f: - goto op_semantics_32; + goto op_semantics_33; break; case 0x20: case 0x21: @@ -4768,7 +4938,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x2d: case 0x2e: case 0x2f: - goto op_semantics_33; + goto op_semantics_34; break; case 0x30: case 0x31: @@ -4786,7 +4956,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x3d: case 0x3e: case 0x3f: - goto op_semantics_34; + goto op_semantics_35; break; case 0x40: case 0x41: @@ -4864,7 +5034,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("int #%1"); -#line 993 "rx-decode.opc" +#line 1031 "rx-decode.opc" ID(int); SC(IMM(1)); } @@ -4876,7 +5046,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */ -#line 960 "rx-decode.opc" +#line 998 "rx-decode.opc" int immm AU = op[2] & 0x0f; if (trace) { @@ -4886,7 +5056,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" immm = 0x%x\n", immm); } SYNTAX("mvtipl #%1"); -#line 960 "rx-decode.opc" +#line 998 "rx-decode.opc" ID(mvtipl); SC(immm); } @@ -4902,16 +5072,16 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0xf0) { case 0x00: - goto op_semantics_31; + goto op_semantics_32; break; case 0x10: - goto op_semantics_32; + goto op_semantics_33; break; case 0x20: - goto op_semantics_33; + goto op_semantics_34; break; case 0x30: - goto op_semantics_34; + goto op_semantics_35; break; default: UNSUPPORTED(); break; } @@ -4921,16 +5091,16 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0xf0) { case 0x00: - goto op_semantics_31; + goto op_semantics_32; break; case 0x10: - goto op_semantics_32; + goto op_semantics_33; break; case 0x20: - goto op_semantics_33; + goto op_semantics_34; break; case 0x30: - goto op_semantics_34; + goto op_semantics_35; break; default: UNSUPPORTED(); break; } @@ -4940,14 +5110,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_35: + op_semantics_36: { /** 0111 100b ittt rdst bset #%1, %0 */ -#line 905 "rx-decode.opc" +#line 943 "rx-decode.opc" int b AU = op[0] & 0x01; -#line 905 "rx-decode.opc" +#line 943 "rx-decode.opc" int ittt AU = (op[1] >> 4) & 0x0f; -#line 905 "rx-decode.opc" +#line 943 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4959,7 +5129,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("bset #%1, %0"); -#line 905 "rx-decode.opc" +#line 943 "rx-decode.opc" ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____; @@ -4972,7 +5142,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_35; + goto op_semantics_36; break; } break; @@ -4981,14 +5151,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_36: + op_semantics_37: { /** 0111 101b ittt rdst bclr #%1, %0 */ -#line 917 "rx-decode.opc" +#line 955 "rx-decode.opc" int b AU = op[0] & 0x01; -#line 917 "rx-decode.opc" +#line 955 "rx-decode.opc" int ittt AU = (op[1] >> 4) & 0x0f; -#line 917 "rx-decode.opc" +#line 955 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5000,7 +5170,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("bclr #%1, %0"); -#line 917 "rx-decode.opc" +#line 955 "rx-decode.opc" ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____; @@ -5013,7 +5183,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_36; + goto op_semantics_37; break; } break; @@ -5022,14 +5192,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_37: + op_semantics_38: { /** 0111 110b ittt rdst btst #%2, %1 */ -#line 929 "rx-decode.opc" +#line 967 "rx-decode.opc" int b AU = op[0] & 0x01; -#line 929 "rx-decode.opc" +#line 967 "rx-decode.opc" int ittt AU = (op[1] >> 4) & 0x0f; -#line 929 "rx-decode.opc" +#line 967 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5041,7 +5211,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("btst #%2, %1"); -#line 929 "rx-decode.opc" +#line 967 "rx-decode.opc" ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC; @@ -5054,7 +5224,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_37; + goto op_semantics_38; break; } break; @@ -5119,7 +5289,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x30: { /** 0111 1110 0011 rdst sat %0 */ -#line 843 "rx-decode.opc" +#line 881 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5129,7 +5299,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("sat %0"); -#line 843 "rx-decode.opc" +#line 881 "rx-decode.opc" ID(sat); DR (rdst); } @@ -5137,7 +5307,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x40: { /** 0111 1110 0100 rdst rorc %0 */ -#line 703 "rx-decode.opc" +#line 741 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5147,7 +5317,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("rorc %0"); -#line 703 "rx-decode.opc" +#line 741 "rx-decode.opc" ID(rorc); DR(rdst); F__SZC; } @@ -5155,7 +5325,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x50: { /** 0111 1110 0101 rdst rolc %0 */ -#line 700 "rx-decode.opc" +#line 738 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5165,7 +5335,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("rolc %0"); -#line 700 "rx-decode.opc" +#line 738 "rx-decode.opc" ID(rolc); DR(rdst); F__SZC; } @@ -5215,7 +5385,7 @@ rx_decode_opcode (unsigned long pc AU, case 0xd0: { /** 0111 1110 110 crsrc pushc %1 */ -#line 966 "rx-decode.opc" +#line 1004 "rx-decode.opc" int crsrc AU = op[1] & 0x1f; if (trace) { @@ -5225,7 +5395,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" crsrc = 0x%x\n", crsrc); } SYNTAX("pushc %1"); -#line 966 "rx-decode.opc" +#line 1004 "rx-decode.opc" ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16); } @@ -5234,7 +5404,7 @@ rx_decode_opcode (unsigned long pc AU, case 0xf0: { /** 0111 1110 111 crdst popc %0 */ -#line 963 "rx-decode.opc" +#line 1001 "rx-decode.opc" int crdst AU = op[1] & 0x1f; if (trace) { @@ -5244,7 +5414,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" crdst = 0x%x\n", crdst); } SYNTAX("popc %0"); -#line 963 "rx-decode.opc" +#line 1001 "rx-decode.opc" ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16); } @@ -5274,7 +5444,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x0f: { /** 0111 1111 0000 rsrc jmp %0 */ -#line 753 "rx-decode.opc" +#line 791 "rx-decode.opc" int rsrc AU = op[1] & 0x0f; if (trace) { @@ -5284,7 +5454,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("jmp %0"); -#line 753 "rx-decode.opc" +#line 791 "rx-decode.opc" ID(branch); DR(rsrc); } @@ -5307,7 +5477,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x1f: { /** 0111 1111 0001 rsrc jsr %0 */ -#line 756 "rx-decode.opc" +#line 794 "rx-decode.opc" int rsrc AU = op[1] & 0x0f; if (trace) { @@ -5317,7 +5487,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("jsr %0"); -#line 756 "rx-decode.opc" +#line 794 "rx-decode.opc" ID(jsr); DR(rsrc); } @@ -5340,7 +5510,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x4f: { /** 0111 1111 0100 rsrc bra.l %0 */ -#line 749 "rx-decode.opc" +#line 787 "rx-decode.opc" int rsrc AU = op[1] & 0x0f; if (trace) { @@ -5350,7 +5520,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("bra.l %0"); -#line 749 "rx-decode.opc" +#line 787 "rx-decode.opc" ID(branchrel); DR(rsrc); @@ -5374,7 +5544,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x5f: { /** 0111 1111 0101 rsrc bsr.l %0 */ -#line 765 "rx-decode.opc" +#line 803 "rx-decode.opc" int rsrc AU = op[1] & 0x0f; if (trace) { @@ -5384,7 +5554,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("bsr.l %0"); -#line 765 "rx-decode.opc" +#line 803 "rx-decode.opc" ID(jsrrel); DR(rsrc); } @@ -5394,7 +5564,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x82: { /** 0111 1111 1000 00sz suntil%s */ -#line 789 "rx-decode.opc" +#line 827 "rx-decode.opc" int sz AU = op[1] & 0x03; if (trace) { @@ -5404,7 +5574,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" sz = 0x%x\n", sz); } SYNTAX("suntil%s"); -#line 789 "rx-decode.opc" +#line 827 "rx-decode.opc" ID(suntil); BWL(sz); F___ZC; } @@ -5419,7 +5589,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("scmpu"); -#line 780 "rx-decode.opc" +#line 818 "rx-decode.opc" ID(scmpu); F___ZC; } @@ -5429,7 +5599,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x86: { /** 0111 1111 1000 01sz swhile%s */ -#line 792 "rx-decode.opc" +#line 830 "rx-decode.opc" int sz AU = op[1] & 0x03; if (trace) { @@ -5439,7 +5609,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" sz = 0x%x\n", sz); } SYNTAX("swhile%s"); -#line 792 "rx-decode.opc" +#line 830 "rx-decode.opc" ID(swhile); BWL(sz); F___ZC; } @@ -5454,7 +5624,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("smovu"); -#line 783 "rx-decode.opc" +#line 821 "rx-decode.opc" ID(smovu); } @@ -5464,7 +5634,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x8a: { /** 0111 1111 1000 10sz sstr%s */ -#line 798 "rx-decode.opc" +#line 836 "rx-decode.opc" int sz AU = op[1] & 0x03; if (trace) { @@ -5474,7 +5644,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" sz = 0x%x\n", sz); } SYNTAX("sstr%s"); -#line 798 "rx-decode.opc" +#line 836 "rx-decode.opc" ID(sstr); BWL(sz); /*----------------------------------------------------------------------*/ @@ -5492,7 +5662,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("smovb"); -#line 786 "rx-decode.opc" +#line 824 "rx-decode.opc" ID(smovb); } @@ -5502,7 +5672,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x8e: { /** 0111 1111 1000 11sz rmpa%s */ -#line 804 "rx-decode.opc" +#line 842 "rx-decode.opc" int sz AU = op[1] & 0x03; if (trace) { @@ -5512,7 +5682,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" sz = 0x%x\n", sz); } SYNTAX("rmpa%s"); -#line 804 "rx-decode.opc" +#line 842 "rx-decode.opc" ID(rmpa); BWL(sz); F_OS__; /*----------------------------------------------------------------------*/ @@ -5530,7 +5700,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("smovf"); -#line 795 "rx-decode.opc" +#line 833 "rx-decode.opc" ID(smovf); } @@ -5545,7 +5715,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("satr"); -#line 846 "rx-decode.opc" +#line 884 "rx-decode.opc" ID(satr); /*----------------------------------------------------------------------*/ @@ -5563,7 +5733,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("rtfi"); -#line 981 "rx-decode.opc" +#line 1019 "rx-decode.opc" ID(rtfi); } @@ -5578,7 +5748,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("rte"); -#line 984 "rx-decode.opc" +#line 1022 "rx-decode.opc" ID(rte); } @@ -5593,7 +5763,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("wait"); -#line 996 "rx-decode.opc" +#line 1034 "rx-decode.opc" ID(wait); /*----------------------------------------------------------------------*/ @@ -5619,7 +5789,7 @@ rx_decode_opcode (unsigned long pc AU, case 0xaf: { /** 0111 1111 1010 rdst setpsw %0 */ -#line 957 "rx-decode.opc" +#line 995 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5629,7 +5799,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("setpsw %0"); -#line 957 "rx-decode.opc" +#line 995 "rx-decode.opc" ID(setpsw); DF(rdst); } @@ -5652,7 +5822,7 @@ rx_decode_opcode (unsigned long pc AU, case 0xbf: { /** 0111 1111 1011 rdst clrpsw %0 */ -#line 954 "rx-decode.opc" +#line 992 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5662,7 +5832,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("clrpsw %0"); -#line 954 "rx-decode.opc" +#line 992 "rx-decode.opc" ID(clrpsw); DF(rdst); } @@ -5675,7 +5845,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_38: + op_semantics_39: { /** 10sz 0dsp a dst b src mov%s %1, %0 */ #line 332 "rx-decode.opc" @@ -5715,7 +5885,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5724,7 +5894,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5733,7 +5903,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5742,7 +5912,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5751,7 +5921,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5760,7 +5930,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5769,7 +5939,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5778,7 +5948,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_39: + op_semantics_40: { /** 10sz 1dsp a src b dst mov%s %1, %0 */ #line 329 "rx-decode.opc" @@ -5818,7 +5988,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -5827,7 +5997,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -5836,7 +6006,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -5845,7 +6015,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -5854,7 +6024,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -5863,7 +6033,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -5872,7 +6042,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -5881,7 +6051,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5890,7 +6060,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5899,7 +6069,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5908,7 +6078,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5917,7 +6087,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5926,7 +6096,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5935,7 +6105,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5944,7 +6114,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -5953,7 +6123,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -5962,7 +6132,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -5971,7 +6141,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -5980,7 +6150,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -5989,7 +6159,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -5998,7 +6168,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -6007,7 +6177,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -6016,7 +6186,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -6025,7 +6195,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -6034,7 +6204,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -6043,7 +6213,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -6052,7 +6222,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -6061,7 +6231,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -6070,7 +6240,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -6079,7 +6249,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -6088,7 +6258,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_38; + goto op_semantics_39; break; } break; @@ -6097,7 +6267,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -6106,7 +6276,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -6115,7 +6285,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -6124,7 +6294,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -6133,7 +6303,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -6142,7 +6312,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -6151,7 +6321,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -6160,7 +6330,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_39; + goto op_semantics_40; break; } break; @@ -6169,7 +6339,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_40: + op_semantics_41: { /** 1011 w dsp a src b dst movu%s %1, %0 */ #line 352 "rx-decode.opc" @@ -6209,7 +6379,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6218,7 +6388,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6227,7 +6397,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6236,7 +6406,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6245,7 +6415,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6254,7 +6424,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6263,7 +6433,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6272,7 +6442,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6281,7 +6451,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6290,7 +6460,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6299,7 +6469,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6308,7 +6478,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6317,7 +6487,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6326,7 +6496,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6335,7 +6505,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_40; + goto op_semantics_41; break; } break; @@ -6344,7 +6514,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_41: + op_semantics_42: { /** 11sz sd ss rsrc rdst mov%s %1, %0 */ #line 310 "rx-decode.opc" @@ -6379,13 +6549,13 @@ rx_decode_opcode (unsigned long pc AU, { ID(mov); sBWL(sz); F_____; if ((ss == 3) && (sd != 3)) - { - SD(ss, rdst, sz); DD(sd, rsrc, sz); - } + { + SD(ss, rdst, sz); DD(sd, rsrc, sz); + } else - { - SD(ss, rsrc, sz); DD(sd, rdst, sz); - } + { + SD(ss, rsrc, sz); DD(sd, rdst, sz); + } } } @@ -6397,7 +6567,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6406,7 +6576,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6415,7 +6585,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6424,7 +6594,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6433,7 +6603,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6442,7 +6612,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6451,7 +6621,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6460,7 +6630,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6469,7 +6639,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6478,7 +6648,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6487,7 +6657,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6496,7 +6666,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6505,7 +6675,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6514,7 +6684,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6523,7 +6693,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6532,7 +6702,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6541,7 +6711,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6550,7 +6720,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6559,7 +6729,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6568,7 +6738,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6577,7 +6747,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6586,7 +6756,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6595,7 +6765,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6604,7 +6774,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6613,7 +6783,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6622,7 +6792,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6631,7 +6801,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6640,7 +6810,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6649,7 +6819,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6658,7 +6828,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6667,7 +6837,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6676,7 +6846,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6685,7 +6855,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6694,7 +6864,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6703,7 +6873,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6712,7 +6882,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6721,7 +6891,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6730,7 +6900,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6739,7 +6909,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6748,7 +6918,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6757,7 +6927,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6766,7 +6936,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6775,7 +6945,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6784,7 +6954,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6793,7 +6963,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6802,7 +6972,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6811,7 +6981,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_41; + goto op_semantics_42; break; } break; @@ -6820,14 +6990,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x08) { case 0x00: - op_semantics_42: + op_semantics_43: { /** 1111 00sd rdst 0bit bset #%1, %0%S0 */ -#line 897 "rx-decode.opc" +#line 935 "rx-decode.opc" int sd AU = op[0] & 0x03; -#line 897 "rx-decode.opc" +#line 935 "rx-decode.opc" int rdst AU = (op[1] >> 4) & 0x0f; -#line 897 "rx-decode.opc" +#line 935 "rx-decode.opc" int bit AU = op[1] & 0x07; if (trace) { @@ -6839,20 +7009,20 @@ rx_decode_opcode (unsigned long pc AU, printf (" bit = 0x%x\n", bit); } SYNTAX("bset #%1, %0%S0"); -#line 897 "rx-decode.opc" +#line 935 "rx-decode.opc" ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____; } break; case 0x08: - op_semantics_43: + op_semantics_44: { /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */ -#line 909 "rx-decode.opc" +#line 947 "rx-decode.opc" int sd AU = op[0] & 0x03; -#line 909 "rx-decode.opc" +#line 947 "rx-decode.opc" int rdst AU = (op[1] >> 4) & 0x0f; -#line 909 "rx-decode.opc" +#line 947 "rx-decode.opc" int bit AU = op[1] & 0x07; if (trace) { @@ -6864,7 +7034,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" bit = 0x%x\n", bit); } SYNTAX("bclr #%1, %0%S0"); -#line 909 "rx-decode.opc" +#line 947 "rx-decode.opc" ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____; } @@ -6876,10 +7046,10 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x08) { case 0x00: - goto op_semantics_42; + goto op_semantics_43; break; case 0x08: - goto op_semantics_43; + goto op_semantics_44; break; } break; @@ -6888,10 +7058,10 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x08) { case 0x00: - goto op_semantics_42; + goto op_semantics_43; break; case 0x08: - goto op_semantics_43; + goto op_semantics_44; break; } break; @@ -6900,10 +7070,10 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x08) { case 0x00: - goto op_semantics_42; + goto op_semantics_43; break; case 0x08: - goto op_semantics_43; + goto op_semantics_44; break; } break; @@ -6913,14 +7083,14 @@ rx_decode_opcode (unsigned long pc AU, { case 0x00: case 0x04: - op_semantics_44: + op_semantics_45: { /** 1111 01sd rdst 0bit btst #%2, %1%S1 */ -#line 921 "rx-decode.opc" +#line 959 "rx-decode.opc" int sd AU = op[0] & 0x03; -#line 921 "rx-decode.opc" +#line 959 "rx-decode.opc" int rdst AU = (op[1] >> 4) & 0x0f; -#line 921 "rx-decode.opc" +#line 959 "rx-decode.opc" int bit AU = op[1] & 0x07; if (trace) { @@ -6932,13 +7102,13 @@ rx_decode_opcode (unsigned long pc AU, printf (" bit = 0x%x\n", bit); } SYNTAX("btst #%2, %1%S1"); -#line 921 "rx-decode.opc" +#line 959 "rx-decode.opc" ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC; } break; case 0x08: - op_semantics_45: + op_semantics_46: { /** 1111 01ss rsrc 10sz push%s %1 */ #line 377 "rx-decode.opc" @@ -6974,10 +7144,10 @@ rx_decode_opcode (unsigned long pc AU, { case 0x00: case 0x04: - goto op_semantics_44; + goto op_semantics_45; break; case 0x08: - goto op_semantics_45; + goto op_semantics_46; break; default: UNSUPPORTED(); break; } @@ -6988,10 +7158,10 @@ rx_decode_opcode (unsigned long pc AU, { case 0x00: case 0x04: - goto op_semantics_44; + goto op_semantics_45; break; case 0x08: - goto op_semantics_45; + goto op_semantics_46; break; default: UNSUPPORTED(); break; } @@ -7002,10 +7172,10 @@ rx_decode_opcode (unsigned long pc AU, { case 0x00: case 0x04: - goto op_semantics_44; + goto op_semantics_45; break; case 0x08: - goto op_semantics_45; + goto op_semantics_46; break; default: UNSUPPORTED(); break; } @@ -7015,7 +7185,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - op_semantics_46: + op_semantics_47: { /** 1111 10sd rdst im sz mov%s #%1, %0 */ #line 288 "rx-decode.opc" @@ -7062,7 +7232,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_46; + goto op_semantics_47; break; } break; @@ -7071,7 +7241,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_46; + goto op_semantics_47; break; } break; @@ -7080,7 +7250,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[1] & 0x00) { case 0x00: - goto op_semantics_46; + goto op_semantics_47; break; } break; @@ -7208,14 +7378,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_47: + op_semantics_48: { /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */ -#line 573 "rx-decode.opc" +#line 583 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 573 "rx-decode.opc" +#line 583 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 573 "rx-decode.opc" +#line 583 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7227,11 +7397,11 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("max %1%S1, %0"); -#line 573 "rx-decode.opc" +#line 583 "rx-decode.opc" if (ss == 3 && rsrc == 0 && rdst == 0) { ID(nop3); - SYNTAX ("nop\t; max\tr0, r0"); + SYNTAX("nop\t; max\tr0, r0"); } else { @@ -7247,7 +7417,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_47; + goto op_semantics_48; break; } break; @@ -7256,7 +7426,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_47; + goto op_semantics_48; break; } break; @@ -7265,7 +7435,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_47; + goto op_semantics_48; break; } break; @@ -7274,14 +7444,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_48: + op_semantics_49: { /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */ -#line 593 "rx-decode.opc" +#line 603 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 593 "rx-decode.opc" +#line 603 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 593 "rx-decode.opc" +#line 603 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7293,7 +7463,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("min %1%S1, %0"); -#line 593 "rx-decode.opc" +#line 603 "rx-decode.opc" ID(min); SP(ss, rsrc); DR(rdst); } @@ -7305,7 +7475,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_48; + goto op_semantics_49; break; } break; @@ -7314,7 +7484,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_48; + goto op_semantics_49; break; } break; @@ -7323,7 +7493,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_48; + goto op_semantics_49; break; } break; @@ -7332,14 +7502,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_49: + op_semantics_50: { /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */ -#line 623 "rx-decode.opc" +#line 661 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 623 "rx-decode.opc" +#line 661 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 623 "rx-decode.opc" +#line 661 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7351,7 +7521,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("emul %1%S1, %0"); -#line 623 "rx-decode.opc" +#line 661 "rx-decode.opc" ID(emul); SP(ss, rsrc); DR(rdst); } @@ -7363,7 +7533,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_49; + goto op_semantics_50; break; } break; @@ -7372,7 +7542,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_49; + goto op_semantics_50; break; } break; @@ -7381,7 +7551,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_49; + goto op_semantics_50; break; } break; @@ -7390,14 +7560,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_50: + op_semantics_51: { /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */ -#line 635 "rx-decode.opc" +#line 673 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 635 "rx-decode.opc" +#line 673 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 635 "rx-decode.opc" +#line 673 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7409,7 +7579,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("emulu %1%S1, %0"); -#line 635 "rx-decode.opc" +#line 673 "rx-decode.opc" ID(emulu); SP(ss, rsrc); DR(rdst); } @@ -7421,7 +7591,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_50; + goto op_semantics_51; break; } break; @@ -7430,7 +7600,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_50; + goto op_semantics_51; break; } break; @@ -7439,7 +7609,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_50; + goto op_semantics_51; break; } break; @@ -7448,14 +7618,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_51: + op_semantics_52: { /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */ -#line 647 "rx-decode.opc" +#line 685 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 647 "rx-decode.opc" +#line 685 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 647 "rx-decode.opc" +#line 685 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7467,7 +7637,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("div %1%S1, %0"); -#line 647 "rx-decode.opc" +#line 685 "rx-decode.opc" ID(div); SP(ss, rsrc); DR(rdst); F_O___; } @@ -7479,7 +7649,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_51; + goto op_semantics_52; break; } break; @@ -7488,7 +7658,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_51; + goto op_semantics_52; break; } break; @@ -7497,7 +7667,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_51; + goto op_semantics_52; break; } break; @@ -7506,14 +7676,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_52: + op_semantics_53: { /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */ -#line 659 "rx-decode.opc" +#line 697 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 659 "rx-decode.opc" +#line 697 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 659 "rx-decode.opc" +#line 697 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7525,7 +7695,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("divu %1%S1, %0"); -#line 659 "rx-decode.opc" +#line 697 "rx-decode.opc" ID(divu); SP(ss, rsrc); DR(rdst); F_O___; } @@ -7537,7 +7707,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_52; + goto op_semantics_53; break; } break; @@ -7546,7 +7716,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_52; + goto op_semantics_53; break; } break; @@ -7555,7 +7725,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_52; + goto op_semantics_53; break; } break; @@ -7564,7 +7734,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_53: + op_semantics_54: { /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */ #line 470 "rx-decode.opc" @@ -7595,7 +7765,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_53; + goto op_semantics_54; break; } break; @@ -7604,7 +7774,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_53; + goto op_semantics_54; break; } break; @@ -7613,7 +7783,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_53; + goto op_semantics_54; break; } break; @@ -7622,7 +7792,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_54: + op_semantics_55: { /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */ #line 449 "rx-decode.opc" @@ -7653,7 +7823,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_54; + goto op_semantics_55; break; } break; @@ -7662,7 +7832,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_54; + goto op_semantics_55; break; } break; @@ -7671,7 +7841,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_54; + goto op_semantics_55; break; } break; @@ -7710,7 +7880,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_55: + op_semantics_56: { /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */ #line 383 "rx-decode.opc" @@ -7741,7 +7911,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_55; + goto op_semantics_56; break; } break; @@ -7750,7 +7920,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_55; + goto op_semantics_56; break; } break; @@ -7759,7 +7929,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_55; + goto op_semantics_56; break; } break; @@ -7768,14 +7938,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_56: + op_semantics_57: { /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */ -#line 888 "rx-decode.opc" +#line 926 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 888 "rx-decode.opc" +#line 926 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 888 "rx-decode.opc" +#line 926 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7787,7 +7957,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("itof %1%S1, %0"); -#line 888 "rx-decode.opc" +#line 926 "rx-decode.opc" ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_; } @@ -7799,7 +7969,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_56; + goto op_semantics_57; break; } break; @@ -7808,7 +7978,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_56; + goto op_semantics_57; break; } break; @@ -7817,7 +7987,119 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_56; + goto op_semantics_57; + break; + } + break; + case 0x4b: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + { + /** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */ +#line 1052 "rx-decode.opc" + int rsrc AU = (op[2] >> 4) & 0x0f; +#line 1052 "rx-decode.opc" + int rdst AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */", + op[0], op[1], op[2]); + printf (" rsrc = 0x%x,", rsrc); + printf (" rdst = 0x%x\n", rdst); + } + SYNTAX("stz %1, %0"); +#line 1052 "rx-decode.opc" + ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z); + + } + break; + } + break; + case 0x4f: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + { + /** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */ +#line 1055 "rx-decode.opc" + int rsrc AU = (op[2] >> 4) & 0x0f; +#line 1055 "rx-decode.opc" + int rdst AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */", + op[0], op[1], op[2]); + printf (" rsrc = 0x%x,", rsrc); + printf (" rdst = 0x%x\n", rdst); + } + SYNTAX("stnz %1, %0"); +#line 1055 "rx-decode.opc" + ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z); + + } + break; + } + break; + case 0x54: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_58: + { + /** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */ +#line 1112 "rx-decode.opc" + int sd AU = op[1] & 0x03; +#line 1112 "rx-decode.opc" + int rsrc AU = (op[2] >> 4) & 0x0f; +#line 1112 "rx-decode.opc" + int rdst AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */", + op[0], op[1], op[2]); + printf (" sd = 0x%x,", sd); + printf (" rsrc = 0x%x,", rsrc); + printf (" rdst = 0x%x\n", rdst); + } + SYNTAX("utof %1%S1, %0"); +#line 1112 "rx-decode.opc" + ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_; + + } + break; + } + break; + case 0x55: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_58; + break; + } + break; + case 0x56: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_58; + break; + } + break; + case 0x57: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_58; break; } break; @@ -7826,14 +8108,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_57: + op_semantics_59: { /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */ -#line 900 "rx-decode.opc" +#line 938 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 900 "rx-decode.opc" +#line 938 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 900 "rx-decode.opc" +#line 938 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { @@ -7845,7 +8127,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("bset %1, %0%S0"); -#line 900 "rx-decode.opc" +#line 938 "rx-decode.opc" ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____; if (sd == 3) /* bset reg,reg */ BWL(LSIZE); @@ -7859,7 +8141,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_57; + goto op_semantics_59; break; } break; @@ -7868,7 +8150,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_57; + goto op_semantics_59; break; } break; @@ -7877,7 +8159,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_57; + goto op_semantics_59; break; } break; @@ -7886,14 +8168,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_58: + op_semantics_60: { /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */ -#line 912 "rx-decode.opc" +#line 950 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 912 "rx-decode.opc" +#line 950 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 912 "rx-decode.opc" +#line 950 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { @@ -7905,7 +8187,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("bclr %1, %0%S0"); -#line 912 "rx-decode.opc" +#line 950 "rx-decode.opc" ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____; if (sd == 3) /* bset reg,reg */ BWL(LSIZE); @@ -7919,7 +8201,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_58; + goto op_semantics_60; break; } break; @@ -7928,7 +8210,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_58; + goto op_semantics_60; break; } break; @@ -7937,7 +8219,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_58; + goto op_semantics_60; break; } break; @@ -7946,14 +8228,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_59: + op_semantics_61: { /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */ -#line 924 "rx-decode.opc" +#line 962 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 924 "rx-decode.opc" +#line 962 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 924 "rx-decode.opc" +#line 962 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { @@ -7965,7 +8247,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("btst %2, %1%S1"); -#line 924 "rx-decode.opc" +#line 962 "rx-decode.opc" ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC; if (sd == 3) /* bset reg,reg */ BWL(LSIZE); @@ -7979,7 +8261,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_59; + goto op_semantics_61; break; } break; @@ -7988,7 +8270,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_59; + goto op_semantics_61; break; } break; @@ -7997,7 +8279,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_59; + goto op_semantics_61; break; } break; @@ -8006,14 +8288,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_60: + op_semantics_62: { /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */ -#line 936 "rx-decode.opc" +#line 974 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 936 "rx-decode.opc" +#line 974 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 936 "rx-decode.opc" +#line 974 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { @@ -8025,7 +8307,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("bnot %1, %0%S0"); -#line 936 "rx-decode.opc" +#line 974 "rx-decode.opc" ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); if (sd == 3) /* bset reg,reg */ BWL(LSIZE); @@ -8039,7 +8321,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_60; + goto op_semantics_62; break; } break; @@ -8048,7 +8330,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_60; + goto op_semantics_62; break; } break; @@ -8057,7 +8339,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_60; + goto op_semantics_62; break; } break; @@ -8066,14 +8348,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_61: + op_semantics_63: { /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */ -#line 867 "rx-decode.opc" +#line 905 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 867 "rx-decode.opc" +#line 905 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 867 "rx-decode.opc" +#line 905 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8085,7 +8367,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fsub %1%S1, %0"); -#line 867 "rx-decode.opc" +#line 905 "rx-decode.opc" ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; } @@ -8097,7 +8379,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_61; + goto op_semantics_63; break; } break; @@ -8106,7 +8388,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_61; + goto op_semantics_63; break; } break; @@ -8115,7 +8397,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_61; + goto op_semantics_63; break; } break; @@ -8124,14 +8406,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_62: + op_semantics_64: { /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */ -#line 861 "rx-decode.opc" +#line 899 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 861 "rx-decode.opc" +#line 899 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 861 "rx-decode.opc" +#line 899 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8143,7 +8425,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fcmp %1%S1, %0"); -#line 861 "rx-decode.opc" +#line 899 "rx-decode.opc" ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_; } @@ -8155,7 +8437,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_62; + goto op_semantics_64; break; } break; @@ -8164,7 +8446,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_62; + goto op_semantics_64; break; } break; @@ -8173,7 +8455,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_62; + goto op_semantics_64; break; } break; @@ -8182,14 +8464,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_63: + op_semantics_65: { /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */ -#line 855 "rx-decode.opc" +#line 893 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 855 "rx-decode.opc" +#line 893 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 855 "rx-decode.opc" +#line 893 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8201,7 +8483,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fadd %1%S1, %0"); -#line 855 "rx-decode.opc" +#line 893 "rx-decode.opc" ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; } @@ -8213,7 +8495,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_63; + goto op_semantics_65; break; } break; @@ -8222,7 +8504,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_63; + goto op_semantics_65; break; } break; @@ -8231,7 +8513,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_63; + goto op_semantics_65; break; } break; @@ -8240,14 +8522,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_64: + op_semantics_66: { /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */ -#line 876 "rx-decode.opc" +#line 914 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 876 "rx-decode.opc" +#line 914 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 876 "rx-decode.opc" +#line 914 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8259,7 +8541,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fmul %1%S1, %0"); -#line 876 "rx-decode.opc" +#line 914 "rx-decode.opc" ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; } @@ -8271,7 +8553,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_64; + goto op_semantics_66; break; } break; @@ -8280,7 +8562,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_64; + goto op_semantics_66; break; } break; @@ -8289,7 +8571,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_64; + goto op_semantics_66; break; } break; @@ -8298,14 +8580,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_65: + op_semantics_67: { /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */ -#line 882 "rx-decode.opc" +#line 920 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 882 "rx-decode.opc" +#line 920 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 882 "rx-decode.opc" +#line 920 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8317,7 +8599,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fdiv %1%S1, %0"); -#line 882 "rx-decode.opc" +#line 920 "rx-decode.opc" ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; } @@ -8329,7 +8611,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_65; + goto op_semantics_67; break; } break; @@ -8338,7 +8620,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_65; + goto op_semantics_67; break; } break; @@ -8347,7 +8629,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_65; + goto op_semantics_67; break; } break; @@ -8356,14 +8638,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_66: + op_semantics_68: { /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */ -#line 870 "rx-decode.opc" +#line 908 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 870 "rx-decode.opc" +#line 908 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 870 "rx-decode.opc" +#line 908 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8375,7 +8657,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("ftoi %1%S1, %0"); -#line 870 "rx-decode.opc" +#line 908 "rx-decode.opc" ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; } @@ -8387,7 +8669,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_66; + goto op_semantics_68; break; } break; @@ -8396,7 +8678,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_66; + goto op_semantics_68; break; } break; @@ -8405,7 +8687,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_66; + goto op_semantics_68; break; } break; @@ -8414,14 +8696,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_67: + op_semantics_69: { /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */ -#line 885 "rx-decode.opc" +#line 923 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 885 "rx-decode.opc" +#line 923 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 885 "rx-decode.opc" +#line 923 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8433,7 +8715,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("round %1%S1, %0"); -#line 885 "rx-decode.opc" +#line 923 "rx-decode.opc" ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; } @@ -8445,7 +8727,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_67; + goto op_semantics_69; break; } break; @@ -8454,7 +8736,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_67; + goto op_semantics_69; break; } break; @@ -8463,7 +8745,123 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_67; + goto op_semantics_69; + break; + } + break; + case 0xa0: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_70: + { + /** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */ +#line 1106 "rx-decode.opc" + int sd AU = op[1] & 0x03; +#line 1106 "rx-decode.opc" + int rsrc AU = (op[2] >> 4) & 0x0f; +#line 1106 "rx-decode.opc" + int rdst AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */", + op[0], op[1], op[2]); + printf (" sd = 0x%x,", sd); + printf (" rsrc = 0x%x,", rsrc); + printf (" rdst = 0x%x\n", rdst); + } + SYNTAX("fsqrt %1%S1, %0"); +#line 1106 "rx-decode.opc" + ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; + + } + break; + } + break; + case 0xa1: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_70; + break; + } + break; + case 0xa2: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_70; + break; + } + break; + case 0xa3: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_70; + break; + } + break; + case 0xa4: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_71: + { + /** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */ +#line 1109 "rx-decode.opc" + int sd AU = op[1] & 0x03; +#line 1109 "rx-decode.opc" + int rsrc AU = (op[2] >> 4) & 0x0f; +#line 1109 "rx-decode.opc" + int rdst AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */", + op[0], op[1], op[2]); + printf (" sd = 0x%x,", sd); + printf (" rsrc = 0x%x,", rsrc); + printf (" rdst = 0x%x\n", rdst); + } + SYNTAX("ftou %1%S1, %0"); +#line 1109 "rx-decode.opc" + ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; + + } + break; + } + break; + case 0xa5: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_71; + break; + } + break; + case 0xa6: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_71; + break; + } + break; + case 0xa7: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_71; break; } break; @@ -8472,16 +8870,16 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_68: + op_semantics_72: { /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */ -#line 1002 "rx-decode.opc" +#line 1040 "rx-decode.opc" int sz AU = (op[1] >> 2) & 0x03; -#line 1002 "rx-decode.opc" +#line 1040 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 1002 "rx-decode.opc" +#line 1040 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 1002 "rx-decode.opc" +#line 1040 "rx-decode.opc" int cond AU = op[2] & 0x0f; if (trace) { @@ -8494,9 +8892,12 @@ rx_decode_opcode (unsigned long pc AU, printf (" cond = 0x%x\n", cond); } SYNTAX("sc%1%s %0"); -#line 1002 "rx-decode.opc" +#line 1040 "rx-decode.opc" ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond); + /*----------------------------------------------------------------------*/ + /* RXv2 enhanced */ + } break; } @@ -8506,7 +8907,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_68; + goto op_semantics_72; break; } break; @@ -8515,7 +8916,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_68; + goto op_semantics_72; break; } break; @@ -8524,7 +8925,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_68; + goto op_semantics_72; break; } break; @@ -8533,7 +8934,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_68; + goto op_semantics_72; break; } break; @@ -8542,7 +8943,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_68; + goto op_semantics_72; break; } break; @@ -8551,7 +8952,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_68; + goto op_semantics_72; break; } break; @@ -8560,7 +8961,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_68; + goto op_semantics_72; break; } break; @@ -8569,7 +8970,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_68; + goto op_semantics_72; break; } break; @@ -8578,7 +8979,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_68; + goto op_semantics_72; break; } break; @@ -8587,7 +8988,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_68; + goto op_semantics_72; break; } break; @@ -8596,7 +8997,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_68; + goto op_semantics_72; break; } break; @@ -8619,16 +9020,16 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - op_semantics_69: + op_semantics_73: { /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */ -#line 945 "rx-decode.opc" +#line 983 "rx-decode.opc" int bit AU = (op[1] >> 2) & 0x07; -#line 945 "rx-decode.opc" +#line 983 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 945 "rx-decode.opc" +#line 983 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 945 "rx-decode.opc" +#line 983 "rx-decode.opc" int cond AU = op[2] & 0x0f; if (trace) { @@ -8641,20 +9042,20 @@ rx_decode_opcode (unsigned long pc AU, printf (" cond = 0x%x\n", cond); } SYNTAX("bm%2 #%1, %0%S0"); -#line 945 "rx-decode.opc" +#line 983 "rx-decode.opc" ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE); } break; case 0x0f: - op_semantics_70: + op_semantics_74: { /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */ -#line 933 "rx-decode.opc" +#line 971 "rx-decode.opc" int bit AU = (op[1] >> 2) & 0x07; -#line 933 "rx-decode.opc" +#line 971 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 933 "rx-decode.opc" +#line 971 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; if (trace) { @@ -8666,7 +9067,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("bnot #%1, %0%S0"); -#line 933 "rx-decode.opc" +#line 971 "rx-decode.opc" ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); } @@ -8692,10 +9093,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -8718,10 +9119,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -8744,10 +9145,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -8770,10 +9171,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -8796,10 +9197,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -8822,10 +9223,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -8848,10 +9249,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -8874,10 +9275,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -8900,10 +9301,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -8926,10 +9327,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -8952,10 +9353,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -8978,10 +9379,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9004,10 +9405,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9030,10 +9431,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9056,10 +9457,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9082,10 +9483,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9108,10 +9509,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9134,10 +9535,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9160,10 +9561,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9186,10 +9587,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9212,10 +9613,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9238,10 +9639,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9264,10 +9665,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9290,10 +9691,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9316,10 +9717,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9342,10 +9743,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9368,10 +9769,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9394,10 +9795,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9420,10 +9821,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9446,10 +9847,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9472,10 +9873,10 @@ rx_decode_opcode (unsigned long pc AU, case 0x0c: case 0x0d: case 0x0e: - goto op_semantics_69; + goto op_semantics_73; break; case 0x0f: - goto op_semantics_70; + goto op_semantics_74; break; } break; @@ -9491,23 +9892,27 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: + op_semantics_75: { - /** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */ -#line 810 "rx-decode.opc" + /** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */ +#line 848 "rx-decode.opc" + int a AU = (op[1] >> 3) & 0x01; +#line 848 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 810 "rx-decode.opc" +#line 848 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { printf ("\033[33m%s\033[0m %02x %02x %02x\n", - "/** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */", + "/** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */", op[0], op[1], op[2]); + printf (" a = 0x%x,", a); printf (" srca = 0x%x,", srca); printf (" srcb = 0x%x\n", srcb); } - SYNTAX("mulhi %1, %2"); -#line 810 "rx-decode.opc" - ID(mulhi); SR(srca); S2R(srcb); F_____; + SYNTAX("mulhi %1, %2, %0"); +#line 848 "rx-decode.opc" + ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____; } break; @@ -9518,23 +9923,89 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: + op_semantics_76: + { + /** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */ +#line 851 "rx-decode.opc" + int a AU = (op[1] >> 3) & 0x01; +#line 851 "rx-decode.opc" + int srca AU = (op[2] >> 4) & 0x0f; +#line 851 "rx-decode.opc" + int srcb AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */", + op[0], op[1], op[2]); + printf (" a = 0x%x,", a); + printf (" srca = 0x%x,", srca); + printf (" srcb = 0x%x\n", srcb); + } + SYNTAX("mullo %1, %2, %0"); +#line 851 "rx-decode.opc" + ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____; + + } + break; + } + break; + case 0x02: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_77: + { + /** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */ +#line 1079 "rx-decode.opc" + int a AU = (op[1] >> 3) & 0x01; +#line 1079 "rx-decode.opc" + int srca AU = (op[2] >> 4) & 0x0f; +#line 1079 "rx-decode.opc" + int srcb AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */", + op[0], op[1], op[2]); + printf (" a = 0x%x,", a); + printf (" srca = 0x%x,", srca); + printf (" srcb = 0x%x\n", srcb); + } + SYNTAX("mullh %1, %2, %0"); +#line 1079 "rx-decode.opc" + ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____; + + } + break; + } + break; + case 0x03: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_78: { - /** 1111 1101 0000 0001 srca srcb mullo %1, %2 */ -#line 813 "rx-decode.opc" + /** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */ +#line 1064 "rx-decode.opc" + int a AU = (op[1] >> 3) & 0x01; +#line 1064 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 813 "rx-decode.opc" +#line 1064 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { printf ("\033[33m%s\033[0m %02x %02x %02x\n", - "/** 1111 1101 0000 0001 srca srcb mullo %1, %2 */", + "/** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */", op[0], op[1], op[2]); + printf (" a = 0x%x,", a); printf (" srca = 0x%x,", srca); printf (" srcb = 0x%x\n", srcb); } - SYNTAX("mullo %1, %2"); -#line 813 "rx-decode.opc" - ID(mullo); SR(srca); S2R(srcb); F_____; + SYNTAX("emula %1, %2, %0"); +#line 1064 "rx-decode.opc" + ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____; } break; @@ -9545,23 +10016,27 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: + op_semantics_79: { - /** 1111 1101 0000 0100 srca srcb machi %1, %2 */ -#line 816 "rx-decode.opc" + /** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */ +#line 854 "rx-decode.opc" + int a AU = (op[1] >> 3) & 0x01; +#line 854 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 816 "rx-decode.opc" +#line 854 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { printf ("\033[33m%s\033[0m %02x %02x %02x\n", - "/** 1111 1101 0000 0100 srca srcb machi %1, %2 */", + "/** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */", op[0], op[1], op[2]); + printf (" a = 0x%x,", a); printf (" srca = 0x%x,", srca); printf (" srcb = 0x%x\n", srcb); } - SYNTAX("machi %1, %2"); -#line 816 "rx-decode.opc" - ID(machi); SR(srca); S2R(srcb); F_____; + SYNTAX("machi %1, %2, %0"); +#line 854 "rx-decode.opc" + ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____; } break; @@ -9572,65 +10047,230 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: + op_semantics_80: + { + /** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */ +#line 857 "rx-decode.opc" + int a AU = (op[1] >> 3) & 0x01; +#line 857 "rx-decode.opc" + int srca AU = (op[2] >> 4) & 0x0f; +#line 857 "rx-decode.opc" + int srcb AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */", + op[0], op[1], op[2]); + printf (" a = 0x%x,", a); + printf (" srca = 0x%x,", srca); + printf (" srcb = 0x%x\n", srcb); + } + SYNTAX("maclo %1, %2, %0"); +#line 857 "rx-decode.opc" + ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____; + + } + break; + } + break; + case 0x06: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_81: { - /** 1111 1101 0000 0101 srca srcb maclo %1, %2 */ -#line 819 "rx-decode.opc" + /** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */ +#line 1067 "rx-decode.opc" + int a AU = (op[1] >> 3) & 0x01; +#line 1067 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 819 "rx-decode.opc" +#line 1067 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { printf ("\033[33m%s\033[0m %02x %02x %02x\n", - "/** 1111 1101 0000 0101 srca srcb maclo %1, %2 */", + "/** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */", op[0], op[1], op[2]); + printf (" a = 0x%x,", a); printf (" srca = 0x%x,", srca); printf (" srcb = 0x%x\n", srcb); } - SYNTAX("maclo %1, %2"); -#line 819 "rx-decode.opc" - ID(maclo); SR(srca); S2R(srcb); F_____; + SYNTAX("maclh %1, %2, %0"); +#line 1067 "rx-decode.opc" + ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____; } break; } break; + case 0x07: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_82: + { + /** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */ +#line 1058 "rx-decode.opc" + int a AU = (op[1] >> 3) & 0x01; +#line 1058 "rx-decode.opc" + int srca AU = (op[2] >> 4) & 0x0f; +#line 1058 "rx-decode.opc" + int srcb AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */", + op[0], op[1], op[2]); + printf (" a = 0x%x,", a); + printf (" srca = 0x%x,", srca); + printf (" srcb = 0x%x\n", srcb); + } + SYNTAX("emaca %1, %2, %0"); +#line 1058 "rx-decode.opc" + ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____; + + } + break; + } + break; + case 0x08: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_75; + break; + } + break; + case 0x09: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_76; + break; + } + break; + case 0x0a: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_77; + break; + } + break; + case 0x0b: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_78; + break; + } + break; + case 0x0c: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_79; + break; + } + break; + case 0x0d: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_80; + break; + } + break; + case 0x0e: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_81; + break; + } + break; + case 0x0f: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_82; + break; + } + break; case 0x17: GETBYTE (); - switch (op[2] & 0xf0) + switch (op[2] & 0x70) { case 0x00: { - /** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */ -#line 822 "rx-decode.opc" + /** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */ +#line 860 "rx-decode.opc" + int a AU = (op[2] >> 7) & 0x01; +#line 860 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { printf ("\033[33m%s\033[0m %02x %02x %02x\n", - "/** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */", + "/** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */", op[0], op[1], op[2]); + printf (" a = 0x%x,", a); printf (" rsrc = 0x%x\n", rsrc); } - SYNTAX("mvtachi %1"); -#line 822 "rx-decode.opc" - ID(mvtachi); SR(rsrc); F_____; + SYNTAX("mvtachi %1, %0"); +#line 860 "rx-decode.opc" + ID(mvtachi); DR(a+32); SR(rsrc); F_____; } break; case 0x10: { - /** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */ -#line 825 "rx-decode.opc" + /** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */ +#line 863 "rx-decode.opc" + int a AU = (op[2] >> 7) & 0x01; +#line 863 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { printf ("\033[33m%s\033[0m %02x %02x %02x\n", - "/** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */", + "/** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */", op[0], op[1], op[2]); + printf (" a = 0x%x,", a); printf (" rsrc = 0x%x\n", rsrc); } - SYNTAX("mvtaclo %1"); -#line 825 "rx-decode.opc" - ID(mvtaclo); SR(rsrc); F_____; + SYNTAX("mvtaclo %1, %0"); +#line 863 "rx-decode.opc" + ID(mvtaclo); DR(a+32); SR(rsrc); F_____; + + } + break; + case 0x30: + { + /** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */ +#line 1085 "rx-decode.opc" + int a AU = (op[2] >> 7) & 0x01; +#line 1085 "rx-decode.opc" + int rdst AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */", + op[0], op[1], op[2]); + printf (" a = 0x%x,", a); + printf (" rdst = 0x%x\n", rdst); + } + SYNTAX("mvtacgu %0, %1"); +#line 1085 "rx-decode.opc" + ID(mvtacgu); SR(a+32); DR(rdst); F_____; } break; @@ -9639,91 +10279,239 @@ rx_decode_opcode (unsigned long pc AU, break; case 0x18: GETBYTE (); - switch (op[2] & 0xef) + switch (op[2] & 0x6f) { case 0x00: { - /** 1111 1101 0001 1000 000i 0000 racw #%1 */ -#line 837 "rx-decode.opc" + /** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */ +#line 875 "rx-decode.opc" + int a AU = (op[2] >> 7) & 0x01; +#line 875 "rx-decode.opc" int i AU = (op[2] >> 4) & 0x01; if (trace) { printf ("\033[33m%s\033[0m %02x %02x %02x\n", - "/** 1111 1101 0001 1000 000i 0000 racw #%1 */", + "/** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */", op[0], op[1], op[2]); + printf (" a = 0x%x,", a); printf (" i = 0x%x\n", i); } - SYNTAX("racw #%1"); -#line 837 "rx-decode.opc" - ID(racw); SC(i+1); F_____; + SYNTAX("racw #%1, %0"); +#line 875 "rx-decode.opc" + ID(racw); SC(i+1); DR(a+32); F_____; /*----------------------------------------------------------------------*/ /* SAT */ } break; + case 0x40: + { + /** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */ +#line 1094 "rx-decode.opc" + int a AU = (op[2] >> 7) & 0x01; +#line 1094 "rx-decode.opc" + int i AU = (op[2] >> 4) & 0x01; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */", + op[0], op[1], op[2]); + printf (" a = 0x%x,", a); + printf (" i = 0x%x\n", i); + } + SYNTAX("rdacw #%1, %0"); +#line 1094 "rx-decode.opc" + ID(rdacw); SC(i+1); DR(a+32); F_____; + + } + break; default: UNSUPPORTED(); break; } break; - case 0x1f: + case 0x19: GETBYTE (); - switch (op[2] & 0xf0) + switch (op[2] & 0x6f) { case 0x00: { - /** 1111 1101 0001 1111 0000 rdst mvfachi %0 */ -#line 828 "rx-decode.opc" + /** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */ +#line 1088 "rx-decode.opc" + int a AU = (op[2] >> 7) & 0x01; +#line 1088 "rx-decode.opc" + int i AU = (op[2] >> 4) & 0x01; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */", + op[0], op[1], op[2]); + printf (" a = 0x%x,", a); + printf (" i = 0x%x\n", i); + } + SYNTAX("racl #%1, %0"); +#line 1088 "rx-decode.opc" + ID(racl); SC(i+1); DR(a+32); F_____; + + } + break; + case 0x40: + { + /** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */ +#line 1091 "rx-decode.opc" + int a AU = (op[2] >> 7) & 0x01; +#line 1091 "rx-decode.opc" + int i AU = (op[2] >> 4) & 0x01; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */", + op[0], op[1], op[2]); + printf (" a = 0x%x,", a); + printf (" i = 0x%x\n", i); + } + SYNTAX("rdacl #%1, %0"); +#line 1091 "rx-decode.opc" + ID(rdacl); SC(i+1); DR(a+32); F_____; + + } + break; + default: UNSUPPORTED(); break; + } + break; + case 0x1e: + GETBYTE (); + switch (op[2] & 0x30) + { + case 0x00: + op_semantics_83: + { + /** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */ +#line 866 "rx-decode.opc" + int i AU = op[1] & 0x01; +#line 866 "rx-decode.opc" + int a AU = (op[2] >> 7) & 0x01; +#line 866 "rx-decode.opc" + int m AU = (op[2] >> 6) & 0x01; +#line 866 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { printf ("\033[33m%s\033[0m %02x %02x %02x\n", - "/** 1111 1101 0001 1111 0000 rdst mvfachi %0 */", + "/** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */", op[0], op[1], op[2]); + printf (" i = 0x%x,", i); + printf (" a = 0x%x,", a); + printf (" m = 0x%x,", m); printf (" rdst = 0x%x\n", rdst); } - SYNTAX("mvfachi %0"); -#line 828 "rx-decode.opc" - ID(mvfachi); DR(rdst); F_____; + SYNTAX("mvfachi #%2, %1, %0"); +#line 866 "rx-decode.opc" + ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____; } break; case 0x10: + op_semantics_84: { - /** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */ -#line 834 "rx-decode.opc" + /** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */ +#line 872 "rx-decode.opc" + int i AU = op[1] & 0x01; +#line 872 "rx-decode.opc" + int a AU = (op[2] >> 7) & 0x01; +#line 872 "rx-decode.opc" + int m AU = (op[2] >> 6) & 0x01; +#line 872 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { printf ("\033[33m%s\033[0m %02x %02x %02x\n", - "/** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */", + "/** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */", op[0], op[1], op[2]); + printf (" i = 0x%x,", i); + printf (" a = 0x%x,", a); + printf (" m = 0x%x,", m); printf (" rdst = 0x%x\n", rdst); } - SYNTAX("mvfaclo %0"); -#line 834 "rx-decode.opc" - ID(mvfaclo); DR(rdst); F_____; + SYNTAX("mvfaclo #%2, %1, %0"); +#line 872 "rx-decode.opc" + ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____; } break; case 0x20: + op_semantics_85: { - /** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */ -#line 831 "rx-decode.opc" + /** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */ +#line 869 "rx-decode.opc" + int i AU = op[1] & 0x01; +#line 869 "rx-decode.opc" + int a AU = (op[2] >> 7) & 0x01; +#line 869 "rx-decode.opc" + int m AU = (op[2] >> 6) & 0x01; +#line 869 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { printf ("\033[33m%s\033[0m %02x %02x %02x\n", - "/** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */", + "/** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */", op[0], op[1], op[2]); + printf (" i = 0x%x,", i); + printf (" a = 0x%x,", a); + printf (" m = 0x%x,", m); printf (" rdst = 0x%x\n", rdst); } - SYNTAX("mvfacmi %0"); -#line 831 "rx-decode.opc" - ID(mvfacmi); DR(rdst); F_____; + SYNTAX("mvfacmi #%2, %1, %0"); +#line 869 "rx-decode.opc" + ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____; } break; - default: UNSUPPORTED(); break; + case 0x30: + op_semantics_86: + { + /** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */ +#line 1082 "rx-decode.opc" + int i AU = op[1] & 0x01; +#line 1082 "rx-decode.opc" + int a AU = (op[2] >> 7) & 0x01; +#line 1082 "rx-decode.opc" + int m AU = (op[2] >> 6) & 0x01; +#line 1082 "rx-decode.opc" + int rdst AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */", + op[0], op[1], op[2]); + printf (" i = 0x%x,", i); + printf (" a = 0x%x,", a); + printf (" m = 0x%x,", m); + printf (" rdst = 0x%x\n", rdst); + } + SYNTAX("mvfacgu #%2, %1, %0"); +#line 1082 "rx-decode.opc" + ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____; + + } + break; + } + break; + case 0x1f: + GETBYTE (); + switch (op[2] & 0x30) + { + case 0x00: + goto op_semantics_83; + break; + case 0x10: + goto op_semantics_84; + break; + case 0x20: + goto op_semantics_85; + break; + case 0x30: + goto op_semantics_86; + break; } break; case 0x20: @@ -9731,7 +10519,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_71: + op_semantics_87: { /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */ #line 344 "rx-decode.opc" @@ -9766,7 +10554,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_71; + goto op_semantics_87; break; } break; @@ -9775,7 +10563,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_71; + goto op_semantics_87; break; } break; @@ -9784,7 +10572,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_71; + goto op_semantics_87; break; } break; @@ -9793,7 +10581,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_71; + goto op_semantics_87; break; } break; @@ -9802,7 +10590,34 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_71; + goto op_semantics_87; + break; + } + break; + case 0x27: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + { + /** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */ +#line 1046 "rx-decode.opc" + int rdst AU = (op[2] >> 4) & 0x0f; +#line 1046 "rx-decode.opc" + int rsrc AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */", + op[0], op[1], op[2]); + printf (" rdst = 0x%x,", rdst); + printf (" rsrc = 0x%x\n", rsrc); + } + SYNTAX("movco %1, [%0]"); +#line 1046 "rx-decode.opc" + ID(mov); SR(rsrc); DR(rdst); F_____; + + } break; } break; @@ -9811,7 +10626,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_72: + op_semantics_88: { /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */ #line 348 "rx-decode.opc" @@ -9846,7 +10661,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_72; + goto op_semantics_88; break; } break; @@ -9855,7 +10670,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_72; + goto op_semantics_88; break; } break; @@ -9864,7 +10679,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_72; + goto op_semantics_88; break; } break; @@ -9873,7 +10688,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_72; + goto op_semantics_88; break; } break; @@ -9882,7 +10697,34 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_72; + goto op_semantics_88; + break; + } + break; + case 0x2f: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + { + /** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */ +#line 1049 "rx-decode.opc" + int rsrc AU = (op[2] >> 4) & 0x0f; +#line 1049 "rx-decode.opc" + int rdst AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */", + op[0], op[1], op[2]); + printf (" rsrc = 0x%x,", rsrc); + printf (" rdst = 0x%x\n", rdst); + } + SYNTAX("movli [%1], %0"); +#line 1049 "rx-decode.opc" + ID(mov); SR(rsrc); DR(rdst); F_____; + + } break; } break; @@ -9891,7 +10733,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_73: + op_semantics_89: { /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */ #line 358 "rx-decode.opc" @@ -9929,7 +10771,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_73; + goto op_semantics_89; break; } break; @@ -9938,7 +10780,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_73; + goto op_semantics_89; break; } break; @@ -9947,7 +10789,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_73; + goto op_semantics_89; break; } break; @@ -9956,7 +10798,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_73; + goto op_semantics_89; break; } break; @@ -9965,7 +10807,167 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_73; + goto op_semantics_89; + break; + } + break; + case 0x44: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_90: + { + /** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */ +#line 1070 "rx-decode.opc" + int a AU = (op[1] >> 3) & 0x01; +#line 1070 "rx-decode.opc" + int srca AU = (op[2] >> 4) & 0x0f; +#line 1070 "rx-decode.opc" + int srcb AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */", + op[0], op[1], op[2]); + printf (" a = 0x%x,", a); + printf (" srca = 0x%x,", srca); + printf (" srcb = 0x%x\n", srcb); + } + SYNTAX("msbhi %1, %2, %0"); +#line 1070 "rx-decode.opc" + ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____; + + } + break; + } + break; + case 0x45: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_91: + { + /** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */ +#line 1076 "rx-decode.opc" + int a AU = (op[1] >> 3) & 0x01; +#line 1076 "rx-decode.opc" + int srca AU = (op[2] >> 4) & 0x0f; +#line 1076 "rx-decode.opc" + int srcb AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */", + op[0], op[1], op[2]); + printf (" a = 0x%x,", a); + printf (" srca = 0x%x,", srca); + printf (" srcb = 0x%x\n", srcb); + } + SYNTAX("msblo %1, %2, %0"); +#line 1076 "rx-decode.opc" + ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____; + + } + break; + } + break; + case 0x46: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_92: + { + /** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */ +#line 1073 "rx-decode.opc" + int a AU = (op[1] >> 3) & 0x01; +#line 1073 "rx-decode.opc" + int srca AU = (op[2] >> 4) & 0x0f; +#line 1073 "rx-decode.opc" + int srcb AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */", + op[0], op[1], op[2]); + printf (" a = 0x%x,", a); + printf (" srca = 0x%x,", srca); + printf (" srcb = 0x%x\n", srcb); + } + SYNTAX("msblh %1, %2, %0"); +#line 1073 "rx-decode.opc" + ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____; + + } + break; + } + break; + case 0x47: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_93: + { + /** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */ +#line 1061 "rx-decode.opc" + int a AU = (op[1] >> 3) & 0x01; +#line 1061 "rx-decode.opc" + int srca AU = (op[2] >> 4) & 0x0f; +#line 1061 "rx-decode.opc" + int srcb AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */", + op[0], op[1], op[2]); + printf (" a = 0x%x,", a); + printf (" srca = 0x%x,", srca); + printf (" srcb = 0x%x\n", srcb); + } + SYNTAX("emsba %1, %2, %0"); +#line 1061 "rx-decode.opc" + ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____; + + } + break; + } + break; + case 0x4c: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_90; + break; + } + break; + case 0x4d: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_91; + break; + } + break; + case 0x4e: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_92; + break; + } + break; + case 0x4f: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_93; break; } break; @@ -9976,9 +10978,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */ -#line 691 "rx-decode.opc" +#line 729 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 691 "rx-decode.opc" +#line 729 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -9989,7 +10991,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shlr %2, %0"); -#line 691 "rx-decode.opc" +#line 729 "rx-decode.opc" ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC; } @@ -10003,9 +11005,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */ -#line 681 "rx-decode.opc" +#line 719 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 681 "rx-decode.opc" +#line 719 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10016,7 +11018,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shar %2, %0"); -#line 681 "rx-decode.opc" +#line 719 "rx-decode.opc" ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC; } @@ -10030,9 +11032,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */ -#line 671 "rx-decode.opc" +#line 709 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 671 "rx-decode.opc" +#line 709 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10043,7 +11045,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shll %2, %0"); -#line 671 "rx-decode.opc" +#line 709 "rx-decode.opc" ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC; } @@ -10057,9 +11059,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */ -#line 715 "rx-decode.opc" +#line 753 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 715 "rx-decode.opc" +#line 753 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10070,7 +11072,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("rotr %1, %0"); -#line 715 "rx-decode.opc" +#line 753 "rx-decode.opc" ID(rotr); SR(rsrc); DR(rdst); F__SZC; } @@ -10084,9 +11086,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */ -#line 718 "rx-decode.opc" +#line 756 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 718 "rx-decode.opc" +#line 756 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10097,7 +11099,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("revw %1, %0"); -#line 718 "rx-decode.opc" +#line 756 "rx-decode.opc" ID(revw); SR(rsrc); DR(rdst); } @@ -10111,9 +11113,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */ -#line 709 "rx-decode.opc" +#line 747 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 709 "rx-decode.opc" +#line 747 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10124,7 +11126,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("rotl %1, %0"); -#line 709 "rx-decode.opc" +#line 747 "rx-decode.opc" ID(rotl); SR(rsrc); DR(rdst); F__SZC; } @@ -10138,9 +11140,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */ -#line 721 "rx-decode.opc" +#line 759 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 721 "rx-decode.opc" +#line 759 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10151,7 +11153,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("revl %1, %0"); -#line 721 "rx-decode.opc" +#line 759 "rx-decode.opc" ID(revl); SR(rsrc); DR(rdst); /*----------------------------------------------------------------------*/ @@ -10166,14 +11168,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_74: + op_semantics_94: { /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */ -#line 972 "rx-decode.opc" +#line 1010 "rx-decode.opc" int c AU = op[1] & 0x01; -#line 972 "rx-decode.opc" +#line 1010 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 972 "rx-decode.opc" +#line 1010 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10185,7 +11187,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mvtc %1, %0"); -#line 972 "rx-decode.opc" +#line 1010 "rx-decode.opc" ID(mov); SR(rsrc); DR(c*16+rdst + 16); } @@ -10197,7 +11199,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_74; + goto op_semantics_94; break; } break; @@ -10206,14 +11208,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_75: + op_semantics_95: { /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */ -#line 975 "rx-decode.opc" +#line 1013 "rx-decode.opc" int s AU = op[1] & 0x01; -#line 975 "rx-decode.opc" +#line 1013 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 975 "rx-decode.opc" +#line 1013 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10225,7 +11227,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mvfc %1, %0"); -#line 975 "rx-decode.opc" +#line 1013 "rx-decode.opc" ID(mov); SR((s*16+rsrc) + 16); DR(rdst); /*----------------------------------------------------------------------*/ @@ -10240,7 +11242,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_75; + goto op_semantics_95; break; } break; @@ -10249,14 +11251,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_76: + op_semantics_96: { /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */ -#line 712 "rx-decode.opc" +#line 750 "rx-decode.opc" int i AU = op[1] & 0x01; -#line 712 "rx-decode.opc" +#line 750 "rx-decode.opc" int mmmm AU = (op[2] >> 4) & 0x0f; -#line 712 "rx-decode.opc" +#line 750 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10268,7 +11270,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("rotr #%1, %0"); -#line 712 "rx-decode.opc" +#line 750 "rx-decode.opc" ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC; } @@ -10280,7 +11282,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_76; + goto op_semantics_96; break; } break; @@ -10289,14 +11291,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_77: + op_semantics_97: { /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */ -#line 706 "rx-decode.opc" +#line 744 "rx-decode.opc" int i AU = op[1] & 0x01; -#line 706 "rx-decode.opc" +#line 744 "rx-decode.opc" int mmmm AU = (op[2] >> 4) & 0x0f; -#line 706 "rx-decode.opc" +#line 744 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10308,7 +11310,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("rotl #%1, %0"); -#line 706 "rx-decode.opc" +#line 744 "rx-decode.opc" ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC; } @@ -10320,7 +11322,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_77; + goto op_semantics_97; break; } break; @@ -10329,7 +11331,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0xf0) { case 0x20: - op_semantics_78: + op_semantics_98: { /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */ #line 488 "rx-decode.opc" @@ -10351,14 +11353,13 @@ rx_decode_opcode (unsigned long pc AU, } break; case 0x40: - op_semantics_79: + op_semantics_99: { /** 1111 1101 0111 im00 0100rdst max #%1, %0 */ #line 570 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; #line 570 "rx-decode.opc" int rdst AU = op[2] & 0x0f; - int val = IMMex (im); if (trace) { printf ("\033[33m%s\033[0m %02x %02x %02x\n", @@ -10369,25 +11370,27 @@ rx_decode_opcode (unsigned long pc AU, } SYNTAX("max #%1, %0"); #line 570 "rx-decode.opc" - if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0) - { - ID(nop7); - SYNTAX ("nop\t; max\t#0x80000000, r0"); - } - else - { - ID(max); - } - DR(rdst); SC(val); + int val = IMMex (im); + if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0) + { + ID (nop7); + SYNTAX("nop\t; max\t#0x80000000, r0"); + } + else + { + ID(max); + } + DR(rdst); SC(val); + } break; case 0x50: - op_semantics_80: + op_semantics_100: { /** 1111 1101 0111 im00 0101rdst min #%1, %0 */ -#line 590 "rx-decode.opc" +#line 600 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 590 "rx-decode.opc" +#line 600 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10398,18 +11401,18 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("min #%1, %0"); -#line 590 "rx-decode.opc" +#line 600 "rx-decode.opc" ID(min); DR(rdst); SC(IMMex(im)); } break; case 0x60: - op_semantics_81: + op_semantics_101: { /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */ -#line 620 "rx-decode.opc" +#line 658 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 620 "rx-decode.opc" +#line 658 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10420,18 +11423,18 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("emul #%1, %0"); -#line 620 "rx-decode.opc" +#line 658 "rx-decode.opc" ID(emul); DR(rdst); SC(IMMex(im)); } break; case 0x70: - op_semantics_82: + op_semantics_102: { /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */ -#line 632 "rx-decode.opc" +#line 670 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 632 "rx-decode.opc" +#line 670 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10442,18 +11445,18 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("emulu #%1, %0"); -#line 632 "rx-decode.opc" +#line 670 "rx-decode.opc" ID(emulu); DR(rdst); SC(IMMex(im)); } break; case 0x80: - op_semantics_83: + op_semantics_103: { /** 1111 1101 0111 im00 1000rdst div #%1, %0 */ -#line 644 "rx-decode.opc" +#line 682 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 644 "rx-decode.opc" +#line 682 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10464,18 +11467,18 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("div #%1, %0"); -#line 644 "rx-decode.opc" +#line 682 "rx-decode.opc" ID(div); DR(rdst); SC(IMMex(im)); F_O___; } break; case 0x90: - op_semantics_84: + op_semantics_104: { /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */ -#line 656 "rx-decode.opc" +#line 694 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 656 "rx-decode.opc" +#line 694 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10486,13 +11489,13 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("divu #%1, %0"); -#line 656 "rx-decode.opc" +#line 694 "rx-decode.opc" ID(divu); DR(rdst); SC(IMMex(im)); F_O___; } break; case 0xc0: - op_semantics_85: + op_semantics_105: { /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */ #line 467 "rx-decode.opc" @@ -10514,7 +11517,7 @@ rx_decode_opcode (unsigned long pc AU, } break; case 0xd0: - op_semantics_86: + op_semantics_106: { /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */ #line 446 "rx-decode.opc" @@ -10536,7 +11539,7 @@ rx_decode_opcode (unsigned long pc AU, } break; case 0xe0: - op_semantics_87: + op_semantics_107: { /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */ #line 392 "rx-decode.opc" @@ -10558,7 +11561,7 @@ rx_decode_opcode (unsigned long pc AU, } break; case 0xf0: - op_semantics_88: + op_semantics_108: { /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */ #line 395 "rx-decode.opc" @@ -10592,7 +11595,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */ -#line 864 "rx-decode.opc" +#line 902 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10602,7 +11605,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fsub #%1, %0"); -#line 864 "rx-decode.opc" +#line 902 "rx-decode.opc" ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_; } @@ -10610,7 +11613,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x10: { /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */ -#line 858 "rx-decode.opc" +#line 896 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10620,7 +11623,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fcmp #%1, %0"); -#line 858 "rx-decode.opc" +#line 896 "rx-decode.opc" ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_; } @@ -10628,7 +11631,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x20: { /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */ -#line 852 "rx-decode.opc" +#line 890 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10638,7 +11641,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fadd #%1, %0"); -#line 852 "rx-decode.opc" +#line 890 "rx-decode.opc" ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_; } @@ -10646,7 +11649,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x30: { /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */ -#line 873 "rx-decode.opc" +#line 911 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10656,7 +11659,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fmul #%1, %0"); -#line 873 "rx-decode.opc" +#line 911 "rx-decode.opc" ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_; } @@ -10664,7 +11667,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x40: { /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */ -#line 879 "rx-decode.opc" +#line 917 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10674,7 +11677,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fdiv #%1, %0"); -#line 879 "rx-decode.opc" +#line 917 "rx-decode.opc" ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_; } @@ -10687,12 +11690,12 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0xe0) { case 0x00: - op_semantics_89: + op_semantics_109: { /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */ -#line 969 "rx-decode.opc" +#line 1007 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 969 "rx-decode.opc" +#line 1007 "rx-decode.opc" int crdst AU = op[2] & 0x1f; if (trace) { @@ -10703,7 +11706,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" crdst = 0x%x\n", crdst); } SYNTAX("mvtc #%1, %0"); -#line 969 "rx-decode.opc" +#line 1007 "rx-decode.opc" ID(mov); SC(IMMex(im)); DR(crdst + 16); } @@ -10716,37 +11719,37 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0xf0) { case 0x20: - goto op_semantics_78; + goto op_semantics_98; break; case 0x40: - goto op_semantics_79; + goto op_semantics_99; break; case 0x50: - goto op_semantics_80; + goto op_semantics_100; break; case 0x60: - goto op_semantics_81; + goto op_semantics_101; break; case 0x70: - goto op_semantics_82; + goto op_semantics_102; break; case 0x80: - goto op_semantics_83; + goto op_semantics_103; break; case 0x90: - goto op_semantics_84; + goto op_semantics_104; break; case 0xc0: - goto op_semantics_85; + goto op_semantics_105; break; case 0xd0: - goto op_semantics_86; + goto op_semantics_106; break; case 0xe0: - goto op_semantics_87; + goto op_semantics_107; break; case 0xf0: - goto op_semantics_88; + goto op_semantics_108; break; default: UNSUPPORTED(); break; } @@ -10756,7 +11759,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0xe0) { case 0x00: - goto op_semantics_89; + goto op_semantics_109; break; default: UNSUPPORTED(); break; } @@ -10766,37 +11769,37 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0xf0) { case 0x20: - goto op_semantics_78; + goto op_semantics_98; break; case 0x40: - goto op_semantics_79; + goto op_semantics_99; break; case 0x50: - goto op_semantics_80; + goto op_semantics_100; break; case 0x60: - goto op_semantics_81; + goto op_semantics_101; break; case 0x70: - goto op_semantics_82; + goto op_semantics_102; break; case 0x80: - goto op_semantics_83; + goto op_semantics_103; break; case 0x90: - goto op_semantics_84; + goto op_semantics_104; break; case 0xc0: - goto op_semantics_85; + goto op_semantics_105; break; case 0xd0: - goto op_semantics_86; + goto op_semantics_106; break; case 0xe0: - goto op_semantics_87; + goto op_semantics_107; break; case 0xf0: - goto op_semantics_88; + goto op_semantics_108; break; default: UNSUPPORTED(); break; } @@ -10806,7 +11809,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0xe0) { case 0x00: - goto op_semantics_89; + goto op_semantics_109; break; default: UNSUPPORTED(); break; } @@ -10816,37 +11819,37 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0xf0) { case 0x20: - goto op_semantics_78; + goto op_semantics_98; break; case 0x40: - goto op_semantics_79; + goto op_semantics_99; break; case 0x50: - goto op_semantics_80; + goto op_semantics_100; break; case 0x60: - goto op_semantics_81; + goto op_semantics_101; break; case 0x70: - goto op_semantics_82; + goto op_semantics_102; break; case 0x80: - goto op_semantics_83; + goto op_semantics_103; break; case 0x90: - goto op_semantics_84; + goto op_semantics_104; break; case 0xc0: - goto op_semantics_85; + goto op_semantics_105; break; case 0xd0: - goto op_semantics_86; + goto op_semantics_106; break; case 0xe0: - goto op_semantics_87; + goto op_semantics_107; break; case 0xf0: - goto op_semantics_88; + goto op_semantics_108; break; default: UNSUPPORTED(); break; } @@ -10856,7 +11859,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0xe0) { case 0x00: - goto op_semantics_89; + goto op_semantics_109; break; default: UNSUPPORTED(); break; } @@ -10866,14 +11869,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_90: + op_semantics_110: { /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */ -#line 694 "rx-decode.opc" +#line 732 "rx-decode.opc" int immmm AU = op[1] & 0x1f; -#line 694 "rx-decode.opc" +#line 732 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 694 "rx-decode.opc" +#line 732 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10885,7 +11888,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shlr #%2, %1, %0"); -#line 694 "rx-decode.opc" +#line 732 "rx-decode.opc" ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC; /*----------------------------------------------------------------------*/ @@ -10900,7 +11903,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -10909,7 +11912,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -10918,7 +11921,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -10927,7 +11930,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -10936,7 +11939,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -10945,7 +11948,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -10954,7 +11957,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -10963,7 +11966,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -10972,7 +11975,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -10981,7 +11984,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -10990,7 +11993,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -10999,7 +12002,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11008,7 +12011,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11017,7 +12020,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11026,7 +12029,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11035,7 +12038,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11044,7 +12047,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11053,7 +12056,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11062,7 +12065,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11071,7 +12074,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11080,7 +12083,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11089,7 +12092,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11098,7 +12101,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11107,7 +12110,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11116,7 +12119,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11125,7 +12128,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11134,7 +12137,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11143,7 +12146,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11152,7 +12155,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11161,7 +12164,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11170,7 +12173,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_90; + goto op_semantics_110; break; } break; @@ -11179,14 +12182,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_91: + op_semantics_111: { /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */ -#line 684 "rx-decode.opc" +#line 722 "rx-decode.opc" int immmm AU = op[1] & 0x1f; -#line 684 "rx-decode.opc" +#line 722 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 684 "rx-decode.opc" +#line 722 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -11198,7 +12201,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shar #%2, %1, %0"); -#line 684 "rx-decode.opc" +#line 722 "rx-decode.opc" ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC; @@ -11211,7 +12214,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11220,7 +12223,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11229,7 +12232,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11238,7 +12241,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11247,7 +12250,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11256,7 +12259,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11265,7 +12268,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11274,7 +12277,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11283,7 +12286,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11292,7 +12295,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11301,7 +12304,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11310,7 +12313,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11319,7 +12322,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11328,7 +12331,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11337,7 +12340,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11346,7 +12349,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11355,7 +12358,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11364,7 +12367,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11373,7 +12376,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11382,7 +12385,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11391,7 +12394,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11400,7 +12403,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11409,7 +12412,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11418,7 +12421,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11427,7 +12430,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11436,7 +12439,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11445,7 +12448,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11454,7 +12457,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11463,7 +12466,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11472,7 +12475,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11481,7 +12484,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_91; + goto op_semantics_111; break; } break; @@ -11490,14 +12493,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_92: + op_semantics_112: { /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */ -#line 674 "rx-decode.opc" +#line 712 "rx-decode.opc" int immmm AU = op[1] & 0x1f; -#line 674 "rx-decode.opc" +#line 712 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 674 "rx-decode.opc" +#line 712 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -11509,7 +12512,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shll #%2, %1, %0"); -#line 674 "rx-decode.opc" +#line 712 "rx-decode.opc" ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC; @@ -11522,7 +12525,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11531,7 +12534,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11540,7 +12543,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11549,7 +12552,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11558,7 +12561,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11567,7 +12570,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11576,7 +12579,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11585,7 +12588,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11594,7 +12597,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11603,7 +12606,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11612,7 +12615,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11621,7 +12624,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11630,7 +12633,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11639,7 +12642,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11648,7 +12651,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11657,7 +12660,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11666,7 +12669,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11675,7 +12678,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11684,7 +12687,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11693,7 +12696,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11702,7 +12705,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11711,7 +12714,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11720,7 +12723,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11729,7 +12732,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11738,7 +12741,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11747,7 +12750,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11756,7 +12759,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11765,7 +12768,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11774,7 +12777,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11783,7 +12786,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11792,7 +12795,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_92; + goto op_semantics_112; break; } break; @@ -11815,14 +12818,14 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - op_semantics_93: + op_semantics_113: { /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */ -#line 948 "rx-decode.opc" +#line 986 "rx-decode.opc" int bittt AU = op[1] & 0x1f; -#line 948 "rx-decode.opc" +#line 986 "rx-decode.opc" int cond AU = (op[2] >> 4) & 0x0f; -#line 948 "rx-decode.opc" +#line 986 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -11834,7 +12837,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("bm%2 #%1, %0%S0"); -#line 948 "rx-decode.opc" +#line 986 "rx-decode.opc" ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst); /*----------------------------------------------------------------------*/ @@ -11843,12 +12846,12 @@ rx_decode_opcode (unsigned long pc AU, } break; case 0xf0: - op_semantics_94: + op_semantics_114: { /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */ -#line 941 "rx-decode.opc" +#line 979 "rx-decode.opc" int bittt AU = op[1] & 0x1f; -#line 941 "rx-decode.opc" +#line 979 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -11859,7 +12862,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("bnot #%1, %0"); -#line 941 "rx-decode.opc" +#line 979 "rx-decode.opc" ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst); @@ -11886,10 +12889,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -11912,10 +12915,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -11938,10 +12941,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -11964,10 +12967,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -11990,10 +12993,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12016,10 +13019,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12042,10 +13045,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12068,10 +13071,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12094,10 +13097,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12120,10 +13123,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12146,10 +13149,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12172,10 +13175,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12198,10 +13201,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12224,10 +13227,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12250,10 +13253,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12276,10 +13279,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12302,10 +13305,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12328,10 +13331,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12354,10 +13357,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12380,10 +13383,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12406,10 +13409,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12432,10 +13435,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12458,10 +13461,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12484,10 +13487,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12510,10 +13513,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12536,10 +13539,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12562,10 +13565,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12588,10 +13591,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12614,10 +13617,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12640,10 +13643,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12666,10 +13669,10 @@ rx_decode_opcode (unsigned long pc AU, case 0xc0: case 0xd0: case 0xe0: - goto op_semantics_93; + goto op_semantics_113; break; case 0xf0: - goto op_semantics_94; + goto op_semantics_114; break; } break; @@ -12685,7 +13688,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_95: + op_semantics_115: { /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */ #line 338 "rx-decode.opc" @@ -12719,7 +13722,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12728,7 +13731,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12737,7 +13740,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12746,7 +13749,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12755,7 +13758,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12764,7 +13767,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12773,7 +13776,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12782,7 +13785,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12791,7 +13794,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12800,7 +13803,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12809,7 +13812,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12818,7 +13821,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12827,7 +13830,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12836,7 +13839,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12845,7 +13848,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12854,7 +13857,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12863,7 +13866,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12872,7 +13875,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12881,7 +13884,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12890,7 +13893,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12899,7 +13902,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12908,7 +13911,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12917,7 +13920,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12926,7 +13929,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12935,7 +13938,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12944,7 +13947,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12953,7 +13956,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12962,7 +13965,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12971,7 +13974,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12980,7 +13983,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12989,7 +13992,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -12998,7 +14001,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13007,7 +14010,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13016,7 +14019,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13025,7 +14028,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13034,7 +14037,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13043,7 +14046,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13052,7 +14055,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13061,7 +14064,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13070,7 +14073,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13079,7 +14082,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13088,7 +14091,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13097,7 +14100,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13106,7 +14109,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13115,7 +14118,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13124,7 +14127,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13133,7 +14136,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_95; + goto op_semantics_115; break; } break; @@ -13142,7 +14145,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_96: + op_semantics_116: { /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */ #line 335 "rx-decode.opc" @@ -13176,7 +14179,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13185,7 +14188,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13194,7 +14197,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13203,7 +14206,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13212,7 +14215,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13221,7 +14224,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13230,7 +14233,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13239,7 +14242,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13248,7 +14251,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13257,7 +14260,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13266,7 +14269,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13275,7 +14278,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13284,7 +14287,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13293,7 +14296,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13302,7 +14305,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13311,7 +14314,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13320,7 +14323,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13329,7 +14332,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13338,7 +14341,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13347,7 +14350,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13356,7 +14359,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13365,7 +14368,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13374,7 +14377,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13383,7 +14386,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13392,7 +14395,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13401,7 +14404,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13410,7 +14413,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13419,7 +14422,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13428,7 +14431,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13437,7 +14440,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13446,7 +14449,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13455,7 +14458,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13464,7 +14467,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13473,7 +14476,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13482,7 +14485,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13491,7 +14494,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13500,7 +14503,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13509,7 +14512,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13518,7 +14521,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13527,7 +14530,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13536,7 +14539,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13545,7 +14548,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13554,7 +14557,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13563,7 +14566,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13572,7 +14575,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13581,7 +14584,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13590,7 +14593,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_96; + goto op_semantics_116; break; } break; @@ -13599,7 +14602,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_97: + op_semantics_117: { /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */ #line 341 "rx-decode.opc" @@ -13633,7 +14636,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13642,7 +14645,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13651,7 +14654,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13660,7 +14663,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13669,7 +14672,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13678,7 +14681,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13687,7 +14690,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13696,7 +14699,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13705,7 +14708,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13714,7 +14717,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13723,7 +14726,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13732,7 +14735,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13741,7 +14744,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13750,7 +14753,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13759,7 +14762,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13768,7 +14771,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13777,7 +14780,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13786,7 +14789,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13795,7 +14798,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13804,7 +14807,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13813,7 +14816,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13822,7 +14825,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13831,7 +14834,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13840,7 +14843,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13849,7 +14852,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13858,7 +14861,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13867,7 +14870,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13876,7 +14879,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13885,7 +14888,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13894,7 +14897,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13903,7 +14906,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13912,7 +14915,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13921,7 +14924,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13930,7 +14933,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13939,7 +14942,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13948,7 +14951,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13957,7 +14960,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13966,7 +14969,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13975,7 +14978,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13984,7 +14987,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -13993,7 +14996,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -14002,7 +15005,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -14011,7 +15014,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -14020,7 +15023,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -14029,7 +15032,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -14038,7 +15041,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -14047,7 +15050,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_97; + goto op_semantics_117; break; } break; @@ -14063,7 +15066,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_98: + op_semantics_118: { /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */ #line 545 "rx-decode.opc" @@ -14097,7 +15100,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14106,7 +15109,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14115,7 +15118,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14124,7 +15127,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14133,7 +15136,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14142,7 +15145,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14151,7 +15154,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14160,7 +15163,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14169,7 +15172,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14178,7 +15181,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14187,7 +15190,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14196,7 +15199,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14205,7 +15208,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14214,7 +15217,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14223,7 +15226,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_98; + goto op_semantics_118; break; } break; @@ -14232,7 +15235,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_99: + op_semantics_119: { /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */ #line 512 "rx-decode.opc" @@ -14266,7 +15269,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14275,7 +15278,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14284,7 +15287,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14293,7 +15296,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14302,7 +15305,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14311,7 +15314,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14320,7 +15323,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14329,7 +15332,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14338,7 +15341,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14347,7 +15350,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14356,7 +15359,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14365,7 +15368,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14374,7 +15377,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14383,7 +15386,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14392,7 +15395,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_99; + goto op_semantics_119; break; } break; @@ -14401,14 +15404,14 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_100: + op_semantics_120: { /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */ -#line 614 "rx-decode.opc" +#line 652 "rx-decode.opc" int rdst AU = op[1] & 0x0f; -#line 614 "rx-decode.opc" +#line 652 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 614 "rx-decode.opc" +#line 652 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { @@ -14420,7 +15423,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" srcb = 0x%x\n", srcb); } SYNTAX("mul %2, %1, %0"); -#line 614 "rx-decode.opc" +#line 652 "rx-decode.opc" ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____; /*----------------------------------------------------------------------*/ @@ -14435,7 +15438,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14444,7 +15447,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14453,7 +15456,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14462,7 +15465,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14471,7 +15474,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14480,7 +15483,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14489,7 +15492,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14498,7 +15501,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14507,7 +15510,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14516,7 +15519,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14525,7 +15528,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14534,7 +15537,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14543,7 +15546,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14552,7 +15555,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14561,7 +15564,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_100; + goto op_semantics_120; break; } break; @@ -14570,7 +15573,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_101: + op_semantics_121: { /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */ #line 422 "rx-decode.opc" @@ -14604,7 +15607,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14613,7 +15616,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14622,7 +15625,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14631,7 +15634,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14640,7 +15643,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14649,7 +15652,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14658,7 +15661,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14667,7 +15670,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14676,7 +15679,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14685,7 +15688,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14694,7 +15697,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14703,7 +15706,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14712,7 +15715,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14721,7 +15724,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14730,7 +15733,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_101; + goto op_semantics_121; break; } break; @@ -14739,7 +15742,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - op_semantics_102: + op_semantics_122: { /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */ #line 440 "rx-decode.opc" @@ -14773,7 +15776,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14782,7 +15785,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14791,7 +15794,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14800,7 +15803,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14809,7 +15812,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14818,7 +15821,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14827,7 +15830,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14836,7 +15839,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14845,7 +15848,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14854,7 +15857,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14863,7 +15866,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14872,7 +15875,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14881,7 +15884,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14890,7 +15893,7 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; break; } break; @@ -14899,7 +15902,505 @@ rx_decode_opcode (unsigned long pc AU, switch (op[2] & 0x00) { case 0x00: - goto op_semantics_102; + goto op_semantics_122; + break; + } + break; + case 0x80: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_123: + { + /** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */ +#line 1100 "rx-decode.opc" + int rdst AU = op[1] & 0x0f; +#line 1100 "rx-decode.opc" + int srca AU = (op[2] >> 4) & 0x0f; +#line 1100 "rx-decode.opc" + int srcb AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */", + op[0], op[1], op[2]); + printf (" rdst = 0x%x,", rdst); + printf (" srca = 0x%x,", srca); + printf (" srcb = 0x%x\n", srcb); + } + SYNTAX("fsub %2, %1, %0"); +#line 1100 "rx-decode.opc" + ID(fsub); DR(rdst); SR(srcb); S2R(srca); F__SZ_; + + } + break; + } + break; + case 0x81: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x82: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x83: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x84: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x85: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x86: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x87: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x88: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x89: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x8a: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x8b: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x8c: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x8d: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x8e: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0x8f: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_123; + break; + } + break; + case 0xa0: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_124: + { + /** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */ +#line 1097 "rx-decode.opc" + int rdst AU = op[1] & 0x0f; +#line 1097 "rx-decode.opc" + int srca AU = (op[2] >> 4) & 0x0f; +#line 1097 "rx-decode.opc" + int srcb AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */", + op[0], op[1], op[2]); + printf (" rdst = 0x%x,", rdst); + printf (" srca = 0x%x,", srca); + printf (" srcb = 0x%x\n", srcb); + } + SYNTAX("fadd %2, %1, %0"); +#line 1097 "rx-decode.opc" + ID(fadd); DR(rdst); SR(srcb); S2R(srca); F__SZ_; + + } + break; + } + break; + case 0xa1: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xa2: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xa3: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xa4: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xa5: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xa6: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xa7: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xa8: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xa9: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xaa: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xab: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xac: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xad: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xae: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xaf: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_124; + break; + } + break; + case 0xb0: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + op_semantics_125: + { + /** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */ +#line 1103 "rx-decode.opc" + int rdst AU = op[1] & 0x0f; +#line 1103 "rx-decode.opc" + int srca AU = (op[2] >> 4) & 0x0f; +#line 1103 "rx-decode.opc" + int srcb AU = op[2] & 0x0f; + if (trace) + { + printf ("\033[33m%s\033[0m %02x %02x %02x\n", + "/** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */", + op[0], op[1], op[2]); + printf (" rdst = 0x%x,", rdst); + printf (" srca = 0x%x,", srca); + printf (" srcb = 0x%x\n", srcb); + } + SYNTAX("fmul %2, %1, %0"); +#line 1103 "rx-decode.opc" + ID(fmul); DR(rdst); SR(srcb); S2R(srca); F__SZ_; + + } + break; + } + break; + case 0xb1: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xb2: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xb3: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xb4: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xb5: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xb6: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xb7: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xb8: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xb9: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xba: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xbb: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xbc: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xbd: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xbe: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; + break; + } + break; + case 0xbf: + GETBYTE (); + switch (op[2] & 0x00) + { + case 0x00: + goto op_semantics_125; break; } break; @@ -14908,7 +16409,7 @@ rx_decode_opcode (unsigned long pc AU, break; default: UNSUPPORTED(); break; } -#line 1005 "rx-decode.opc" +#line 1118 "rx-decode.opc" return rx->n_bytes; } diff --git a/opcodes/rx-decode.opc b/opcodes/rx-decode.opc index 12f6893..a3cc751 100644 --- a/opcodes/rx-decode.opc +++ b/opcodes/rx-decode.opc @@ -844,35 +844,35 @@ rx_decode_opcode (unsigned long pc AU, /*----------------------------------------------------------------------*/ /* HI/LO stuff */ -/** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */ - ID(mulhi); SR(srca); S2R(srcb); F_____; +/** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */ + ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____; -/** 1111 1101 0000 0001 srca srcb mullo %1, %2 */ - ID(mullo); SR(srca); S2R(srcb); F_____; +/** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */ + ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____; -/** 1111 1101 0000 0100 srca srcb machi %1, %2 */ - ID(machi); SR(srca); S2R(srcb); F_____; +/** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */ + ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____; -/** 1111 1101 0000 0101 srca srcb maclo %1, %2 */ - ID(maclo); SR(srca); S2R(srcb); F_____; +/** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */ + ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____; -/** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */ - ID(mvtachi); SR(rsrc); F_____; +/** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */ + ID(mvtachi); DR(a+32); SR(rsrc); F_____; -/** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */ - ID(mvtaclo); SR(rsrc); F_____; +/** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */ + ID(mvtaclo); DR(a+32); SR(rsrc); F_____; -/** 1111 1101 0001 1111 0000 rdst mvfachi %0 */ - ID(mvfachi); DR(rdst); F_____; +/** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */ + ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____; -/** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */ - ID(mvfacmi); DR(rdst); F_____; +/** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */ + ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____; -/** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */ - ID(mvfaclo); DR(rdst); F_____; +/** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */ + ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____; -/** 1111 1101 0001 1000 000i 0000 racw #%1 */ - ID(racw); SC(i+1); F_____; +/** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */ + ID(racw); SC(i+1); DR(a+32); F_____; /*----------------------------------------------------------------------*/ /* SAT */ @@ -1039,6 +1039,81 @@ rx_decode_opcode (unsigned long pc AU, /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */ ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond); +/*----------------------------------------------------------------------*/ +/* RXv2 enhanced */ + +/** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */ + ID(mov); SR(rsrc); DR(rdst); F_____; + +/** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */ + ID(mov); SR(rsrc); DR(rdst); F_____; + +/** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */ + ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z); + +/** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */ + ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z); + +/** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */ + ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____; + +/** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */ + ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____; + +/** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */ + ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____; + +/** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */ + ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____; + +/** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */ + ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____; + +/** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */ + ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____; + +/** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */ + ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____; + +/** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */ + ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____; + +/** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */ + ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____; + +/** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */ + ID(mvtacgu); SR(a+32); DR(rdst); F_____; + +/** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */ + ID(racl); SC(i+1); DR(a+32); F_____; + +/** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */ + ID(rdacl); SC(i+1); DR(a+32); F_____; + +/** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */ + ID(rdacw); SC(i+1); DR(a+32); F_____; + +/** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */ + ID(fadd); DR(rdst); SR(srcb); S2R(srca); F__SZ_; + +/** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */ + ID(fsub); DR(rdst); SR(srcb); S2R(srca); F__SZ_; + +/** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */ + ID(fmul); DR(rdst); SR(srcb); S2R(srca); F__SZ_; + +/** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */ + ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; + +/** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */ + ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; + +/** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */ + ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_; + +/** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */ + ID(utof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_; + /** */ return rx->n_bytes; diff --git a/opcodes/rx-dis.c b/opcodes/rx-dis.c index 01d0385..74ad726 100644 --- a/opcodes/rx-dis.c +++ b/opcodes/rx-dis.c @@ -65,9 +65,9 @@ static char const * register_names[] = "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", /* control register */ "psw", "pc", "usp", "fpsw", NULL, NULL, NULL, NULL, - "bpsw", "bpc", "isp", "fintv", "intb", NULL, NULL, NULL, + "bpsw", "bpc", "isp", "fintv", "intb", "extb", NULL, NULL, + "a0", "a1", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; static char const * condition_names[] = |