diff options
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 7 | ||||
-rw-r--r-- | opcodes/rx-decode.c | 1223 | ||||
-rw-r--r-- | opcodes/rx-decode.opc | 11 |
3 files changed, 627 insertions, 614 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index ac94327..a2822fb 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,10 @@ +2014-03-19 Nick Clifton <nickc@redhat.com> + + * rx-decode.opc (bwl): Allow for bogus instructions with a size + field of 3. + (sbwl, ubwl): Likewise. + * rx-decode.c: Regenerate. + 2014-03-12 Alan Modra <amodra@gmail.com> * Makefile.in: Regenerate. diff --git a/opcodes/rx-decode.c b/opcodes/rx-decode.c index e08788b..fb81da9 100644 --- a/opcodes/rx-decode.c +++ b/opcodes/rx-decode.c @@ -49,21 +49,24 @@ static int bwl[] = { RX_Byte, RX_Word, - RX_Long + RX_Long, + 0 /* Bogus instructions can have a size field set to 3. */ }; static int sbwl[] = { RX_SByte, RX_SWord, - RX_Long + RX_Long, + 0 /* Bogus instructions can have a size field set to 3. */ }; static int ubwl[] = { RX_UByte, RX_UWord, - RX_Long + RX_Long, + 0 /* Bogus instructions can have a size field set to 3. */ }; static int memex[] = @@ -82,7 +85,7 @@ static int memex[] = rx->op[n].size = s ) /* This is for the BWL and BW bitfields. */ -static int SCALE[] = { 1, 2, 4 }; +static int SCALE[] = { 1, 2, 4, 0 }; /* This is for the prefix size enum. */ static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 }; @@ -291,7 +294,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("brk"); -#line 984 "rx-decode.opc" +#line 987 "rx-decode.opc" ID(brk); } @@ -306,7 +309,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("dbt"); -#line 987 "rx-decode.opc" +#line 990 "rx-decode.opc" ID(dbt); } @@ -321,7 +324,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("rts"); -#line 765 "rx-decode.opc" +#line 768 "rx-decode.opc" ID(rts); /*----------------------------------------------------------------------*/ @@ -339,7 +342,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("nop"); -#line 771 "rx-decode.opc" +#line 774 "rx-decode.opc" ID(nop); /*----------------------------------------------------------------------*/ @@ -357,7 +360,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("bra.a %a0"); -#line 743 "rx-decode.opc" +#line 746 "rx-decode.opc" ID(branch); DC(pc + IMMex(3)); } @@ -372,7 +375,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("bsr.a %a0"); -#line 759 "rx-decode.opc" +#line 762 "rx-decode.opc" ID(jsr); DC(pc + IMMex(3)); } @@ -389,13 +392,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_1: { /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */ -#line 539 "rx-decode.opc" +#line 542 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 539 "rx-decode.opc" +#line 542 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 539 "rx-decode.opc" +#line 542 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 539 "rx-decode.opc" +#line 542 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -408,7 +411,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("sub %2%S2, %1"); -#line 539 "rx-decode.opc" +#line 542 "rx-decode.opc" ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); DR(rdst); F_OSZC; } @@ -450,13 +453,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_2: { /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */ -#line 527 "rx-decode.opc" +#line 530 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 527 "rx-decode.opc" +#line 530 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 527 "rx-decode.opc" +#line 530 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 527 "rx-decode.opc" +#line 530 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -469,7 +472,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("cmp %2%S2, %1"); -#line 527 "rx-decode.opc" +#line 530 "rx-decode.opc" ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); F_OSZC; /*----------------------------------------------------------------------*/ @@ -514,13 +517,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_3: { /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */ -#line 503 "rx-decode.opc" +#line 506 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 503 "rx-decode.opc" +#line 506 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 503 "rx-decode.opc" +#line 506 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 503 "rx-decode.opc" +#line 506 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -533,7 +536,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("add %1%S1, %0"); -#line 503 "rx-decode.opc" +#line 506 "rx-decode.opc" ID(add); SPm(ss, rsrc, mx); DR(rdst); F_OSZC; } @@ -575,13 +578,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_4: { /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */ -#line 608 "rx-decode.opc" +#line 611 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 608 "rx-decode.opc" +#line 611 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 608 "rx-decode.opc" +#line 611 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 608 "rx-decode.opc" +#line 611 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -594,7 +597,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 611 "rx-decode.opc" ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____; } @@ -636,13 +639,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_5: { /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */ -#line 416 "rx-decode.opc" +#line 419 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 416 "rx-decode.opc" +#line 419 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 416 "rx-decode.opc" +#line 419 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 416 "rx-decode.opc" +#line 419 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -655,7 +658,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("and %1%S1, %0"); -#line 416 "rx-decode.opc" +#line 419 "rx-decode.opc" ID(and); SPm(ss, rsrc, mx); DR(rdst); F__SZ_; } @@ -697,13 +700,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_6: { /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */ -#line 434 "rx-decode.opc" +#line 437 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 434 "rx-decode.opc" +#line 437 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 434 "rx-decode.opc" +#line 437 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 434 "rx-decode.opc" +#line 437 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -716,7 +719,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("or %1%S1, %0"); -#line 434 "rx-decode.opc" +#line 437 "rx-decode.opc" ID(or); SPm(ss, rsrc, mx); DR(rdst); F__SZ_; } @@ -762,13 +765,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_7: { /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */ -#line 552 "rx-decode.opc" +#line 555 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 552 "rx-decode.opc" +#line 555 "rx-decode.opc" int sp AU = op[1] & 0x03; -#line 552 "rx-decode.opc" +#line 555 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 552 "rx-decode.opc" +#line 555 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -781,7 +784,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("sbb %1%S1, %0"); -#line 552 "rx-decode.opc" +#line 555 "rx-decode.opc" ID(sbb); SPm(sp, rsrc, mx); DR(rdst); F_OSZC; /*----------------------------------------------------------------------*/ @@ -799,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 581 "rx-decode.opc" +#line 584 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 581 "rx-decode.opc" +#line 584 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 581 "rx-decode.opc" +#line 584 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 581 "rx-decode.opc" +#line 584 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -818,7 +821,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("max %1%S1, %0"); -#line 581 "rx-decode.opc" +#line 584 "rx-decode.opc" ID(max); SPm(ss, rsrc, mx); DR(rdst); /*----------------------------------------------------------------------*/ @@ -836,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 593 "rx-decode.opc" +#line 596 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 593 "rx-decode.opc" +#line 596 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 593 "rx-decode.opc" +#line 596 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 593 "rx-decode.opc" +#line 596 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -855,7 +858,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 596 "rx-decode.opc" ID(min); SPm(ss, rsrc, mx); DR(rdst); /*----------------------------------------------------------------------*/ @@ -873,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 623 "rx-decode.opc" +#line 626 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 623 "rx-decode.opc" +#line 626 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 623 "rx-decode.opc" +#line 626 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 623 "rx-decode.opc" +#line 626 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -892,7 +895,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 626 "rx-decode.opc" ID(emul); SPm(ss, rsrc, mx); DR(rdst); /*----------------------------------------------------------------------*/ @@ -910,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 635 "rx-decode.opc" +#line 638 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 635 "rx-decode.opc" +#line 638 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 635 "rx-decode.opc" +#line 638 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 635 "rx-decode.opc" +#line 638 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -929,7 +932,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 638 "rx-decode.opc" ID(emulu); SPm(ss, rsrc, mx); DR(rdst); /*----------------------------------------------------------------------*/ @@ -947,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 647 "rx-decode.opc" +#line 650 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 647 "rx-decode.opc" +#line 650 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 647 "rx-decode.opc" +#line 650 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 647 "rx-decode.opc" +#line 650 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -966,7 +969,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 650 "rx-decode.opc" ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___; /*----------------------------------------------------------------------*/ @@ -984,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 659 "rx-decode.opc" +#line 662 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 659 "rx-decode.opc" +#line 662 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 659 "rx-decode.opc" +#line 662 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 659 "rx-decode.opc" +#line 662 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -1003,7 +1006,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 662 "rx-decode.opc" ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___; /*----------------------------------------------------------------------*/ @@ -1021,13 +1024,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_14: { /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */ -#line 470 "rx-decode.opc" +#line 473 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 470 "rx-decode.opc" +#line 473 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 470 "rx-decode.opc" +#line 473 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 470 "rx-decode.opc" +#line 473 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -1040,7 +1043,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("tst %1%S1, %2"); -#line 470 "rx-decode.opc" +#line 473 "rx-decode.opc" ID(and); SPm(ss, rsrc, mx); S2R(rdst); F__SZ_; /*----------------------------------------------------------------------*/ @@ -1058,13 +1061,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_15: { /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */ -#line 449 "rx-decode.opc" +#line 452 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 449 "rx-decode.opc" +#line 452 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 449 "rx-decode.opc" +#line 452 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 449 "rx-decode.opc" +#line 452 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -1077,7 +1080,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("xor %1%S1, %0"); -#line 449 "rx-decode.opc" +#line 452 "rx-decode.opc" ID(xor); SPm(ss, rsrc, mx); DR(rdst); F__SZ_; /*----------------------------------------------------------------------*/ @@ -1095,13 +1098,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_16: { /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */ -#line 383 "rx-decode.opc" +#line 386 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 383 "rx-decode.opc" +#line 386 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 383 "rx-decode.opc" +#line 386 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 383 "rx-decode.opc" +#line 386 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -1114,7 +1117,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("xchg %1%S1, %0"); -#line 383 "rx-decode.opc" +#line 386 "rx-decode.opc" ID(xchg); DR(rdst); SPm(ss, rsrc, mx); /*----------------------------------------------------------------------*/ @@ -1132,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 888 "rx-decode.opc" +#line 891 "rx-decode.opc" int mx AU = (op[1] >> 6) & 0x03; -#line 888 "rx-decode.opc" +#line 891 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 888 "rx-decode.opc" +#line 891 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 888 "rx-decode.opc" +#line 891 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -1151,7 +1154,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 891 "rx-decode.opc" ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_; /*----------------------------------------------------------------------*/ @@ -2359,11 +2362,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_18: { /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */ -#line 491 "rx-decode.opc" +#line 494 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 491 "rx-decode.opc" +#line 494 "rx-decode.opc" int rsrc AU = (op[3] >> 4) & 0x0f; -#line 491 "rx-decode.opc" +#line 494 "rx-decode.opc" int rdst AU = op[3] & 0x0f; if (trace) { @@ -2375,7 +2378,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("adc %1%S1, %0"); -#line 491 "rx-decode.opc" +#line 494 "rx-decode.opc" ID(adc); SPm(ss, rsrc, 2); DR(rdst); F_OSZC; /*----------------------------------------------------------------------*/ @@ -3476,7 +3479,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x0f: { /** 0000 1dsp bra.s %a0 */ -#line 734 "rx-decode.opc" +#line 737 "rx-decode.opc" int dsp AU = op[0] & 0x07; if (trace) { @@ -3486,7 +3489,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" dsp = 0x%x\n", dsp); } SYNTAX("bra.s %a0"); -#line 734 "rx-decode.opc" +#line 737 "rx-decode.opc" ID(branch); DC(pc + dsp3map[dsp]); } @@ -3509,9 +3512,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x1f: { /** 0001 n dsp b%1.s %a0 */ -#line 724 "rx-decode.opc" +#line 727 "rx-decode.opc" int n AU = (op[0] >> 3) & 0x01; -#line 724 "rx-decode.opc" +#line 727 "rx-decode.opc" int dsp AU = op[0] & 0x07; if (trace) { @@ -3522,7 +3525,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" dsp = 0x%x\n", dsp); } SYNTAX("b%1.s %a0"); -#line 724 "rx-decode.opc" +#line 727 "rx-decode.opc" ID(branch); Scc(n); DC(pc + dsp3map[dsp]); } @@ -3544,7 +3547,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x2f: { /** 0010 cond b%1.b %a0 */ -#line 727 "rx-decode.opc" +#line 730 "rx-decode.opc" int cond AU = op[0] & 0x0f; if (trace) { @@ -3554,7 +3557,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" cond = 0x%x\n", cond); } SYNTAX("b%1.b %a0"); -#line 727 "rx-decode.opc" +#line 730 "rx-decode.opc" ID(branch); Scc(cond); DC(pc + IMMex (1)); } @@ -3569,7 +3572,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("bra.b %a0"); -#line 737 "rx-decode.opc" +#line 740 "rx-decode.opc" ID(branch); DC(pc + IMMex(1)); } @@ -3584,7 +3587,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("bra.w %a0"); -#line 740 "rx-decode.opc" +#line 743 "rx-decode.opc" ID(branch); DC(pc + IMMex(2)); } @@ -3599,7 +3602,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("bsr.w %a0"); -#line 756 "rx-decode.opc" +#line 759 "rx-decode.opc" ID(jsr); DC(pc + IMMex(2)); } @@ -3608,7 +3611,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x3b: { /** 0011 101c b%1.w %a0 */ -#line 730 "rx-decode.opc" +#line 733 "rx-decode.opc" int c AU = op[0] & 0x01; if (trace) { @@ -3618,7 +3621,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" c = 0x%x\n", c); } SYNTAX("b%1.w %a0"); -#line 730 "rx-decode.opc" +#line 733 "rx-decode.opc" ID(branch); Scc(c); DC(pc + IMMex (2)); @@ -3632,13 +3635,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_19: { /** 0011 11sz d dst sppp mov%s #%1, %0 */ -#line 304 "rx-decode.opc" +#line 307 "rx-decode.opc" int sz AU = op[0] & 0x03; -#line 304 "rx-decode.opc" +#line 307 "rx-decode.opc" int d AU = (op[1] >> 7) & 0x01; -#line 304 "rx-decode.opc" +#line 307 "rx-decode.opc" int dst AU = (op[1] >> 4) & 0x07; -#line 304 "rx-decode.opc" +#line 307 "rx-decode.opc" int sppp AU = op[1] & 0x0f; if (trace) { @@ -3651,7 +3654,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" sppp = 0x%x\n", sppp); } SYNTAX("mov%s #%1, %0"); -#line 304 "rx-decode.opc" +#line 307 "rx-decode.opc" ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____; } @@ -3683,9 +3686,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0011 1111 rega regb rtsd #%1, %2-%0 */ -#line 401 "rx-decode.opc" +#line 404 "rx-decode.opc" int rega AU = (op[1] >> 4) & 0x0f; -#line 401 "rx-decode.opc" +#line 404 "rx-decode.opc" int regb AU = op[1] & 0x0f; if (trace) { @@ -3696,7 +3699,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" regb = 0x%x\n", regb); } SYNTAX("rtsd #%1, %2-%0"); -#line 401 "rx-decode.opc" +#line 404 "rx-decode.opc" ID(rtsd); SC(IMM(1) * 4); S2R(rega); DR(regb); /*----------------------------------------------------------------------*/ @@ -3714,11 +3717,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_20: { /** 0100 00ss rsrc rdst sub %2%S2, %1 */ -#line 536 "rx-decode.opc" +#line 539 "rx-decode.opc" int ss AU = op[0] & 0x03; -#line 536 "rx-decode.opc" +#line 539 "rx-decode.opc" int rsrc AU = (op[1] >> 4) & 0x0f; -#line 536 "rx-decode.opc" +#line 539 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -3730,7 +3733,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("sub %2%S2, %1"); -#line 536 "rx-decode.opc" +#line 539 "rx-decode.opc" ID(sub); S2P(ss, rsrc); SR(rdst); DR(rdst); F_OSZC; } @@ -3772,11 +3775,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_21: { /** 0100 01ss rsrc rdst cmp %2%S2, %1 */ -#line 524 "rx-decode.opc" +#line 527 "rx-decode.opc" int ss AU = op[0] & 0x03; -#line 524 "rx-decode.opc" +#line 527 "rx-decode.opc" int rsrc AU = (op[1] >> 4) & 0x0f; -#line 524 "rx-decode.opc" +#line 527 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -3788,7 +3791,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("cmp %2%S2, %1"); -#line 524 "rx-decode.opc" +#line 527 "rx-decode.opc" ID(sub); S2P(ss, rsrc); SR(rdst); F_OSZC; } @@ -3830,11 +3833,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_22: { /** 0100 10ss rsrc rdst add %1%S1, %0 */ -#line 500 "rx-decode.opc" +#line 503 "rx-decode.opc" int ss AU = op[0] & 0x03; -#line 500 "rx-decode.opc" +#line 503 "rx-decode.opc" int rsrc AU = (op[1] >> 4) & 0x0f; -#line 500 "rx-decode.opc" +#line 503 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -3846,7 +3849,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("add %1%S1, %0"); -#line 500 "rx-decode.opc" +#line 503 "rx-decode.opc" ID(add); SP(ss, rsrc); DR(rdst); F_OSZC; } @@ -3888,11 +3891,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_23: { /** 0100 11ss rsrc rdst mul %1%S1, %0 */ -#line 605 "rx-decode.opc" +#line 608 "rx-decode.opc" int ss AU = op[0] & 0x03; -#line 605 "rx-decode.opc" +#line 608 "rx-decode.opc" int rsrc AU = (op[1] >> 4) & 0x0f; -#line 605 "rx-decode.opc" +#line 608 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -3904,7 +3907,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mul %1%S1, %0"); -#line 605 "rx-decode.opc" +#line 608 "rx-decode.opc" ID(mul); SP(ss, rsrc); DR(rdst); F_____; } @@ -3946,11 +3949,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_24: { /** 0101 00ss rsrc rdst and %1%S1, %0 */ -#line 413 "rx-decode.opc" +#line 416 "rx-decode.opc" int ss AU = op[0] & 0x03; -#line 413 "rx-decode.opc" +#line 416 "rx-decode.opc" int rsrc AU = (op[1] >> 4) & 0x0f; -#line 413 "rx-decode.opc" +#line 416 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -3962,7 +3965,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("and %1%S1, %0"); -#line 413 "rx-decode.opc" +#line 416 "rx-decode.opc" ID(and); SP(ss, rsrc); DR(rdst); F__SZ_; } @@ -4004,11 +4007,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_25: { /** 0101 01ss rsrc rdst or %1%S1, %0 */ -#line 431 "rx-decode.opc" +#line 434 "rx-decode.opc" int ss AU = op[0] & 0x03; -#line 431 "rx-decode.opc" +#line 434 "rx-decode.opc" int rsrc AU = (op[1] >> 4) & 0x0f; -#line 431 "rx-decode.opc" +#line 434 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4020,7 +4023,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("or %1%S1, %0"); -#line 431 "rx-decode.opc" +#line 434 "rx-decode.opc" ID(or); SP(ss, rsrc); DR(rdst); F__SZ_; } @@ -4062,13 +4065,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_26: { /** 0101 1 s ss rsrc rdst movu%s %1, %0 */ -#line 352 "rx-decode.opc" +#line 355 "rx-decode.opc" int s AU = (op[0] >> 2) & 0x01; -#line 352 "rx-decode.opc" +#line 355 "rx-decode.opc" int ss AU = op[0] & 0x03; -#line 352 "rx-decode.opc" +#line 355 "rx-decode.opc" int rsrc AU = (op[1] >> 4) & 0x0f; -#line 352 "rx-decode.opc" +#line 355 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4081,7 +4084,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("movu%s %1, %0"); -#line 352 "rx-decode.opc" +#line 355 "rx-decode.opc" ID(mov); uBWL(s); SD(ss, rsrc, s); DR(rdst); F_____; } @@ -4158,9 +4161,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0110 0000 immm rdst sub #%2, %0 */ -#line 533 "rx-decode.opc" +#line 536 "rx-decode.opc" int immm AU = (op[1] >> 4) & 0x0f; -#line 533 "rx-decode.opc" +#line 536 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4171,7 +4174,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("sub #%2, %0"); -#line 533 "rx-decode.opc" +#line 536 "rx-decode.opc" ID(sub); S2C(immm); SR(rdst); DR(rdst); F_OSZC; } @@ -4185,9 +4188,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0110 0001 immm rdst cmp #%2, %1 */ -#line 515 "rx-decode.opc" +#line 518 "rx-decode.opc" int immm AU = (op[1] >> 4) & 0x0f; -#line 515 "rx-decode.opc" +#line 518 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4198,7 +4201,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("cmp #%2, %1"); -#line 515 "rx-decode.opc" +#line 518 "rx-decode.opc" ID(sub); S2C(immm); SR(rdst); F_OSZC; } @@ -4212,9 +4215,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0110 0010 immm rdst add #%1, %0 */ -#line 497 "rx-decode.opc" +#line 500 "rx-decode.opc" int immm AU = (op[1] >> 4) & 0x0f; -#line 497 "rx-decode.opc" +#line 500 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4225,7 +4228,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("add #%1, %0"); -#line 497 "rx-decode.opc" +#line 500 "rx-decode.opc" ID(add); SC(immm); DR(rdst); F_OSZC; } @@ -4239,9 +4242,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0110 0011 immm rdst mul #%1, %0 */ -#line 599 "rx-decode.opc" +#line 602 "rx-decode.opc" int immm AU = (op[1] >> 4) & 0x0f; -#line 599 "rx-decode.opc" +#line 602 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4252,7 +4255,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mul #%1, %0"); -#line 599 "rx-decode.opc" +#line 602 "rx-decode.opc" ID(mul); DR(rdst); SC(immm); F_____; } @@ -4266,9 +4269,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0110 0100 immm rdst and #%1, %0 */ -#line 407 "rx-decode.opc" +#line 410 "rx-decode.opc" int immm AU = (op[1] >> 4) & 0x0f; -#line 407 "rx-decode.opc" +#line 410 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4279,7 +4282,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("and #%1, %0"); -#line 407 "rx-decode.opc" +#line 410 "rx-decode.opc" ID(and); SC(immm); DR(rdst); F__SZ_; } @@ -4293,9 +4296,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0110 0101 immm rdst or #%1, %0 */ -#line 425 "rx-decode.opc" +#line 428 "rx-decode.opc" int immm AU = (op[1] >> 4) & 0x0f; -#line 425 "rx-decode.opc" +#line 428 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4306,7 +4309,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("or #%1, %0"); -#line 425 "rx-decode.opc" +#line 428 "rx-decode.opc" ID(or); SC(immm); DR(rdst); F__SZ_; } @@ -4320,9 +4323,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0110 0110 immm rdst mov%s #%1, %0 */ -#line 301 "rx-decode.opc" +#line 304 "rx-decode.opc" int immm AU = (op[1] >> 4) & 0x0f; -#line 301 "rx-decode.opc" +#line 304 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4333,7 +4336,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mov%s #%1, %0"); -#line 301 "rx-decode.opc" +#line 304 "rx-decode.opc" ID(mov); DR(rdst); SC(immm); F_____; } @@ -4350,7 +4353,7 @@ rx_decode_opcode (unsigned long pc AU, op[0]); } SYNTAX("rtsd #%1"); -#line 398 "rx-decode.opc" +#line 401 "rx-decode.opc" ID(rtsd); SC(IMM(1) * 4); } @@ -4363,11 +4366,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_27: { /** 0110 100i mmmm rdst shlr #%2, %0 */ -#line 685 "rx-decode.opc" +#line 688 "rx-decode.opc" int i AU = op[0] & 0x01; -#line 685 "rx-decode.opc" +#line 688 "rx-decode.opc" int mmmm AU = (op[1] >> 4) & 0x0f; -#line 685 "rx-decode.opc" +#line 688 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4379,7 +4382,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shlr #%2, %0"); -#line 685 "rx-decode.opc" +#line 688 "rx-decode.opc" ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC; } @@ -4403,11 +4406,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_28: { /** 0110 101i mmmm rdst shar #%2, %0 */ -#line 675 "rx-decode.opc" +#line 678 "rx-decode.opc" int i AU = op[0] & 0x01; -#line 675 "rx-decode.opc" +#line 678 "rx-decode.opc" int mmmm AU = (op[1] >> 4) & 0x0f; -#line 675 "rx-decode.opc" +#line 678 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4419,7 +4422,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shar #%2, %0"); -#line 675 "rx-decode.opc" +#line 678 "rx-decode.opc" ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC; } @@ -4443,11 +4446,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_29: { /** 0110 110i mmmm rdst shll #%2, %0 */ -#line 665 "rx-decode.opc" +#line 668 "rx-decode.opc" int i AU = op[0] & 0x01; -#line 665 "rx-decode.opc" +#line 668 "rx-decode.opc" int mmmm AU = (op[1] >> 4) & 0x0f; -#line 665 "rx-decode.opc" +#line 668 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4459,7 +4462,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shll #%2, %0"); -#line 665 "rx-decode.opc" +#line 668 "rx-decode.opc" ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC; } @@ -4482,9 +4485,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0110 1110 dsta dstb pushm %1-%2 */ -#line 365 "rx-decode.opc" +#line 368 "rx-decode.opc" int dsta AU = (op[1] >> 4) & 0x0f; -#line 365 "rx-decode.opc" +#line 368 "rx-decode.opc" int dstb AU = op[1] & 0x0f; if (trace) { @@ -4495,7 +4498,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" dstb = 0x%x\n", dstb); } SYNTAX("pushm %1-%2"); -#line 365 "rx-decode.opc" +#line 368 "rx-decode.opc" ID(pushm); SR(dsta); S2R(dstb); F_____; } @@ -4509,9 +4512,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0110 1111 dsta dstb popm %1-%2 */ -#line 362 "rx-decode.opc" +#line 365 "rx-decode.opc" int dsta AU = (op[1] >> 4) & 0x0f; -#line 362 "rx-decode.opc" +#line 365 "rx-decode.opc" int dstb AU = op[1] & 0x0f; if (trace) { @@ -4522,7 +4525,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" dstb = 0x%x\n", dstb); } SYNTAX("popm %1-%2"); -#line 362 "rx-decode.opc" +#line 365 "rx-decode.opc" ID(popm); SR(dsta); S2R(dstb); F_____; } @@ -4537,11 +4540,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_30: { /** 0111 00im rsrc rdst add #%1, %2, %0 */ -#line 506 "rx-decode.opc" +#line 509 "rx-decode.opc" int im AU = op[0] & 0x03; -#line 506 "rx-decode.opc" +#line 509 "rx-decode.opc" int rsrc AU = (op[1] >> 4) & 0x0f; -#line 506 "rx-decode.opc" +#line 509 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4553,7 +4556,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("add #%1, %2, %0"); -#line 506 "rx-decode.opc" +#line 509 "rx-decode.opc" ID(add); SC(IMMex(im)); S2R(rsrc); DR(rdst); F_OSZC; } @@ -4595,9 +4598,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_31: { /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */ -#line 518 "rx-decode.opc" +#line 521 "rx-decode.opc" int im AU = op[0] & 0x03; -#line 518 "rx-decode.opc" +#line 521 "rx-decode.opc" int rsrc AU = op[1] & 0x0f; if (trace) { @@ -4608,7 +4611,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("cmp #%2, %1%S1"); -#line 518 "rx-decode.opc" +#line 521 "rx-decode.opc" ID(sub); SR(rsrc); S2C(IMMex(im)); F_OSZC; } @@ -4617,9 +4620,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_32: { /** 0111 01im 0001rdst mul #%1, %0 */ -#line 602 "rx-decode.opc" +#line 605 "rx-decode.opc" int im AU = op[0] & 0x03; -#line 602 "rx-decode.opc" +#line 605 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4630,7 +4633,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mul #%1, %0"); -#line 602 "rx-decode.opc" +#line 605 "rx-decode.opc" ID(mul); DR(rdst); SC(IMMex(im)); F_____; } @@ -4639,9 +4642,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_33: { /** 0111 01im 0010 rdst and #%1, %0 */ -#line 410 "rx-decode.opc" +#line 413 "rx-decode.opc" int im AU = op[0] & 0x03; -#line 410 "rx-decode.opc" +#line 413 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4652,7 +4655,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("and #%1, %0"); -#line 410 "rx-decode.opc" +#line 413 "rx-decode.opc" ID(and); SC(IMMex(im)); DR(rdst); F__SZ_; } @@ -4661,9 +4664,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_34: { /** 0111 01im 0011 rdst or #%1, %0 */ -#line 428 "rx-decode.opc" +#line 431 "rx-decode.opc" int im AU = op[0] & 0x03; -#line 428 "rx-decode.opc" +#line 431 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4674,7 +4677,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("or #%1, %0"); -#line 428 "rx-decode.opc" +#line 431 "rx-decode.opc" ID(or); SC(IMMex(im)); DR(rdst); F__SZ_; } @@ -4776,7 +4779,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x4f: { /** 0111 0101 0100 rdst mov%s #%1, %0 */ -#line 282 "rx-decode.opc" +#line 285 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4786,7 +4789,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mov%s #%1, %0"); -#line 282 "rx-decode.opc" +#line 285 "rx-decode.opc" ID(mov); DR(rdst); SC(IMM (1)); F_____; } @@ -4809,7 +4812,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x5f: { /** 0111 0101 0101 rsrc cmp #%2, %1 */ -#line 521 "rx-decode.opc" +#line 524 "rx-decode.opc" int rsrc AU = op[1] & 0x0f; if (trace) { @@ -4819,7 +4822,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("cmp #%2, %1"); -#line 521 "rx-decode.opc" +#line 524 "rx-decode.opc" ID(sub); SR(rsrc); S2C(IMM(1)); F_OSZC; } @@ -4834,7 +4837,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("int #%1"); -#line 990 "rx-decode.opc" +#line 993 "rx-decode.opc" ID(int); SC(IMM(1)); } @@ -4846,7 +4849,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */ -#line 957 "rx-decode.opc" +#line 960 "rx-decode.opc" int immm AU = op[2] & 0x0f; if (trace) { @@ -4856,7 +4859,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" immm = 0x%x\n", immm); } SYNTAX("mvtipl #%1"); -#line 957 "rx-decode.opc" +#line 960 "rx-decode.opc" ID(mvtipl); SC(immm); } @@ -4913,11 +4916,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_35: { /** 0111 100b ittt rdst bset #%1, %0 */ -#line 902 "rx-decode.opc" +#line 905 "rx-decode.opc" int b AU = op[0] & 0x01; -#line 902 "rx-decode.opc" +#line 905 "rx-decode.opc" int ittt AU = (op[1] >> 4) & 0x0f; -#line 902 "rx-decode.opc" +#line 905 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4929,7 +4932,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("bset #%1, %0"); -#line 902 "rx-decode.opc" +#line 905 "rx-decode.opc" ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____; @@ -4954,11 +4957,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_36: { /** 0111 101b ittt rdst bclr #%1, %0 */ -#line 914 "rx-decode.opc" +#line 917 "rx-decode.opc" int b AU = op[0] & 0x01; -#line 914 "rx-decode.opc" +#line 917 "rx-decode.opc" int ittt AU = (op[1] >> 4) & 0x0f; -#line 914 "rx-decode.opc" +#line 917 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -4970,7 +4973,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("bclr #%1, %0"); -#line 914 "rx-decode.opc" +#line 917 "rx-decode.opc" ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____; @@ -4995,11 +4998,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_37: { /** 0111 110b ittt rdst btst #%2, %1 */ -#line 926 "rx-decode.opc" +#line 929 "rx-decode.opc" int b AU = op[0] & 0x01; -#line 926 "rx-decode.opc" +#line 929 "rx-decode.opc" int ittt AU = (op[1] >> 4) & 0x0f; -#line 926 "rx-decode.opc" +#line 929 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5011,7 +5014,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("btst #%2, %1"); -#line 926 "rx-decode.opc" +#line 929 "rx-decode.opc" ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC; @@ -5035,7 +5038,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 0111 1110 0000 rdst not %0 */ -#line 455 "rx-decode.opc" +#line 458 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5045,7 +5048,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("not %0"); -#line 455 "rx-decode.opc" +#line 458 "rx-decode.opc" ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_; } @@ -5053,7 +5056,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x10: { /** 0111 1110 0001 rdst neg %0 */ -#line 476 "rx-decode.opc" +#line 479 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5063,7 +5066,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("neg %0"); -#line 476 "rx-decode.opc" +#line 479 "rx-decode.opc" ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC; } @@ -5071,7 +5074,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x20: { /** 0111 1110 0010 rdst abs %0 */ -#line 558 "rx-decode.opc" +#line 561 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5081,7 +5084,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("abs %0"); -#line 558 "rx-decode.opc" +#line 561 "rx-decode.opc" ID(abs); DR(rdst); SR(rdst); F_OSZ_; } @@ -5089,7 +5092,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x30: { /** 0111 1110 0011 rdst sat %0 */ -#line 840 "rx-decode.opc" +#line 843 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5099,7 +5102,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("sat %0"); -#line 840 "rx-decode.opc" +#line 843 "rx-decode.opc" ID(sat); DR (rdst); } @@ -5107,7 +5110,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x40: { /** 0111 1110 0100 rdst rorc %0 */ -#line 700 "rx-decode.opc" +#line 703 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5117,7 +5120,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("rorc %0"); -#line 700 "rx-decode.opc" +#line 703 "rx-decode.opc" ID(rorc); DR(rdst); F__SZC; } @@ -5125,7 +5128,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x50: { /** 0111 1110 0101 rdst rolc %0 */ -#line 697 "rx-decode.opc" +#line 700 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5135,7 +5138,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("rolc %0"); -#line 697 "rx-decode.opc" +#line 700 "rx-decode.opc" ID(rolc); DR(rdst); F__SZC; } @@ -5145,9 +5148,9 @@ rx_decode_opcode (unsigned long pc AU, case 0xa0: { /** 0111 1110 10sz rsrc push%s %1 */ -#line 371 "rx-decode.opc" +#line 374 "rx-decode.opc" int sz AU = (op[1] >> 4) & 0x03; -#line 371 "rx-decode.opc" +#line 374 "rx-decode.opc" int rsrc AU = op[1] & 0x0f; if (trace) { @@ -5158,7 +5161,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("push%s %1"); -#line 371 "rx-decode.opc" +#line 374 "rx-decode.opc" ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____; } @@ -5166,7 +5169,7 @@ rx_decode_opcode (unsigned long pc AU, case 0xb0: { /** 0111 1110 1011 rdst pop %0 */ -#line 368 "rx-decode.opc" +#line 371 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5176,7 +5179,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("pop %0"); -#line 368 "rx-decode.opc" +#line 371 "rx-decode.opc" ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____; } @@ -5185,7 +5188,7 @@ rx_decode_opcode (unsigned long pc AU, case 0xd0: { /** 0111 1110 110 crsrc pushc %1 */ -#line 963 "rx-decode.opc" +#line 966 "rx-decode.opc" int crsrc AU = op[1] & 0x1f; if (trace) { @@ -5195,7 +5198,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" crsrc = 0x%x\n", crsrc); } SYNTAX("pushc %1"); -#line 963 "rx-decode.opc" +#line 966 "rx-decode.opc" ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16); } @@ -5204,7 +5207,7 @@ rx_decode_opcode (unsigned long pc AU, case 0xf0: { /** 0111 1110 111 crdst popc %0 */ -#line 960 "rx-decode.opc" +#line 963 "rx-decode.opc" int crdst AU = op[1] & 0x1f; if (trace) { @@ -5214,7 +5217,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" crdst = 0x%x\n", crdst); } SYNTAX("popc %0"); -#line 960 "rx-decode.opc" +#line 963 "rx-decode.opc" ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16); } @@ -5244,7 +5247,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x0f: { /** 0111 1111 0000 rsrc jmp %0 */ -#line 750 "rx-decode.opc" +#line 753 "rx-decode.opc" int rsrc AU = op[1] & 0x0f; if (trace) { @@ -5254,7 +5257,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("jmp %0"); -#line 750 "rx-decode.opc" +#line 753 "rx-decode.opc" ID(branch); DR(rsrc); } @@ -5277,7 +5280,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x1f: { /** 0111 1111 0001 rsrc jsr %0 */ -#line 753 "rx-decode.opc" +#line 756 "rx-decode.opc" int rsrc AU = op[1] & 0x0f; if (trace) { @@ -5287,7 +5290,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("jsr %0"); -#line 753 "rx-decode.opc" +#line 756 "rx-decode.opc" ID(jsr); DR(rsrc); } @@ -5310,7 +5313,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x4f: { /** 0111 1111 0100 rsrc bra.l %0 */ -#line 746 "rx-decode.opc" +#line 749 "rx-decode.opc" int rsrc AU = op[1] & 0x0f; if (trace) { @@ -5320,7 +5323,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("bra.l %0"); -#line 746 "rx-decode.opc" +#line 749 "rx-decode.opc" ID(branchrel); DR(rsrc); @@ -5344,7 +5347,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x5f: { /** 0111 1111 0101 rsrc bsr.l %0 */ -#line 762 "rx-decode.opc" +#line 765 "rx-decode.opc" int rsrc AU = op[1] & 0x0f; if (trace) { @@ -5354,7 +5357,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("bsr.l %0"); -#line 762 "rx-decode.opc" +#line 765 "rx-decode.opc" ID(jsrrel); DR(rsrc); } @@ -5364,7 +5367,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x82: { /** 0111 1111 1000 00sz suntil%s */ -#line 786 "rx-decode.opc" +#line 789 "rx-decode.opc" int sz AU = op[1] & 0x03; if (trace) { @@ -5374,7 +5377,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" sz = 0x%x\n", sz); } SYNTAX("suntil%s"); -#line 786 "rx-decode.opc" +#line 789 "rx-decode.opc" ID(suntil); BWL(sz); F___ZC; } @@ -5389,7 +5392,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("scmpu"); -#line 777 "rx-decode.opc" +#line 780 "rx-decode.opc" ID(scmpu); F___ZC; } @@ -5399,7 +5402,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x86: { /** 0111 1111 1000 01sz swhile%s */ -#line 789 "rx-decode.opc" +#line 792 "rx-decode.opc" int sz AU = op[1] & 0x03; if (trace) { @@ -5409,7 +5412,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" sz = 0x%x\n", sz); } SYNTAX("swhile%s"); -#line 789 "rx-decode.opc" +#line 792 "rx-decode.opc" ID(swhile); BWL(sz); F___ZC; } @@ -5424,7 +5427,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("smovu"); -#line 780 "rx-decode.opc" +#line 783 "rx-decode.opc" ID(smovu); } @@ -5434,7 +5437,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x8a: { /** 0111 1111 1000 10sz sstr%s */ -#line 795 "rx-decode.opc" +#line 798 "rx-decode.opc" int sz AU = op[1] & 0x03; if (trace) { @@ -5444,7 +5447,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" sz = 0x%x\n", sz); } SYNTAX("sstr%s"); -#line 795 "rx-decode.opc" +#line 798 "rx-decode.opc" ID(sstr); BWL(sz); /*----------------------------------------------------------------------*/ @@ -5462,7 +5465,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("smovb"); -#line 783 "rx-decode.opc" +#line 786 "rx-decode.opc" ID(smovb); } @@ -5472,7 +5475,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x8e: { /** 0111 1111 1000 11sz rmpa%s */ -#line 801 "rx-decode.opc" +#line 804 "rx-decode.opc" int sz AU = op[1] & 0x03; if (trace) { @@ -5482,7 +5485,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" sz = 0x%x\n", sz); } SYNTAX("rmpa%s"); -#line 801 "rx-decode.opc" +#line 804 "rx-decode.opc" ID(rmpa); BWL(sz); F_OS__; /*----------------------------------------------------------------------*/ @@ -5500,7 +5503,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("smovf"); -#line 792 "rx-decode.opc" +#line 795 "rx-decode.opc" ID(smovf); } @@ -5515,7 +5518,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("satr"); -#line 843 "rx-decode.opc" +#line 846 "rx-decode.opc" ID(satr); /*----------------------------------------------------------------------*/ @@ -5533,7 +5536,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("rtfi"); -#line 978 "rx-decode.opc" +#line 981 "rx-decode.opc" ID(rtfi); } @@ -5548,7 +5551,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("rte"); -#line 981 "rx-decode.opc" +#line 984 "rx-decode.opc" ID(rte); } @@ -5563,7 +5566,7 @@ rx_decode_opcode (unsigned long pc AU, op[0], op[1]); } SYNTAX("wait"); -#line 993 "rx-decode.opc" +#line 996 "rx-decode.opc" ID(wait); /*----------------------------------------------------------------------*/ @@ -5589,7 +5592,7 @@ rx_decode_opcode (unsigned long pc AU, case 0xaf: { /** 0111 1111 1010 rdst setpsw %0 */ -#line 954 "rx-decode.opc" +#line 957 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5599,7 +5602,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("setpsw %0"); -#line 954 "rx-decode.opc" +#line 957 "rx-decode.opc" ID(setpsw); DF(rdst); } @@ -5622,7 +5625,7 @@ rx_decode_opcode (unsigned long pc AU, case 0xbf: { /** 0111 1111 1011 rdst clrpsw %0 */ -#line 951 "rx-decode.opc" +#line 954 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -5632,7 +5635,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("clrpsw %0"); -#line 951 "rx-decode.opc" +#line 954 "rx-decode.opc" ID(clrpsw); DF(rdst); } @@ -5648,17 +5651,17 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_38: { /** 10sz 0dsp a dst b src mov%s %1, %0 */ -#line 329 "rx-decode.opc" +#line 332 "rx-decode.opc" int sz AU = (op[0] >> 4) & 0x03; -#line 329 "rx-decode.opc" +#line 332 "rx-decode.opc" int dsp AU = op[0] & 0x07; -#line 329 "rx-decode.opc" +#line 332 "rx-decode.opc" int a AU = (op[1] >> 7) & 0x01; -#line 329 "rx-decode.opc" +#line 332 "rx-decode.opc" int dst AU = (op[1] >> 4) & 0x07; -#line 329 "rx-decode.opc" +#line 332 "rx-decode.opc" int b AU = (op[1] >> 3) & 0x01; -#line 329 "rx-decode.opc" +#line 332 "rx-decode.opc" int src AU = op[1] & 0x07; if (trace) { @@ -5673,7 +5676,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" src = 0x%x\n", src); } SYNTAX("mov%s %1, %0"); -#line 329 "rx-decode.opc" +#line 332 "rx-decode.opc" ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____; } @@ -5751,17 +5754,17 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_39: { /** 10sz 1dsp a src b dst mov%s %1, %0 */ -#line 326 "rx-decode.opc" +#line 329 "rx-decode.opc" int sz AU = (op[0] >> 4) & 0x03; -#line 326 "rx-decode.opc" +#line 329 "rx-decode.opc" int dsp AU = op[0] & 0x07; -#line 326 "rx-decode.opc" +#line 329 "rx-decode.opc" int a AU = (op[1] >> 7) & 0x01; -#line 326 "rx-decode.opc" +#line 329 "rx-decode.opc" int src AU = (op[1] >> 4) & 0x07; -#line 326 "rx-decode.opc" +#line 329 "rx-decode.opc" int b AU = (op[1] >> 3) & 0x01; -#line 326 "rx-decode.opc" +#line 329 "rx-decode.opc" int dst AU = op[1] & 0x07; if (trace) { @@ -5776,7 +5779,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" dst = 0x%x\n", dst); } SYNTAX("mov%s %1, %0"); -#line 326 "rx-decode.opc" +#line 329 "rx-decode.opc" ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____; } @@ -6142,17 +6145,17 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_40: { /** 1011 w dsp a src b dst movu%s %1, %0 */ -#line 349 "rx-decode.opc" +#line 352 "rx-decode.opc" int w AU = (op[0] >> 3) & 0x01; -#line 349 "rx-decode.opc" +#line 352 "rx-decode.opc" int dsp AU = op[0] & 0x07; -#line 349 "rx-decode.opc" +#line 352 "rx-decode.opc" int a AU = (op[1] >> 7) & 0x01; -#line 349 "rx-decode.opc" +#line 352 "rx-decode.opc" int src AU = (op[1] >> 4) & 0x07; -#line 349 "rx-decode.opc" +#line 352 "rx-decode.opc" int b AU = (op[1] >> 3) & 0x01; -#line 349 "rx-decode.opc" +#line 352 "rx-decode.opc" int dst AU = op[1] & 0x07; if (trace) { @@ -6167,7 +6170,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" dst = 0x%x\n", dst); } SYNTAX("movu%s %1, %0"); -#line 349 "rx-decode.opc" +#line 352 "rx-decode.opc" ID(mov); uBWL(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____; } @@ -6317,15 +6320,15 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_41: { /** 11sz sd ss rsrc rdst mov%s %1, %0 */ -#line 307 "rx-decode.opc" +#line 310 "rx-decode.opc" int sz AU = (op[0] >> 4) & 0x03; -#line 307 "rx-decode.opc" +#line 310 "rx-decode.opc" int sd AU = (op[0] >> 2) & 0x03; -#line 307 "rx-decode.opc" +#line 310 "rx-decode.opc" int ss AU = op[0] & 0x03; -#line 307 "rx-decode.opc" +#line 310 "rx-decode.opc" int rsrc AU = (op[1] >> 4) & 0x0f; -#line 307 "rx-decode.opc" +#line 310 "rx-decode.opc" int rdst AU = op[1] & 0x0f; if (trace) { @@ -6339,7 +6342,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mov%s %1, %0"); -#line 307 "rx-decode.opc" +#line 310 "rx-decode.opc" if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0) { ID(nop2); @@ -6793,11 +6796,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_42: { /** 1111 00sd rdst 0bit bset #%1, %0%S0 */ -#line 894 "rx-decode.opc" +#line 897 "rx-decode.opc" int sd AU = op[0] & 0x03; -#line 894 "rx-decode.opc" +#line 897 "rx-decode.opc" int rdst AU = (op[1] >> 4) & 0x0f; -#line 894 "rx-decode.opc" +#line 897 "rx-decode.opc" int bit AU = op[1] & 0x07; if (trace) { @@ -6809,7 +6812,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" bit = 0x%x\n", bit); } SYNTAX("bset #%1, %0%S0"); -#line 894 "rx-decode.opc" +#line 897 "rx-decode.opc" ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____; } @@ -6818,11 +6821,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_43: { /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */ -#line 906 "rx-decode.opc" +#line 909 "rx-decode.opc" int sd AU = op[0] & 0x03; -#line 906 "rx-decode.opc" +#line 909 "rx-decode.opc" int rdst AU = (op[1] >> 4) & 0x0f; -#line 906 "rx-decode.opc" +#line 909 "rx-decode.opc" int bit AU = op[1] & 0x07; if (trace) { @@ -6834,7 +6837,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" bit = 0x%x\n", bit); } SYNTAX("bclr #%1, %0%S0"); -#line 906 "rx-decode.opc" +#line 909 "rx-decode.opc" ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____; } @@ -6886,11 +6889,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_44: { /** 1111 01sd rdst 0bit btst #%2, %1%S1 */ -#line 918 "rx-decode.opc" +#line 921 "rx-decode.opc" int sd AU = op[0] & 0x03; -#line 918 "rx-decode.opc" +#line 921 "rx-decode.opc" int rdst AU = (op[1] >> 4) & 0x0f; -#line 918 "rx-decode.opc" +#line 921 "rx-decode.opc" int bit AU = op[1] & 0x07; if (trace) { @@ -6902,7 +6905,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" bit = 0x%x\n", bit); } SYNTAX("btst #%2, %1%S1"); -#line 918 "rx-decode.opc" +#line 921 "rx-decode.opc" ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC; } @@ -6911,11 +6914,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_45: { /** 1111 01ss rsrc 10sz push%s %1 */ -#line 374 "rx-decode.opc" +#line 377 "rx-decode.opc" int ss AU = op[0] & 0x03; -#line 374 "rx-decode.opc" +#line 377 "rx-decode.opc" int rsrc AU = (op[1] >> 4) & 0x0f; -#line 374 "rx-decode.opc" +#line 377 "rx-decode.opc" int sz AU = op[1] & 0x03; if (trace) { @@ -6927,7 +6930,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" sz = 0x%x\n", sz); } SYNTAX("push%s %1"); -#line 374 "rx-decode.opc" +#line 377 "rx-decode.opc" ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____; /*----------------------------------------------------------------------*/ @@ -6988,13 +6991,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_46: { /** 1111 10sd rdst im sz mov%s #%1, %0 */ -#line 285 "rx-decode.opc" +#line 288 "rx-decode.opc" int sd AU = op[0] & 0x03; -#line 285 "rx-decode.opc" +#line 288 "rx-decode.opc" int rdst AU = (op[1] >> 4) & 0x0f; -#line 285 "rx-decode.opc" +#line 288 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 285 "rx-decode.opc" +#line 288 "rx-decode.opc" int sz AU = op[1] & 0x03; if (trace) { @@ -7007,7 +7010,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" sz = 0x%x\n", sz); } SYNTAX("mov%s #%1, %0"); -#line 285 "rx-decode.opc" +#line 288 "rx-decode.opc" ID(mov); DD(sd, rdst, sz); if ((im == 1 && sz == 0) || (im == 2 && sz == 1) @@ -7065,9 +7068,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */ -#line 548 "rx-decode.opc" +#line 551 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 548 "rx-decode.opc" +#line 551 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7078,7 +7081,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("sbb %1, %0"); -#line 548 "rx-decode.opc" +#line 551 "rx-decode.opc" ID(sbb); SR (rsrc); DR(rdst); F_OSZC; /* FIXME: only supports .L */ @@ -7093,9 +7096,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */ -#line 479 "rx-decode.opc" +#line 482 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 479 "rx-decode.opc" +#line 482 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7106,7 +7109,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("neg %2, %0"); -#line 479 "rx-decode.opc" +#line 482 "rx-decode.opc" ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC; /*----------------------------------------------------------------------*/ @@ -7123,9 +7126,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */ -#line 488 "rx-decode.opc" +#line 491 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 488 "rx-decode.opc" +#line 491 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7136,7 +7139,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("adc %1, %0"); -#line 488 "rx-decode.opc" +#line 491 "rx-decode.opc" ID(adc); SR(rsrc); DR(rdst); F_OSZC; } @@ -7150,9 +7153,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */ -#line 561 "rx-decode.opc" +#line 564 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 561 "rx-decode.opc" +#line 564 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7163,7 +7166,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("abs %1, %0"); -#line 561 "rx-decode.opc" +#line 564 "rx-decode.opc" ID(abs); DR(rdst); SR(rsrc); F_OSZ_; /*----------------------------------------------------------------------*/ @@ -7181,11 +7184,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_47: { /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */ -#line 570 "rx-decode.opc" +#line 573 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 570 "rx-decode.opc" +#line 573 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 570 "rx-decode.opc" +#line 573 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7197,7 +7200,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("max %1%S1, %0"); -#line 570 "rx-decode.opc" +#line 573 "rx-decode.opc" if (ss == 3 && rsrc == 0 && rdst == 0) { ID(nop3); @@ -7247,11 +7250,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_48: { /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */ -#line 590 "rx-decode.opc" +#line 593 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 590 "rx-decode.opc" +#line 593 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 590 "rx-decode.opc" +#line 593 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7263,7 +7266,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("min %1%S1, %0"); -#line 590 "rx-decode.opc" +#line 593 "rx-decode.opc" ID(min); SP(ss, rsrc); DR(rdst); } @@ -7305,11 +7308,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_49: { /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */ -#line 620 "rx-decode.opc" +#line 623 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 620 "rx-decode.opc" +#line 623 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 620 "rx-decode.opc" +#line 623 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7321,7 +7324,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("emul %1%S1, %0"); -#line 620 "rx-decode.opc" +#line 623 "rx-decode.opc" ID(emul); SP(ss, rsrc); DR(rdst); } @@ -7363,11 +7366,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_50: { /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */ -#line 632 "rx-decode.opc" +#line 635 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 632 "rx-decode.opc" +#line 635 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 632 "rx-decode.opc" +#line 635 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7379,7 +7382,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("emulu %1%S1, %0"); -#line 632 "rx-decode.opc" +#line 635 "rx-decode.opc" ID(emulu); SP(ss, rsrc); DR(rdst); } @@ -7421,11 +7424,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_51: { /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */ -#line 644 "rx-decode.opc" +#line 647 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 644 "rx-decode.opc" +#line 647 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 644 "rx-decode.opc" +#line 647 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7437,7 +7440,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("div %1%S1, %0"); -#line 644 "rx-decode.opc" +#line 647 "rx-decode.opc" ID(div); SP(ss, rsrc); DR(rdst); F_O___; } @@ -7479,11 +7482,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_52: { /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */ -#line 656 "rx-decode.opc" +#line 659 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 656 "rx-decode.opc" +#line 659 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 656 "rx-decode.opc" +#line 659 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7495,7 +7498,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("divu %1%S1, %0"); -#line 656 "rx-decode.opc" +#line 659 "rx-decode.opc" ID(divu); SP(ss, rsrc); DR(rdst); F_O___; } @@ -7537,11 +7540,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_53: { /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */ -#line 467 "rx-decode.opc" +#line 470 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 467 "rx-decode.opc" +#line 470 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 467 "rx-decode.opc" +#line 470 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7553,7 +7556,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("tst %1%S1, %2"); -#line 467 "rx-decode.opc" +#line 470 "rx-decode.opc" ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_; } @@ -7595,11 +7598,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_54: { /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */ -#line 446 "rx-decode.opc" +#line 449 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 446 "rx-decode.opc" +#line 449 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 446 "rx-decode.opc" +#line 449 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7611,7 +7614,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("xor %1%S1, %0"); -#line 446 "rx-decode.opc" +#line 449 "rx-decode.opc" ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_; } @@ -7652,9 +7655,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */ -#line 458 "rx-decode.opc" +#line 461 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 458 "rx-decode.opc" +#line 461 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7665,7 +7668,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("not %1, %0"); -#line 458 "rx-decode.opc" +#line 461 "rx-decode.opc" ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_; /*----------------------------------------------------------------------*/ @@ -7683,11 +7686,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_55: { /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */ -#line 380 "rx-decode.opc" +#line 383 "rx-decode.opc" int ss AU = op[1] & 0x03; -#line 380 "rx-decode.opc" +#line 383 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 380 "rx-decode.opc" +#line 383 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7699,7 +7702,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("xchg %1%S1, %0"); -#line 380 "rx-decode.opc" +#line 383 "rx-decode.opc" ID(xchg); DR(rdst); SP(ss, rsrc); } @@ -7741,11 +7744,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_56: { /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */ -#line 885 "rx-decode.opc" +#line 888 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 885 "rx-decode.opc" +#line 888 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 885 "rx-decode.opc" +#line 888 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -7757,7 +7760,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("itof %1%S1, %0"); -#line 885 "rx-decode.opc" +#line 888 "rx-decode.opc" ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_; } @@ -7799,11 +7802,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_57: { /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */ -#line 897 "rx-decode.opc" +#line 900 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 897 "rx-decode.opc" +#line 900 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 897 "rx-decode.opc" +#line 900 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { @@ -7815,7 +7818,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("bset %1, %0%S0"); -#line 897 "rx-decode.opc" +#line 900 "rx-decode.opc" ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____; if (sd == 3) /* bset reg,reg */ BWL(LSIZE); @@ -7859,11 +7862,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_58: { /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */ -#line 909 "rx-decode.opc" +#line 912 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 909 "rx-decode.opc" +#line 912 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 909 "rx-decode.opc" +#line 912 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { @@ -7875,7 +7878,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("bclr %1, %0%S0"); -#line 909 "rx-decode.opc" +#line 912 "rx-decode.opc" ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____; if (sd == 3) /* bset reg,reg */ BWL(LSIZE); @@ -7919,11 +7922,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_59: { /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */ -#line 921 "rx-decode.opc" +#line 924 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 921 "rx-decode.opc" +#line 924 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 921 "rx-decode.opc" +#line 924 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { @@ -7935,7 +7938,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("btst %2, %1%S1"); -#line 921 "rx-decode.opc" +#line 924 "rx-decode.opc" ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC; if (sd == 3) /* bset reg,reg */ BWL(LSIZE); @@ -7979,11 +7982,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_60: { /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */ -#line 933 "rx-decode.opc" +#line 936 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 933 "rx-decode.opc" +#line 936 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 933 "rx-decode.opc" +#line 936 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { @@ -7995,7 +7998,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("bnot %1, %0%S0"); -#line 933 "rx-decode.opc" +#line 936 "rx-decode.opc" ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); if (sd == 3) /* bset reg,reg */ BWL(LSIZE); @@ -8039,11 +8042,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_61: { /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */ -#line 864 "rx-decode.opc" +#line 867 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 864 "rx-decode.opc" +#line 867 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 864 "rx-decode.opc" +#line 867 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8055,7 +8058,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fsub %1%S1, %0"); -#line 864 "rx-decode.opc" +#line 867 "rx-decode.opc" ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; } @@ -8097,11 +8100,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_62: { /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */ -#line 858 "rx-decode.opc" +#line 861 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 858 "rx-decode.opc" +#line 861 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 858 "rx-decode.opc" +#line 861 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8113,7 +8116,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fcmp %1%S1, %0"); -#line 858 "rx-decode.opc" +#line 861 "rx-decode.opc" ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_; } @@ -8155,11 +8158,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_63: { /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */ -#line 852 "rx-decode.opc" +#line 855 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 852 "rx-decode.opc" +#line 855 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 852 "rx-decode.opc" +#line 855 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8171,7 +8174,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fadd %1%S1, %0"); -#line 852 "rx-decode.opc" +#line 855 "rx-decode.opc" ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; } @@ -8213,11 +8216,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_64: { /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */ -#line 873 "rx-decode.opc" +#line 876 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 873 "rx-decode.opc" +#line 876 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 873 "rx-decode.opc" +#line 876 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8229,7 +8232,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fmul %1%S1, %0"); -#line 873 "rx-decode.opc" +#line 876 "rx-decode.opc" ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; } @@ -8271,11 +8274,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_65: { /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */ -#line 879 "rx-decode.opc" +#line 882 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 879 "rx-decode.opc" +#line 882 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 879 "rx-decode.opc" +#line 882 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8287,7 +8290,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fdiv %1%S1, %0"); -#line 879 "rx-decode.opc" +#line 882 "rx-decode.opc" ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; } @@ -8329,11 +8332,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_66: { /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */ -#line 867 "rx-decode.opc" +#line 870 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 867 "rx-decode.opc" +#line 870 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 867 "rx-decode.opc" +#line 870 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8345,7 +8348,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("ftoi %1%S1, %0"); -#line 867 "rx-decode.opc" +#line 870 "rx-decode.opc" ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; } @@ -8387,11 +8390,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_67: { /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */ -#line 882 "rx-decode.opc" +#line 885 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 882 "rx-decode.opc" +#line 885 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 882 "rx-decode.opc" +#line 885 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -8403,7 +8406,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("round %1%S1, %0"); -#line 882 "rx-decode.opc" +#line 885 "rx-decode.opc" ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; } @@ -8445,13 +8448,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_68: { /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */ -#line 999 "rx-decode.opc" +#line 1002 "rx-decode.opc" int sz AU = (op[1] >> 2) & 0x03; -#line 999 "rx-decode.opc" +#line 1002 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 999 "rx-decode.opc" +#line 1002 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 999 "rx-decode.opc" +#line 1002 "rx-decode.opc" int cond AU = op[2] & 0x0f; if (trace) { @@ -8464,7 +8467,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" cond = 0x%x\n", cond); } SYNTAX("sc%1%s %0"); -#line 999 "rx-decode.opc" +#line 1002 "rx-decode.opc" ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond); } @@ -8592,13 +8595,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_69: { /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */ -#line 942 "rx-decode.opc" +#line 945 "rx-decode.opc" int bit AU = (op[1] >> 2) & 0x07; -#line 942 "rx-decode.opc" +#line 945 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 942 "rx-decode.opc" +#line 945 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 942 "rx-decode.opc" +#line 945 "rx-decode.opc" int cond AU = op[2] & 0x0f; if (trace) { @@ -8611,7 +8614,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" cond = 0x%x\n", cond); } SYNTAX("bm%2 #%1, %0%S0"); -#line 942 "rx-decode.opc" +#line 945 "rx-decode.opc" ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE); } @@ -8620,11 +8623,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_70: { /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */ -#line 930 "rx-decode.opc" +#line 933 "rx-decode.opc" int bit AU = (op[1] >> 2) & 0x07; -#line 930 "rx-decode.opc" +#line 933 "rx-decode.opc" int sd AU = op[1] & 0x03; -#line 930 "rx-decode.opc" +#line 933 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; if (trace) { @@ -8636,7 +8639,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("bnot #%1, %0%S0"); -#line 930 "rx-decode.opc" +#line 933 "rx-decode.opc" ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); } @@ -9463,9 +9466,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */ -#line 807 "rx-decode.opc" +#line 810 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 807 "rx-decode.opc" +#line 810 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { @@ -9476,7 +9479,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" srcb = 0x%x\n", srcb); } SYNTAX("mulhi %1, %2"); -#line 807 "rx-decode.opc" +#line 810 "rx-decode.opc" ID(mulhi); SR(srca); S2R(srcb); F_____; } @@ -9490,9 +9493,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0000 0001 srca srcb mullo %1, %2 */ -#line 810 "rx-decode.opc" +#line 813 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 810 "rx-decode.opc" +#line 813 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { @@ -9503,7 +9506,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" srcb = 0x%x\n", srcb); } SYNTAX("mullo %1, %2"); -#line 810 "rx-decode.opc" +#line 813 "rx-decode.opc" ID(mullo); SR(srca); S2R(srcb); F_____; } @@ -9517,9 +9520,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0000 0100 srca srcb machi %1, %2 */ -#line 813 "rx-decode.opc" +#line 816 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 813 "rx-decode.opc" +#line 816 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { @@ -9530,7 +9533,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" srcb = 0x%x\n", srcb); } SYNTAX("machi %1, %2"); -#line 813 "rx-decode.opc" +#line 816 "rx-decode.opc" ID(machi); SR(srca); S2R(srcb); F_____; } @@ -9544,9 +9547,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0000 0101 srca srcb maclo %1, %2 */ -#line 816 "rx-decode.opc" +#line 819 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 816 "rx-decode.opc" +#line 819 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { @@ -9557,7 +9560,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" srcb = 0x%x\n", srcb); } SYNTAX("maclo %1, %2"); -#line 816 "rx-decode.opc" +#line 819 "rx-decode.opc" ID(maclo); SR(srca); S2R(srcb); F_____; } @@ -9571,7 +9574,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */ -#line 819 "rx-decode.opc" +#line 822 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { @@ -9581,7 +9584,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("mvtachi %1"); -#line 819 "rx-decode.opc" +#line 822 "rx-decode.opc" ID(mvtachi); SR(rsrc); F_____; } @@ -9589,7 +9592,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x10: { /** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */ -#line 822 "rx-decode.opc" +#line 825 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { @@ -9599,7 +9602,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("mvtaclo %1"); -#line 822 "rx-decode.opc" +#line 825 "rx-decode.opc" ID(mvtaclo); SR(rsrc); F_____; } @@ -9614,7 +9617,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0001 1000 000i 0000 racw #%1 */ -#line 834 "rx-decode.opc" +#line 837 "rx-decode.opc" int i AU = (op[2] >> 4) & 0x01; if (trace) { @@ -9624,7 +9627,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" i = 0x%x\n", i); } SYNTAX("racw #%1"); -#line 834 "rx-decode.opc" +#line 837 "rx-decode.opc" ID(racw); SC(i+1); F_____; /*----------------------------------------------------------------------*/ @@ -9642,7 +9645,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0001 1111 0000 rdst mvfachi %0 */ -#line 825 "rx-decode.opc" +#line 828 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -9652,7 +9655,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mvfachi %0"); -#line 825 "rx-decode.opc" +#line 828 "rx-decode.opc" ID(mvfachi); DR(rdst); F_____; } @@ -9660,7 +9663,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x10: { /** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */ -#line 831 "rx-decode.opc" +#line 834 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -9670,7 +9673,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mvfaclo %0"); -#line 831 "rx-decode.opc" +#line 834 "rx-decode.opc" ID(mvfaclo); DR(rdst); F_____; } @@ -9678,7 +9681,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x20: { /** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */ -#line 828 "rx-decode.opc" +#line 831 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -9688,7 +9691,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mvfacmi %0"); -#line 828 "rx-decode.opc" +#line 831 "rx-decode.opc" ID(mvfacmi); DR(rdst); F_____; } @@ -9704,13 +9707,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_71: { /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */ -#line 341 "rx-decode.opc" +#line 344 "rx-decode.opc" int p AU = (op[1] >> 2) & 0x01; -#line 341 "rx-decode.opc" +#line 344 "rx-decode.opc" int sz AU = op[1] & 0x03; -#line 341 "rx-decode.opc" +#line 344 "rx-decode.opc" int rdst AU = (op[2] >> 4) & 0x0f; -#line 341 "rx-decode.opc" +#line 344 "rx-decode.opc" int rsrc AU = op[2] & 0x0f; if (trace) { @@ -9723,7 +9726,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rsrc = 0x%x\n", rsrc); } SYNTAX("mov%s %1, %0"); -#line 341 "rx-decode.opc" +#line 344 "rx-decode.opc" ID(mov); sBWL (sz); SR(rsrc); F_____; OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0); @@ -9784,13 +9787,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_72: { /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */ -#line 345 "rx-decode.opc" +#line 348 "rx-decode.opc" int p AU = (op[1] >> 2) & 0x01; -#line 345 "rx-decode.opc" +#line 348 "rx-decode.opc" int sz AU = op[1] & 0x03; -#line 345 "rx-decode.opc" +#line 348 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 345 "rx-decode.opc" +#line 348 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -9803,7 +9806,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mov%s %1, %0"); -#line 345 "rx-decode.opc" +#line 348 "rx-decode.opc" ID(mov); sBWL (sz); DR(rdst); F_____; OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0); @@ -9864,13 +9867,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_73: { /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */ -#line 355 "rx-decode.opc" +#line 358 "rx-decode.opc" int p AU = (op[1] >> 2) & 0x01; -#line 355 "rx-decode.opc" +#line 358 "rx-decode.opc" int sz AU = op[1] & 0x03; -#line 355 "rx-decode.opc" +#line 358 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 355 "rx-decode.opc" +#line 358 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -9883,7 +9886,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("movu%s %1, %0"); -#line 355 "rx-decode.opc" +#line 358 "rx-decode.opc" ID(mov); uBWL (sz); DR(rdst); F_____; OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0); @@ -9946,9 +9949,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */ -#line 688 "rx-decode.opc" +#line 691 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 688 "rx-decode.opc" +#line 691 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -9959,7 +9962,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shlr %2, %0"); -#line 688 "rx-decode.opc" +#line 691 "rx-decode.opc" ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC; } @@ -9973,9 +9976,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */ -#line 678 "rx-decode.opc" +#line 681 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 678 "rx-decode.opc" +#line 681 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -9986,7 +9989,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shar %2, %0"); -#line 678 "rx-decode.opc" +#line 681 "rx-decode.opc" ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC; } @@ -10000,9 +10003,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */ -#line 668 "rx-decode.opc" +#line 671 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 668 "rx-decode.opc" +#line 671 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10013,7 +10016,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shll %2, %0"); -#line 668 "rx-decode.opc" +#line 671 "rx-decode.opc" ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC; } @@ -10027,9 +10030,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */ -#line 712 "rx-decode.opc" +#line 715 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 712 "rx-decode.opc" +#line 715 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10040,7 +10043,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("rotr %1, %0"); -#line 712 "rx-decode.opc" +#line 715 "rx-decode.opc" ID(rotr); SR(rsrc); DR(rdst); F__SZC; } @@ -10054,9 +10057,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */ -#line 715 "rx-decode.opc" +#line 718 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 715 "rx-decode.opc" +#line 718 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10067,7 +10070,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("revw %1, %0"); -#line 715 "rx-decode.opc" +#line 718 "rx-decode.opc" ID(revw); SR(rsrc); DR(rdst); } @@ -10081,9 +10084,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */ -#line 706 "rx-decode.opc" +#line 709 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 706 "rx-decode.opc" +#line 709 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10094,7 +10097,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("rotl %1, %0"); -#line 706 "rx-decode.opc" +#line 709 "rx-decode.opc" ID(rotl); SR(rsrc); DR(rdst); F__SZC; } @@ -10108,9 +10111,9 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */ -#line 718 "rx-decode.opc" +#line 721 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 718 "rx-decode.opc" +#line 721 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10121,7 +10124,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("revl %1, %0"); -#line 718 "rx-decode.opc" +#line 721 "rx-decode.opc" ID(revl); SR(rsrc); DR(rdst); /*----------------------------------------------------------------------*/ @@ -10139,11 +10142,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_74: { /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */ -#line 969 "rx-decode.opc" +#line 972 "rx-decode.opc" int c AU = op[1] & 0x01; -#line 969 "rx-decode.opc" +#line 972 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 969 "rx-decode.opc" +#line 972 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10155,7 +10158,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mvtc %1, %0"); -#line 969 "rx-decode.opc" +#line 972 "rx-decode.opc" ID(mov); SR(rsrc); DR(c*16+rdst + 16); } @@ -10179,11 +10182,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_75: { /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */ -#line 972 "rx-decode.opc" +#line 975 "rx-decode.opc" int s AU = op[1] & 0x01; -#line 972 "rx-decode.opc" +#line 975 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 972 "rx-decode.opc" +#line 975 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10195,7 +10198,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mvfc %1, %0"); -#line 972 "rx-decode.opc" +#line 975 "rx-decode.opc" ID(mov); SR((s*16+rsrc) + 16); DR(rdst); /*----------------------------------------------------------------------*/ @@ -10222,11 +10225,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_76: { /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */ -#line 709 "rx-decode.opc" +#line 712 "rx-decode.opc" int i AU = op[1] & 0x01; -#line 709 "rx-decode.opc" +#line 712 "rx-decode.opc" int mmmm AU = (op[2] >> 4) & 0x0f; -#line 709 "rx-decode.opc" +#line 712 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10238,7 +10241,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("rotr #%1, %0"); -#line 709 "rx-decode.opc" +#line 712 "rx-decode.opc" ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC; } @@ -10262,11 +10265,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_77: { /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */ -#line 703 "rx-decode.opc" +#line 706 "rx-decode.opc" int i AU = op[1] & 0x01; -#line 703 "rx-decode.opc" +#line 706 "rx-decode.opc" int mmmm AU = (op[2] >> 4) & 0x0f; -#line 703 "rx-decode.opc" +#line 706 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10278,7 +10281,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("rotl #%1, %0"); -#line 703 "rx-decode.opc" +#line 706 "rx-decode.opc" ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC; } @@ -10302,9 +10305,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_78: { /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */ -#line 485 "rx-decode.opc" +#line 488 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 485 "rx-decode.opc" +#line 488 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10315,7 +10318,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("adc #%1, %0"); -#line 485 "rx-decode.opc" +#line 488 "rx-decode.opc" ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC; } @@ -10324,9 +10327,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_79: { /** 1111 1101 0111 im00 0100rdst max #%1, %0 */ -#line 567 "rx-decode.opc" +#line 570 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 567 "rx-decode.opc" +#line 570 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10337,7 +10340,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("max #%1, %0"); -#line 567 "rx-decode.opc" +#line 570 "rx-decode.opc" ID(max); DR(rdst); SC(IMMex(im)); } @@ -10346,9 +10349,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_80: { /** 1111 1101 0111 im00 0101rdst min #%1, %0 */ -#line 587 "rx-decode.opc" +#line 590 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 587 "rx-decode.opc" +#line 590 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10359,7 +10362,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("min #%1, %0"); -#line 587 "rx-decode.opc" +#line 590 "rx-decode.opc" ID(min); DR(rdst); SC(IMMex(im)); } @@ -10368,9 +10371,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_81: { /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */ -#line 617 "rx-decode.opc" +#line 620 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 617 "rx-decode.opc" +#line 620 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10381,7 +10384,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("emul #%1, %0"); -#line 617 "rx-decode.opc" +#line 620 "rx-decode.opc" ID(emul); DR(rdst); SC(IMMex(im)); } @@ -10390,9 +10393,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_82: { /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */ -#line 629 "rx-decode.opc" +#line 632 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 629 "rx-decode.opc" +#line 632 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10403,7 +10406,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("emulu #%1, %0"); -#line 629 "rx-decode.opc" +#line 632 "rx-decode.opc" ID(emulu); DR(rdst); SC(IMMex(im)); } @@ -10412,9 +10415,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_83: { /** 1111 1101 0111 im00 1000rdst div #%1, %0 */ -#line 641 "rx-decode.opc" +#line 644 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 641 "rx-decode.opc" +#line 644 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10425,7 +10428,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("div #%1, %0"); -#line 641 "rx-decode.opc" +#line 644 "rx-decode.opc" ID(div); DR(rdst); SC(IMMex(im)); F_O___; } @@ -10434,9 +10437,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_84: { /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */ -#line 653 "rx-decode.opc" +#line 656 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 653 "rx-decode.opc" +#line 656 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10447,7 +10450,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("divu #%1, %0"); -#line 653 "rx-decode.opc" +#line 656 "rx-decode.opc" ID(divu); DR(rdst); SC(IMMex(im)); F_O___; } @@ -10456,9 +10459,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_85: { /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */ -#line 464 "rx-decode.opc" +#line 467 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 464 "rx-decode.opc" +#line 467 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10469,7 +10472,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("tst #%1, %2"); -#line 464 "rx-decode.opc" +#line 467 "rx-decode.opc" ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_; } @@ -10478,9 +10481,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_86: { /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */ -#line 443 "rx-decode.opc" +#line 446 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 443 "rx-decode.opc" +#line 446 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10491,7 +10494,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("xor #%1, %0"); -#line 443 "rx-decode.opc" +#line 446 "rx-decode.opc" ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_; } @@ -10500,9 +10503,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_87: { /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */ -#line 389 "rx-decode.opc" +#line 392 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 389 "rx-decode.opc" +#line 392 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10513,7 +10516,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("stz #%1, %0"); -#line 389 "rx-decode.opc" +#line 392 "rx-decode.opc" ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z); } @@ -10522,9 +10525,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_88: { /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */ -#line 392 "rx-decode.opc" +#line 395 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 392 "rx-decode.opc" +#line 395 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10535,7 +10538,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("stnz #%1, %0"); -#line 392 "rx-decode.opc" +#line 395 "rx-decode.opc" ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz); /*----------------------------------------------------------------------*/ @@ -10553,7 +10556,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x00: { /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */ -#line 861 "rx-decode.opc" +#line 864 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10563,7 +10566,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fsub #%1, %0"); -#line 861 "rx-decode.opc" +#line 864 "rx-decode.opc" ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_; } @@ -10571,7 +10574,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x10: { /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */ -#line 855 "rx-decode.opc" +#line 858 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10581,7 +10584,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fcmp #%1, %0"); -#line 855 "rx-decode.opc" +#line 858 "rx-decode.opc" ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_; } @@ -10589,7 +10592,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x20: { /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */ -#line 849 "rx-decode.opc" +#line 852 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10599,7 +10602,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fadd #%1, %0"); -#line 849 "rx-decode.opc" +#line 852 "rx-decode.opc" ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_; } @@ -10607,7 +10610,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x30: { /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */ -#line 870 "rx-decode.opc" +#line 873 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10617,7 +10620,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fmul #%1, %0"); -#line 870 "rx-decode.opc" +#line 873 "rx-decode.opc" ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_; } @@ -10625,7 +10628,7 @@ rx_decode_opcode (unsigned long pc AU, case 0x40: { /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */ -#line 876 "rx-decode.opc" +#line 879 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10635,7 +10638,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("fdiv #%1, %0"); -#line 876 "rx-decode.opc" +#line 879 "rx-decode.opc" ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_; } @@ -10651,9 +10654,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_89: { /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */ -#line 966 "rx-decode.opc" +#line 969 "rx-decode.opc" int im AU = (op[1] >> 2) & 0x03; -#line 966 "rx-decode.opc" +#line 969 "rx-decode.opc" int crdst AU = op[2] & 0x1f; if (trace) { @@ -10664,7 +10667,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" crdst = 0x%x\n", crdst); } SYNTAX("mvtc #%1, %0"); -#line 966 "rx-decode.opc" +#line 969 "rx-decode.opc" ID(mov); SC(IMMex(im)); DR(crdst + 16); } @@ -10830,11 +10833,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_90: { /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */ -#line 691 "rx-decode.opc" +#line 694 "rx-decode.opc" int immmm AU = op[1] & 0x1f; -#line 691 "rx-decode.opc" +#line 694 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 691 "rx-decode.opc" +#line 694 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -10846,7 +10849,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shlr #%2, %1, %0"); -#line 691 "rx-decode.opc" +#line 694 "rx-decode.opc" ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC; /*----------------------------------------------------------------------*/ @@ -11143,11 +11146,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_91: { /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */ -#line 681 "rx-decode.opc" +#line 684 "rx-decode.opc" int immmm AU = op[1] & 0x1f; -#line 681 "rx-decode.opc" +#line 684 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 681 "rx-decode.opc" +#line 684 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -11159,7 +11162,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shar #%2, %1, %0"); -#line 681 "rx-decode.opc" +#line 684 "rx-decode.opc" ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC; @@ -11454,11 +11457,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_92: { /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */ -#line 671 "rx-decode.opc" +#line 674 "rx-decode.opc" int immmm AU = op[1] & 0x1f; -#line 671 "rx-decode.opc" +#line 674 "rx-decode.opc" int rsrc AU = (op[2] >> 4) & 0x0f; -#line 671 "rx-decode.opc" +#line 674 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -11470,7 +11473,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("shll #%2, %1, %0"); -#line 671 "rx-decode.opc" +#line 674 "rx-decode.opc" ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC; @@ -11779,11 +11782,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_93: { /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */ -#line 945 "rx-decode.opc" +#line 948 "rx-decode.opc" int bittt AU = op[1] & 0x1f; -#line 945 "rx-decode.opc" +#line 948 "rx-decode.opc" int cond AU = (op[2] >> 4) & 0x0f; -#line 945 "rx-decode.opc" +#line 948 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -11795,7 +11798,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("bm%2 #%1, %0%S0"); -#line 945 "rx-decode.opc" +#line 948 "rx-decode.opc" ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst); /*----------------------------------------------------------------------*/ @@ -11807,9 +11810,9 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_94: { /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */ -#line 938 "rx-decode.opc" +#line 941 "rx-decode.opc" int bittt AU = op[1] & 0x1f; -#line 938 "rx-decode.opc" +#line 941 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -11820,7 +11823,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("bnot #%1, %0"); -#line 938 "rx-decode.opc" +#line 941 "rx-decode.opc" ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst); @@ -12649,13 +12652,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_95: { /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */ -#line 335 "rx-decode.opc" +#line 338 "rx-decode.opc" int sz AU = (op[1] >> 4) & 0x03; -#line 335 "rx-decode.opc" +#line 338 "rx-decode.opc" int isrc AU = op[1] & 0x0f; -#line 335 "rx-decode.opc" +#line 338 "rx-decode.opc" int bsrc AU = (op[2] >> 4) & 0x0f; -#line 335 "rx-decode.opc" +#line 338 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -12668,7 +12671,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mov%s %0, [%1, %2]"); -#line 335 "rx-decode.opc" +#line 338 "rx-decode.opc" ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____; } @@ -13106,13 +13109,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_96: { /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */ -#line 332 "rx-decode.opc" +#line 335 "rx-decode.opc" int sz AU = (op[1] >> 4) & 0x03; -#line 332 "rx-decode.opc" +#line 335 "rx-decode.opc" int isrc AU = op[1] & 0x0f; -#line 332 "rx-decode.opc" +#line 335 "rx-decode.opc" int bsrc AU = (op[2] >> 4) & 0x0f; -#line 332 "rx-decode.opc" +#line 335 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -13125,7 +13128,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("mov%s [%1, %2], %0"); -#line 332 "rx-decode.opc" +#line 335 "rx-decode.opc" ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____; } @@ -13563,13 +13566,13 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_97: { /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */ -#line 338 "rx-decode.opc" +#line 341 "rx-decode.opc" int sz AU = (op[1] >> 4) & 0x03; -#line 338 "rx-decode.opc" +#line 341 "rx-decode.opc" int isrc AU = op[1] & 0x0f; -#line 338 "rx-decode.opc" +#line 341 "rx-decode.opc" int bsrc AU = (op[2] >> 4) & 0x0f; -#line 338 "rx-decode.opc" +#line 341 "rx-decode.opc" int rdst AU = op[2] & 0x0f; if (trace) { @@ -13582,7 +13585,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" rdst = 0x%x\n", rdst); } SYNTAX("movu%s [%1, %2], %0"); -#line 338 "rx-decode.opc" +#line 341 "rx-decode.opc" ID(movbi); uBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____; } @@ -14027,11 +14030,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_98: { /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */ -#line 542 "rx-decode.opc" +#line 545 "rx-decode.opc" int rdst AU = op[1] & 0x0f; -#line 542 "rx-decode.opc" +#line 545 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 542 "rx-decode.opc" +#line 545 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { @@ -14043,7 +14046,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" srcb = 0x%x\n", srcb); } SYNTAX("sub %2, %1, %0"); -#line 542 "rx-decode.opc" +#line 545 "rx-decode.opc" ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC; /*----------------------------------------------------------------------*/ @@ -14196,11 +14199,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_99: { /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */ -#line 509 "rx-decode.opc" +#line 512 "rx-decode.opc" int rdst AU = op[1] & 0x0f; -#line 509 "rx-decode.opc" +#line 512 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 509 "rx-decode.opc" +#line 512 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { @@ -14212,7 +14215,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" srcb = 0x%x\n", srcb); } SYNTAX("add %2, %1, %0"); -#line 509 "rx-decode.opc" +#line 512 "rx-decode.opc" ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC; /*----------------------------------------------------------------------*/ @@ -14365,11 +14368,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_100: { /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */ -#line 611 "rx-decode.opc" +#line 614 "rx-decode.opc" int rdst AU = op[1] & 0x0f; -#line 611 "rx-decode.opc" +#line 614 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 611 "rx-decode.opc" +#line 614 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { @@ -14381,7 +14384,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" srcb = 0x%x\n", srcb); } SYNTAX("mul %2, %1, %0"); -#line 611 "rx-decode.opc" +#line 614 "rx-decode.opc" ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____; /*----------------------------------------------------------------------*/ @@ -14534,11 +14537,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_101: { /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */ -#line 419 "rx-decode.opc" +#line 422 "rx-decode.opc" int rdst AU = op[1] & 0x0f; -#line 419 "rx-decode.opc" +#line 422 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 419 "rx-decode.opc" +#line 422 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { @@ -14550,7 +14553,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" srcb = 0x%x\n", srcb); } SYNTAX("and %2, %1, %0"); -#line 419 "rx-decode.opc" +#line 422 "rx-decode.opc" ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_; /*----------------------------------------------------------------------*/ @@ -14703,11 +14706,11 @@ rx_decode_opcode (unsigned long pc AU, op_semantics_102: { /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */ -#line 437 "rx-decode.opc" +#line 440 "rx-decode.opc" int rdst AU = op[1] & 0x0f; -#line 437 "rx-decode.opc" +#line 440 "rx-decode.opc" int srca AU = (op[2] >> 4) & 0x0f; -#line 437 "rx-decode.opc" +#line 440 "rx-decode.opc" int srcb AU = op[2] & 0x0f; if (trace) { @@ -14719,7 +14722,7 @@ rx_decode_opcode (unsigned long pc AU, printf (" srcb = 0x%x\n", srcb); } SYNTAX("or %2, %1, %0"); -#line 437 "rx-decode.opc" +#line 440 "rx-decode.opc" ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_; /*----------------------------------------------------------------------*/ @@ -14869,7 +14872,7 @@ rx_decode_opcode (unsigned long pc AU, break; default: UNSUPPORTED(); break; } -#line 1002 "rx-decode.opc" +#line 1005 "rx-decode.opc" return rx->n_bytes; } diff --git a/opcodes/rx-decode.opc b/opcodes/rx-decode.opc index 8bf1f94..46b8aea 100644 --- a/opcodes/rx-decode.opc +++ b/opcodes/rx-decode.opc @@ -48,21 +48,24 @@ static int bwl[] = { RX_Byte, RX_Word, - RX_Long + RX_Long, + 0 /* Bogus instructions can have a size field set to 3. */ }; static int sbwl[] = { RX_SByte, RX_SWord, - RX_Long + RX_Long, + 0 /* Bogus instructions can have a size field set to 3. */ }; static int ubwl[] = { RX_UByte, RX_UWord, - RX_Long + RX_Long, + 0 /* Bogus instructions can have a size field set to 3. */ }; static int memex[] = @@ -81,7 +84,7 @@ static int memex[] = rx->op[n].size = s ) /* This is for the BWL and BW bitfields. */ -static int SCALE[] = { 1, 2, 4 }; +static int SCALE[] = { 1, 2, 4, 0 }; /* This is for the prefix size enum. */ static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 }; |