aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/ChangeLog4
-rw-r--r--binutils/readelf.c2
-rw-r--r--gas/ChangeLog10
-rw-r--r--gas/config/rx-defs.h3
-rw-r--r--gas/config/rx-parse.y211
-rw-r--r--gas/config/tc-rx.c47
-rw-r--r--gas/doc/c-rx.texi7
-rw-r--r--gas/testsuite/ChangeLog65
-rw-r--r--gas/testsuite/gas/rx/emaca.d16
-rw-r--r--gas/testsuite/gas/rx/emaca.sm2
-rw-r--r--gas/testsuite/gas/rx/emsba.d16
-rw-r--r--gas/testsuite/gas/rx/emsba.sm2
-rw-r--r--gas/testsuite/gas/rx/emula.d16
-rw-r--r--gas/testsuite/gas/rx/emula.sm2
-rw-r--r--gas/testsuite/gas/rx/fadd.d8
-rw-r--r--gas/testsuite/gas/rx/fadd.sm1
-rw-r--r--gas/testsuite/gas/rx/fmul.d8
-rw-r--r--gas/testsuite/gas/rx/fmul.sm1
-rw-r--r--gas/testsuite/gas/rx/fsqrt.d24
-rw-r--r--gas/testsuite/gas/rx/fsqrt.sm2
-rw-r--r--gas/testsuite/gas/rx/fsub.d8
-rw-r--r--gas/testsuite/gas/rx/fsub.sm1
-rw-r--r--gas/testsuite/gas/rx/ftou.d24
-rw-r--r--gas/testsuite/gas/rx/ftou.sm2
-rw-r--r--gas/testsuite/gas/rx/gprel.d10
-rw-r--r--gas/testsuite/gas/rx/machi.d16
-rw-r--r--gas/testsuite/gas/rx/machi.sm2
-rw-r--r--gas/testsuite/gas/rx/maclh.d16
-rw-r--r--gas/testsuite/gas/rx/maclh.sm2
-rw-r--r--gas/testsuite/gas/rx/maclo.d16
-rw-r--r--gas/testsuite/gas/rx/maclo.sm2
-rw-r--r--gas/testsuite/gas/rx/macros.inc2
-rw-r--r--gas/testsuite/gas/rx/max.d4
-rw-r--r--gas/testsuite/gas/rx/mov.d2
-rw-r--r--gas/testsuite/gas/rx/movco.d12
-rw-r--r--gas/testsuite/gas/rx/movco.sm1
-rw-r--r--gas/testsuite/gas/rx/movli.d12
-rw-r--r--gas/testsuite/gas/rx/movli.sm1
-rw-r--r--gas/testsuite/gas/rx/msbhi.d16
-rw-r--r--gas/testsuite/gas/rx/msbhi.sm2
-rw-r--r--gas/testsuite/gas/rx/msblh.d16
-rw-r--r--gas/testsuite/gas/rx/msblh.sm2
-rw-r--r--gas/testsuite/gas/rx/msblo.d16
-rw-r--r--gas/testsuite/gas/rx/msblo.sm2
-rw-r--r--gas/testsuite/gas/rx/mulhi.d16
-rw-r--r--gas/testsuite/gas/rx/mulhi.sm2
-rw-r--r--gas/testsuite/gas/rx/mullh.d16
-rw-r--r--gas/testsuite/gas/rx/mullh.sm2
-rw-r--r--gas/testsuite/gas/rx/mullo.d16
-rw-r--r--gas/testsuite/gas/rx/mullo.sm2
-rw-r--r--gas/testsuite/gas/rx/mvfacgu.d20
-rw-r--r--gas/testsuite/gas/rx/mvfacgu.sm6
-rw-r--r--gas/testsuite/gas/rx/mvfachi.d16
-rw-r--r--gas/testsuite/gas/rx/mvfachi.sm6
-rw-r--r--gas/testsuite/gas/rx/mvfaclo.d16
-rw-r--r--gas/testsuite/gas/rx/mvfaclo.sm6
-rw-r--r--gas/testsuite/gas/rx/mvfacmi.d16
-rw-r--r--gas/testsuite/gas/rx/mvfacmi.sm6
-rw-r--r--gas/testsuite/gas/rx/mvfc.d2
-rw-r--r--gas/testsuite/gas/rx/mvtacgu.d12
-rw-r--r--gas/testsuite/gas/rx/mvtacgu.sm2
-rw-r--r--gas/testsuite/gas/rx/mvtachi.d8
-rw-r--r--gas/testsuite/gas/rx/mvtachi.sm2
-rw-r--r--gas/testsuite/gas/rx/mvtaclo.d8
-rw-r--r--gas/testsuite/gas/rx/mvtaclo.sm2
-rw-r--r--gas/testsuite/gas/rx/mvtc.d28
-rw-r--r--gas/testsuite/gas/rx/nop.d4
-rw-r--r--gas/testsuite/gas/rx/popc.d1
-rw-r--r--gas/testsuite/gas/rx/pushc.d1
-rw-r--r--gas/testsuite/gas/rx/racl.d12
-rw-r--r--gas/testsuite/gas/rx/racl.sm4
-rw-r--r--gas/testsuite/gas/rx/racw.d8
-rw-r--r--gas/testsuite/gas/rx/racw.sm4
-rw-r--r--gas/testsuite/gas/rx/rdacl.d12
-rw-r--r--gas/testsuite/gas/rx/rdacl.sm4
-rw-r--r--gas/testsuite/gas/rx/rdacw.d12
-rw-r--r--gas/testsuite/gas/rx/rdacw.sm4
-rw-r--r--gas/testsuite/gas/rx/rx.exp3
-rw-r--r--gas/testsuite/gas/rx/stnz.d4
-rw-r--r--gas/testsuite/gas/rx/stnz.sm1
-rw-r--r--gas/testsuite/gas/rx/stz.d4
-rw-r--r--gas/testsuite/gas/rx/stz.sm1
-rw-r--r--gas/testsuite/gas/rx/utof.d72
-rw-r--r--gas/testsuite/gas/rx/utof.sm2
-rw-r--r--include/elf/ChangeLog4
-rw-r--r--include/elf/rx.h2
-rw-r--r--include/opcode/ChangeLog4
-rw-r--r--include/opcode/rx.h19
-rw-r--r--opcodes/ChangeLog6
-rw-r--r--opcodes/rx-decode.c4017
-rw-r--r--opcodes/rx-decode.opc115
-rw-r--r--opcodes/rx-dis.c4
92 files changed, 3800 insertions, 1368 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 5db9eac..3535d76 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,7 @@
+2015-12-14 Yoshinori Sato <ysato@users.sourceforge.jp>
+
+ * readelf.c (get_machine_flags): Add support for RX v2 flag.
+
2015-12-14 Jan Beulich <jbeulich@suse.com>
* nm.c: Include coff/external.h, coff/internal.h, and
diff --git a/binutils/readelf.c b/binutils/readelf.c
index d5dd46f..c21ce3f 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -3376,6 +3376,8 @@ get_machine_flags (unsigned e_flags, unsigned e_machine)
if (e_flags & E_FLAG_RX_SINSNS_SET)
strcat (buf, e_flags & E_FLAG_RX_SINSNS_YES
? ", uses String instructions" : ", bans String instructions");
+ if (e_flags & E_FLAG_RX_V2)
+ strcat (buf, ", V2");
break;
case EM_S390:
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 6a7cab6..2683acb 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -9,6 +9,16 @@
* config/tc-aarch64.c (vectype_to_qualifier): Calculate operand
qualifier from per-type base and offet.
+2015-12-14 Yoshinori Sato <ysato@users.sourceforge.jp>
+
+ * config/rx-defs.h(rx_cpu_type): Add RXV2 type.
+ * config/tc-rx.c(cpu_type_list): New type lookup table.
+ (md_parse_option): Use lookup table for choose cpu.
+ (md_show_usage): Add rxv2 for mcpu option.
+ * doc/c-rx.texi: Likewise.
+ * config/rx-parse.y: Add v2 instructions and ACC register.
+ (rx_check_v2): check v2 type.
+
2015-12-14 Jan Beulich <jbeulich@suse.com>
* dw2gencfi.c (dot_cfi_label): Free "name".
diff --git a/gas/config/rx-defs.h b/gas/config/rx-defs.h
index 15c447d..8d075ce 100644
--- a/gas/config/rx-defs.h
+++ b/gas/config/rx-defs.h
@@ -38,7 +38,8 @@ enum rx_cpu_types
RX600,
RX610,
RX200,
- RX100
+ RX100,
+ RXV2
};
extern int rx_pid_register;
diff --git a/gas/config/rx-parse.y b/gas/config/rx-parse.y
index 87a6c48..44a1247 100644
--- a/gas/config/rx-parse.y
+++ b/gas/config/rx-parse.y
@@ -101,7 +101,7 @@ static int sizemap[] = { BSIZE, WSIZE, LSIZE, WSIZE };
else rx_linkrelax_dsp (pos); \
F (displacement (v, msz), pos, 2)
-#define id24(a,b2,b3) B3 (0xfb+a, b2, b3)
+#define id24(a,b2,b3) B3 (0xfb + a, b2, b3)
static void rx_check_float_support (void);
static int rx_intop (expressionS, int, int);
@@ -115,6 +115,7 @@ static int immediate (expressionS, int, int, int);
static int displacement (expressionS, int);
static void rtsd_immediate (expressionS);
static void rx_range (expressionS, int, int);
+static void rx_check_v2 (void);
static int need_flag = 0;
static int rx_in_brackets = 0;
@@ -136,11 +137,11 @@ static int sub_op2;
expressionS exp;
}
-%type <regno> REG FLAG CREG BCND BMCND SCCND
+%type <regno> REG FLAG CREG BCND BMCND SCCND ACC
%type <regno> flag bwl bw memex
%type <exp> EXPR disp
-%token REG FLAG CREG
+%token REG FLAG CREG ACC
%token EXPR UNKNOWN_OPCODE IS_OPCODE
@@ -150,19 +151,22 @@ static int sub_op2;
%token BCLR BCND BMCND BNOT BRA BRK BSET BSR BTST
%token CLRPSW CMP
%token DBT DIV DIVU
-%token EDIV EDIVU EMUL EMULU
-%token FADD FCMP FDIV FMUL FREIT FSUB FTOI
+%token EDIV EDIVU EMACA EMSBA EMUL EMULA EMULU
+%token FADD FCMP FDIV FMUL FREIT FSUB FSQRT FTOI FTOU
%token INT ITOF
%token JMP JSR
-%token MACHI MACLO MAX MIN MOV MOVU MUL MULHI MULLO MULU MVFACHI MVFACMI MVFACLO
-%token MVFC MVTACHI MVTACLO MVTC MVTIPL
+%token MACHI MACLH MACLO MAX MIN MOV MOVCO MOVLI MOVU MSBHI MSBLH MSBLO MUL
+%token MULHI MULLH MULLO MULU MVFACHI MVFACGU MVFACMI MVFACLO MVFC MVTACGU
+%token MVTACHI MVTACLO MVTC MVTIPL
%token NEG NOP NOT
%token OR
%token POP POPC POPM PUSH PUSHA PUSHC PUSHM
-%token RACW REIT REVL REVW RMPA ROLC RORC ROTL ROTR ROUND RTE RTFI RTS RTSD
+%token RACL RACW RDACL RDACW REIT REVL REVW RMPA ROLC RORC ROTL ROTR ROUND
+%token RTE RTFI RTS RTSD
%token SAT SATR SBB SCCND SCMPU SETPSW SHAR SHLL SHLR SMOVB SMOVF
%token SMOVU SSTR STNZ STOP STZ SUB SUNTIL SWHILE
%token TST
+%token UTOF
%token WAIT
%token XCHG XOR
@@ -466,7 +470,9 @@ statement :
/* ---------------------------------------------------------------------- */
| PUSHC CREG
- { if ($2 < 16)
+ { if ($2 == 13)
+ { rx_check_v2 (); }
+ if ($2 < 16)
{ B2 (0x7e, 0xc0); F ($2, 12, 4); }
else
as_bad (_("PUSHC can only push the first 16 control registers")); }
@@ -474,7 +480,9 @@ statement :
/* ---------------------------------------------------------------------- */
| POPC CREG
- { if ($2 < 16)
+ { if ($2 == 13)
+ { rx_check_v2 (); }
+ if ($2 < 16)
{ B2 (0x7e, 0xe0); F ($2, 12, 4); }
else
as_bad (_("POPC can only pop the first 16 control registers")); }
@@ -615,8 +623,8 @@ statement :
| TST { sub_op = 12; } op_dp20_rim
| XOR { sub_op = 13; } op_dp20_rim
| NOT { sub_op = 14; sub_op2 = 0; } op_dp20_rr
- | STZ { sub_op = 14; } op_dp20_i
- | STNZ { sub_op = 15; } op_dp20_i
+ | STZ { sub_op = 14; sub_op2 = 0; } op_dp20_ri
+ | STNZ { sub_op = 15; sub_op2 = 1; } op_dp20_ri
/* ---------------------------------------------------------------------- */
@@ -624,6 +632,7 @@ statement :
| EMULU { sub_op = 7; } op_xchg
| XCHG { sub_op = 16; } op_xchg
| ITOF { sub_op = 17; } op_xchg
+ | UTOF { sub_op = 21; } op_xchg
/* ---------------------------------------------------------------------- */
@@ -647,16 +656,21 @@ statement :
/* ---------------------------------------------------------------------- */
- | FSUB { sub_op = 0; } float2_op
+ | FSUB { sub_op = 0; } float3_op
| FCMP { sub_op = 1; } float2_op
- | FADD { sub_op = 2; } float2_op
- | FMUL { sub_op = 3; } float2_op
+ | FADD { sub_op = 2; } float3_op
+ | FMUL { sub_op = 3; } float3_op
| FDIV { sub_op = 4; } float2_op
+ | FSQRT { sub_op = 8; } float2_op_ni
| FTOI { sub_op = 5; } float2_op_ni
+ | FTOU { sub_op = 9; } float2_op_ni
| ROUND { sub_op = 6; } float2_op_ni
/* ---------------------------------------------------------------------- */
+
+/* ---------------------------------------------------------------------- */
+
| SCCND DOT_L REG
{ id24 (1, 0xdb, 0x00); F ($1, 20, 4); F ($3, 16, 4); }
| SCCND bwl disp '[' REG ']'
@@ -678,27 +692,41 @@ statement :
| MULHI REG ',' REG
{ id24 (2, 0x00, 0x00); F ($2, 16, 4); F ($4, 20, 4); }
+ | MULHI REG ',' REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x00, 0x00); F ($2, 16, 4); F ($4, 20, 4); F ($6, 12, 1); }
| MULLO REG ',' REG
{ id24 (2, 0x01, 0x00); F ($2, 16, 4); F ($4, 20, 4); }
+ | MULLO REG ',' REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x01, 0x00); F ($2, 16, 4); F ($4, 20, 4); F ($6, 12, 1); }
| MACHI REG ',' REG
{ id24 (2, 0x04, 0x00); F ($2, 16, 4); F ($4, 20, 4); }
+ | MACHI REG ',' REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x04, 0x00); F ($2, 16, 4); F ($4, 20, 4); F ($6, 12, 1); }
| MACLO REG ',' REG
{ id24 (2, 0x05, 0x00); F ($2, 16, 4); F ($4, 20, 4); }
+ | MACLO REG ',' REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x05, 0x00); F ($2, 16, 4); F ($4, 20, 4); F ($6, 12, 1); }
/* ---------------------------------------------------------------------- */
/* We don't have syntax for these yet. */
| MVTACHI REG
{ id24 (2, 0x17, 0x00); F ($2, 20, 4); }
+ | MVTACHI REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x17, 0x00); F ($2, 20, 4); F ($4, 16, 1); }
| MVTACLO REG
{ id24 (2, 0x17, 0x10); F ($2, 20, 4); }
+ | MVTACLO REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x17, 0x10); F ($2, 20, 4); F ($4, 16, 1); }
| MVFACHI REG
{ id24 (2, 0x1f, 0x00); F ($2, 20, 4); }
+ | MVFACHI { sub_op = 0; } mvfa_op
| MVFACMI REG
{ id24 (2, 0x1f, 0x20); F ($2, 20, 4); }
+ | MVFACMI { sub_op = 2; } mvfa_op
| MVFACLO REG
{ id24 (2, 0x1f, 0x10); F ($2, 20, 4); }
-
+ | MVFACLO { sub_op = 1; } mvfa_op
| RACW '#' EXPR
{ id24 (2, 0x18, 0x00);
if (rx_uintop ($3, 4) && $3.X_add_number == 1)
@@ -707,6 +735,14 @@ statement :
F (1, 19, 1);
else
as_bad (_("RACW expects #1 or #2"));}
+ | RACW '#' EXPR ',' ACC
+ { rx_check_v2 (); id24 (2, 0x18, 0x00); F ($5, 16, 1);
+ if (rx_uintop ($3, 4) && $3.X_add_number == 1)
+ ;
+ else if (rx_uintop ($3, 4) && $3.X_add_number == 2)
+ F (1, 19, 1);
+ else
+ as_bad (_("RACW expects #1 or #2"));}
/* ---------------------------------------------------------------------- */
@@ -739,13 +775,17 @@ statement :
/* ---------------------------------------------------------------------- */
| MVTC REG ',' CREG
- { id24 (2, 0x68, 0x00); F ($4 % 16, 20, 4); F ($4 / 16, 15, 1);
+ { if ($4 == 13)
+ rx_check_v2 ();
+ id24 (2, 0x68, 0x00); F ($4 % 16, 20, 4); F ($4 / 16, 15, 1);
F ($2, 16, 4); }
/* ---------------------------------------------------------------------- */
| MVFC CREG ',' REG
- { id24 (2, 0x6a, 0); F ($2, 15, 5); F ($4, 20, 4); }
+ { if ($2 == 13)
+ rx_check_v2 ();
+ id24 (2, 0x6a, 0); F ($2, 15, 5); F ($4, 20, 4); }
/* ---------------------------------------------------------------------- */
@@ -757,7 +797,9 @@ statement :
/* ---------------------------------------------------------------------- */
| MVTC '#' EXPR ',' CREG
- { id24 (2, 0x73, 0x00); F ($5, 19, 5); IMM ($3, 12); }
+ { if ($5 == 13)
+ rx_check_v2 ();
+ id24 (2, 0x73, 0x00); F ($5, 19, 5); IMM ($3, 12); }
/* ---------------------------------------------------------------------- */
@@ -797,6 +839,62 @@ statement :
/* ---------------------------------------------------------------------- */
+ | MOVCO REG ',' '[' REG ']'
+ { rx_check_v2 (); B3 (0xfd, 0x27, 0x00); F ($5, 16, 4); F ($2, 20, 4); }
+
+/* ---------------------------------------------------------------------- */
+
+ | MOVLI '[' REG ']' ',' REG
+ { rx_check_v2 (); B3 (0xfd, 0x2f, 0x00); F ($3, 16, 4); F ($6, 20, 4); }
+
+/* ---------------------------------------------------------------------- */
+
+ | EMACA REG ',' REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x07, 0x00); F ($2, 16, 4); F ($4, 20, 4); F ($6, 12, 1); }
+ | EMSBA REG ',' REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x47, 0x00); F ($2, 16, 4); F ($4, 20, 4); F ($6, 12, 1); }
+ | EMULA REG ',' REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x03, 0x00); F ($2, 16, 4); F ($4, 20, 4); F ($6, 12, 1); }
+ | MACLH REG ',' REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x06, 0x00); F ($2, 16, 4); F ($4, 20, 4); F ($6, 12, 1); }
+ | MSBHI REG ',' REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x44, 0x00); F ($2, 16, 4); F ($4, 20, 4); F ($6, 12, 1); }
+ | MSBLH REG ',' REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x46, 0x00); F ($2, 16, 4); F ($4, 20, 4); F ($6, 12, 1); }
+ | MSBLO REG ',' REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x45, 0x00); F ($2, 16, 4); F ($4, 20, 4); F ($6, 12, 1); }
+ | MULLH REG ',' REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x02, 0x00); F ($2, 16, 4); F ($4, 20, 4); F ($6, 12, 1); }
+ | MVFACGU { sub_op = 3; } mvfa_op
+ | MVTACGU REG ',' ACC
+ { rx_check_v2 (); id24 (2, 0x17, 0x30); F ($4, 16, 1); F ($2, 20, 4); }
+ | RACL '#' EXPR ',' ACC
+ { rx_check_v2 (); id24 (2, 0x19, 0x00); F ($5, 16, 1);
+ if (rx_uintop ($3, 4) && $3.X_add_number == 1)
+ ;
+ else if (rx_uintop ($3, 4) && $3.X_add_number == 2)
+ F (1, 19, 1);
+ else
+ as_bad (_("RACL expects #1 or #2"));}
+ | RDACL '#' EXPR ',' ACC
+ { rx_check_v2 (); id24 (2, 0x19, 0x40); F ($5, 16, 1);
+ if (rx_uintop ($3, 4) && $3.X_add_number == 1)
+ ;
+ else if (rx_uintop ($3, 4) && $3.X_add_number == 2)
+ F (1, 19, 1);
+ else
+ as_bad (_("RDACL expects #1 or #2"));}
+ | RDACW '#' EXPR ',' ACC
+ { rx_check_v2 (); id24 (2, 0x18, 0x40); F ($5, 16, 1);
+ if (rx_uintop ($3, 4) && $3.X_add_number == 1)
+ ;
+ else if (rx_uintop ($3, 4) && $3.X_add_number == 2)
+ F (1, 19, 1);
+ else
+ as_bad (_("RDACW expects #1 or #2"));}
+
+/* ---------------------------------------------------------------------- */
+
;
/* ====================================================================== */
@@ -856,7 +954,18 @@ op_dp20_rr
{ B2 (0x7e, sub_op2 << 4); F ($1, 12, 4); }
;
-/* xchg, itof, emul, emulu */
+op_dp20_r
+ : REG ',' REG
+ { id24 (1, 0x4b + (sub_op2<<2), 0x00); F ($1, 16, 4); F ($3, 20, 4); }
+ ;
+
+op_dp20_ri
+ : { rx_check_v2 (); }
+ op_dp20_r
+ | op_dp20_i
+ ;
+
+/* xchg, utof, itof, emul, emulu */
op_xchg
: REG ',' REG
{ id24 (1, 0x03 + (sub_op<<2), 0); F ($1, 16, 4); F ($3, 20, 4); }
@@ -880,6 +989,16 @@ op_shift
| op_shift_rot
;
+float3_op
+ : '#' EXPR ',' REG
+ { rx_check_float_support (); id24 (2, 0x72, sub_op << 4); F ($4, 20, 4); O4 ($2); }
+ | REG ',' REG
+ { rx_check_float_support (); id24 (1, 0x83 + (sub_op << 2), 0); F ($1, 16, 4); F ($3, 20, 4); }
+ | disp '[' REG ']' opt_l ',' REG
+ { rx_check_float_support (); id24 (1, 0x80 + (sub_op << 2), 0); F ($3, 16, 4); F ($7, 20, 4); DSP ($1, 14, LSIZE); }
+ | REG ',' REG ',' REG
+ { rx_check_v2 (); id24 (4, 0x80 + (sub_op << 4), 0 ); F ($1, 16, 4); F ($3, 20, 4); F ($5, 12, 4); }
+ ;
float2_op
: { rx_check_float_support (); }
@@ -897,6 +1016,29 @@ float2_op_ni
{ id24 (1, 0x80 + (sub_op << 2), 0); F ($4, 16, 4); F ($8, 20, 4); DSP ($2, 14, LSIZE); }
;
+mvfa_op
+ : { rx_check_v2 (); }
+ '#' EXPR ',' ACC ',' REG
+ { id24 (2, 0x1e, sub_op << 4); F ($7, 20, 4); F ($5, 16, 1);
+ if (rx_uintop ($3, 4))
+ {
+ switch (exp_val ($3))
+ {
+ case 0:
+ F (1, 15, 1);
+ break;
+ case 1:
+ F (1, 15, 1);
+ F (1, 17, 1);
+ break;
+ case 2:
+ break;
+ default:
+ as_bad (_("IMM expects #0 to #2"));}
+ } else
+ as_bad (_("IMM expects #0 to #2"));}
+ ;
+
/* ====================================================================== */
disp : { $$ = zero_expr (); }
@@ -976,6 +1118,7 @@ token_table[] =
{ "isp", CREG, 10 },
{ "fintv", CREG, 11 },
{ "intb", CREG, 12 },
+ { "extb", CREG, 13 },
{ "pbp", CREG, 16 },
{ "pben", CREG, 17 },
@@ -998,6 +1141,9 @@ token_table[] =
{ "i", FLAG, 8 },
{ "u", FLAG, 9 },
+ { "a0", ACC, 0 },
+ { "a1", ACC, 1 },
+
#define OPC(x) { #x, x, IS_OPCODE }
OPC(ABS),
OPC(ADC),
@@ -1019,35 +1165,49 @@ token_table[] =
OPC(DIVU),
OPC(EDIV),
OPC(EDIVU),
+ OPC(EMACA),
+ OPC(EMSBA),
OPC(EMUL),
+ OPC(EMULA),
OPC(EMULU),
OPC(FADD),
OPC(FCMP),
OPC(FDIV),
OPC(FMUL),
OPC(FREIT),
+ OPC(FSQRT),
+ OPC(FTOU),
OPC(FSUB),
OPC(FTOI),
OPC(INT),
OPC(ITOF),
OPC(JMP),
OPC(JSR),
+ OPC(MVFACGU),
OPC(MVFACHI),
OPC(MVFACMI),
OPC(MVFACLO),
OPC(MVFC),
+ OPC(MVTACGU),
OPC(MVTACHI),
OPC(MVTACLO),
OPC(MVTC),
OPC(MVTIPL),
OPC(MACHI),
OPC(MACLO),
+ OPC(MACLH),
OPC(MAX),
OPC(MIN),
OPC(MOV),
+ OPC(MOVCO),
+ OPC(MOVLI),
OPC(MOVU),
+ OPC(MSBHI),
+ OPC(MSBLH),
+ OPC(MSBLO),
OPC(MUL),
OPC(MULHI),
+ OPC(MULLH),
OPC(MULLO),
OPC(MULU),
OPC(NEG),
@@ -1061,7 +1221,10 @@ token_table[] =
OPC(PUSHA),
OPC(PUSHC),
OPC(PUSHM),
+ OPC(RACL),
OPC(RACW),
+ OPC(RDACL),
+ OPC(RDACW),
OPC(REIT),
OPC(REVL),
OPC(REVW),
@@ -1095,6 +1258,7 @@ token_table[] =
OPC(SUNTIL),
OPC(SWHILE),
OPC(TST),
+ OPC(UTOF),
OPC(WAIT),
OPC(XCHG),
OPC(XOR),
@@ -1643,3 +1807,10 @@ rx_check_float_support (void)
if (rx_cpu == RX100 || rx_cpu == RX200)
rx_error (_("target CPU type does not support floating point instructions"));
}
+
+static void
+rx_check_v2 (void)
+{
+ if (rx_cpu < RXV2)
+ rx_error (_("target CPU type does not support v2 instructions"));
+}
diff --git a/gas/config/tc-rx.c b/gas/config/tc-rx.c
index 82e94a7..e18e034 100644
--- a/gas/config/tc-rx.c
+++ b/gas/config/tc-rx.c
@@ -106,6 +106,21 @@ struct option md_longopts[] =
};
size_t md_longopts_size = sizeof (md_longopts);
+struct cpu_type
+{
+ char *cpu_name;
+ int type;
+};
+
+struct cpu_type cpu_type_list[] =
+{
+ {"rx100",RX100},
+ {"rx200",RX200},
+ {"rx600",RX600},
+ {"rx610",RX610},
+ {"rxv2",RXV2}
+};
+
int
md_parse_option (int c ATTRIBUTE_UNUSED, char * arg ATTRIBUTE_UNUSED)
{
@@ -161,25 +176,27 @@ md_parse_option (int c ATTRIBUTE_UNUSED, char * arg ATTRIBUTE_UNUSED)
return 1;
case OPTION_CPU:
- if (strcasecmp (arg, "rx100") == 0)
- rx_cpu = RX100;
- else if (strcasecmp (arg, "rx200") == 0)
- rx_cpu = RX200;
- else if (strcasecmp (arg, "rx600") == 0)
- rx_cpu = RX600;
- else if (strcasecmp (arg, "rx610") == 0)
- rx_cpu = RX610;
- else
- {
- as_warn (_("unrecognised RX CPU type %s"), arg);
- break;
- }
- return 1;
+ {
+ unsigned int i;
+ for (i = 0; i < ARRAY_SIZE (cpu_type_list); i++)
+ {
+ if (strcasecmp (arg, cpu_type_list[i].cpu_name) == 0)
+ {
+ rx_cpu = cpu_type_list[i].type;
+ if (rx_cpu == RXV2)
+ elf_flags |= E_FLAG_RX_V2;
+ return 1;
+ }
+ }
+ as_warn (_("unrecognised RX CPU type %s"), arg);
+ break;
+ }
case OPTION_DISALLOW_STRING_INSNS:
elf_flags |= E_FLAG_RX_SINSNS_SET | E_FLAG_RX_SINSNS_NO;
return 1;
}
+
return 0;
}
@@ -197,7 +214,7 @@ md_show_usage (FILE * stream)
fprintf (stream, _(" --mrelax\n"));
fprintf (stream, _(" --mpid\n"));
fprintf (stream, _(" --mint-register=<value>\n"));
- fprintf (stream, _(" --mcpu=<rx100|rx200|rx600|rx610>\n"));
+ fprintf (stream, _(" --mcpu=<rx100|rx200|rx600|rx610|rxv2>\n"));
fprintf (stream, _(" --mno-allow-string-insns"));
}
diff --git a/gas/doc/c-rx.texi b/gas/doc/c-rx.texi
index 3fe2dd6..d2861eb 100644
--- a/gas/doc/c-rx.texi
+++ b/gas/doc/c-rx.texi
@@ -108,9 +108,10 @@ alignments. This option is the default.
@cindex @samp{-mcpu=}
@item -mcpu=@var{name}
This option tells the assembler the target CPU type. Currently the
-@code{rx200}, @code{rx600} and @code{rx610} are recognised as valid
-cpu names. Attempting to assemble an instruction not supported by the
-indicated cpu type will result in an error message being generated.
+@code{rx100}, @code{rx200}, @code{rx600}, @code{rx610} and @code{rxv2}
+are recognised as valid cpu names. Attempting to assemble an instruction
+not supported by the indicated cpu type will result in an error message
+being generated.
@cindex @samp{-mno-allow-string-insns}
@item -mno-allow-string-insns
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 2259d86..587e583 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -68,6 +68,71 @@
* gas/aarch64/advsimd-fp16.d: New.
* gas/aarch64/advsimd-fp16.s: New.
+2015-12-14 Yoshinori Sato <ysato@users.sourceforge.jp>
+
+ * gas/rx/emaca.d: New.
+ * gas/rx/emaca.sm: New.
+ * gas/rx/emsba.d: New.
+ * gas/rx/emsba.sm: New.
+ * gas/rx/emula.d: New.
+ * gas/rx/emula.sm: New.
+ * gas/rx/fadd.d: Add new pattern.
+ * gas/rx/fadd.sm: Add new pattern.
+ * gas/rx/fmul.d: Add new pattern.
+ * gas/rx/fmul.sm: Add new pattern.
+ * gas/rx/fsqrt.d: New.
+ * gas/rx/fsqrt.sm: New.
+ * gas/rx/fsub.d: Add new pattern.
+ * gas/rx/fsub.sm: Add new pattern.
+ * gas/rx/ftou.d: New.
+ * gas/rx/ftou.sm: New.
+ * gas/rx/maclh.d: New.
+ * gas/rx/maclh.sm: New.
+ * gas/rx/maclo.d: Add new pattern.
+ * gas/rx/maclo.sm: Add new pattern.
+ * gas/rx/macros.inc: Add new register.
+ * gas/rx/movco.d: New.
+ * gas/rx/movco.sm: New.
+ * gas/rx/movli.d: New.
+ * gas/rx/movli.sm: New.
+ * gas/rx/msbhi.d: New.
+ * gas/rx/msbhi.sm: New.
+ * gas/rx/msblh.d: New.
+ * gas/rx/msblh.sm: New.
+ * gas/rx/msblo.d: New.
+ * gas/rx/msblo.sm: New.
+ * gas/rx/mullh.d: New.
+ * gas/rx/mullh.sm: New.
+ * gas/rx/mvfacgu.d: New.
+ * gas/rx/mvfacgu.sm: New.
+ * gas/rx/mvfachi.d: Add new pattern.
+ * gas/rx/mvfachi.sm: Add new pattern.
+ * gas/rx/mvfaclo.d: Add new pattern.
+ * gas/rx/mvfaclo.sm: Add new pattern.
+ * gas/rx/mvfacmi.d: Add new pattern.
+ * gas/rx/mvfacmi.sm: Add new pattern.
+ * gas/rx/mvfc.d: Add new pattern.
+ * gas/rx/mvtacgu.d: New.
+ * gas/rx/mvtacgu.sm: New.
+ * gas/rx/mvtc.d: Add new pattern.
+ * gas/rx/popc.d: Add new pattern.
+ * gas/rx/pushc.d: Add new pattern.
+ * gas/rx/racl.d: New.
+ * gas/rx/racl.sm: New.
+ * gas/rx/racw.d: Add new pattern.
+ * gas/rx/racw.sm: Add new pattern.
+ * gas/rx/rdacl.d: New.
+ * gas/rx/rdacl.sm: New.
+ * gas/rx/rdacw.d: New.
+ * gas/rx/rdacw.sm: New.
+ * gas/rx/rx.exp: Add option.
+ * gas/rx/stnz.d: Add new pattern.
+ * gas/rx/stnz.sm: Add new pattern.
+ * gas/rx/stz.d: Add new pattern.
+ * gas/rx/stz.sm: Add new pattern.
+ * gas/rx/utof.d: New.
+ * gas/rx/utof.sm: New.
+
2015-12-12 Alan Modra <amodra@gmail.com>
* gas/sh/tlsd.s: Use .tdata not .tbss.
diff --git a/gas/testsuite/gas/rx/emaca.d b/gas/testsuite/gas/rx/emaca.d
new file mode 100644
index 0000000..5cb5dea
--- /dev/null
+++ b/gas/testsuite/gas/rx/emaca.d
@@ -0,0 +1,16 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 07 00 emaca r0, r0, a0
+ 3: fd 07 0f emaca r0, r15, a0
+ 6: fd 07 f0 emaca r15, r0, a0
+ 9: fd 07 ff emaca r15, r15, a0
+ c: fd 0f 00 emaca r0, r0, a1
+ f: fd 0f 0f emaca r0, r15, a1
+ 12: fd 0f f0 emaca r15, r0, a1
+ 15: fd 0f ff emaca r15, r15, a1
diff --git a/gas/testsuite/gas/rx/emaca.sm b/gas/testsuite/gas/rx/emaca.sm
new file mode 100644
index 0000000..3740676
--- /dev/null
+++ b/gas/testsuite/gas/rx/emaca.sm
@@ -0,0 +1,2 @@
+ emaca {reg},{reg},a0
+ emaca {reg},{reg},a1
diff --git a/gas/testsuite/gas/rx/emsba.d b/gas/testsuite/gas/rx/emsba.d
new file mode 100644
index 0000000..1910107
--- /dev/null
+++ b/gas/testsuite/gas/rx/emsba.d
@@ -0,0 +1,16 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 47 00 emsba r0, r0, a0
+ 3: fd 47 0f emsba r0, r15, a0
+ 6: fd 47 f0 emsba r15, r0, a0
+ 9: fd 47 ff emsba r15, r15, a0
+ c: fd 4f 00 emsba r0, r0, a1
+ f: fd 4f 0f emsba r0, r15, a1
+ 12: fd 4f f0 emsba r15, r0, a1
+ 15: fd 4f ff emsba r15, r15, a1
diff --git a/gas/testsuite/gas/rx/emsba.sm b/gas/testsuite/gas/rx/emsba.sm
new file mode 100644
index 0000000..70938fa
--- /dev/null
+++ b/gas/testsuite/gas/rx/emsba.sm
@@ -0,0 +1,2 @@
+ emsba {reg},{reg},a0
+ emsba {reg},{reg},a1
diff --git a/gas/testsuite/gas/rx/emula.d b/gas/testsuite/gas/rx/emula.d
new file mode 100644
index 0000000..9c689db
--- /dev/null
+++ b/gas/testsuite/gas/rx/emula.d
@@ -0,0 +1,16 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 03 00 emula r0, r0, a0
+ 3: fd 03 0f emula r0, r15, a0
+ 6: fd 03 f0 emula r15, r0, a0
+ 9: fd 03 ff emula r15, r15, a0
+ c: fd 0b 00 emula r0, r0, a1
+ f: fd 0b 0f emula r0, r15, a1
+ 12: fd 0b f0 emula r15, r0, a1
+ 15: fd 0b ff emula r15, r15, a1
diff --git a/gas/testsuite/gas/rx/emula.sm b/gas/testsuite/gas/rx/emula.sm
new file mode 100644
index 0000000..95c7767
--- /dev/null
+++ b/gas/testsuite/gas/rx/emula.sm
@@ -0,0 +1,2 @@
+ emula {reg},{reg},a0
+ emula {reg},{reg},a1
diff --git a/gas/testsuite/gas/rx/fadd.d b/gas/testsuite/gas/rx/fadd.d
index 406052b..718193c 100644
--- a/gas/testsuite/gas/rx/fadd.d
+++ b/gas/testsuite/gas/rx/fadd.d
@@ -26,3 +26,11 @@ Disassembly of section \.text:
49: fc 8a 0f ff 3f fadd 65532\[r0\]\.l, r15
4e: fc 8a f0 ff 3f fadd 65532\[r15\]\.l, r0
53: fc 8a ff ff 3f fadd 65532\[r15\]\.l, r15
+ 58: ff a0 00 fadd r0, r0, r0
+ 5b: ff af 00 fadd r0, r0, r15
+ 5e: ff a0 0f fadd r0, r15, r0
+ 61: ff af 0f fadd r0, r15, r15
+ 64: ff a0 f0 fadd r15, r0, r0
+ 67: ff af f0 fadd r15, r0, r15
+ 6a: ff a0 ff fadd r15, r15, r0
+ 6d: ff af ff fadd r15, r15, r15
diff --git a/gas/testsuite/gas/rx/fadd.sm b/gas/testsuite/gas/rx/fadd.sm
index 94021af..34cb78e 100644
--- a/gas/testsuite/gas/rx/fadd.sm
+++ b/gas/testsuite/gas/rx/fadd.sm
@@ -1,3 +1,4 @@
fadd #{imm32},{reg}
fadd {reg},{reg}
fadd {mem}.L,{reg}
+ fadd {reg},{reg},{reg}
diff --git a/gas/testsuite/gas/rx/fmul.d b/gas/testsuite/gas/rx/fmul.d
index 7fec0af..2685e78 100644
--- a/gas/testsuite/gas/rx/fmul.d
+++ b/gas/testsuite/gas/rx/fmul.d
@@ -26,3 +26,11 @@ Disassembly of section \.text:
49: fc 8e 0f ff 3f fmul 65532\[r0\]\.l, r15
4e: fc 8e f0 ff 3f fmul 65532\[r15\]\.l, r0
53: fc 8e ff ff 3f fmul 65532\[r15\]\.l, r15
+ 58: ff b0 00 fmul r0, r0, r0
+ 5b: ff bf 00 fmul r0, r0, r15
+ 5e: ff b0 0f fmul r0, r15, r0
+ 61: ff bf 0f fmul r0, r15, r15
+ 64: ff b0 f0 fmul r15, r0, r0
+ 67: ff bf f0 fmul r15, r0, r15
+ 6a: ff b0 ff fmul r15, r15, r0
+ 6d: ff bf ff fmul r15, r15, r15
diff --git a/gas/testsuite/gas/rx/fmul.sm b/gas/testsuite/gas/rx/fmul.sm
index e68f24f..37408e4 100644
--- a/gas/testsuite/gas/rx/fmul.sm
+++ b/gas/testsuite/gas/rx/fmul.sm
@@ -1,3 +1,4 @@
fmul #{imm32},{reg}
fmul {reg},{reg}
fmul {mem}.L,{reg}
+ fmul {reg},{reg},{reg}
diff --git a/gas/testsuite/gas/rx/fsqrt.d b/gas/testsuite/gas/rx/fsqrt.d
new file mode 100644
index 0000000..31b84dc
--- /dev/null
+++ b/gas/testsuite/gas/rx/fsqrt.d
@@ -0,0 +1,24 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fc a3 00 fsqrt r0, r0
+ 3: fc a3 0f fsqrt r0, r15
+ 6: fc a3 f0 fsqrt r15, r0
+ 9: fc a3 ff fsqrt r15, r15
+ c: fc a0 00 fsqrt \[r0\]\.l, r0
+ f: fc a0 0f fsqrt \[r0\]\.l, r15
+ 12: fc a0 f0 fsqrt \[r15\]\.l, r0
+ 15: fc a0 ff fsqrt \[r15\]\.l, r15
+ 18: fc a1 00 3f fsqrt 252\[r0\]\.l, r0
+ 1c: fc a1 0f 3f fsqrt 252\[r0\]\.l, r15
+ 20: fc a1 f0 3f fsqrt 252\[r15\]\.l, r0
+ 24: fc a1 ff 3f fsqrt 252\[r15\]\.l, r15
+ 28: fc a2 00 ff 3f fsqrt 65532\[r0\]\.l, r0
+ 2d: fc a2 0f ff 3f fsqrt 65532\[r0\]\.l, r15
+ 32: fc a2 f0 ff 3f fsqrt 65532\[r15\]\.l, r0
+ 37: fc a2 ff ff 3f fsqrt 65532\[r15\]\.l, r15
diff --git a/gas/testsuite/gas/rx/fsqrt.sm b/gas/testsuite/gas/rx/fsqrt.sm
new file mode 100644
index 0000000..b187839
--- /dev/null
+++ b/gas/testsuite/gas/rx/fsqrt.sm
@@ -0,0 +1,2 @@
+ fsqrt {reg},{reg}
+ fsqrt {mem}.L,{reg}
diff --git a/gas/testsuite/gas/rx/fsub.d b/gas/testsuite/gas/rx/fsub.d
index 5d26e5a..e36ddb6 100644
--- a/gas/testsuite/gas/rx/fsub.d
+++ b/gas/testsuite/gas/rx/fsub.d
@@ -26,3 +26,11 @@ Disassembly of section \.text:
49: fc 82 0f ff 3f fsub 65532\[r0\]\.l, r15
4e: fc 82 f0 ff 3f fsub 65532\[r15\]\.l, r0
53: fc 82 ff ff 3f fsub 65532\[r15\]\.l, r15
+ 58: ff 80 00 fsub r0, r0, r0
+ 5b: ff 8f 00 fsub r0, r0, r15
+ 5e: ff 80 0f fsub r0, r15, r0
+ 61: ff 8f 0f fsub r0, r15, r15
+ 64: ff 80 f0 fsub r15, r0, r0
+ 67: ff 8f f0 fsub r15, r0, r15
+ 6a: ff 80 ff fsub r15, r15, r0
+ 6d: ff 8f ff fsub r15, r15, r15
diff --git a/gas/testsuite/gas/rx/fsub.sm b/gas/testsuite/gas/rx/fsub.sm
index 64b93c9..5dfe022 100644
--- a/gas/testsuite/gas/rx/fsub.sm
+++ b/gas/testsuite/gas/rx/fsub.sm
@@ -1,3 +1,4 @@
fsub #{imm32},{reg}
fsub {reg},{reg}
fsub {mem}.L,{reg}
+ fsub {reg},{reg},{reg}
diff --git a/gas/testsuite/gas/rx/ftou.d b/gas/testsuite/gas/rx/ftou.d
new file mode 100644
index 0000000..84a285b
--- /dev/null
+++ b/gas/testsuite/gas/rx/ftou.d
@@ -0,0 +1,24 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fc a7 00 ftou r0, r0
+ 3: fc a7 0f ftou r0, r15
+ 6: fc a7 f0 ftou r15, r0
+ 9: fc a7 ff ftou r15, r15
+ c: fc a4 00 ftou \[r0\]\.l, r0
+ f: fc a4 0f ftou \[r0\]\.l, r15
+ 12: fc a4 f0 ftou \[r15\]\.l, r0
+ 15: fc a4 ff ftou \[r15\]\.l, r15
+ 18: fc a5 00 3f ftou 252\[r0\]\.l, r0
+ 1c: fc a5 0f 3f ftou 252\[r0\]\.l, r15
+ 20: fc a5 f0 3f ftou 252\[r15\]\.l, r0
+ 24: fc a5 ff 3f ftou 252\[r15\]\.l, r15
+ 28: fc a6 00 ff 3f ftou 65532\[r0\]\.l, r0
+ 2d: fc a6 0f ff 3f ftou 65532\[r0\]\.l, r15
+ 32: fc a6 f0 ff 3f ftou 65532\[r15\]\.l, r0
+ 37: fc a6 ff ff 3f ftou 65532\[r15\]\.l, r15
diff --git a/gas/testsuite/gas/rx/ftou.sm b/gas/testsuite/gas/rx/ftou.sm
new file mode 100644
index 0000000..95fc1fe
--- /dev/null
+++ b/gas/testsuite/gas/rx/ftou.sm
@@ -0,0 +1,2 @@
+ ftou {reg},{reg}
+ ftou {mem}.L,{reg}
diff --git a/gas/testsuite/gas/rx/gprel.d b/gas/testsuite/gas/rx/gprel.d
index 6e7c887..ea1d3e9 100644
--- a/gas/testsuite/gas/rx/gprel.d
+++ b/gas/testsuite/gas/rx/gprel.d
@@ -3,9 +3,9 @@
dump\.o: file format .*
-Disassembly of section .text:
+Disassembly of section .*:
-00000000 <_start>:
+00000000 <.*>:
0: ce f1 04 00 mov\.b 4\[r15\], r1
2: R_RX_SYM _foo
2: R_RX_SYM __gp
@@ -16,7 +16,7 @@ Disassembly of section .text:
6: R_RX_SYM __gp
6: R_RX_OPsub __gp
6: R_RX_ABS16U __gp
- 8: ce f1 00 00 mov\.b \[r15\], r1
+ 8: ce f1 00 00 mov\.b 0\[r15\], r1
a: R_RX_SYM _grill
a: R_RX_SYM __gp
a: R_RX_OPsub __gp
@@ -31,7 +31,7 @@ Disassembly of section .text:
12: R_RX_SYM __gp
12: R_RX_OPsub __gp
12: R_RX_ABS16UW __gp
- 14: de f1 00 00 mov\.w \[r15\], r1
+ 14: de f1 00 00 mov\.w 0\[r15\], r1
16: R_RX_SYM _grill
16: R_RX_SYM __gp
16: R_RX_OPsub __gp
@@ -46,7 +46,7 @@ Disassembly of section .text:
1e: R_RX_SYM __gp
1e: R_RX_OPsub __gp
1e: R_RX_ABS16UL __gp
- 20: ee f1 00 00 mov\.l \[r15\], r1
+ 20: ee f1 00 00 mov\.l 0\[r15\], r1
22: R_RX_SYM _grill
22: R_RX_SYM __gp
22: R_RX_OPsub __gp
diff --git a/gas/testsuite/gas/rx/machi.d b/gas/testsuite/gas/rx/machi.d
index 0800696..9be594d 100644
--- a/gas/testsuite/gas/rx/machi.d
+++ b/gas/testsuite/gas/rx/machi.d
@@ -6,7 +6,15 @@ dump\.o: file format .*
Disassembly of section \.text:
00000000 <\.text>:
- 0: fd 04 00 machi r0, r0
- 3: fd 04 0f machi r0, r15
- 6: fd 04 f0 machi r15, r0
- 9: fd 04 ff machi r15, r15
+ 0: fd 04 00 machi r0, r0, a0
+ 3: fd 04 0f machi r0, r15, a0
+ 6: fd 04 f0 machi r15, r0, a0
+ 9: fd 04 ff machi r15, r15, a0
+ c: fd 04 00 machi r0, r0, a0
+ f: fd 04 0f machi r0, r15, a0
+ 12: fd 04 f0 machi r15, r0, a0
+ 15: fd 04 ff machi r15, r15, a0
+ 18: fd 0c 00 machi r0, r0, a1
+ 1b: fd 0c 0f machi r0, r15, a1
+ 1e: fd 0c f0 machi r15, r0, a1
+ 21: fd 0c ff machi r15, r15, a1
diff --git a/gas/testsuite/gas/rx/machi.sm b/gas/testsuite/gas/rx/machi.sm
index f3651d0..ed2a456 100644
--- a/gas/testsuite/gas/rx/machi.sm
+++ b/gas/testsuite/gas/rx/machi.sm
@@ -1 +1,3 @@
machi {reg},{reg}
+ machi {reg},{reg},a0
+ machi {reg},{reg},a1
diff --git a/gas/testsuite/gas/rx/maclh.d b/gas/testsuite/gas/rx/maclh.d
new file mode 100644
index 0000000..90fc4cd
--- /dev/null
+++ b/gas/testsuite/gas/rx/maclh.d
@@ -0,0 +1,16 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 06 00 maclh r0, r0, a0
+ 3: fd 06 0f maclh r0, r15, a0
+ 6: fd 06 f0 maclh r15, r0, a0
+ 9: fd 06 ff maclh r15, r15, a0
+ c: fd 0e 00 maclh r0, r0, a1
+ f: fd 0e 0f maclh r0, r15, a1
+ 12: fd 0e f0 maclh r15, r0, a1
+ 15: fd 0e ff maclh r15, r15, a1
diff --git a/gas/testsuite/gas/rx/maclh.sm b/gas/testsuite/gas/rx/maclh.sm
new file mode 100644
index 0000000..7322b2a
--- /dev/null
+++ b/gas/testsuite/gas/rx/maclh.sm
@@ -0,0 +1,2 @@
+ maclh {reg},{reg},a0
+ maclh {reg},{reg},a1
diff --git a/gas/testsuite/gas/rx/maclo.d b/gas/testsuite/gas/rx/maclo.d
index 41ee1f2..abf299f 100644
--- a/gas/testsuite/gas/rx/maclo.d
+++ b/gas/testsuite/gas/rx/maclo.d
@@ -6,7 +6,15 @@ dump\.o: file format .*
Disassembly of section \.text:
00000000 <\.text>:
- 0: fd 05 00 maclo r0, r0
- 3: fd 05 0f maclo r0, r15
- 6: fd 05 f0 maclo r15, r0
- 9: fd 05 ff maclo r15, r15
+ 0: fd 05 00 maclo r0, r0, a0
+ 3: fd 05 0f maclo r0, r15, a0
+ 6: fd 05 f0 maclo r15, r0, a0
+ 9: fd 05 ff maclo r15, r15, a0
+ c: fd 05 00 maclo r0, r0, a0
+ f: fd 05 0f maclo r0, r15, a0
+ 12: fd 05 f0 maclo r15, r0, a0
+ 15: fd 05 ff maclo r15, r15, a0
+ 18: fd 0d 00 maclo r0, r0, a1
+ 1b: fd 0d 0f maclo r0, r15, a1
+ 1e: fd 0d f0 maclo r15, r0, a1
+ 21: fd 0d ff maclo r15, r15, a1
diff --git a/gas/testsuite/gas/rx/maclo.sm b/gas/testsuite/gas/rx/maclo.sm
index 84a019c..7ba11ef 100644
--- a/gas/testsuite/gas/rx/maclo.sm
+++ b/gas/testsuite/gas/rx/maclo.sm
@@ -1 +1,3 @@
maclo {reg},{reg}
+ maclo {reg},{reg},a0
+ maclo {reg},{reg},a1
diff --git a/gas/testsuite/gas/rx/macros.inc b/gas/testsuite/gas/rx/macros.inc
index 60921e6..02d2fac 100644
--- a/gas/testsuite/gas/rx/macros.inc
+++ b/gas/testsuite/gas/rx/macros.inc
@@ -4,7 +4,7 @@ macro reg2 {r0;r14}
macro reg7 {r0;r7}
macro regPlo {r1;r7}
macro regPhi {r8;r14}
-macro creg {psw;fpsw;usp;isp;intb;bpsw;bpc;fintv}
+macro creg {psw;fpsw;usp;isp;intb;bpsw;bpc;fintv;extb}
macro pswf {U;I;O;S;Z;C}
macro simm8 {-128;127}
diff --git a/gas/testsuite/gas/rx/max.d b/gas/testsuite/gas/rx/max.d
index 229a30d..e7076fd 100644
--- a/gas/testsuite/gas/rx/max.d
+++ b/gas/testsuite/gas/rx/max.d
@@ -3,9 +3,9 @@
dump\.o: file format .*
-Disassembly of section \..*:
+Disassembly of section .*:
-00000000 <\..*>:
+00000000 <.*>:
0: fd 74 40 80 max #-128, r0
4: fd 74 4f 80 max #-128, r15
8: fd 74 40 7f max #127, r0
diff --git a/gas/testsuite/gas/rx/mov.d b/gas/testsuite/gas/rx/mov.d
index a96ba90..1df5321 100644
--- a/gas/testsuite/gas/rx/mov.d
+++ b/gas/testsuite/gas/rx/mov.d
@@ -5,7 +5,7 @@ dump\.o: file format .*
Disassembly of section .*:
-00000000 <\..*>:
+00000000 <.*>:
[0-9a-f]+: c3 00[ ]+mov\.b r0, \[r0\]
[0-9a-f]+: c3 70[ ]+mov\.b r0, \[r7\]
[0-9a-f]+: c3 07[ ]+mov\.b r7, \[r0\]
diff --git a/gas/testsuite/gas/rx/movco.d b/gas/testsuite/gas/rx/movco.d
new file mode 100644
index 0000000..2041201
--- /dev/null
+++ b/gas/testsuite/gas/rx/movco.d
@@ -0,0 +1,12 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 27 00 movco r0, \[r0\]
+ 3: fd 27 f0 movco r0, \[r15\]
+ 6: fd 27 0f movco r15, \[r0\]
+ 9: fd 27 ff movco r15, \[r15\]
diff --git a/gas/testsuite/gas/rx/movco.sm b/gas/testsuite/gas/rx/movco.sm
new file mode 100644
index 0000000..686f075
--- /dev/null
+++ b/gas/testsuite/gas/rx/movco.sm
@@ -0,0 +1 @@
+ movco {reg},[{reg}]
diff --git a/gas/testsuite/gas/rx/movli.d b/gas/testsuite/gas/rx/movli.d
new file mode 100644
index 0000000..5799d63
--- /dev/null
+++ b/gas/testsuite/gas/rx/movli.d
@@ -0,0 +1,12 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 2f 00 movli \[r0\], r0
+ 3: fd 2f 0f movli \[r0\], r15
+ 6: fd 2f f0 movli \[r15\], r0
+ 9: fd 2f ff movli \[r15\], r15
diff --git a/gas/testsuite/gas/rx/movli.sm b/gas/testsuite/gas/rx/movli.sm
new file mode 100644
index 0000000..76a0d15
--- /dev/null
+++ b/gas/testsuite/gas/rx/movli.sm
@@ -0,0 +1 @@
+ movli [{reg}],{reg}
diff --git a/gas/testsuite/gas/rx/msbhi.d b/gas/testsuite/gas/rx/msbhi.d
new file mode 100644
index 0000000..e92d3f2
--- /dev/null
+++ b/gas/testsuite/gas/rx/msbhi.d
@@ -0,0 +1,16 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 44 00 msbhi r0, r0, a0
+ 3: fd 44 0f msbhi r0, r15, a0
+ 6: fd 44 f0 msbhi r15, r0, a0
+ 9: fd 44 ff msbhi r15, r15, a0
+ c: fd 4c 00 msbhi r0, r0, a1
+ f: fd 4c 0f msbhi r0, r15, a1
+ 12: fd 4c f0 msbhi r15, r0, a1
+ 15: fd 4c ff msbhi r15, r15, a1
diff --git a/gas/testsuite/gas/rx/msbhi.sm b/gas/testsuite/gas/rx/msbhi.sm
new file mode 100644
index 0000000..db290a9
--- /dev/null
+++ b/gas/testsuite/gas/rx/msbhi.sm
@@ -0,0 +1,2 @@
+ msbhi {reg},{reg},a0
+ msbhi {reg},{reg},a1
diff --git a/gas/testsuite/gas/rx/msblh.d b/gas/testsuite/gas/rx/msblh.d
new file mode 100644
index 0000000..15dfea8
--- /dev/null
+++ b/gas/testsuite/gas/rx/msblh.d
@@ -0,0 +1,16 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 46 00 msblh r0, r0, a0
+ 3: fd 46 0f msblh r0, r15, a0
+ 6: fd 46 f0 msblh r15, r0, a0
+ 9: fd 46 ff msblh r15, r15, a0
+ c: fd 4e 00 msblh r0, r0, a1
+ f: fd 4e 0f msblh r0, r15, a1
+ 12: fd 4e f0 msblh r15, r0, a1
+ 15: fd 4e ff msblh r15, r15, a1
diff --git a/gas/testsuite/gas/rx/msblh.sm b/gas/testsuite/gas/rx/msblh.sm
new file mode 100644
index 0000000..99d4134
--- /dev/null
+++ b/gas/testsuite/gas/rx/msblh.sm
@@ -0,0 +1,2 @@
+ msblh {reg},{reg},a0
+ msblh {reg},{reg},a1
diff --git a/gas/testsuite/gas/rx/msblo.d b/gas/testsuite/gas/rx/msblo.d
new file mode 100644
index 0000000..e085785
--- /dev/null
+++ b/gas/testsuite/gas/rx/msblo.d
@@ -0,0 +1,16 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 45 00 msblo r0, r0, a0
+ 3: fd 45 0f msblo r0, r15, a0
+ 6: fd 45 f0 msblo r15, r0, a0
+ 9: fd 45 ff msblo r15, r15, a0
+ c: fd 4d 00 msblo r0, r0, a1
+ f: fd 4d 0f msblo r0, r15, a1
+ 12: fd 4d f0 msblo r15, r0, a1
+ 15: fd 4d ff msblo r15, r15, a1
diff --git a/gas/testsuite/gas/rx/msblo.sm b/gas/testsuite/gas/rx/msblo.sm
new file mode 100644
index 0000000..e3a4736
--- /dev/null
+++ b/gas/testsuite/gas/rx/msblo.sm
@@ -0,0 +1,2 @@
+ msblo {reg},{reg},a0
+ msblo {reg},{reg},a1
diff --git a/gas/testsuite/gas/rx/mulhi.d b/gas/testsuite/gas/rx/mulhi.d
index 0653bb4..c1a21ba 100644
--- a/gas/testsuite/gas/rx/mulhi.d
+++ b/gas/testsuite/gas/rx/mulhi.d
@@ -6,7 +6,15 @@ dump\.o: file format .*
Disassembly of section \.text:
00000000 <\.text>:
- 0: fd 00 00 mulhi r0, r0
- 3: fd 00 0f mulhi r0, r15
- 6: fd 00 f0 mulhi r15, r0
- 9: fd 00 ff mulhi r15, r15
+ 0: fd 00 00 mulhi r0, r0, a0
+ 3: fd 00 0f mulhi r0, r15, a0
+ 6: fd 00 f0 mulhi r15, r0, a0
+ 9: fd 00 ff mulhi r15, r15, a0
+ c: fd 00 00 mulhi r0, r0, a0
+ f: fd 00 0f mulhi r0, r15, a0
+ 12: fd 00 f0 mulhi r15, r0, a0
+ 15: fd 00 ff mulhi r15, r15, a0
+ 18: fd 08 00 mulhi r0, r0, a1
+ 1b: fd 08 0f mulhi r0, r15, a1
+ 1e: fd 08 f0 mulhi r15, r0, a1
+ 21: fd 08 ff mulhi r15, r15, a1
diff --git a/gas/testsuite/gas/rx/mulhi.sm b/gas/testsuite/gas/rx/mulhi.sm
index a9765a4..f71b03a 100644
--- a/gas/testsuite/gas/rx/mulhi.sm
+++ b/gas/testsuite/gas/rx/mulhi.sm
@@ -1 +1,3 @@
mulhi {reg},{reg}
+ mulhi {reg},{reg},a0
+ mulhi {reg},{reg},a1
diff --git a/gas/testsuite/gas/rx/mullh.d b/gas/testsuite/gas/rx/mullh.d
new file mode 100644
index 0000000..057d4e4
--- /dev/null
+++ b/gas/testsuite/gas/rx/mullh.d
@@ -0,0 +1,16 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 02 00 mullh r0, r0, a0
+ 3: fd 02 0f mullh r0, r15, a0
+ 6: fd 02 f0 mullh r15, r0, a0
+ 9: fd 02 ff mullh r15, r15, a0
+ c: fd 0a 00 mullh r0, r0, a1
+ f: fd 0a 0f mullh r0, r15, a1
+ 12: fd 0a f0 mullh r15, r0, a1
+ 15: fd 0a ff mullh r15, r15, a1
diff --git a/gas/testsuite/gas/rx/mullh.sm b/gas/testsuite/gas/rx/mullh.sm
new file mode 100644
index 0000000..0c7d0ed
--- /dev/null
+++ b/gas/testsuite/gas/rx/mullh.sm
@@ -0,0 +1,2 @@
+ mullh {reg},{reg},a0
+ mullh {reg},{reg},a1
diff --git a/gas/testsuite/gas/rx/mullo.d b/gas/testsuite/gas/rx/mullo.d
index fbf014f..9ce4c0e 100644
--- a/gas/testsuite/gas/rx/mullo.d
+++ b/gas/testsuite/gas/rx/mullo.d
@@ -6,7 +6,15 @@ dump\.o: file format .*
Disassembly of section \.text:
00000000 <\.text>:
- 0: fd 01 00 mullo r0, r0
- 3: fd 01 0f mullo r0, r15
- 6: fd 01 f0 mullo r15, r0
- 9: fd 01 ff mullo r15, r15
+ 0: fd 01 00 mullo r0, r0, a0
+ 3: fd 01 0f mullo r0, r15, a0
+ 6: fd 01 f0 mullo r15, r0, a0
+ 9: fd 01 ff mullo r15, r15, a0
+ c: fd 01 00 mullo r0, r0, a0
+ f: fd 01 0f mullo r0, r15, a0
+ 12: fd 01 f0 mullo r15, r0, a0
+ 15: fd 01 ff mullo r15, r15, a0
+ 18: fd 09 00 mullo r0, r0, a1
+ 1b: fd 09 0f mullo r0, r15, a1
+ 1e: fd 09 f0 mullo r15, r0, a1
+ 21: fd 09 ff mullo r15, r15, a1
diff --git a/gas/testsuite/gas/rx/mullo.sm b/gas/testsuite/gas/rx/mullo.sm
index 56d6b8b1..dc3708e 100644
--- a/gas/testsuite/gas/rx/mullo.sm
+++ b/gas/testsuite/gas/rx/mullo.sm
@@ -1 +1,3 @@
mullo {reg},{reg}
+ mullo {reg},{reg},a0
+ mullo {reg},{reg},a1
diff --git a/gas/testsuite/gas/rx/mvfacgu.d b/gas/testsuite/gas/rx/mvfacgu.d
new file mode 100644
index 0000000..79d71e7
--- /dev/null
+++ b/gas/testsuite/gas/rx/mvfacgu.d
@@ -0,0 +1,20 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 1f 30 mvfacgu #0, a0, r0
+ 3: fd 1f 3f mvfacgu #0, a0, r15
+ 6: fd 1f 70 mvfacgu #1, a0, r0
+ 9: fd 1f 7f mvfacgu #1, a0, r15
+ c: fd 1e 30 mvfacgu #2, a0, r0
+ f: fd 1e 3f mvfacgu #2, a0, r15
+ 12: fd 1f b0 mvfacgu #0, a1, r0
+ 15: fd 1f bf mvfacgu #0, a1, r15
+ 18: fd 1f f0 mvfacgu #1, a1, r0
+ 1b: fd 1f ff mvfacgu #1, a1, r15
+ 1e: fd 1e b0 mvfacgu #2, a1, r0
+ 21: fd 1e bf mvfacgu #2, a1, r15
diff --git a/gas/testsuite/gas/rx/mvfacgu.sm b/gas/testsuite/gas/rx/mvfacgu.sm
new file mode 100644
index 0000000..67a9fe1
--- /dev/null
+++ b/gas/testsuite/gas/rx/mvfacgu.sm
@@ -0,0 +1,6 @@
+ mvfacgu #0,a0,{reg}
+ mvfacgu #1,a0,{reg}
+ mvfacgu #2,a0,{reg}
+ mvfacgu #0,a1,{reg}
+ mvfacgu #1,a1,{reg}
+ mvfacgu #2,a1,{reg}
diff --git a/gas/testsuite/gas/rx/mvfachi.d b/gas/testsuite/gas/rx/mvfachi.d
index de0abf1..153c821 100644
--- a/gas/testsuite/gas/rx/mvfachi.d
+++ b/gas/testsuite/gas/rx/mvfachi.d
@@ -6,5 +6,17 @@ dump\.o: file format .*
Disassembly of section \.text:
00000000 <\.text>:
- 0: fd 1f 00 mvfachi r0
- 3: fd 1f 0f mvfachi r15
+ 0: fd 1f 00 mvfachi #0, a0, r0
+ 3: fd 1f 0f mvfachi #0, a0, r15
+ 6: fd 1f 00 mvfachi #0, a0, r0
+ 9: fd 1f 0f mvfachi #0, a0, r15
+ c: fd 1f 40 mvfachi #1, a0, r0
+ f: fd 1f 4f mvfachi #1, a0, r15
+ 12: fd 1e 00 mvfachi #2, a0, r0
+ 15: fd 1e 0f mvfachi #2, a0, r15
+ 18: fd 1f 80 mvfachi #0, a1, r0
+ 1b: fd 1f 8f mvfachi #0, a1, r15
+ 1e: fd 1f c0 mvfachi #1, a1, r0
+ 21: fd 1f cf mvfachi #1, a1, r15
+ 24: fd 1e 80 mvfachi #2, a1, r0
+ 27: fd 1e 8f mvfachi #2, a1, r15
diff --git a/gas/testsuite/gas/rx/mvfachi.sm b/gas/testsuite/gas/rx/mvfachi.sm
index e8755d6..83d7f66 100644
--- a/gas/testsuite/gas/rx/mvfachi.sm
+++ b/gas/testsuite/gas/rx/mvfachi.sm
@@ -1 +1,7 @@
mvfachi {reg}
+ mvfachi #0,a0,{reg}
+ mvfachi #1,a0,{reg}
+ mvfachi #2,a0,{reg}
+ mvfachi #0,a1,{reg}
+ mvfachi #1,a1,{reg}
+ mvfachi #2,a1,{reg}
diff --git a/gas/testsuite/gas/rx/mvfaclo.d b/gas/testsuite/gas/rx/mvfaclo.d
index 33df9b0..46f6349 100644
--- a/gas/testsuite/gas/rx/mvfaclo.d
+++ b/gas/testsuite/gas/rx/mvfaclo.d
@@ -6,5 +6,17 @@ dump\.o: file format .*
Disassembly of section \.text:
00000000 <\.text>:
- 0: fd 1f 10 mvfaclo r0
- 3: fd 1f 1f mvfaclo r15
+ 0: fd 1f 10 mvfaclo #0, a0, r0
+ 3: fd 1f 1f mvfaclo #0, a0, r15
+ 6: fd 1f 10 mvfaclo #0, a0, r0
+ 9: fd 1f 1f mvfaclo #0, a0, r15
+ c: fd 1f 50 mvfaclo #1, a0, r0
+ f: fd 1f 5f mvfaclo #1, a0, r15
+ 12: fd 1e 10 mvfaclo #2, a0, r0
+ 15: fd 1e 1f mvfaclo #2, a0, r15
+ 18: fd 1f 90 mvfaclo #0, a1, r0
+ 1b: fd 1f 9f mvfaclo #0, a1, r15
+ 1e: fd 1f d0 mvfaclo #1, a1, r0
+ 21: fd 1f df mvfaclo #1, a1, r15
+ 24: fd 1e 90 mvfaclo #2, a1, r0
+ 27: fd 1e 9f mvfaclo #2, a1, r15
diff --git a/gas/testsuite/gas/rx/mvfaclo.sm b/gas/testsuite/gas/rx/mvfaclo.sm
index b9080e4..2e9b106 100644
--- a/gas/testsuite/gas/rx/mvfaclo.sm
+++ b/gas/testsuite/gas/rx/mvfaclo.sm
@@ -1 +1,7 @@
mvfaclo {reg}
+ mvfaclo #0,a0,{reg}
+ mvfaclo #1,a0,{reg}
+ mvfaclo #2,a0,{reg}
+ mvfaclo #0,a1,{reg}
+ mvfaclo #1,a1,{reg}
+ mvfaclo #2,a1,{reg}
diff --git a/gas/testsuite/gas/rx/mvfacmi.d b/gas/testsuite/gas/rx/mvfacmi.d
index c24479a..2795f3d 100644
--- a/gas/testsuite/gas/rx/mvfacmi.d
+++ b/gas/testsuite/gas/rx/mvfacmi.d
@@ -6,5 +6,17 @@ dump\.o: file format .*
Disassembly of section \.text:
00000000 <\.text>:
- 0: fd 1f 20 mvfacmi r0
- 3: fd 1f 2f mvfacmi r15
+ 0: fd 1f 20 mvfacmi #0, a0, r0
+ 3: fd 1f 2f mvfacmi #0, a0, r15
+ 6: fd 1f 20 mvfacmi #0, a0, r0
+ 9: fd 1f 2f mvfacmi #0, a0, r15
+ c: fd 1f 60 mvfacmi #1, a0, r0
+ f: fd 1f 6f mvfacmi #1, a0, r15
+ 12: fd 1e 20 mvfacmi #2, a0, r0
+ 15: fd 1e 2f mvfacmi #2, a0, r15
+ 18: fd 1f a0 mvfacmi #0, a1, r0
+ 1b: fd 1f af mvfacmi #0, a1, r15
+ 1e: fd 1f e0 mvfacmi #1, a1, r0
+ 21: fd 1f ef mvfacmi #1, a1, r15
+ 24: fd 1e a0 mvfacmi #2, a1, r0
+ 27: fd 1e af mvfacmi #2, a1, r15
diff --git a/gas/testsuite/gas/rx/mvfacmi.sm b/gas/testsuite/gas/rx/mvfacmi.sm
index 400f125..cdc3402 100644
--- a/gas/testsuite/gas/rx/mvfacmi.sm
+++ b/gas/testsuite/gas/rx/mvfacmi.sm
@@ -1 +1,7 @@
mvfacmi {reg}
+ mvfacmi #0,a0,{reg}
+ mvfacmi #1,a0,{reg}
+ mvfacmi #2,a0,{reg}
+ mvfacmi #0,a1,{reg}
+ mvfacmi #1,a1,{reg}
+ mvfacmi #2,a1,{reg}
diff --git a/gas/testsuite/gas/rx/mvfc.d b/gas/testsuite/gas/rx/mvfc.d
index 7f6ca64..e89db68 100644
--- a/gas/testsuite/gas/rx/mvfc.d
+++ b/gas/testsuite/gas/rx/mvfc.d
@@ -22,4 +22,6 @@ Disassembly of section \.text:
27: fd 6a 9f mvfc bpc, r15
2a: fd 6a b0 mvfc fintv, r0
2d: fd 6a bf mvfc fintv, r15
+ 30: fd 6a d0 mvfc extb, r0
+ 33: fd 6a df mvfc extb, r15
diff --git a/gas/testsuite/gas/rx/mvtacgu.d b/gas/testsuite/gas/rx/mvtacgu.d
new file mode 100644
index 0000000..96fe2ce
--- /dev/null
+++ b/gas/testsuite/gas/rx/mvtacgu.d
@@ -0,0 +1,12 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 17 30 mvtacgu r0, a0
+ 3: fd 17 3f mvtacgu r15, a0
+ 6: fd 17 b0 mvtacgu r0, a1
+ 9: fd 17 bf mvtacgu r15, a1
diff --git a/gas/testsuite/gas/rx/mvtacgu.sm b/gas/testsuite/gas/rx/mvtacgu.sm
new file mode 100644
index 0000000..ff4568d
--- /dev/null
+++ b/gas/testsuite/gas/rx/mvtacgu.sm
@@ -0,0 +1,2 @@
+ mvtacgu {reg},a0
+ mvtacgu {reg},a1
diff --git a/gas/testsuite/gas/rx/mvtachi.d b/gas/testsuite/gas/rx/mvtachi.d
index c9f02ee..31f4a5a 100644
--- a/gas/testsuite/gas/rx/mvtachi.d
+++ b/gas/testsuite/gas/rx/mvtachi.d
@@ -6,5 +6,9 @@ dump\.o: file format .*
Disassembly of section \.text:
00000000 <\.text>:
- 0: fd 17 00 mvtachi r0
- 3: fd 17 0f mvtachi r15
+ 0: fd 17 00 mvtachi r0, a0
+ 3: fd 17 0f mvtachi r15, a0
+ 6: fd 17 00 mvtachi r0, a0
+ 9: fd 17 0f mvtachi r15, a0
+ c: fd 17 80 mvtachi r0, a1
+ f: fd 17 8f mvtachi r15, a1
diff --git a/gas/testsuite/gas/rx/mvtachi.sm b/gas/testsuite/gas/rx/mvtachi.sm
index 53dad05..9f7c204 100644
--- a/gas/testsuite/gas/rx/mvtachi.sm
+++ b/gas/testsuite/gas/rx/mvtachi.sm
@@ -1 +1,3 @@
mvtachi {reg}
+ mvtachi {reg},a0
+ mvtachi {reg},a1
diff --git a/gas/testsuite/gas/rx/mvtaclo.d b/gas/testsuite/gas/rx/mvtaclo.d
index 09c7ca6..706fc29 100644
--- a/gas/testsuite/gas/rx/mvtaclo.d
+++ b/gas/testsuite/gas/rx/mvtaclo.d
@@ -6,5 +6,9 @@ dump\.o: file format .*
Disassembly of section \.text:
00000000 <\.text>:
- 0: fd 17 10 mvtaclo r0
- 3: fd 17 1f mvtaclo r15
+ 0: fd 17 10 mvtaclo r0, a0
+ 3: fd 17 1f mvtaclo r15, a0
+ 6: fd 17 10 mvtaclo r0, a0
+ 9: fd 17 1f mvtaclo r15, a0
+ c: fd 17 90 mvtaclo r0, a1
+ f: fd 17 9f mvtaclo r15, a1
diff --git a/gas/testsuite/gas/rx/mvtaclo.sm b/gas/testsuite/gas/rx/mvtaclo.sm
index 840bd88..fc24918 100644
--- a/gas/testsuite/gas/rx/mvtaclo.sm
+++ b/gas/testsuite/gas/rx/mvtaclo.sm
@@ -1 +1,3 @@
mvtaclo {reg}
+ mvtaclo {reg},a0
+ mvtaclo {reg},a1
diff --git a/gas/testsuite/gas/rx/mvtc.d b/gas/testsuite/gas/rx/mvtc.d
index 1deb67e..33c1bd2 100644
--- a/gas/testsuite/gas/rx/mvtc.d
+++ b/gas/testsuite/gas/rx/mvtc.d
@@ -14,14 +14,16 @@ Disassembly of section \.text:
14: fd 77 08 80 mvtc #-128, bpsw
18: fd 77 09 80 mvtc #-128, bpc
1c: fd 77 0b 80 mvtc #-128, fintv
- 20: fd 77 00 7f mvtc #127, psw
- 24: fd 77 03 7f mvtc #127, fpsw
- 28: fd 77 02 7f mvtc #127, usp
- 2c: fd 77 0a 7f mvtc #127, isp
- 30: fd 77 0c 7f mvtc #127, intb
- 34: fd 77 08 7f mvtc #127, bpsw
- 38: fd 77 09 7f mvtc #127, bpc
- 3c: fd 77 0b 7f mvtc #127, fintv
+ 20: fd 77 0d 80 mvtc #-128, extb
+ 24: fd 77 00 7f mvtc #127, psw
+ 28: fd 77 03 7f mvtc #127, fpsw
+ 2c: fd 77 02 7f mvtc #127, usp
+ 30: fd 77 0a 7f mvtc #127, isp
+ 34: fd 77 0c 7f mvtc #127, intb
+ 38: fd 77 08 7f mvtc #127, bpsw
+ 3c: fd 77 09 7f mvtc #127, bpc
+ 40: fd 77 0b 7f mvtc #127, fintv
+ 44: fd 77 0d 7f mvtc #127, extb
..: fd 7b 00 00 80 mvtc #0xffff8000, psw
..: fd 7b 03 00 80 mvtc #0xffff8000, fpsw
..: fd 7b 02 00 80 mvtc #0xffff8000, usp
@@ -30,6 +32,7 @@ Disassembly of section \.text:
..: fd 7b 08 00 80 mvtc #0xffff8000, bpsw
..: fd 7b 09 00 80 mvtc #0xffff8000, bpc
..: fd 7b 0b 00 80 mvtc #0xffff8000, fintv
+ ..: fd 7b 0d 00 80 mvtc #0xffff8000, extb
..: fd 7f 00 00 80 00 mvtc #0x8000, psw
..: fd 7f 03 00 80 00 mvtc #0x8000, fpsw
..: fd 7f 02 00 80 00 mvtc #0x8000, usp
@@ -38,6 +41,7 @@ Disassembly of section \.text:
..: fd 7f 08 00 80 00 mvtc #0x8000, bpsw
..: fd 7f 09 00 80 00 mvtc #0x8000, bpc
..: fd 7f 0b 00 80 00 mvtc #0x8000, fintv
+ ..: fd 7f 0d 00 80 00 mvtc #0x8000, extb
..: fd 7f 00 00 00 80 mvtc #0xff800000, psw
..: fd 7f 03 00 00 80 mvtc #0xff800000, fpsw
..: fd 7f 02 00 00 80 mvtc #0xff800000, usp
@@ -46,14 +50,16 @@ Disassembly of section \.text:
..: fd 7f 08 00 00 80 mvtc #0xff800000, bpsw
..: fd 7f 09 00 00 80 mvtc #0xff800000, bpc
..: fd 7f 0b 00 00 80 mvtc #0xff800000, fintv
+ ..: fd 7f 0d 00 00 80 mvtc #0xff800000, extb
..: fd 7f 00 ff ff 7f mvtc #0x7fffff, psw
..: fd 7f 03 ff ff 7f mvtc #0x7fffff, fpsw
..: fd 7f 02 ff ff 7f mvtc #0x7fffff, usp
..: fd 7f 0a ff ff 7f mvtc #0x7fffff, isp
..: fd 7f 0c ff ff 7f mvtc #0x7fffff, intb
- ..: fd 7f 08 ff ff 7f mvtc #0x7fffff, bpsw
+ ...: fd 7f 08 ff ff 7f mvtc #0x7fffff, bpsw
...: fd 7f 09 ff ff 7f mvtc #0x7fffff, bpc
...: fd 7f 0b ff ff 7f mvtc #0x7fffff, fintv
+ ...: fd 7f 0d ff ff 7f mvtc #0x7fffff, extb
...: fd 73 00 00 00 00 80 mvtc #0x80000000, psw
...: fd 73 03 00 00 00 80 mvtc #0x80000000, fpsw
...: fd 73 02 00 00 00 80 mvtc #0x80000000, usp
@@ -62,6 +68,7 @@ Disassembly of section \.text:
...: fd 73 08 00 00 00 80 mvtc #0x80000000, bpsw
...: fd 73 09 00 00 00 80 mvtc #0x80000000, bpc
...: fd 73 0b 00 00 00 80 mvtc #0x80000000, fintv
+ ...: fd 73 0d 00 00 00 80 mvtc #0x80000000, extb
...: fd 73 00 ff ff ff 7f mvtc #0x7fffffff, psw
...: fd 73 03 ff ff ff 7f mvtc #0x7fffffff, fpsw
...: fd 73 02 ff ff ff 7f mvtc #0x7fffffff, usp
@@ -70,6 +77,7 @@ Disassembly of section \.text:
...: fd 73 08 ff ff ff 7f mvtc #0x7fffffff, bpsw
...: fd 73 09 ff ff ff 7f mvtc #0x7fffffff, bpc
...: fd 73 0b ff ff ff 7f mvtc #0x7fffffff, fintv
+ ...: fd 73 0d ff ff ff 7f mvtc #0x7fffffff, extb
...: fd 68 00 mvtc r0, psw
...: fd 68 03 mvtc r0, fpsw
...: fd 68 02 mvtc r0, usp
@@ -78,6 +86,7 @@ Disassembly of section \.text:
...: fd 68 08 mvtc r0, bpsw
...: fd 68 09 mvtc r0, bpc
...: fd 68 0b mvtc r0, fintv
+ ...: fd 68 0d mvtc r0, extb
...: fd 68 f0 mvtc r15, psw
...: fd 68 f3 mvtc r15, fpsw
...: fd 68 f2 mvtc r15, usp
@@ -86,4 +95,5 @@ Disassembly of section \.text:
...: fd 68 f8 mvtc r15, bpsw
...: fd 68 f9 mvtc r15, bpc
...: fd 68 fb mvtc r15, fintv
+ ...: fd 68 fd mvtc r15, extb
diff --git a/gas/testsuite/gas/rx/nop.d b/gas/testsuite/gas/rx/nop.d
index 28988cc..1f33c59 100644
--- a/gas/testsuite/gas/rx/nop.d
+++ b/gas/testsuite/gas/rx/nop.d
@@ -3,9 +3,9 @@
dump\.o: file format .*
-Disassembly of section \..*:
+Disassembly of section .*:
-00000000 <\..*>:
+00000000 <.*>:
0: 03 nop
1: ef 00 nop ; mov.l r0, r0
3: 63 10 nop ; mul #1, r0
diff --git a/gas/testsuite/gas/rx/popc.d b/gas/testsuite/gas/rx/popc.d
index da1b248..cddbe05 100644
--- a/gas/testsuite/gas/rx/popc.d
+++ b/gas/testsuite/gas/rx/popc.d
@@ -14,4 +14,5 @@ Disassembly of section \.text:
a: 7e e8 popc bpsw
c: 7e e9 popc bpc
e: 7e eb popc fintv
+ 10: 7e ed popc extb
diff --git a/gas/testsuite/gas/rx/pushc.d b/gas/testsuite/gas/rx/pushc.d
index 307a7a0..2a93da2 100644
--- a/gas/testsuite/gas/rx/pushc.d
+++ b/gas/testsuite/gas/rx/pushc.d
@@ -14,4 +14,5 @@ Disassembly of section \.text:
a: 7e c8 pushc bpsw
c: 7e c9 pushc bpc
e: 7e cb pushc fintv
+ 10: 7e cd pushc extb
diff --git a/gas/testsuite/gas/rx/racl.d b/gas/testsuite/gas/rx/racl.d
new file mode 100644
index 0000000..ae784bd
--- /dev/null
+++ b/gas/testsuite/gas/rx/racl.d
@@ -0,0 +1,12 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 19 00 racl #1, a0
+ 3: fd 19 10 racl #2, a0
+ 6: fd 19 80 racl #1, a1
+ 9: fd 19 90 racl #2, a1
diff --git a/gas/testsuite/gas/rx/racl.sm b/gas/testsuite/gas/rx/racl.sm
new file mode 100644
index 0000000..96c6cb5
--- /dev/null
+++ b/gas/testsuite/gas/rx/racl.sm
@@ -0,0 +1,4 @@
+ racl #1,a0
+ racl #2,a0
+ racl #1,a1
+ racl #2,a1
diff --git a/gas/testsuite/gas/rx/racw.d b/gas/testsuite/gas/rx/racw.d
index 6735254..f6a60c6 100644
--- a/gas/testsuite/gas/rx/racw.d
+++ b/gas/testsuite/gas/rx/racw.d
@@ -6,5 +6,9 @@ dump\.o: file format .*
Disassembly of section \.text:
00000000 <\.text>:
- 0: fd 18 00 racw #1
- 3: fd 18 10 racw #2
+ 0: fd 18 00 racw #1, a0
+ 3: fd 18 10 racw #2, a0
+ 6: fd 18 00 racw #1, a0
+ 9: fd 18 10 racw #2, a0
+ c: fd 18 80 racw #1, a1
+ f: fd 18 90 racw #2, a1
diff --git a/gas/testsuite/gas/rx/racw.sm b/gas/testsuite/gas/rx/racw.sm
index f7dfd5b..26a726c 100644
--- a/gas/testsuite/gas/rx/racw.sm
+++ b/gas/testsuite/gas/rx/racw.sm
@@ -1,2 +1,6 @@
racw #1
racw #2
+ racw #1,a0
+ racw #2,a0
+ racw #1,a1
+ racw #2,a1
diff --git a/gas/testsuite/gas/rx/rdacl.d b/gas/testsuite/gas/rx/rdacl.d
new file mode 100644
index 0000000..1e7e49d
--- /dev/null
+++ b/gas/testsuite/gas/rx/rdacl.d
@@ -0,0 +1,12 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 19 40 rdacl #1, a0
+ 3: fd 19 50 rdacl #2, a0
+ 6: fd 19 c0 rdacl #1, a1
+ 9: fd 19 d0 rdacl #2, a1
diff --git a/gas/testsuite/gas/rx/rdacl.sm b/gas/testsuite/gas/rx/rdacl.sm
new file mode 100644
index 0000000..965a206
--- /dev/null
+++ b/gas/testsuite/gas/rx/rdacl.sm
@@ -0,0 +1,4 @@
+ rdacl #1,a0
+ rdacl #2,a0
+ rdacl #1,a1
+ rdacl #2,a1
diff --git a/gas/testsuite/gas/rx/rdacw.d b/gas/testsuite/gas/rx/rdacw.d
new file mode 100644
index 0000000..8ec7bd4
--- /dev/null
+++ b/gas/testsuite/gas/rx/rdacw.d
@@ -0,0 +1,12 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fd 18 40 rdacw #1, a0
+ 3: fd 18 50 rdacw #2, a0
+ 6: fd 18 c0 rdacw #1, a1
+ 9: fd 18 d0 rdacw #2, a1
diff --git a/gas/testsuite/gas/rx/rdacw.sm b/gas/testsuite/gas/rx/rdacw.sm
new file mode 100644
index 0000000..665f760
--- /dev/null
+++ b/gas/testsuite/gas/rx/rdacw.sm
@@ -0,0 +1,4 @@
+ rdacw #1,a0
+ rdacw #2,a0
+ rdacw #1,a1
+ rdacw #2,a1
diff --git a/gas/testsuite/gas/rx/rx.exp b/gas/testsuite/gas/rx/rx.exp
index 6fa5ca5..d78768a 100644
--- a/gas/testsuite/gas/rx/rx.exp
+++ b/gas/testsuite/gas/rx/rx.exp
@@ -21,6 +21,9 @@ if { ! [istarget rx-*-*] } {
return
}
+global ASFLAGS
+set ASFLAGS "--mcpu=rxv2"
+
foreach test [lsort [glob $srcdir/$subdir/*.sm]] {
regexp ".*/(.*)\.sm" $test rxjunk rxbase
exec "$srcdir/$subdir/explode" "-I" "$srcdir/$subdir" "$test" "$srcdir/$subdir/$rxbase.s"
diff --git a/gas/testsuite/gas/rx/stnz.d b/gas/testsuite/gas/rx/stnz.d
index 8dfb0c3..ff2f857 100644
--- a/gas/testsuite/gas/rx/stnz.d
+++ b/gas/testsuite/gas/rx/stnz.d
@@ -22,3 +22,7 @@ Disassembly of section \.text:
45: fd 70 ff 00 00 00 80 stnz #0x80000000, r15
4c: fd 70 f0 ff ff ff 7f stnz #0x7fffffff, r0
53: fd 70 ff ff ff ff 7f stnz #0x7fffffff, r15
+ 5a: fc 4f 00 stnz r0, r0
+ 5d: fc 4f 0f stnz r0, r15
+ 60: fc 4f f0 stnz r15, r0
+ 63: fc 4f ff stnz r15, r15
diff --git a/gas/testsuite/gas/rx/stnz.sm b/gas/testsuite/gas/rx/stnz.sm
index 853f1ce..903a32e 100644
--- a/gas/testsuite/gas/rx/stnz.sm
+++ b/gas/testsuite/gas/rx/stnz.sm
@@ -1 +1,2 @@
stnz #{imm},{reg}
+ stnz {reg},{reg}
diff --git a/gas/testsuite/gas/rx/stz.d b/gas/testsuite/gas/rx/stz.d
index f9c6b77..d3426dc 100644
--- a/gas/testsuite/gas/rx/stz.d
+++ b/gas/testsuite/gas/rx/stz.d
@@ -22,3 +22,7 @@ Disassembly of section \.text:
45: fd 70 ef 00 00 00 80 stz #0x80000000, r15
4c: fd 70 e0 ff ff ff 7f stz #0x7fffffff, r0
53: fd 70 ef ff ff ff 7f stz #0x7fffffff, r15
+ 5a: fc 4b 00 stz r0, r0
+ 5d: fc 4b 0f stz r0, r15
+ 60: fc 4b f0 stz r15, r0
+ 63: fc 4b ff stz r15, r15
diff --git a/gas/testsuite/gas/rx/stz.sm b/gas/testsuite/gas/rx/stz.sm
index e366213..34b79fe 100644
--- a/gas/testsuite/gas/rx/stz.sm
+++ b/gas/testsuite/gas/rx/stz.sm
@@ -1 +1,2 @@
stz #{imm},{reg}
+ stz {reg},{reg}
diff --git a/gas/testsuite/gas/rx/utof.d b/gas/testsuite/gas/rx/utof.d
new file mode 100644
index 0000000..5059ad1
--- /dev/null
+++ b/gas/testsuite/gas/rx/utof.d
@@ -0,0 +1,72 @@
+#objdump: -dr
+
+dump\.o: file format .*
+
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: fc 57 00 utof r0, r0
+ 3: fc 57 0f utof r0, r15
+ 6: fc 57 f0 utof r15, r0
+ 9: fc 57 ff utof r15, r15
+ c: fc 54 00 utof \[r0\]\.ub, r0
+ f: fc 54 0f utof \[r0\]\.ub, r15
+ 12: 06 20 15 00 utof \[r0\]\.b, r0
+ 16: 06 20 15 0f utof \[r0\]\.b, r15
+ 1a: 06 e0 15 00 utof \[r0\]\.uw, r0
+ 1e: 06 e0 15 0f utof \[r0\]\.uw, r15
+ 22: 06 60 15 00 utof \[r0\]\.w, r0
+ 26: 06 60 15 0f utof \[r0\]\.w, r15
+ 2a: 06 a0 15 00 utof \[r0\]\.l, r0
+ 2e: 06 a0 15 0f utof \[r0\]\.l, r15
+ 32: fc 54 f0 utof \[r15\]\.ub, r0
+ 35: fc 54 ff utof \[r15\]\.ub, r15
+ 38: 06 20 15 f0 utof \[r15\]\.b, r0
+ 3c: 06 20 15 ff utof \[r15\]\.b, r15
+ 40: 06 e0 15 f0 utof \[r15\]\.uw, r0
+ 44: 06 e0 15 ff utof \[r15\]\.uw, r15
+ 48: 06 60 15 f0 utof \[r15\]\.w, r0
+ 4c: 06 60 15 ff utof \[r15\]\.w, r15
+ 50: 06 a0 15 f0 utof \[r15\]\.l, r0
+ 54: 06 a0 15 ff utof \[r15\]\.l, r15
+ 58: fc 55 00 fc utof 252\[r0\]\.ub, r0
+ 5c: fc 55 0f fc utof 252\[r0\]\.ub, r15
+ 60: 06 21 15 00 fc utof 252\[r0\]\.b, r0
+ 65: 06 21 15 0f fc utof 252\[r0\]\.b, r15
+ 6a: 06 e1 15 00 7e utof 252\[r0\]\.uw, r0
+ 6f: 06 e1 15 0f 7e utof 252\[r0\]\.uw, r15
+ 74: 06 61 15 00 7e utof 252\[r0\]\.w, r0
+ 79: 06 61 15 0f 7e utof 252\[r0\]\.w, r15
+ 7e: 06 a1 15 00 3f utof 252\[r0\]\.l, r0
+ 83: 06 a1 15 0f 3f utof 252\[r0\]\.l, r15
+ 88: fc 55 f0 fc utof 252\[r15\]\.ub, r0
+ 8c: fc 55 ff fc utof 252\[r15\]\.ub, r15
+ 90: 06 21 15 f0 fc utof 252\[r15\]\.b, r0
+ 95: 06 21 15 ff fc utof 252\[r15\]\.b, r15
+ 9a: 06 e1 15 f0 7e utof 252\[r15\]\.uw, r0
+ 9f: 06 e1 15 ff 7e utof 252\[r15\]\.uw, r15
+ a4: 06 61 15 f0 7e utof 252\[r15\]\.w, r0
+ a9: 06 61 15 ff 7e utof 252\[r15\]\.w, r15
+ ae: 06 a1 15 f0 3f utof 252\[r15\]\.l, r0
+ b3: 06 a1 15 ff 3f utof 252\[r15\]\.l, r15
+ b8: fc 56 00 fc ff utof 65532\[r0\]\.ub, r0
+ bd: fc 56 0f fc ff utof 65532\[r0\]\.ub, r15
+ c2: 06 22 15 00 fc ff utof 65532\[r0\]\.b, r0
+ c8: 06 22 15 0f fc ff utof 65532\[r0\]\.b, r15
+ ce: 06 e2 15 00 fe 7f utof 65532\[r0\]\.uw, r0
+ d4: 06 e2 15 0f fe 7f utof 65532\[r0\]\.uw, r15
+ da: 06 62 15 00 fe 7f utof 65532\[r0\]\.w, r0
+ e0: 06 62 15 0f fe 7f utof 65532\[r0\]\.w, r15
+ e6: 06 a2 15 00 ff 3f utof 65532\[r0\]\.l, r0
+ ec: 06 a2 15 0f ff 3f utof 65532\[r0\]\.l, r15
+ f2: fc 56 f0 fc ff utof 65532\[r15\]\.ub, r0
+ f7: fc 56 ff fc ff utof 65532\[r15\]\.ub, r15
+ fc: 06 22 15 f0 fc ff utof 65532\[r15\]\.b, r0
+ 102: 06 22 15 ff fc ff utof 65532\[r15\]\.b, r15
+ 108: 06 e2 15 f0 fe 7f utof 65532\[r15\]\.uw, r0
+ 10e: 06 e2 15 ff fe 7f utof 65532\[r15\]\.uw, r15
+ 114: 06 62 15 f0 fe 7f utof 65532\[r15\]\.w, r0
+ 11a: 06 62 15 ff fe 7f utof 65532\[r15\]\.w, r15
+ 120: 06 a2 15 f0 ff 3f utof 65532\[r15\]\.l, r0
+ 126: 06 a2 15 ff ff 3f utof 65532\[r15\]\.l, r15
diff --git a/gas/testsuite/gas/rx/utof.sm b/gas/testsuite/gas/rx/utof.sm
new file mode 100644
index 0000000..8a11bac
--- /dev/null
+++ b/gas/testsuite/gas/rx/utof.sm
@@ -0,0 +1,2 @@
+ utof {reg},{reg}
+ utof {memx},{reg}
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index e6e7af9..5b98c66 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,7 @@
+2015-12-14 Yoshinori Sato <ysato@users.sourceforge.jp>
+
+ * rx.h (E_FLAG_RX_V2): New RXv2 type.
+
2015-12-07 Alan Modra <amodra@gmail.com>
* ppc64.h (R_PPC64_ENTRY): Define.
diff --git a/include/elf/rx.h b/include/elf/rx.h
index f945dac..fa2cbdf 100644
--- a/include/elf/rx.h
+++ b/include/elf/rx.h
@@ -119,11 +119,11 @@ END_RELOC_NUMBERS (R_RX_max)
#define E_FLAG_RX_DSP (1 << 1) /* Defined in the RX CPU Object file specification, but not explained. */
#define E_FLAG_RX_PID (1 << 2) /* Unofficial - DJ */
#define E_FLAG_RX_ABI (1 << 3) /* Binary passes stacked arguments using natural alignment. Unofficial - NC. */
-
#define E_FLAG_RX_SINSNS_SET (1 << 6) /* Set if bit-5 is significant. */
#define E_FLAG_RX_SINSNS_YES (1 << 7) /* Set if string instructions are used in the binary. */
#define E_FLAG_RX_SINSNS_NO 0 /* Bit-5 if this binary must not be linked with a string instruction using binary. */
#define E_FLAG_RX_SINSNS_MASK (3 << 6) /* Mask of bits used to determine string instruction use. */
+#define E_FLAG_RX_V2 (1 << 8) /* RX v2 instructions */
/* These define the addend field of R_RX_RH_RELAX relocations. */
#define RX_RELAXA_IMM6 0x00000010 /* Imm8/16/24/32 at bit offset 6. */
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index e72c1a0..7ccd62e 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -3,6 +3,10 @@
* aarch64.h (enum aarch64_opnd_qualifier): Add
AARCH64_OPND_QLF_V_2H.
+2015-12-14 Yoshinori Sato <ysato@users.sourceforge.jp>
+
+ * rx.h: Add new instructions.
+
2015-12-11 Matthew Wahab <matthew.wahab@arm.com>
* aarch64.h (aarch64_opnd): Add AARCH64_OPND_BARRIER_PSB.
diff --git a/include/opcode/rx.h b/include/opcode/rx.h
index b8ef163..eda0ee3 100644
--- a/include/opcode/rx.h
+++ b/include/opcode/rx.h
@@ -161,6 +161,25 @@ typedef enum
RXO_wait,
RXO_sccnd, /* d = cond(s) ? 1 : 0 */
+
+ RXO_fsqrt,
+ RXO_ftou,
+ RXO_utof,
+ RXO_movco,
+ RXO_movli,
+ RXO_emaca,
+ RXO_emsba,
+ RXO_emula,
+ RXO_maclh,
+ RXO_msbhi,
+ RXO_msblh,
+ RXO_msblo,
+ RXO_mullh,
+ RXO_mvfacgu,
+ RXO_mvtacgu,
+ RXO_racl,
+ RXO_rdacl,
+ RXO_rdacw,
} RX_Opcode_ID;
/* Condition bitpatterns, as registers. */
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 26cddf0..6145343 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,9 @@
+2015-12-14 Yoshinori Sato <ysato@users.sourceforge.jp>
+
+ * rx-deocde.opc: Add new instructions pattern.
+ * rx-deocde.c: Regenerate.
+ * rx-dis.c (register_name): Add new register.
+
2015-12-14 Matthew Wahab <matthew.wahab@arm.com>
* aarch64-asm-2.c: Regenerate.
diff --git a/opcodes/rx-decode.c b/opcodes/rx-decode.c
index 3a9099b..e298bed 100644
--- a/opcodes/rx-decode.c
+++ b/opcodes/rx-decode.c
@@ -294,7 +294,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0]);
}
SYNTAX("brk");
-#line 987 "rx-decode.opc"
+#line 1025 "rx-decode.opc"
ID(brk);
}
@@ -309,7 +309,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0]);
}
SYNTAX("dbt");
-#line 990 "rx-decode.opc"
+#line 1028 "rx-decode.opc"
ID(dbt);
}
@@ -324,7 +324,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0]);
}
SYNTAX("rts");
-#line 768 "rx-decode.opc"
+#line 806 "rx-decode.opc"
ID(rts);
/*----------------------------------------------------------------------*/
@@ -342,7 +342,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0]);
}
SYNTAX("nop");
-#line 774 "rx-decode.opc"
+#line 812 "rx-decode.opc"
ID(nop);
/*----------------------------------------------------------------------*/
@@ -360,7 +360,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0]);
}
SYNTAX("bra.a %a0");
-#line 746 "rx-decode.opc"
+#line 784 "rx-decode.opc"
ID(branch); DC(pc + IMMex(3));
}
@@ -375,7 +375,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0]);
}
SYNTAX("bsr.a %a0");
-#line 762 "rx-decode.opc"
+#line 800 "rx-decode.opc"
ID(jsr); DC(pc + IMMex(3));
}
@@ -578,13 +578,13 @@ rx_decode_opcode (unsigned long pc AU,
op_semantics_4:
{
/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
-#line 611 "rx-decode.opc"
+#line 649 "rx-decode.opc"
int mx AU = (op[1] >> 6) & 0x03;
-#line 611 "rx-decode.opc"
+#line 649 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 611 "rx-decode.opc"
+#line 649 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 611 "rx-decode.opc"
+#line 649 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -597,7 +597,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("mul %1%S1, %0");
-#line 611 "rx-decode.opc"
+#line 649 "rx-decode.opc"
ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____;
}
@@ -802,13 +802,13 @@ rx_decode_opcode (unsigned long pc AU,
op_semantics_8:
{
/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
-#line 584 "rx-decode.opc"
+#line 594 "rx-decode.opc"
int mx AU = (op[1] >> 6) & 0x03;
-#line 584 "rx-decode.opc"
+#line 594 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 584 "rx-decode.opc"
+#line 594 "rx-decode.opc"
int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 584 "rx-decode.opc"
+#line 594 "rx-decode.opc"
int rdst AU = op[3] & 0x0f;
if (trace)
{
@@ -821,7 +821,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("max %1%S1, %0");
-#line 584 "rx-decode.opc"
+#line 594 "rx-decode.opc"
ID(max); SPm(ss, rsrc, mx); DR(rdst);
/*----------------------------------------------------------------------*/
@@ -839,13 +839,13 @@ rx_decode_opcode (unsigned long pc AU,
op_semantics_9:
{
/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
-#line 596 "rx-decode.opc"
+#line 606 "rx-decode.opc"
int mx AU = (op[1] >> 6) & 0x03;
-#line 596 "rx-decode.opc"
+#line 606 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 596 "rx-decode.opc"
+#line 606 "rx-decode.opc"
int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 596 "rx-decode.opc"
+#line 606 "rx-decode.opc"
int rdst AU = op[3] & 0x0f;
if (trace)
{
@@ -858,7 +858,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("min %1%S1, %0");
-#line 596 "rx-decode.opc"
+#line 606 "rx-decode.opc"
ID(min); SPm(ss, rsrc, mx); DR(rdst);
/*----------------------------------------------------------------------*/
@@ -876,13 +876,13 @@ rx_decode_opcode (unsigned long pc AU,
op_semantics_10:
{
/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
-#line 626 "rx-decode.opc"
+#line 664 "rx-decode.opc"
int mx AU = (op[1] >> 6) & 0x03;
-#line 626 "rx-decode.opc"
+#line 664 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 626 "rx-decode.opc"
+#line 664 "rx-decode.opc"
int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 626 "rx-decode.opc"
+#line 664 "rx-decode.opc"
int rdst AU = op[3] & 0x0f;
if (trace)
{
@@ -895,7 +895,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("emul %1%S1, %0");
-#line 626 "rx-decode.opc"
+#line 664 "rx-decode.opc"
ID(emul); SPm(ss, rsrc, mx); DR(rdst);
/*----------------------------------------------------------------------*/
@@ -913,13 +913,13 @@ rx_decode_opcode (unsigned long pc AU,
op_semantics_11:
{
/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
-#line 638 "rx-decode.opc"
+#line 676 "rx-decode.opc"
int mx AU = (op[1] >> 6) & 0x03;
-#line 638 "rx-decode.opc"
+#line 676 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 638 "rx-decode.opc"
+#line 676 "rx-decode.opc"
int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 638 "rx-decode.opc"
+#line 676 "rx-decode.opc"
int rdst AU = op[3] & 0x0f;
if (trace)
{
@@ -932,7 +932,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("emulu %1%S1, %0");
-#line 638 "rx-decode.opc"
+#line 676 "rx-decode.opc"
ID(emulu); SPm(ss, rsrc, mx); DR(rdst);
/*----------------------------------------------------------------------*/
@@ -950,13 +950,13 @@ rx_decode_opcode (unsigned long pc AU,
op_semantics_12:
{
/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
-#line 650 "rx-decode.opc"
+#line 688 "rx-decode.opc"
int mx AU = (op[1] >> 6) & 0x03;
-#line 650 "rx-decode.opc"
+#line 688 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 650 "rx-decode.opc"
+#line 688 "rx-decode.opc"
int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 650 "rx-decode.opc"
+#line 688 "rx-decode.opc"
int rdst AU = op[3] & 0x0f;
if (trace)
{
@@ -969,7 +969,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("div %1%S1, %0");
-#line 650 "rx-decode.opc"
+#line 688 "rx-decode.opc"
ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___;
/*----------------------------------------------------------------------*/
@@ -987,13 +987,13 @@ rx_decode_opcode (unsigned long pc AU,
op_semantics_13:
{
/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
-#line 662 "rx-decode.opc"
+#line 700 "rx-decode.opc"
int mx AU = (op[1] >> 6) & 0x03;
-#line 662 "rx-decode.opc"
+#line 700 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 662 "rx-decode.opc"
+#line 700 "rx-decode.opc"
int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 662 "rx-decode.opc"
+#line 700 "rx-decode.opc"
int rdst AU = op[3] & 0x0f;
if (trace)
{
@@ -1006,7 +1006,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("divu %1%S1, %0");
-#line 662 "rx-decode.opc"
+#line 700 "rx-decode.opc"
ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___;
/*----------------------------------------------------------------------*/
@@ -1135,13 +1135,13 @@ rx_decode_opcode (unsigned long pc AU,
op_semantics_17:
{
/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
-#line 891 "rx-decode.opc"
+#line 929 "rx-decode.opc"
int mx AU = (op[1] >> 6) & 0x03;
-#line 891 "rx-decode.opc"
+#line 929 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 891 "rx-decode.opc"
+#line 929 "rx-decode.opc"
int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 891 "rx-decode.opc"
+#line 929 "rx-decode.opc"
int rdst AU = op[3] & 0x0f;
if (trace)
{
@@ -1154,7 +1154,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("itof %1%S1, %0");
-#line 891 "rx-decode.opc"
+#line 929 "rx-decode.opc"
ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
/*----------------------------------------------------------------------*/
@@ -1164,6 +1164,40 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ op_semantics_18:
+ {
+ /** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */
+#line 1115 "rx-decode.opc"
+ int mx AU = (op[1] >> 6) & 0x03;
+#line 1115 "rx-decode.opc"
+ int sd AU = op[1] & 0x03;
+#line 1115 "rx-decode.opc"
+ int rsrc AU = (op[3] >> 4) & 0x0f;
+#line 1115 "rx-decode.opc"
+ int rdst AU = op[3] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" mx = 0x%x,", mx);
+ printf (" sd = 0x%x,", sd);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("utof %1%S1, %0");
+#line 1115 "rx-decode.opc"
+ ID(utof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
+
+ }
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -1270,6 +1304,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -1376,6 +1419,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -1482,6 +1534,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -1804,6 +1865,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -1910,6 +1980,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -2016,6 +2095,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -2122,6 +2210,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -2359,7 +2456,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[3] & 0x00)
{
case 0x00:
- op_semantics_18:
+ op_semantics_19:
{
/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
#line 494 "rx-decode.opc"
@@ -2478,6 +2575,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -2499,7 +2605,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[3] & 0x00)
{
case 0x00:
- goto op_semantics_18;
+ goto op_semantics_19;
break;
}
break;
@@ -2593,6 +2699,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -2614,7 +2729,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[3] & 0x00)
{
case 0x00:
- goto op_semantics_18;
+ goto op_semantics_19;
break;
}
break;
@@ -2708,6 +2823,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -2729,7 +2853,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[3] & 0x00)
{
case 0x00:
- goto op_semantics_18;
+ goto op_semantics_19;
break;
}
break;
@@ -2823,6 +2947,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -3145,6 +3278,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -3251,6 +3393,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -3357,6 +3508,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -3463,6 +3623,15 @@ rx_decode_opcode (unsigned long pc AU,
break;
}
break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_18;
+ break;
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
@@ -3479,7 +3648,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0f:
{
/** 0000 1dsp bra.s %a0 */
-#line 737 "rx-decode.opc"
+#line 775 "rx-decode.opc"
int dsp AU = op[0] & 0x07;
if (trace)
{
@@ -3489,7 +3658,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" dsp = 0x%x\n", dsp);
}
SYNTAX("bra.s %a0");
-#line 737 "rx-decode.opc"
+#line 775 "rx-decode.opc"
ID(branch); DC(pc + dsp3map[dsp]);
}
@@ -3512,9 +3681,9 @@ rx_decode_opcode (unsigned long pc AU,
case 0x1f:
{
/** 0001 n dsp b%1.s %a0 */
-#line 727 "rx-decode.opc"
+#line 765 "rx-decode.opc"
int n AU = (op[0] >> 3) & 0x01;
-#line 727 "rx-decode.opc"
+#line 765 "rx-decode.opc"
int dsp AU = op[0] & 0x07;
if (trace)
{
@@ -3525,7 +3694,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" dsp = 0x%x\n", dsp);
}
SYNTAX("b%1.s %a0");
-#line 727 "rx-decode.opc"
+#line 765 "rx-decode.opc"
ID(branch); Scc(n); DC(pc + dsp3map[dsp]);
}
@@ -3547,7 +3716,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x2f:
{
/** 0010 cond b%1.b %a0 */
-#line 730 "rx-decode.opc"
+#line 768 "rx-decode.opc"
int cond AU = op[0] & 0x0f;
if (trace)
{
@@ -3557,7 +3726,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" cond = 0x%x\n", cond);
}
SYNTAX("b%1.b %a0");
-#line 730 "rx-decode.opc"
+#line 768 "rx-decode.opc"
ID(branch); Scc(cond); DC(pc + IMMex (1));
}
@@ -3572,7 +3741,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0]);
}
SYNTAX("bra.b %a0");
-#line 740 "rx-decode.opc"
+#line 778 "rx-decode.opc"
ID(branch); DC(pc + IMMex(1));
}
@@ -3587,7 +3756,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0]);
}
SYNTAX("bra.w %a0");
-#line 743 "rx-decode.opc"
+#line 781 "rx-decode.opc"
ID(branch); DC(pc + IMMex(2));
}
@@ -3602,7 +3771,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0]);
}
SYNTAX("bsr.w %a0");
-#line 759 "rx-decode.opc"
+#line 797 "rx-decode.opc"
ID(jsr); DC(pc + IMMex(2));
}
@@ -3611,7 +3780,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x3b:
{
/** 0011 101c b%1.w %a0 */
-#line 733 "rx-decode.opc"
+#line 771 "rx-decode.opc"
int c AU = op[0] & 0x01;
if (trace)
{
@@ -3621,7 +3790,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" c = 0x%x\n", c);
}
SYNTAX("b%1.w %a0");
-#line 733 "rx-decode.opc"
+#line 771 "rx-decode.opc"
ID(branch); Scc(c); DC(pc + IMMex (2));
@@ -3632,7 +3801,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_19:
+ op_semantics_20:
{
/** 0011 11sz d dst sppp mov%s #%1, %0 */
#line 307 "rx-decode.opc"
@@ -3666,7 +3835,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_19;
+ goto op_semantics_20;
break;
}
break;
@@ -3675,7 +3844,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_19;
+ goto op_semantics_20;
break;
}
break;
@@ -3714,7 +3883,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_20:
+ op_semantics_21:
{
/** 0100 00ss rsrc rdst sub %2%S2, %1 */
#line 539 "rx-decode.opc"
@@ -3745,7 +3914,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_20;
+ goto op_semantics_21;
break;
}
break;
@@ -3754,7 +3923,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_20;
+ goto op_semantics_21;
break;
}
break;
@@ -3763,7 +3932,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_20;
+ goto op_semantics_21;
break;
}
break;
@@ -3772,7 +3941,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_21:
+ op_semantics_22:
{
/** 0100 01ss rsrc rdst cmp %2%S2, %1 */
#line 527 "rx-decode.opc"
@@ -3803,7 +3972,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_21;
+ goto op_semantics_22;
break;
}
break;
@@ -3812,7 +3981,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_21;
+ goto op_semantics_22;
break;
}
break;
@@ -3821,7 +3990,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_21;
+ goto op_semantics_22;
break;
}
break;
@@ -3830,7 +3999,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_22:
+ op_semantics_23:
{
/** 0100 10ss rsrc rdst add %1%S1, %0 */
#line 503 "rx-decode.opc"
@@ -3861,7 +4030,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_22;
+ goto op_semantics_23;
break;
}
break;
@@ -3870,7 +4039,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_22;
+ goto op_semantics_23;
break;
}
break;
@@ -3879,7 +4048,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_22;
+ goto op_semantics_23;
break;
}
break;
@@ -3888,14 +4057,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_23:
+ op_semantics_24:
{
/** 0100 11ss rsrc rdst mul %1%S1, %0 */
-#line 608 "rx-decode.opc"
+#line 646 "rx-decode.opc"
int ss AU = op[0] & 0x03;
-#line 608 "rx-decode.opc"
+#line 646 "rx-decode.opc"
int rsrc AU = (op[1] >> 4) & 0x0f;
-#line 608 "rx-decode.opc"
+#line 646 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -3907,7 +4076,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("mul %1%S1, %0");
-#line 608 "rx-decode.opc"
+#line 646 "rx-decode.opc"
ID(mul); SP(ss, rsrc); DR(rdst); F_____;
}
@@ -3919,7 +4088,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_23;
+ goto op_semantics_24;
break;
}
break;
@@ -3928,7 +4097,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_23;
+ goto op_semantics_24;
break;
}
break;
@@ -3937,7 +4106,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_23;
+ goto op_semantics_24;
break;
}
break;
@@ -3946,7 +4115,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_24:
+ op_semantics_25:
{
/** 0101 00ss rsrc rdst and %1%S1, %0 */
#line 416 "rx-decode.opc"
@@ -3977,7 +4146,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_24;
+ goto op_semantics_25;
break;
}
break;
@@ -3986,7 +4155,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_24;
+ goto op_semantics_25;
break;
}
break;
@@ -3995,7 +4164,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_24;
+ goto op_semantics_25;
break;
}
break;
@@ -4004,7 +4173,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_25:
+ op_semantics_26:
{
/** 0101 01ss rsrc rdst or %1%S1, %0 */
#line 434 "rx-decode.opc"
@@ -4035,7 +4204,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_25;
+ goto op_semantics_26;
break;
}
break;
@@ -4044,7 +4213,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_25;
+ goto op_semantics_26;
break;
}
break;
@@ -4053,7 +4222,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_25;
+ goto op_semantics_26;
break;
}
break;
@@ -4062,7 +4231,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_26:
+ op_semantics_27:
{
/** 0101 1 s ss rsrc rdst movu%s %1, %0 */
#line 355 "rx-decode.opc"
@@ -4096,7 +4265,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_26;
+ goto op_semantics_27;
break;
}
break;
@@ -4105,7 +4274,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_26;
+ goto op_semantics_27;
break;
}
break;
@@ -4114,7 +4283,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_26;
+ goto op_semantics_27;
break;
}
break;
@@ -4123,7 +4292,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_26;
+ goto op_semantics_27;
break;
}
break;
@@ -4132,7 +4301,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_26;
+ goto op_semantics_27;
break;
}
break;
@@ -4141,7 +4310,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_26;
+ goto op_semantics_27;
break;
}
break;
@@ -4150,7 +4319,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_26;
+ goto op_semantics_27;
break;
}
break;
@@ -4242,9 +4411,9 @@ rx_decode_opcode (unsigned long pc AU,
case 0x00:
{
/** 0110 0011 immm rdst mul #%1, %0 */
-#line 602 "rx-decode.opc"
+#line 612 "rx-decode.opc"
int immm AU = (op[1] >> 4) & 0x0f;
-#line 602 "rx-decode.opc"
+#line 612 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -4255,17 +4424,18 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("mul #%1, %0");
-#line 602 "rx-decode.opc"
- if (immm == 1 && rdst == 0)
- {
- ID(nop2);
- SYNTAX ("nop\t; mul\t#1, r0");
- }
- else
- {
- ID(mul);
- }
- DR(rdst); SC(immm); F_____;
+#line 612 "rx-decode.opc"
+ if (immm == 1 && rdst == 0)
+ {
+ ID(nop2);
+ SYNTAX ("nop\t; mul\t#1, r0");
+ }
+ else
+ {
+ ID(mul);
+ }
+ DR(rdst); SC(immm); F_____;
+
}
break;
}
@@ -4371,14 +4541,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_27:
+ op_semantics_28:
{
/** 0110 100i mmmm rdst shlr #%2, %0 */
-#line 688 "rx-decode.opc"
+#line 726 "rx-decode.opc"
int i AU = op[0] & 0x01;
-#line 688 "rx-decode.opc"
+#line 726 "rx-decode.opc"
int mmmm AU = (op[1] >> 4) & 0x0f;
-#line 688 "rx-decode.opc"
+#line 726 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -4390,7 +4560,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("shlr #%2, %0");
-#line 688 "rx-decode.opc"
+#line 726 "rx-decode.opc"
ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC;
}
@@ -4402,7 +4572,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_27;
+ goto op_semantics_28;
break;
}
break;
@@ -4411,14 +4581,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_28:
+ op_semantics_29:
{
/** 0110 101i mmmm rdst shar #%2, %0 */
-#line 678 "rx-decode.opc"
+#line 716 "rx-decode.opc"
int i AU = op[0] & 0x01;
-#line 678 "rx-decode.opc"
+#line 716 "rx-decode.opc"
int mmmm AU = (op[1] >> 4) & 0x0f;
-#line 678 "rx-decode.opc"
+#line 716 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -4430,7 +4600,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("shar #%2, %0");
-#line 678 "rx-decode.opc"
+#line 716 "rx-decode.opc"
ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC;
}
@@ -4442,7 +4612,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_28;
+ goto op_semantics_29;
break;
}
break;
@@ -4451,14 +4621,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_29:
+ op_semantics_30:
{
/** 0110 110i mmmm rdst shll #%2, %0 */
-#line 668 "rx-decode.opc"
+#line 706 "rx-decode.opc"
int i AU = op[0] & 0x01;
-#line 668 "rx-decode.opc"
+#line 706 "rx-decode.opc"
int mmmm AU = (op[1] >> 4) & 0x0f;
-#line 668 "rx-decode.opc"
+#line 706 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -4470,7 +4640,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("shll #%2, %0");
-#line 668 "rx-decode.opc"
+#line 706 "rx-decode.opc"
ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC;
}
@@ -4482,7 +4652,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_29;
+ goto op_semantics_30;
break;
}
break;
@@ -4545,7 +4715,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_30:
+ op_semantics_31:
{
/** 0111 00im rsrc rdst add #%1, %2, %0 */
#line 509 "rx-decode.opc"
@@ -4576,7 +4746,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_30;
+ goto op_semantics_31;
break;
}
break;
@@ -4585,7 +4755,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_30;
+ goto op_semantics_31;
break;
}
break;
@@ -4594,7 +4764,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_30;
+ goto op_semantics_31;
break;
}
break;
@@ -4603,7 +4773,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0xf0)
{
case 0x00:
- op_semantics_31:
+ op_semantics_32:
{
/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
#line 521 "rx-decode.opc"
@@ -4625,14 +4795,13 @@ rx_decode_opcode (unsigned long pc AU,
}
break;
case 0x10:
- op_semantics_32:
+ op_semantics_33:
{
/** 0111 01im 0001rdst mul #%1, %0 */
-#line 605 "rx-decode.opc"
+#line 624 "rx-decode.opc"
int im AU = op[0] & 0x03;
-#line 605 "rx-decode.opc"
+#line 624 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
- int val = IMMex(im);
if (trace)
{
printf ("\033[33m%s\033[0m %02x %02x\n",
@@ -4642,31 +4811,32 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("mul #%1, %0");
-#line 605 "rx-decode.opc"
- if (val == 1 && rdst == 0)
- {
- SYNTAX("nop\t; mul\t#1, r0");
- switch (im)
- {
- case 2: ID(nop4); break;
- case 3: ID(nop5); break;
- case 0: ID(nop6); break;
- default:
- ID(mul);
- SYNTAX("mul #%1, %0");
- break;
- }
- }
- else
- {
- ID(mul);
- }
- DR(rdst); SC(val); F_____;
+#line 624 "rx-decode.opc"
+ int val = IMMex(im);
+ if (val == 1 && rdst == 0)
+ {
+ SYNTAX("nop\t; mul\t#1, r0");
+ switch (im)
+ {
+ case 2: ID(nop4); break;
+ case 3: ID(nop5); break;
+ case 0: ID(nop6); break;
+ default:
+ ID(mul);
+ SYNTAX("mul #%1, %0");
+ break;
+ }
+ }
+ else
+ {
+ ID(mul);
+ }
+ DR(rdst); SC(val); F_____;
}
break;
case 0x20:
- op_semantics_33:
+ op_semantics_34:
{
/** 0111 01im 0010 rdst and #%1, %0 */
#line 413 "rx-decode.opc"
@@ -4688,7 +4858,7 @@ rx_decode_opcode (unsigned long pc AU,
}
break;
case 0x30:
- op_semantics_34:
+ op_semantics_35:
{
/** 0111 01im 0011 rdst or #%1, %0 */
#line 431 "rx-decode.opc"
@@ -4732,7 +4902,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0d:
case 0x0e:
case 0x0f:
- goto op_semantics_31;
+ goto op_semantics_32;
break;
case 0x10:
case 0x11:
@@ -4750,7 +4920,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x1d:
case 0x1e:
case 0x1f:
- goto op_semantics_32;
+ goto op_semantics_33;
break;
case 0x20:
case 0x21:
@@ -4768,7 +4938,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x2d:
case 0x2e:
case 0x2f:
- goto op_semantics_33;
+ goto op_semantics_34;
break;
case 0x30:
case 0x31:
@@ -4786,7 +4956,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x3d:
case 0x3e:
case 0x3f:
- goto op_semantics_34;
+ goto op_semantics_35;
break;
case 0x40:
case 0x41:
@@ -4864,7 +5034,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0], op[1]);
}
SYNTAX("int #%1");
-#line 993 "rx-decode.opc"
+#line 1031 "rx-decode.opc"
ID(int); SC(IMM(1));
}
@@ -4876,7 +5046,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x00:
{
/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
-#line 960 "rx-decode.opc"
+#line 998 "rx-decode.opc"
int immm AU = op[2] & 0x0f;
if (trace)
{
@@ -4886,7 +5056,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" immm = 0x%x\n", immm);
}
SYNTAX("mvtipl #%1");
-#line 960 "rx-decode.opc"
+#line 998 "rx-decode.opc"
ID(mvtipl); SC(immm);
}
@@ -4902,16 +5072,16 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0xf0)
{
case 0x00:
- goto op_semantics_31;
+ goto op_semantics_32;
break;
case 0x10:
- goto op_semantics_32;
+ goto op_semantics_33;
break;
case 0x20:
- goto op_semantics_33;
+ goto op_semantics_34;
break;
case 0x30:
- goto op_semantics_34;
+ goto op_semantics_35;
break;
default: UNSUPPORTED(); break;
}
@@ -4921,16 +5091,16 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0xf0)
{
case 0x00:
- goto op_semantics_31;
+ goto op_semantics_32;
break;
case 0x10:
- goto op_semantics_32;
+ goto op_semantics_33;
break;
case 0x20:
- goto op_semantics_33;
+ goto op_semantics_34;
break;
case 0x30:
- goto op_semantics_34;
+ goto op_semantics_35;
break;
default: UNSUPPORTED(); break;
}
@@ -4940,14 +5110,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_35:
+ op_semantics_36:
{
/** 0111 100b ittt rdst bset #%1, %0 */
-#line 905 "rx-decode.opc"
+#line 943 "rx-decode.opc"
int b AU = op[0] & 0x01;
-#line 905 "rx-decode.opc"
+#line 943 "rx-decode.opc"
int ittt AU = (op[1] >> 4) & 0x0f;
-#line 905 "rx-decode.opc"
+#line 943 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -4959,7 +5129,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("bset #%1, %0");
-#line 905 "rx-decode.opc"
+#line 943 "rx-decode.opc"
ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
@@ -4972,7 +5142,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_35;
+ goto op_semantics_36;
break;
}
break;
@@ -4981,14 +5151,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_36:
+ op_semantics_37:
{
/** 0111 101b ittt rdst bclr #%1, %0 */
-#line 917 "rx-decode.opc"
+#line 955 "rx-decode.opc"
int b AU = op[0] & 0x01;
-#line 917 "rx-decode.opc"
+#line 955 "rx-decode.opc"
int ittt AU = (op[1] >> 4) & 0x0f;
-#line 917 "rx-decode.opc"
+#line 955 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -5000,7 +5170,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("bclr #%1, %0");
-#line 917 "rx-decode.opc"
+#line 955 "rx-decode.opc"
ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
@@ -5013,7 +5183,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_36;
+ goto op_semantics_37;
break;
}
break;
@@ -5022,14 +5192,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_37:
+ op_semantics_38:
{
/** 0111 110b ittt rdst btst #%2, %1 */
-#line 929 "rx-decode.opc"
+#line 967 "rx-decode.opc"
int b AU = op[0] & 0x01;
-#line 929 "rx-decode.opc"
+#line 967 "rx-decode.opc"
int ittt AU = (op[1] >> 4) & 0x0f;
-#line 929 "rx-decode.opc"
+#line 967 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -5041,7 +5211,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("btst #%2, %1");
-#line 929 "rx-decode.opc"
+#line 967 "rx-decode.opc"
ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
@@ -5054,7 +5224,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_37;
+ goto op_semantics_38;
break;
}
break;
@@ -5119,7 +5289,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x30:
{
/** 0111 1110 0011 rdst sat %0 */
-#line 843 "rx-decode.opc"
+#line 881 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -5129,7 +5299,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("sat %0");
-#line 843 "rx-decode.opc"
+#line 881 "rx-decode.opc"
ID(sat); DR (rdst);
}
@@ -5137,7 +5307,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x40:
{
/** 0111 1110 0100 rdst rorc %0 */
-#line 703 "rx-decode.opc"
+#line 741 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -5147,7 +5317,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("rorc %0");
-#line 703 "rx-decode.opc"
+#line 741 "rx-decode.opc"
ID(rorc); DR(rdst); F__SZC;
}
@@ -5155,7 +5325,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x50:
{
/** 0111 1110 0101 rdst rolc %0 */
-#line 700 "rx-decode.opc"
+#line 738 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -5165,7 +5335,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("rolc %0");
-#line 700 "rx-decode.opc"
+#line 738 "rx-decode.opc"
ID(rolc); DR(rdst); F__SZC;
}
@@ -5215,7 +5385,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0xd0:
{
/** 0111 1110 110 crsrc pushc %1 */
-#line 966 "rx-decode.opc"
+#line 1004 "rx-decode.opc"
int crsrc AU = op[1] & 0x1f;
if (trace)
{
@@ -5225,7 +5395,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" crsrc = 0x%x\n", crsrc);
}
SYNTAX("pushc %1");
-#line 966 "rx-decode.opc"
+#line 1004 "rx-decode.opc"
ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
}
@@ -5234,7 +5404,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0xf0:
{
/** 0111 1110 111 crdst popc %0 */
-#line 963 "rx-decode.opc"
+#line 1001 "rx-decode.opc"
int crdst AU = op[1] & 0x1f;
if (trace)
{
@@ -5244,7 +5414,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" crdst = 0x%x\n", crdst);
}
SYNTAX("popc %0");
-#line 963 "rx-decode.opc"
+#line 1001 "rx-decode.opc"
ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
}
@@ -5274,7 +5444,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0f:
{
/** 0111 1111 0000 rsrc jmp %0 */
-#line 753 "rx-decode.opc"
+#line 791 "rx-decode.opc"
int rsrc AU = op[1] & 0x0f;
if (trace)
{
@@ -5284,7 +5454,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rsrc = 0x%x\n", rsrc);
}
SYNTAX("jmp %0");
-#line 753 "rx-decode.opc"
+#line 791 "rx-decode.opc"
ID(branch); DR(rsrc);
}
@@ -5307,7 +5477,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x1f:
{
/** 0111 1111 0001 rsrc jsr %0 */
-#line 756 "rx-decode.opc"
+#line 794 "rx-decode.opc"
int rsrc AU = op[1] & 0x0f;
if (trace)
{
@@ -5317,7 +5487,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rsrc = 0x%x\n", rsrc);
}
SYNTAX("jsr %0");
-#line 756 "rx-decode.opc"
+#line 794 "rx-decode.opc"
ID(jsr); DR(rsrc);
}
@@ -5340,7 +5510,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x4f:
{
/** 0111 1111 0100 rsrc bra.l %0 */
-#line 749 "rx-decode.opc"
+#line 787 "rx-decode.opc"
int rsrc AU = op[1] & 0x0f;
if (trace)
{
@@ -5350,7 +5520,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rsrc = 0x%x\n", rsrc);
}
SYNTAX("bra.l %0");
-#line 749 "rx-decode.opc"
+#line 787 "rx-decode.opc"
ID(branchrel); DR(rsrc);
@@ -5374,7 +5544,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x5f:
{
/** 0111 1111 0101 rsrc bsr.l %0 */
-#line 765 "rx-decode.opc"
+#line 803 "rx-decode.opc"
int rsrc AU = op[1] & 0x0f;
if (trace)
{
@@ -5384,7 +5554,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rsrc = 0x%x\n", rsrc);
}
SYNTAX("bsr.l %0");
-#line 765 "rx-decode.opc"
+#line 803 "rx-decode.opc"
ID(jsrrel); DR(rsrc);
}
@@ -5394,7 +5564,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x82:
{
/** 0111 1111 1000 00sz suntil%s */
-#line 789 "rx-decode.opc"
+#line 827 "rx-decode.opc"
int sz AU = op[1] & 0x03;
if (trace)
{
@@ -5404,7 +5574,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" sz = 0x%x\n", sz);
}
SYNTAX("suntil%s");
-#line 789 "rx-decode.opc"
+#line 827 "rx-decode.opc"
ID(suntil); BWL(sz); F___ZC;
}
@@ -5419,7 +5589,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0], op[1]);
}
SYNTAX("scmpu");
-#line 780 "rx-decode.opc"
+#line 818 "rx-decode.opc"
ID(scmpu); F___ZC;
}
@@ -5429,7 +5599,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x86:
{
/** 0111 1111 1000 01sz swhile%s */
-#line 792 "rx-decode.opc"
+#line 830 "rx-decode.opc"
int sz AU = op[1] & 0x03;
if (trace)
{
@@ -5439,7 +5609,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" sz = 0x%x\n", sz);
}
SYNTAX("swhile%s");
-#line 792 "rx-decode.opc"
+#line 830 "rx-decode.opc"
ID(swhile); BWL(sz); F___ZC;
}
@@ -5454,7 +5624,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0], op[1]);
}
SYNTAX("smovu");
-#line 783 "rx-decode.opc"
+#line 821 "rx-decode.opc"
ID(smovu);
}
@@ -5464,7 +5634,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x8a:
{
/** 0111 1111 1000 10sz sstr%s */
-#line 798 "rx-decode.opc"
+#line 836 "rx-decode.opc"
int sz AU = op[1] & 0x03;
if (trace)
{
@@ -5474,7 +5644,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" sz = 0x%x\n", sz);
}
SYNTAX("sstr%s");
-#line 798 "rx-decode.opc"
+#line 836 "rx-decode.opc"
ID(sstr); BWL(sz);
/*----------------------------------------------------------------------*/
@@ -5492,7 +5662,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0], op[1]);
}
SYNTAX("smovb");
-#line 786 "rx-decode.opc"
+#line 824 "rx-decode.opc"
ID(smovb);
}
@@ -5502,7 +5672,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x8e:
{
/** 0111 1111 1000 11sz rmpa%s */
-#line 804 "rx-decode.opc"
+#line 842 "rx-decode.opc"
int sz AU = op[1] & 0x03;
if (trace)
{
@@ -5512,7 +5682,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" sz = 0x%x\n", sz);
}
SYNTAX("rmpa%s");
-#line 804 "rx-decode.opc"
+#line 842 "rx-decode.opc"
ID(rmpa); BWL(sz); F_OS__;
/*----------------------------------------------------------------------*/
@@ -5530,7 +5700,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0], op[1]);
}
SYNTAX("smovf");
-#line 795 "rx-decode.opc"
+#line 833 "rx-decode.opc"
ID(smovf);
}
@@ -5545,7 +5715,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0], op[1]);
}
SYNTAX("satr");
-#line 846 "rx-decode.opc"
+#line 884 "rx-decode.opc"
ID(satr);
/*----------------------------------------------------------------------*/
@@ -5563,7 +5733,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0], op[1]);
}
SYNTAX("rtfi");
-#line 981 "rx-decode.opc"
+#line 1019 "rx-decode.opc"
ID(rtfi);
}
@@ -5578,7 +5748,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0], op[1]);
}
SYNTAX("rte");
-#line 984 "rx-decode.opc"
+#line 1022 "rx-decode.opc"
ID(rte);
}
@@ -5593,7 +5763,7 @@ rx_decode_opcode (unsigned long pc AU,
op[0], op[1]);
}
SYNTAX("wait");
-#line 996 "rx-decode.opc"
+#line 1034 "rx-decode.opc"
ID(wait);
/*----------------------------------------------------------------------*/
@@ -5619,7 +5789,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0xaf:
{
/** 0111 1111 1010 rdst setpsw %0 */
-#line 957 "rx-decode.opc"
+#line 995 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -5629,7 +5799,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("setpsw %0");
-#line 957 "rx-decode.opc"
+#line 995 "rx-decode.opc"
ID(setpsw); DF(rdst);
}
@@ -5652,7 +5822,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0xbf:
{
/** 0111 1111 1011 rdst clrpsw %0 */
-#line 954 "rx-decode.opc"
+#line 992 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
if (trace)
{
@@ -5662,7 +5832,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("clrpsw %0");
-#line 954 "rx-decode.opc"
+#line 992 "rx-decode.opc"
ID(clrpsw); DF(rdst);
}
@@ -5675,7 +5845,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_38:
+ op_semantics_39:
{
/** 10sz 0dsp a dst b src mov%s %1, %0 */
#line 332 "rx-decode.opc"
@@ -5715,7 +5885,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5724,7 +5894,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5733,7 +5903,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5742,7 +5912,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5751,7 +5921,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5760,7 +5930,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5769,7 +5939,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5778,7 +5948,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_39:
+ op_semantics_40:
{
/** 10sz 1dsp a src b dst mov%s %1, %0 */
#line 329 "rx-decode.opc"
@@ -5818,7 +5988,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -5827,7 +5997,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -5836,7 +6006,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -5845,7 +6015,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -5854,7 +6024,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -5863,7 +6033,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -5872,7 +6042,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -5881,7 +6051,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5890,7 +6060,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5899,7 +6069,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5908,7 +6078,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5917,7 +6087,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5926,7 +6096,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5935,7 +6105,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5944,7 +6114,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -5953,7 +6123,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -5962,7 +6132,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -5971,7 +6141,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -5980,7 +6150,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -5989,7 +6159,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -5998,7 +6168,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -6007,7 +6177,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -6016,7 +6186,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -6025,7 +6195,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -6034,7 +6204,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -6043,7 +6213,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -6052,7 +6222,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -6061,7 +6231,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -6070,7 +6240,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -6079,7 +6249,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -6088,7 +6258,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_38;
+ goto op_semantics_39;
break;
}
break;
@@ -6097,7 +6267,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -6106,7 +6276,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -6115,7 +6285,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -6124,7 +6294,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -6133,7 +6303,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -6142,7 +6312,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -6151,7 +6321,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -6160,7 +6330,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_39;
+ goto op_semantics_40;
break;
}
break;
@@ -6169,7 +6339,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_40:
+ op_semantics_41:
{
/** 1011 w dsp a src b dst movu%s %1, %0 */
#line 352 "rx-decode.opc"
@@ -6209,7 +6379,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6218,7 +6388,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6227,7 +6397,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6236,7 +6406,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6245,7 +6415,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6254,7 +6424,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6263,7 +6433,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6272,7 +6442,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6281,7 +6451,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6290,7 +6460,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6299,7 +6469,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6308,7 +6478,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6317,7 +6487,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6326,7 +6496,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6335,7 +6505,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_40;
+ goto op_semantics_41;
break;
}
break;
@@ -6344,7 +6514,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_41:
+ op_semantics_42:
{
/** 11sz sd ss rsrc rdst mov%s %1, %0 */
#line 310 "rx-decode.opc"
@@ -6379,13 +6549,13 @@ rx_decode_opcode (unsigned long pc AU,
{
ID(mov); sBWL(sz); F_____;
if ((ss == 3) && (sd != 3))
- {
- SD(ss, rdst, sz); DD(sd, rsrc, sz);
- }
+ {
+ SD(ss, rdst, sz); DD(sd, rsrc, sz);
+ }
else
- {
- SD(ss, rsrc, sz); DD(sd, rdst, sz);
- }
+ {
+ SD(ss, rsrc, sz); DD(sd, rdst, sz);
+ }
}
}
@@ -6397,7 +6567,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6406,7 +6576,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6415,7 +6585,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6424,7 +6594,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6433,7 +6603,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6442,7 +6612,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6451,7 +6621,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6460,7 +6630,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6469,7 +6639,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6478,7 +6648,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6487,7 +6657,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6496,7 +6666,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6505,7 +6675,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6514,7 +6684,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6523,7 +6693,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6532,7 +6702,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6541,7 +6711,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6550,7 +6720,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6559,7 +6729,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6568,7 +6738,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6577,7 +6747,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6586,7 +6756,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6595,7 +6765,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6604,7 +6774,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6613,7 +6783,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6622,7 +6792,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6631,7 +6801,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6640,7 +6810,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6649,7 +6819,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6658,7 +6828,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6667,7 +6837,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6676,7 +6846,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6685,7 +6855,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6694,7 +6864,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6703,7 +6873,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6712,7 +6882,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6721,7 +6891,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6730,7 +6900,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6739,7 +6909,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6748,7 +6918,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6757,7 +6927,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6766,7 +6936,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6775,7 +6945,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6784,7 +6954,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6793,7 +6963,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6802,7 +6972,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6811,7 +6981,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_41;
+ goto op_semantics_42;
break;
}
break;
@@ -6820,14 +6990,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x08)
{
case 0x00:
- op_semantics_42:
+ op_semantics_43:
{
/** 1111 00sd rdst 0bit bset #%1, %0%S0 */
-#line 897 "rx-decode.opc"
+#line 935 "rx-decode.opc"
int sd AU = op[0] & 0x03;
-#line 897 "rx-decode.opc"
+#line 935 "rx-decode.opc"
int rdst AU = (op[1] >> 4) & 0x0f;
-#line 897 "rx-decode.opc"
+#line 935 "rx-decode.opc"
int bit AU = op[1] & 0x07;
if (trace)
{
@@ -6839,20 +7009,20 @@ rx_decode_opcode (unsigned long pc AU,
printf (" bit = 0x%x\n", bit);
}
SYNTAX("bset #%1, %0%S0");
-#line 897 "rx-decode.opc"
+#line 935 "rx-decode.opc"
ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
}
break;
case 0x08:
- op_semantics_43:
+ op_semantics_44:
{
/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
-#line 909 "rx-decode.opc"
+#line 947 "rx-decode.opc"
int sd AU = op[0] & 0x03;
-#line 909 "rx-decode.opc"
+#line 947 "rx-decode.opc"
int rdst AU = (op[1] >> 4) & 0x0f;
-#line 909 "rx-decode.opc"
+#line 947 "rx-decode.opc"
int bit AU = op[1] & 0x07;
if (trace)
{
@@ -6864,7 +7034,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" bit = 0x%x\n", bit);
}
SYNTAX("bclr #%1, %0%S0");
-#line 909 "rx-decode.opc"
+#line 947 "rx-decode.opc"
ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
}
@@ -6876,10 +7046,10 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x08)
{
case 0x00:
- goto op_semantics_42;
+ goto op_semantics_43;
break;
case 0x08:
- goto op_semantics_43;
+ goto op_semantics_44;
break;
}
break;
@@ -6888,10 +7058,10 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x08)
{
case 0x00:
- goto op_semantics_42;
+ goto op_semantics_43;
break;
case 0x08:
- goto op_semantics_43;
+ goto op_semantics_44;
break;
}
break;
@@ -6900,10 +7070,10 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x08)
{
case 0x00:
- goto op_semantics_42;
+ goto op_semantics_43;
break;
case 0x08:
- goto op_semantics_43;
+ goto op_semantics_44;
break;
}
break;
@@ -6913,14 +7083,14 @@ rx_decode_opcode (unsigned long pc AU,
{
case 0x00:
case 0x04:
- op_semantics_44:
+ op_semantics_45:
{
/** 1111 01sd rdst 0bit btst #%2, %1%S1 */
-#line 921 "rx-decode.opc"
+#line 959 "rx-decode.opc"
int sd AU = op[0] & 0x03;
-#line 921 "rx-decode.opc"
+#line 959 "rx-decode.opc"
int rdst AU = (op[1] >> 4) & 0x0f;
-#line 921 "rx-decode.opc"
+#line 959 "rx-decode.opc"
int bit AU = op[1] & 0x07;
if (trace)
{
@@ -6932,13 +7102,13 @@ rx_decode_opcode (unsigned long pc AU,
printf (" bit = 0x%x\n", bit);
}
SYNTAX("btst #%2, %1%S1");
-#line 921 "rx-decode.opc"
+#line 959 "rx-decode.opc"
ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
}
break;
case 0x08:
- op_semantics_45:
+ op_semantics_46:
{
/** 1111 01ss rsrc 10sz push%s %1 */
#line 377 "rx-decode.opc"
@@ -6974,10 +7144,10 @@ rx_decode_opcode (unsigned long pc AU,
{
case 0x00:
case 0x04:
- goto op_semantics_44;
+ goto op_semantics_45;
break;
case 0x08:
- goto op_semantics_45;
+ goto op_semantics_46;
break;
default: UNSUPPORTED(); break;
}
@@ -6988,10 +7158,10 @@ rx_decode_opcode (unsigned long pc AU,
{
case 0x00:
case 0x04:
- goto op_semantics_44;
+ goto op_semantics_45;
break;
case 0x08:
- goto op_semantics_45;
+ goto op_semantics_46;
break;
default: UNSUPPORTED(); break;
}
@@ -7002,10 +7172,10 @@ rx_decode_opcode (unsigned long pc AU,
{
case 0x00:
case 0x04:
- goto op_semantics_44;
+ goto op_semantics_45;
break;
case 0x08:
- goto op_semantics_45;
+ goto op_semantics_46;
break;
default: UNSUPPORTED(); break;
}
@@ -7015,7 +7185,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- op_semantics_46:
+ op_semantics_47:
{
/** 1111 10sd rdst im sz mov%s #%1, %0 */
#line 288 "rx-decode.opc"
@@ -7062,7 +7232,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_46;
+ goto op_semantics_47;
break;
}
break;
@@ -7071,7 +7241,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_46;
+ goto op_semantics_47;
break;
}
break;
@@ -7080,7 +7250,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[1] & 0x00)
{
case 0x00:
- goto op_semantics_46;
+ goto op_semantics_47;
break;
}
break;
@@ -7208,14 +7378,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_47:
+ op_semantics_48:
{
/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
-#line 573 "rx-decode.opc"
+#line 583 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 573 "rx-decode.opc"
+#line 583 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 573 "rx-decode.opc"
+#line 583 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -7227,11 +7397,11 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("max %1%S1, %0");
-#line 573 "rx-decode.opc"
+#line 583 "rx-decode.opc"
if (ss == 3 && rsrc == 0 && rdst == 0)
{
ID(nop3);
- SYNTAX ("nop\t; max\tr0, r0");
+ SYNTAX("nop\t; max\tr0, r0");
}
else
{
@@ -7247,7 +7417,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_47;
+ goto op_semantics_48;
break;
}
break;
@@ -7256,7 +7426,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_47;
+ goto op_semantics_48;
break;
}
break;
@@ -7265,7 +7435,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_47;
+ goto op_semantics_48;
break;
}
break;
@@ -7274,14 +7444,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_48:
+ op_semantics_49:
{
/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
-#line 593 "rx-decode.opc"
+#line 603 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 593 "rx-decode.opc"
+#line 603 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 593 "rx-decode.opc"
+#line 603 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -7293,7 +7463,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("min %1%S1, %0");
-#line 593 "rx-decode.opc"
+#line 603 "rx-decode.opc"
ID(min); SP(ss, rsrc); DR(rdst);
}
@@ -7305,7 +7475,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_48;
+ goto op_semantics_49;
break;
}
break;
@@ -7314,7 +7484,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_48;
+ goto op_semantics_49;
break;
}
break;
@@ -7323,7 +7493,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_48;
+ goto op_semantics_49;
break;
}
break;
@@ -7332,14 +7502,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_49:
+ op_semantics_50:
{
/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
-#line 623 "rx-decode.opc"
+#line 661 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 623 "rx-decode.opc"
+#line 661 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 623 "rx-decode.opc"
+#line 661 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -7351,7 +7521,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("emul %1%S1, %0");
-#line 623 "rx-decode.opc"
+#line 661 "rx-decode.opc"
ID(emul); SP(ss, rsrc); DR(rdst);
}
@@ -7363,7 +7533,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_49;
+ goto op_semantics_50;
break;
}
break;
@@ -7372,7 +7542,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_49;
+ goto op_semantics_50;
break;
}
break;
@@ -7381,7 +7551,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_49;
+ goto op_semantics_50;
break;
}
break;
@@ -7390,14 +7560,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_50:
+ op_semantics_51:
{
/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
-#line 635 "rx-decode.opc"
+#line 673 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 635 "rx-decode.opc"
+#line 673 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 635 "rx-decode.opc"
+#line 673 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -7409,7 +7579,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("emulu %1%S1, %0");
-#line 635 "rx-decode.opc"
+#line 673 "rx-decode.opc"
ID(emulu); SP(ss, rsrc); DR(rdst);
}
@@ -7421,7 +7591,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_50;
+ goto op_semantics_51;
break;
}
break;
@@ -7430,7 +7600,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_50;
+ goto op_semantics_51;
break;
}
break;
@@ -7439,7 +7609,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_50;
+ goto op_semantics_51;
break;
}
break;
@@ -7448,14 +7618,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_51:
+ op_semantics_52:
{
/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
-#line 647 "rx-decode.opc"
+#line 685 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 647 "rx-decode.opc"
+#line 685 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 647 "rx-decode.opc"
+#line 685 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -7467,7 +7637,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("div %1%S1, %0");
-#line 647 "rx-decode.opc"
+#line 685 "rx-decode.opc"
ID(div); SP(ss, rsrc); DR(rdst); F_O___;
}
@@ -7479,7 +7649,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_51;
+ goto op_semantics_52;
break;
}
break;
@@ -7488,7 +7658,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_51;
+ goto op_semantics_52;
break;
}
break;
@@ -7497,7 +7667,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_51;
+ goto op_semantics_52;
break;
}
break;
@@ -7506,14 +7676,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_52:
+ op_semantics_53:
{
/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
-#line 659 "rx-decode.opc"
+#line 697 "rx-decode.opc"
int ss AU = op[1] & 0x03;
-#line 659 "rx-decode.opc"
+#line 697 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 659 "rx-decode.opc"
+#line 697 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -7525,7 +7695,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("divu %1%S1, %0");
-#line 659 "rx-decode.opc"
+#line 697 "rx-decode.opc"
ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
}
@@ -7537,7 +7707,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_52;
+ goto op_semantics_53;
break;
}
break;
@@ -7546,7 +7716,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_52;
+ goto op_semantics_53;
break;
}
break;
@@ -7555,7 +7725,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_52;
+ goto op_semantics_53;
break;
}
break;
@@ -7564,7 +7734,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_53:
+ op_semantics_54:
{
/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
#line 470 "rx-decode.opc"
@@ -7595,7 +7765,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_53;
+ goto op_semantics_54;
break;
}
break;
@@ -7604,7 +7774,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_53;
+ goto op_semantics_54;
break;
}
break;
@@ -7613,7 +7783,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_53;
+ goto op_semantics_54;
break;
}
break;
@@ -7622,7 +7792,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_54:
+ op_semantics_55:
{
/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
#line 449 "rx-decode.opc"
@@ -7653,7 +7823,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_54;
+ goto op_semantics_55;
break;
}
break;
@@ -7662,7 +7832,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_54;
+ goto op_semantics_55;
break;
}
break;
@@ -7671,7 +7841,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_54;
+ goto op_semantics_55;
break;
}
break;
@@ -7710,7 +7880,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_55:
+ op_semantics_56:
{
/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
#line 383 "rx-decode.opc"
@@ -7741,7 +7911,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_55;
+ goto op_semantics_56;
break;
}
break;
@@ -7750,7 +7920,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_55;
+ goto op_semantics_56;
break;
}
break;
@@ -7759,7 +7929,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_55;
+ goto op_semantics_56;
break;
}
break;
@@ -7768,14 +7938,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_56:
+ op_semantics_57:
{
/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
-#line 888 "rx-decode.opc"
+#line 926 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 888 "rx-decode.opc"
+#line 926 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 888 "rx-decode.opc"
+#line 926 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -7787,7 +7957,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("itof %1%S1, %0");
-#line 888 "rx-decode.opc"
+#line 926 "rx-decode.opc"
ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
}
@@ -7799,7 +7969,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_56;
+ goto op_semantics_57;
break;
}
break;
@@ -7808,7 +7978,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_56;
+ goto op_semantics_57;
break;
}
break;
@@ -7817,7 +7987,119 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_56;
+ goto op_semantics_57;
+ break;
+ }
+ break;
+ case 0x4b:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ {
+ /** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */
+#line 1052 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1052 "rx-decode.opc"
+ int rdst AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */",
+ op[0], op[1], op[2]);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("stz %1, %0");
+#line 1052 "rx-decode.opc"
+ ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
+
+ }
+ break;
+ }
+ break;
+ case 0x4f:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ {
+ /** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */
+#line 1055 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1055 "rx-decode.opc"
+ int rdst AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */",
+ op[0], op[1], op[2]);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("stnz %1, %0");
+#line 1055 "rx-decode.opc"
+ ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
+
+ }
+ break;
+ }
+ break;
+ case 0x54:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_58:
+ {
+ /** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */
+#line 1112 "rx-decode.opc"
+ int sd AU = op[1] & 0x03;
+#line 1112 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1112 "rx-decode.opc"
+ int rdst AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */",
+ op[0], op[1], op[2]);
+ printf (" sd = 0x%x,", sd);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("utof %1%S1, %0");
+#line 1112 "rx-decode.opc"
+ ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_;
+
+ }
+ break;
+ }
+ break;
+ case 0x55:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_58;
+ break;
+ }
+ break;
+ case 0x56:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_58;
+ break;
+ }
+ break;
+ case 0x57:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_58;
break;
}
break;
@@ -7826,14 +8108,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_57:
+ op_semantics_59:
{
/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
-#line 900 "rx-decode.opc"
+#line 938 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 900 "rx-decode.opc"
+#line 938 "rx-decode.opc"
int rdst AU = (op[2] >> 4) & 0x0f;
-#line 900 "rx-decode.opc"
+#line 938 "rx-decode.opc"
int rsrc AU = op[2] & 0x0f;
if (trace)
{
@@ -7845,7 +8127,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rsrc = 0x%x\n", rsrc);
}
SYNTAX("bset %1, %0%S0");
-#line 900 "rx-decode.opc"
+#line 938 "rx-decode.opc"
ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
if (sd == 3) /* bset reg,reg */
BWL(LSIZE);
@@ -7859,7 +8141,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_57;
+ goto op_semantics_59;
break;
}
break;
@@ -7868,7 +8150,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_57;
+ goto op_semantics_59;
break;
}
break;
@@ -7877,7 +8159,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_57;
+ goto op_semantics_59;
break;
}
break;
@@ -7886,14 +8168,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_58:
+ op_semantics_60:
{
/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
-#line 912 "rx-decode.opc"
+#line 950 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 912 "rx-decode.opc"
+#line 950 "rx-decode.opc"
int rdst AU = (op[2] >> 4) & 0x0f;
-#line 912 "rx-decode.opc"
+#line 950 "rx-decode.opc"
int rsrc AU = op[2] & 0x0f;
if (trace)
{
@@ -7905,7 +8187,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rsrc = 0x%x\n", rsrc);
}
SYNTAX("bclr %1, %0%S0");
-#line 912 "rx-decode.opc"
+#line 950 "rx-decode.opc"
ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
if (sd == 3) /* bset reg,reg */
BWL(LSIZE);
@@ -7919,7 +8201,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_58;
+ goto op_semantics_60;
break;
}
break;
@@ -7928,7 +8210,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_58;
+ goto op_semantics_60;
break;
}
break;
@@ -7937,7 +8219,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_58;
+ goto op_semantics_60;
break;
}
break;
@@ -7946,14 +8228,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_59:
+ op_semantics_61:
{
/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
-#line 924 "rx-decode.opc"
+#line 962 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 924 "rx-decode.opc"
+#line 962 "rx-decode.opc"
int rdst AU = (op[2] >> 4) & 0x0f;
-#line 924 "rx-decode.opc"
+#line 962 "rx-decode.opc"
int rsrc AU = op[2] & 0x0f;
if (trace)
{
@@ -7965,7 +8247,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rsrc = 0x%x\n", rsrc);
}
SYNTAX("btst %2, %1%S1");
-#line 924 "rx-decode.opc"
+#line 962 "rx-decode.opc"
ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
if (sd == 3) /* bset reg,reg */
BWL(LSIZE);
@@ -7979,7 +8261,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_59;
+ goto op_semantics_61;
break;
}
break;
@@ -7988,7 +8270,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_59;
+ goto op_semantics_61;
break;
}
break;
@@ -7997,7 +8279,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_59;
+ goto op_semantics_61;
break;
}
break;
@@ -8006,14 +8288,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_60:
+ op_semantics_62:
{
/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
-#line 936 "rx-decode.opc"
+#line 974 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 936 "rx-decode.opc"
+#line 974 "rx-decode.opc"
int rdst AU = (op[2] >> 4) & 0x0f;
-#line 936 "rx-decode.opc"
+#line 974 "rx-decode.opc"
int rsrc AU = op[2] & 0x0f;
if (trace)
{
@@ -8025,7 +8307,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rsrc = 0x%x\n", rsrc);
}
SYNTAX("bnot %1, %0%S0");
-#line 936 "rx-decode.opc"
+#line 974 "rx-decode.opc"
ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
if (sd == 3) /* bset reg,reg */
BWL(LSIZE);
@@ -8039,7 +8321,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_60;
+ goto op_semantics_62;
break;
}
break;
@@ -8048,7 +8330,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_60;
+ goto op_semantics_62;
break;
}
break;
@@ -8057,7 +8339,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_60;
+ goto op_semantics_62;
break;
}
break;
@@ -8066,14 +8348,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_61:
+ op_semantics_63:
{
/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
-#line 867 "rx-decode.opc"
+#line 905 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 867 "rx-decode.opc"
+#line 905 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 867 "rx-decode.opc"
+#line 905 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -8085,7 +8367,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("fsub %1%S1, %0");
-#line 867 "rx-decode.opc"
+#line 905 "rx-decode.opc"
ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
}
@@ -8097,7 +8379,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_61;
+ goto op_semantics_63;
break;
}
break;
@@ -8106,7 +8388,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_61;
+ goto op_semantics_63;
break;
}
break;
@@ -8115,7 +8397,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_61;
+ goto op_semantics_63;
break;
}
break;
@@ -8124,14 +8406,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_62:
+ op_semantics_64:
{
/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
-#line 861 "rx-decode.opc"
+#line 899 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 861 "rx-decode.opc"
+#line 899 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 861 "rx-decode.opc"
+#line 899 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -8143,7 +8425,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("fcmp %1%S1, %0");
-#line 861 "rx-decode.opc"
+#line 899 "rx-decode.opc"
ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
}
@@ -8155,7 +8437,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_62;
+ goto op_semantics_64;
break;
}
break;
@@ -8164,7 +8446,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_62;
+ goto op_semantics_64;
break;
}
break;
@@ -8173,7 +8455,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_62;
+ goto op_semantics_64;
break;
}
break;
@@ -8182,14 +8464,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_63:
+ op_semantics_65:
{
/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
-#line 855 "rx-decode.opc"
+#line 893 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 855 "rx-decode.opc"
+#line 893 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 855 "rx-decode.opc"
+#line 893 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -8201,7 +8483,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("fadd %1%S1, %0");
-#line 855 "rx-decode.opc"
+#line 893 "rx-decode.opc"
ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
}
@@ -8213,7 +8495,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_63;
+ goto op_semantics_65;
break;
}
break;
@@ -8222,7 +8504,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_63;
+ goto op_semantics_65;
break;
}
break;
@@ -8231,7 +8513,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_63;
+ goto op_semantics_65;
break;
}
break;
@@ -8240,14 +8522,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_64:
+ op_semantics_66:
{
/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
-#line 876 "rx-decode.opc"
+#line 914 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 876 "rx-decode.opc"
+#line 914 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 876 "rx-decode.opc"
+#line 914 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -8259,7 +8541,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("fmul %1%S1, %0");
-#line 876 "rx-decode.opc"
+#line 914 "rx-decode.opc"
ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
}
@@ -8271,7 +8553,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_64;
+ goto op_semantics_66;
break;
}
break;
@@ -8280,7 +8562,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_64;
+ goto op_semantics_66;
break;
}
break;
@@ -8289,7 +8571,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_64;
+ goto op_semantics_66;
break;
}
break;
@@ -8298,14 +8580,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_65:
+ op_semantics_67:
{
/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
-#line 882 "rx-decode.opc"
+#line 920 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 882 "rx-decode.opc"
+#line 920 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 882 "rx-decode.opc"
+#line 920 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -8317,7 +8599,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("fdiv %1%S1, %0");
-#line 882 "rx-decode.opc"
+#line 920 "rx-decode.opc"
ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
}
@@ -8329,7 +8611,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_65;
+ goto op_semantics_67;
break;
}
break;
@@ -8338,7 +8620,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_65;
+ goto op_semantics_67;
break;
}
break;
@@ -8347,7 +8629,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_65;
+ goto op_semantics_67;
break;
}
break;
@@ -8356,14 +8638,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_66:
+ op_semantics_68:
{
/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
-#line 870 "rx-decode.opc"
+#line 908 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 870 "rx-decode.opc"
+#line 908 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 870 "rx-decode.opc"
+#line 908 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -8375,7 +8657,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("ftoi %1%S1, %0");
-#line 870 "rx-decode.opc"
+#line 908 "rx-decode.opc"
ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
}
@@ -8387,7 +8669,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_66;
+ goto op_semantics_68;
break;
}
break;
@@ -8396,7 +8678,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_66;
+ goto op_semantics_68;
break;
}
break;
@@ -8405,7 +8687,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_66;
+ goto op_semantics_68;
break;
}
break;
@@ -8414,14 +8696,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_67:
+ op_semantics_69:
{
/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
-#line 885 "rx-decode.opc"
+#line 923 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 885 "rx-decode.opc"
+#line 923 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 885 "rx-decode.opc"
+#line 923 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -8433,7 +8715,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("round %1%S1, %0");
-#line 885 "rx-decode.opc"
+#line 923 "rx-decode.opc"
ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
}
@@ -8445,7 +8727,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_67;
+ goto op_semantics_69;
break;
}
break;
@@ -8454,7 +8736,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_67;
+ goto op_semantics_69;
break;
}
break;
@@ -8463,7 +8745,123 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_67;
+ goto op_semantics_69;
+ break;
+ }
+ break;
+ case 0xa0:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_70:
+ {
+ /** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */
+#line 1106 "rx-decode.opc"
+ int sd AU = op[1] & 0x03;
+#line 1106 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1106 "rx-decode.opc"
+ int rdst AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */",
+ op[0], op[1], op[2]);
+ printf (" sd = 0x%x,", sd);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("fsqrt %1%S1, %0");
+#line 1106 "rx-decode.opc"
+ ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
+
+ }
+ break;
+ }
+ break;
+ case 0xa1:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_70;
+ break;
+ }
+ break;
+ case 0xa2:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_70;
+ break;
+ }
+ break;
+ case 0xa3:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_70;
+ break;
+ }
+ break;
+ case 0xa4:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_71:
+ {
+ /** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */
+#line 1109 "rx-decode.opc"
+ int sd AU = op[1] & 0x03;
+#line 1109 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1109 "rx-decode.opc"
+ int rdst AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */",
+ op[0], op[1], op[2]);
+ printf (" sd = 0x%x,", sd);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("ftou %1%S1, %0");
+#line 1109 "rx-decode.opc"
+ ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
+
+ }
+ break;
+ }
+ break;
+ case 0xa5:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_71;
+ break;
+ }
+ break;
+ case 0xa6:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_71;
+ break;
+ }
+ break;
+ case 0xa7:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_71;
break;
}
break;
@@ -8472,16 +8870,16 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_68:
+ op_semantics_72:
{
/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
-#line 1002 "rx-decode.opc"
+#line 1040 "rx-decode.opc"
int sz AU = (op[1] >> 2) & 0x03;
-#line 1002 "rx-decode.opc"
+#line 1040 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 1002 "rx-decode.opc"
+#line 1040 "rx-decode.opc"
int rdst AU = (op[2] >> 4) & 0x0f;
-#line 1002 "rx-decode.opc"
+#line 1040 "rx-decode.opc"
int cond AU = op[2] & 0x0f;
if (trace)
{
@@ -8494,9 +8892,12 @@ rx_decode_opcode (unsigned long pc AU,
printf (" cond = 0x%x\n", cond);
}
SYNTAX("sc%1%s %0");
-#line 1002 "rx-decode.opc"
+#line 1040 "rx-decode.opc"
ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
+ /*----------------------------------------------------------------------*/
+ /* RXv2 enhanced */
+
}
break;
}
@@ -8506,7 +8907,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_68;
+ goto op_semantics_72;
break;
}
break;
@@ -8515,7 +8916,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_68;
+ goto op_semantics_72;
break;
}
break;
@@ -8524,7 +8925,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_68;
+ goto op_semantics_72;
break;
}
break;
@@ -8533,7 +8934,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_68;
+ goto op_semantics_72;
break;
}
break;
@@ -8542,7 +8943,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_68;
+ goto op_semantics_72;
break;
}
break;
@@ -8551,7 +8952,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_68;
+ goto op_semantics_72;
break;
}
break;
@@ -8560,7 +8961,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_68;
+ goto op_semantics_72;
break;
}
break;
@@ -8569,7 +8970,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_68;
+ goto op_semantics_72;
break;
}
break;
@@ -8578,7 +8979,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_68;
+ goto op_semantics_72;
break;
}
break;
@@ -8587,7 +8988,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_68;
+ goto op_semantics_72;
break;
}
break;
@@ -8596,7 +8997,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_68;
+ goto op_semantics_72;
break;
}
break;
@@ -8619,16 +9020,16 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- op_semantics_69:
+ op_semantics_73:
{
/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
-#line 945 "rx-decode.opc"
+#line 983 "rx-decode.opc"
int bit AU = (op[1] >> 2) & 0x07;
-#line 945 "rx-decode.opc"
+#line 983 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 945 "rx-decode.opc"
+#line 983 "rx-decode.opc"
int rdst AU = (op[2] >> 4) & 0x0f;
-#line 945 "rx-decode.opc"
+#line 983 "rx-decode.opc"
int cond AU = op[2] & 0x0f;
if (trace)
{
@@ -8641,20 +9042,20 @@ rx_decode_opcode (unsigned long pc AU,
printf (" cond = 0x%x\n", cond);
}
SYNTAX("bm%2 #%1, %0%S0");
-#line 945 "rx-decode.opc"
+#line 983 "rx-decode.opc"
ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
}
break;
case 0x0f:
- op_semantics_70:
+ op_semantics_74:
{
/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
-#line 933 "rx-decode.opc"
+#line 971 "rx-decode.opc"
int bit AU = (op[1] >> 2) & 0x07;
-#line 933 "rx-decode.opc"
+#line 971 "rx-decode.opc"
int sd AU = op[1] & 0x03;
-#line 933 "rx-decode.opc"
+#line 971 "rx-decode.opc"
int rdst AU = (op[2] >> 4) & 0x0f;
if (trace)
{
@@ -8666,7 +9067,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("bnot #%1, %0%S0");
-#line 933 "rx-decode.opc"
+#line 971 "rx-decode.opc"
ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
}
@@ -8692,10 +9093,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -8718,10 +9119,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -8744,10 +9145,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -8770,10 +9171,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -8796,10 +9197,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -8822,10 +9223,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -8848,10 +9249,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -8874,10 +9275,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -8900,10 +9301,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -8926,10 +9327,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -8952,10 +9353,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -8978,10 +9379,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9004,10 +9405,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9030,10 +9431,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9056,10 +9457,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9082,10 +9483,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9108,10 +9509,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9134,10 +9535,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9160,10 +9561,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9186,10 +9587,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9212,10 +9613,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9238,10 +9639,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9264,10 +9665,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9290,10 +9691,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9316,10 +9717,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9342,10 +9743,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9368,10 +9769,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9394,10 +9795,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9420,10 +9821,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9446,10 +9847,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9472,10 +9873,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0x0c:
case 0x0d:
case 0x0e:
- goto op_semantics_69;
+ goto op_semantics_73;
break;
case 0x0f:
- goto op_semantics_70;
+ goto op_semantics_74;
break;
}
break;
@@ -9491,23 +9892,27 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
+ op_semantics_75:
{
- /** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */
-#line 810 "rx-decode.opc"
+ /** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */
+#line 848 "rx-decode.opc"
+ int a AU = (op[1] >> 3) & 0x01;
+#line 848 "rx-decode.opc"
int srca AU = (op[2] >> 4) & 0x0f;
-#line 810 "rx-decode.opc"
+#line 848 "rx-decode.opc"
int srcb AU = op[2] & 0x0f;
if (trace)
{
printf ("\033[33m%s\033[0m %02x %02x %02x\n",
- "/** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */",
+ "/** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */",
op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
printf (" srca = 0x%x,", srca);
printf (" srcb = 0x%x\n", srcb);
}
- SYNTAX("mulhi %1, %2");
-#line 810 "rx-decode.opc"
- ID(mulhi); SR(srca); S2R(srcb); F_____;
+ SYNTAX("mulhi %1, %2, %0");
+#line 848 "rx-decode.opc"
+ ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____;
}
break;
@@ -9518,23 +9923,89 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
+ op_semantics_76:
+ {
+ /** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */
+#line 851 "rx-decode.opc"
+ int a AU = (op[1] >> 3) & 0x01;
+#line 851 "rx-decode.opc"
+ int srca AU = (op[2] >> 4) & 0x0f;
+#line 851 "rx-decode.opc"
+ int srcb AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */",
+ op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
+ printf (" srca = 0x%x,", srca);
+ printf (" srcb = 0x%x\n", srcb);
+ }
+ SYNTAX("mullo %1, %2, %0");
+#line 851 "rx-decode.opc"
+ ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x02:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_77:
+ {
+ /** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */
+#line 1079 "rx-decode.opc"
+ int a AU = (op[1] >> 3) & 0x01;
+#line 1079 "rx-decode.opc"
+ int srca AU = (op[2] >> 4) & 0x0f;
+#line 1079 "rx-decode.opc"
+ int srcb AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */",
+ op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
+ printf (" srca = 0x%x,", srca);
+ printf (" srcb = 0x%x\n", srcb);
+ }
+ SYNTAX("mullh %1, %2, %0");
+#line 1079 "rx-decode.opc"
+ ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x03:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_78:
{
- /** 1111 1101 0000 0001 srca srcb mullo %1, %2 */
-#line 813 "rx-decode.opc"
+ /** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */
+#line 1064 "rx-decode.opc"
+ int a AU = (op[1] >> 3) & 0x01;
+#line 1064 "rx-decode.opc"
int srca AU = (op[2] >> 4) & 0x0f;
-#line 813 "rx-decode.opc"
+#line 1064 "rx-decode.opc"
int srcb AU = op[2] & 0x0f;
if (trace)
{
printf ("\033[33m%s\033[0m %02x %02x %02x\n",
- "/** 1111 1101 0000 0001 srca srcb mullo %1, %2 */",
+ "/** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */",
op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
printf (" srca = 0x%x,", srca);
printf (" srcb = 0x%x\n", srcb);
}
- SYNTAX("mullo %1, %2");
-#line 813 "rx-decode.opc"
- ID(mullo); SR(srca); S2R(srcb); F_____;
+ SYNTAX("emula %1, %2, %0");
+#line 1064 "rx-decode.opc"
+ ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____;
}
break;
@@ -9545,23 +10016,27 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
+ op_semantics_79:
{
- /** 1111 1101 0000 0100 srca srcb machi %1, %2 */
-#line 816 "rx-decode.opc"
+ /** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */
+#line 854 "rx-decode.opc"
+ int a AU = (op[1] >> 3) & 0x01;
+#line 854 "rx-decode.opc"
int srca AU = (op[2] >> 4) & 0x0f;
-#line 816 "rx-decode.opc"
+#line 854 "rx-decode.opc"
int srcb AU = op[2] & 0x0f;
if (trace)
{
printf ("\033[33m%s\033[0m %02x %02x %02x\n",
- "/** 1111 1101 0000 0100 srca srcb machi %1, %2 */",
+ "/** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */",
op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
printf (" srca = 0x%x,", srca);
printf (" srcb = 0x%x\n", srcb);
}
- SYNTAX("machi %1, %2");
-#line 816 "rx-decode.opc"
- ID(machi); SR(srca); S2R(srcb); F_____;
+ SYNTAX("machi %1, %2, %0");
+#line 854 "rx-decode.opc"
+ ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____;
}
break;
@@ -9572,65 +10047,230 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
+ op_semantics_80:
+ {
+ /** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */
+#line 857 "rx-decode.opc"
+ int a AU = (op[1] >> 3) & 0x01;
+#line 857 "rx-decode.opc"
+ int srca AU = (op[2] >> 4) & 0x0f;
+#line 857 "rx-decode.opc"
+ int srcb AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */",
+ op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
+ printf (" srca = 0x%x,", srca);
+ printf (" srcb = 0x%x\n", srcb);
+ }
+ SYNTAX("maclo %1, %2, %0");
+#line 857 "rx-decode.opc"
+ ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x06:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_81:
{
- /** 1111 1101 0000 0101 srca srcb maclo %1, %2 */
-#line 819 "rx-decode.opc"
+ /** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */
+#line 1067 "rx-decode.opc"
+ int a AU = (op[1] >> 3) & 0x01;
+#line 1067 "rx-decode.opc"
int srca AU = (op[2] >> 4) & 0x0f;
-#line 819 "rx-decode.opc"
+#line 1067 "rx-decode.opc"
int srcb AU = op[2] & 0x0f;
if (trace)
{
printf ("\033[33m%s\033[0m %02x %02x %02x\n",
- "/** 1111 1101 0000 0101 srca srcb maclo %1, %2 */",
+ "/** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */",
op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
printf (" srca = 0x%x,", srca);
printf (" srcb = 0x%x\n", srcb);
}
- SYNTAX("maclo %1, %2");
-#line 819 "rx-decode.opc"
- ID(maclo); SR(srca); S2R(srcb); F_____;
+ SYNTAX("maclh %1, %2, %0");
+#line 1067 "rx-decode.opc"
+ ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____;
}
break;
}
break;
+ case 0x07:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_82:
+ {
+ /** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */
+#line 1058 "rx-decode.opc"
+ int a AU = (op[1] >> 3) & 0x01;
+#line 1058 "rx-decode.opc"
+ int srca AU = (op[2] >> 4) & 0x0f;
+#line 1058 "rx-decode.opc"
+ int srcb AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */",
+ op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
+ printf (" srca = 0x%x,", srca);
+ printf (" srcb = 0x%x\n", srcb);
+ }
+ SYNTAX("emaca %1, %2, %0");
+#line 1058 "rx-decode.opc"
+ ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x08:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_75;
+ break;
+ }
+ break;
+ case 0x09:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_76;
+ break;
+ }
+ break;
+ case 0x0a:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_77;
+ break;
+ }
+ break;
+ case 0x0b:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_78;
+ break;
+ }
+ break;
+ case 0x0c:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_79;
+ break;
+ }
+ break;
+ case 0x0d:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_80;
+ break;
+ }
+ break;
+ case 0x0e:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_81;
+ break;
+ }
+ break;
+ case 0x0f:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_82;
+ break;
+ }
+ break;
case 0x17:
GETBYTE ();
- switch (op[2] & 0xf0)
+ switch (op[2] & 0x70)
{
case 0x00:
{
- /** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */
-#line 822 "rx-decode.opc"
+ /** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */
+#line 860 "rx-decode.opc"
+ int a AU = (op[2] >> 7) & 0x01;
+#line 860 "rx-decode.opc"
int rsrc AU = op[2] & 0x0f;
if (trace)
{
printf ("\033[33m%s\033[0m %02x %02x %02x\n",
- "/** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */",
+ "/** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */",
op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
printf (" rsrc = 0x%x\n", rsrc);
}
- SYNTAX("mvtachi %1");
-#line 822 "rx-decode.opc"
- ID(mvtachi); SR(rsrc); F_____;
+ SYNTAX("mvtachi %1, %0");
+#line 860 "rx-decode.opc"
+ ID(mvtachi); DR(a+32); SR(rsrc); F_____;
}
break;
case 0x10:
{
- /** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */
-#line 825 "rx-decode.opc"
+ /** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */
+#line 863 "rx-decode.opc"
+ int a AU = (op[2] >> 7) & 0x01;
+#line 863 "rx-decode.opc"
int rsrc AU = op[2] & 0x0f;
if (trace)
{
printf ("\033[33m%s\033[0m %02x %02x %02x\n",
- "/** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */",
+ "/** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */",
op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
printf (" rsrc = 0x%x\n", rsrc);
}
- SYNTAX("mvtaclo %1");
-#line 825 "rx-decode.opc"
- ID(mvtaclo); SR(rsrc); F_____;
+ SYNTAX("mvtaclo %1, %0");
+#line 863 "rx-decode.opc"
+ ID(mvtaclo); DR(a+32); SR(rsrc); F_____;
+
+ }
+ break;
+ case 0x30:
+ {
+ /** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */
+#line 1085 "rx-decode.opc"
+ int a AU = (op[2] >> 7) & 0x01;
+#line 1085 "rx-decode.opc"
+ int rdst AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */",
+ op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("mvtacgu %0, %1");
+#line 1085 "rx-decode.opc"
+ ID(mvtacgu); SR(a+32); DR(rdst); F_____;
}
break;
@@ -9639,91 +10279,239 @@ rx_decode_opcode (unsigned long pc AU,
break;
case 0x18:
GETBYTE ();
- switch (op[2] & 0xef)
+ switch (op[2] & 0x6f)
{
case 0x00:
{
- /** 1111 1101 0001 1000 000i 0000 racw #%1 */
-#line 837 "rx-decode.opc"
+ /** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */
+#line 875 "rx-decode.opc"
+ int a AU = (op[2] >> 7) & 0x01;
+#line 875 "rx-decode.opc"
int i AU = (op[2] >> 4) & 0x01;
if (trace)
{
printf ("\033[33m%s\033[0m %02x %02x %02x\n",
- "/** 1111 1101 0001 1000 000i 0000 racw #%1 */",
+ "/** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */",
op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
printf (" i = 0x%x\n", i);
}
- SYNTAX("racw #%1");
-#line 837 "rx-decode.opc"
- ID(racw); SC(i+1); F_____;
+ SYNTAX("racw #%1, %0");
+#line 875 "rx-decode.opc"
+ ID(racw); SC(i+1); DR(a+32); F_____;
/*----------------------------------------------------------------------*/
/* SAT */
}
break;
+ case 0x40:
+ {
+ /** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */
+#line 1094 "rx-decode.opc"
+ int a AU = (op[2] >> 7) & 0x01;
+#line 1094 "rx-decode.opc"
+ int i AU = (op[2] >> 4) & 0x01;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */",
+ op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
+ printf (" i = 0x%x\n", i);
+ }
+ SYNTAX("rdacw #%1, %0");
+#line 1094 "rx-decode.opc"
+ ID(rdacw); SC(i+1); DR(a+32); F_____;
+
+ }
+ break;
default: UNSUPPORTED(); break;
}
break;
- case 0x1f:
+ case 0x19:
GETBYTE ();
- switch (op[2] & 0xf0)
+ switch (op[2] & 0x6f)
{
case 0x00:
{
- /** 1111 1101 0001 1111 0000 rdst mvfachi %0 */
-#line 828 "rx-decode.opc"
+ /** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */
+#line 1088 "rx-decode.opc"
+ int a AU = (op[2] >> 7) & 0x01;
+#line 1088 "rx-decode.opc"
+ int i AU = (op[2] >> 4) & 0x01;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */",
+ op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
+ printf (" i = 0x%x\n", i);
+ }
+ SYNTAX("racl #%1, %0");
+#line 1088 "rx-decode.opc"
+ ID(racl); SC(i+1); DR(a+32); F_____;
+
+ }
+ break;
+ case 0x40:
+ {
+ /** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */
+#line 1091 "rx-decode.opc"
+ int a AU = (op[2] >> 7) & 0x01;
+#line 1091 "rx-decode.opc"
+ int i AU = (op[2] >> 4) & 0x01;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */",
+ op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
+ printf (" i = 0x%x\n", i);
+ }
+ SYNTAX("rdacl #%1, %0");
+#line 1091 "rx-decode.opc"
+ ID(rdacl); SC(i+1); DR(a+32); F_____;
+
+ }
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x1e:
+ GETBYTE ();
+ switch (op[2] & 0x30)
+ {
+ case 0x00:
+ op_semantics_83:
+ {
+ /** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */
+#line 866 "rx-decode.opc"
+ int i AU = op[1] & 0x01;
+#line 866 "rx-decode.opc"
+ int a AU = (op[2] >> 7) & 0x01;
+#line 866 "rx-decode.opc"
+ int m AU = (op[2] >> 6) & 0x01;
+#line 866 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
printf ("\033[33m%s\033[0m %02x %02x %02x\n",
- "/** 1111 1101 0001 1111 0000 rdst mvfachi %0 */",
+ "/** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */",
op[0], op[1], op[2]);
+ printf (" i = 0x%x,", i);
+ printf (" a = 0x%x,", a);
+ printf (" m = 0x%x,", m);
printf (" rdst = 0x%x\n", rdst);
}
- SYNTAX("mvfachi %0");
-#line 828 "rx-decode.opc"
- ID(mvfachi); DR(rdst); F_____;
+ SYNTAX("mvfachi #%2, %1, %0");
+#line 866 "rx-decode.opc"
+ ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
}
break;
case 0x10:
+ op_semantics_84:
{
- /** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */
-#line 834 "rx-decode.opc"
+ /** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */
+#line 872 "rx-decode.opc"
+ int i AU = op[1] & 0x01;
+#line 872 "rx-decode.opc"
+ int a AU = (op[2] >> 7) & 0x01;
+#line 872 "rx-decode.opc"
+ int m AU = (op[2] >> 6) & 0x01;
+#line 872 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
printf ("\033[33m%s\033[0m %02x %02x %02x\n",
- "/** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */",
+ "/** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */",
op[0], op[1], op[2]);
+ printf (" i = 0x%x,", i);
+ printf (" a = 0x%x,", a);
+ printf (" m = 0x%x,", m);
printf (" rdst = 0x%x\n", rdst);
}
- SYNTAX("mvfaclo %0");
-#line 834 "rx-decode.opc"
- ID(mvfaclo); DR(rdst); F_____;
+ SYNTAX("mvfaclo #%2, %1, %0");
+#line 872 "rx-decode.opc"
+ ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
}
break;
case 0x20:
+ op_semantics_85:
{
- /** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */
-#line 831 "rx-decode.opc"
+ /** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */
+#line 869 "rx-decode.opc"
+ int i AU = op[1] & 0x01;
+#line 869 "rx-decode.opc"
+ int a AU = (op[2] >> 7) & 0x01;
+#line 869 "rx-decode.opc"
+ int m AU = (op[2] >> 6) & 0x01;
+#line 869 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
printf ("\033[33m%s\033[0m %02x %02x %02x\n",
- "/** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */",
+ "/** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */",
op[0], op[1], op[2]);
+ printf (" i = 0x%x,", i);
+ printf (" a = 0x%x,", a);
+ printf (" m = 0x%x,", m);
printf (" rdst = 0x%x\n", rdst);
}
- SYNTAX("mvfacmi %0");
-#line 831 "rx-decode.opc"
- ID(mvfacmi); DR(rdst); F_____;
+ SYNTAX("mvfacmi #%2, %1, %0");
+#line 869 "rx-decode.opc"
+ ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
}
break;
- default: UNSUPPORTED(); break;
+ case 0x30:
+ op_semantics_86:
+ {
+ /** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */
+#line 1082 "rx-decode.opc"
+ int i AU = op[1] & 0x01;
+#line 1082 "rx-decode.opc"
+ int a AU = (op[2] >> 7) & 0x01;
+#line 1082 "rx-decode.opc"
+ int m AU = (op[2] >> 6) & 0x01;
+#line 1082 "rx-decode.opc"
+ int rdst AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */",
+ op[0], op[1], op[2]);
+ printf (" i = 0x%x,", i);
+ printf (" a = 0x%x,", a);
+ printf (" m = 0x%x,", m);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("mvfacgu #%2, %1, %0");
+#line 1082 "rx-decode.opc"
+ ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x1f:
+ GETBYTE ();
+ switch (op[2] & 0x30)
+ {
+ case 0x00:
+ goto op_semantics_83;
+ break;
+ case 0x10:
+ goto op_semantics_84;
+ break;
+ case 0x20:
+ goto op_semantics_85;
+ break;
+ case 0x30:
+ goto op_semantics_86;
+ break;
}
break;
case 0x20:
@@ -9731,7 +10519,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_71:
+ op_semantics_87:
{
/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
#line 344 "rx-decode.opc"
@@ -9766,7 +10554,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_71;
+ goto op_semantics_87;
break;
}
break;
@@ -9775,7 +10563,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_71;
+ goto op_semantics_87;
break;
}
break;
@@ -9784,7 +10572,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_71;
+ goto op_semantics_87;
break;
}
break;
@@ -9793,7 +10581,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_71;
+ goto op_semantics_87;
break;
}
break;
@@ -9802,7 +10590,34 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_71;
+ goto op_semantics_87;
+ break;
+ }
+ break;
+ case 0x27:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ {
+ /** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */
+#line 1046 "rx-decode.opc"
+ int rdst AU = (op[2] >> 4) & 0x0f;
+#line 1046 "rx-decode.opc"
+ int rsrc AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */",
+ op[0], op[1], op[2]);
+ printf (" rdst = 0x%x,", rdst);
+ printf (" rsrc = 0x%x\n", rsrc);
+ }
+ SYNTAX("movco %1, [%0]");
+#line 1046 "rx-decode.opc"
+ ID(mov); SR(rsrc); DR(rdst); F_____;
+
+ }
break;
}
break;
@@ -9811,7 +10626,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_72:
+ op_semantics_88:
{
/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
#line 348 "rx-decode.opc"
@@ -9846,7 +10661,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_72;
+ goto op_semantics_88;
break;
}
break;
@@ -9855,7 +10670,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_72;
+ goto op_semantics_88;
break;
}
break;
@@ -9864,7 +10679,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_72;
+ goto op_semantics_88;
break;
}
break;
@@ -9873,7 +10688,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_72;
+ goto op_semantics_88;
break;
}
break;
@@ -9882,7 +10697,34 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_72;
+ goto op_semantics_88;
+ break;
+ }
+ break;
+ case 0x2f:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ {
+ /** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */
+#line 1049 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1049 "rx-decode.opc"
+ int rdst AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */",
+ op[0], op[1], op[2]);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("movli [%1], %0");
+#line 1049 "rx-decode.opc"
+ ID(mov); SR(rsrc); DR(rdst); F_____;
+
+ }
break;
}
break;
@@ -9891,7 +10733,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_73:
+ op_semantics_89:
{
/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
#line 358 "rx-decode.opc"
@@ -9929,7 +10771,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_73;
+ goto op_semantics_89;
break;
}
break;
@@ -9938,7 +10780,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_73;
+ goto op_semantics_89;
break;
}
break;
@@ -9947,7 +10789,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_73;
+ goto op_semantics_89;
break;
}
break;
@@ -9956,7 +10798,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_73;
+ goto op_semantics_89;
break;
}
break;
@@ -9965,7 +10807,167 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_73;
+ goto op_semantics_89;
+ break;
+ }
+ break;
+ case 0x44:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_90:
+ {
+ /** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */
+#line 1070 "rx-decode.opc"
+ int a AU = (op[1] >> 3) & 0x01;
+#line 1070 "rx-decode.opc"
+ int srca AU = (op[2] >> 4) & 0x0f;
+#line 1070 "rx-decode.opc"
+ int srcb AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */",
+ op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
+ printf (" srca = 0x%x,", srca);
+ printf (" srcb = 0x%x\n", srcb);
+ }
+ SYNTAX("msbhi %1, %2, %0");
+#line 1070 "rx-decode.opc"
+ ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x45:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_91:
+ {
+ /** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */
+#line 1076 "rx-decode.opc"
+ int a AU = (op[1] >> 3) & 0x01;
+#line 1076 "rx-decode.opc"
+ int srca AU = (op[2] >> 4) & 0x0f;
+#line 1076 "rx-decode.opc"
+ int srcb AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */",
+ op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
+ printf (" srca = 0x%x,", srca);
+ printf (" srcb = 0x%x\n", srcb);
+ }
+ SYNTAX("msblo %1, %2, %0");
+#line 1076 "rx-decode.opc"
+ ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x46:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_92:
+ {
+ /** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */
+#line 1073 "rx-decode.opc"
+ int a AU = (op[1] >> 3) & 0x01;
+#line 1073 "rx-decode.opc"
+ int srca AU = (op[2] >> 4) & 0x0f;
+#line 1073 "rx-decode.opc"
+ int srcb AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */",
+ op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
+ printf (" srca = 0x%x,", srca);
+ printf (" srcb = 0x%x\n", srcb);
+ }
+ SYNTAX("msblh %1, %2, %0");
+#line 1073 "rx-decode.opc"
+ ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x47:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_93:
+ {
+ /** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */
+#line 1061 "rx-decode.opc"
+ int a AU = (op[1] >> 3) & 0x01;
+#line 1061 "rx-decode.opc"
+ int srca AU = (op[2] >> 4) & 0x0f;
+#line 1061 "rx-decode.opc"
+ int srcb AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */",
+ op[0], op[1], op[2]);
+ printf (" a = 0x%x,", a);
+ printf (" srca = 0x%x,", srca);
+ printf (" srcb = 0x%x\n", srcb);
+ }
+ SYNTAX("emsba %1, %2, %0");
+#line 1061 "rx-decode.opc"
+ ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x4c:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_90;
+ break;
+ }
+ break;
+ case 0x4d:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_91;
+ break;
+ }
+ break;
+ case 0x4e:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_92;
+ break;
+ }
+ break;
+ case 0x4f:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_93;
break;
}
break;
@@ -9976,9 +10978,9 @@ rx_decode_opcode (unsigned long pc AU,
case 0x00:
{
/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
-#line 691 "rx-decode.opc"
+#line 729 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 691 "rx-decode.opc"
+#line 729 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -9989,7 +10991,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("shlr %2, %0");
-#line 691 "rx-decode.opc"
+#line 729 "rx-decode.opc"
ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
}
@@ -10003,9 +11005,9 @@ rx_decode_opcode (unsigned long pc AU,
case 0x00:
{
/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
-#line 681 "rx-decode.opc"
+#line 719 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 681 "rx-decode.opc"
+#line 719 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10016,7 +11018,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("shar %2, %0");
-#line 681 "rx-decode.opc"
+#line 719 "rx-decode.opc"
ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
}
@@ -10030,9 +11032,9 @@ rx_decode_opcode (unsigned long pc AU,
case 0x00:
{
/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
-#line 671 "rx-decode.opc"
+#line 709 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 671 "rx-decode.opc"
+#line 709 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10043,7 +11045,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("shll %2, %0");
-#line 671 "rx-decode.opc"
+#line 709 "rx-decode.opc"
ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
}
@@ -10057,9 +11059,9 @@ rx_decode_opcode (unsigned long pc AU,
case 0x00:
{
/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
-#line 715 "rx-decode.opc"
+#line 753 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 715 "rx-decode.opc"
+#line 753 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10070,7 +11072,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("rotr %1, %0");
-#line 715 "rx-decode.opc"
+#line 753 "rx-decode.opc"
ID(rotr); SR(rsrc); DR(rdst); F__SZC;
}
@@ -10084,9 +11086,9 @@ rx_decode_opcode (unsigned long pc AU,
case 0x00:
{
/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
-#line 718 "rx-decode.opc"
+#line 756 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 718 "rx-decode.opc"
+#line 756 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10097,7 +11099,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("revw %1, %0");
-#line 718 "rx-decode.opc"
+#line 756 "rx-decode.opc"
ID(revw); SR(rsrc); DR(rdst);
}
@@ -10111,9 +11113,9 @@ rx_decode_opcode (unsigned long pc AU,
case 0x00:
{
/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
-#line 709 "rx-decode.opc"
+#line 747 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 709 "rx-decode.opc"
+#line 747 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10124,7 +11126,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("rotl %1, %0");
-#line 709 "rx-decode.opc"
+#line 747 "rx-decode.opc"
ID(rotl); SR(rsrc); DR(rdst); F__SZC;
}
@@ -10138,9 +11140,9 @@ rx_decode_opcode (unsigned long pc AU,
case 0x00:
{
/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
-#line 721 "rx-decode.opc"
+#line 759 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 721 "rx-decode.opc"
+#line 759 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10151,7 +11153,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("revl %1, %0");
-#line 721 "rx-decode.opc"
+#line 759 "rx-decode.opc"
ID(revl); SR(rsrc); DR(rdst);
/*----------------------------------------------------------------------*/
@@ -10166,14 +11168,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_74:
+ op_semantics_94:
{
/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
-#line 972 "rx-decode.opc"
+#line 1010 "rx-decode.opc"
int c AU = op[1] & 0x01;
-#line 972 "rx-decode.opc"
+#line 1010 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 972 "rx-decode.opc"
+#line 1010 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10185,7 +11187,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("mvtc %1, %0");
-#line 972 "rx-decode.opc"
+#line 1010 "rx-decode.opc"
ID(mov); SR(rsrc); DR(c*16+rdst + 16);
}
@@ -10197,7 +11199,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_74;
+ goto op_semantics_94;
break;
}
break;
@@ -10206,14 +11208,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_75:
+ op_semantics_95:
{
/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
-#line 975 "rx-decode.opc"
+#line 1013 "rx-decode.opc"
int s AU = op[1] & 0x01;
-#line 975 "rx-decode.opc"
+#line 1013 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 975 "rx-decode.opc"
+#line 1013 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10225,7 +11227,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("mvfc %1, %0");
-#line 975 "rx-decode.opc"
+#line 1013 "rx-decode.opc"
ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
/*----------------------------------------------------------------------*/
@@ -10240,7 +11242,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_75;
+ goto op_semantics_95;
break;
}
break;
@@ -10249,14 +11251,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_76:
+ op_semantics_96:
{
/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
-#line 712 "rx-decode.opc"
+#line 750 "rx-decode.opc"
int i AU = op[1] & 0x01;
-#line 712 "rx-decode.opc"
+#line 750 "rx-decode.opc"
int mmmm AU = (op[2] >> 4) & 0x0f;
-#line 712 "rx-decode.opc"
+#line 750 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10268,7 +11270,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("rotr #%1, %0");
-#line 712 "rx-decode.opc"
+#line 750 "rx-decode.opc"
ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
}
@@ -10280,7 +11282,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_76;
+ goto op_semantics_96;
break;
}
break;
@@ -10289,14 +11291,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_77:
+ op_semantics_97:
{
/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
-#line 706 "rx-decode.opc"
+#line 744 "rx-decode.opc"
int i AU = op[1] & 0x01;
-#line 706 "rx-decode.opc"
+#line 744 "rx-decode.opc"
int mmmm AU = (op[2] >> 4) & 0x0f;
-#line 706 "rx-decode.opc"
+#line 744 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10308,7 +11310,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("rotl #%1, %0");
-#line 706 "rx-decode.opc"
+#line 744 "rx-decode.opc"
ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
}
@@ -10320,7 +11322,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_77;
+ goto op_semantics_97;
break;
}
break;
@@ -10329,7 +11331,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0xf0)
{
case 0x20:
- op_semantics_78:
+ op_semantics_98:
{
/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
#line 488 "rx-decode.opc"
@@ -10351,14 +11353,13 @@ rx_decode_opcode (unsigned long pc AU,
}
break;
case 0x40:
- op_semantics_79:
+ op_semantics_99:
{
/** 1111 1101 0111 im00 0100rdst max #%1, %0 */
#line 570 "rx-decode.opc"
int im AU = (op[1] >> 2) & 0x03;
#line 570 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
- int val = IMMex (im);
if (trace)
{
printf ("\033[33m%s\033[0m %02x %02x %02x\n",
@@ -10369,25 +11370,27 @@ rx_decode_opcode (unsigned long pc AU,
}
SYNTAX("max #%1, %0");
#line 570 "rx-decode.opc"
- if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0)
- {
- ID(nop7);
- SYNTAX ("nop\t; max\t#0x80000000, r0");
- }
- else
- {
- ID(max);
- }
- DR(rdst); SC(val);
+ int val = IMMex (im);
+ if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0)
+ {
+ ID (nop7);
+ SYNTAX("nop\t; max\t#0x80000000, r0");
+ }
+ else
+ {
+ ID(max);
+ }
+ DR(rdst); SC(val);
+
}
break;
case 0x50:
- op_semantics_80:
+ op_semantics_100:
{
/** 1111 1101 0111 im00 0101rdst min #%1, %0 */
-#line 590 "rx-decode.opc"
+#line 600 "rx-decode.opc"
int im AU = (op[1] >> 2) & 0x03;
-#line 590 "rx-decode.opc"
+#line 600 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10398,18 +11401,18 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("min #%1, %0");
-#line 590 "rx-decode.opc"
+#line 600 "rx-decode.opc"
ID(min); DR(rdst); SC(IMMex(im));
}
break;
case 0x60:
- op_semantics_81:
+ op_semantics_101:
{
/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
-#line 620 "rx-decode.opc"
+#line 658 "rx-decode.opc"
int im AU = (op[1] >> 2) & 0x03;
-#line 620 "rx-decode.opc"
+#line 658 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10420,18 +11423,18 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("emul #%1, %0");
-#line 620 "rx-decode.opc"
+#line 658 "rx-decode.opc"
ID(emul); DR(rdst); SC(IMMex(im));
}
break;
case 0x70:
- op_semantics_82:
+ op_semantics_102:
{
/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
-#line 632 "rx-decode.opc"
+#line 670 "rx-decode.opc"
int im AU = (op[1] >> 2) & 0x03;
-#line 632 "rx-decode.opc"
+#line 670 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10442,18 +11445,18 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("emulu #%1, %0");
-#line 632 "rx-decode.opc"
+#line 670 "rx-decode.opc"
ID(emulu); DR(rdst); SC(IMMex(im));
}
break;
case 0x80:
- op_semantics_83:
+ op_semantics_103:
{
/** 1111 1101 0111 im00 1000rdst div #%1, %0 */
-#line 644 "rx-decode.opc"
+#line 682 "rx-decode.opc"
int im AU = (op[1] >> 2) & 0x03;
-#line 644 "rx-decode.opc"
+#line 682 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10464,18 +11467,18 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("div #%1, %0");
-#line 644 "rx-decode.opc"
+#line 682 "rx-decode.opc"
ID(div); DR(rdst); SC(IMMex(im)); F_O___;
}
break;
case 0x90:
- op_semantics_84:
+ op_semantics_104:
{
/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
-#line 656 "rx-decode.opc"
+#line 694 "rx-decode.opc"
int im AU = (op[1] >> 2) & 0x03;
-#line 656 "rx-decode.opc"
+#line 694 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10486,13 +11489,13 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("divu #%1, %0");
-#line 656 "rx-decode.opc"
+#line 694 "rx-decode.opc"
ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
}
break;
case 0xc0:
- op_semantics_85:
+ op_semantics_105:
{
/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
#line 467 "rx-decode.opc"
@@ -10514,7 +11517,7 @@ rx_decode_opcode (unsigned long pc AU,
}
break;
case 0xd0:
- op_semantics_86:
+ op_semantics_106:
{
/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
#line 446 "rx-decode.opc"
@@ -10536,7 +11539,7 @@ rx_decode_opcode (unsigned long pc AU,
}
break;
case 0xe0:
- op_semantics_87:
+ op_semantics_107:
{
/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
#line 392 "rx-decode.opc"
@@ -10558,7 +11561,7 @@ rx_decode_opcode (unsigned long pc AU,
}
break;
case 0xf0:
- op_semantics_88:
+ op_semantics_108:
{
/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
#line 395 "rx-decode.opc"
@@ -10592,7 +11595,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x00:
{
/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
-#line 864 "rx-decode.opc"
+#line 902 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10602,7 +11605,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("fsub #%1, %0");
-#line 864 "rx-decode.opc"
+#line 902 "rx-decode.opc"
ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
}
@@ -10610,7 +11613,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x10:
{
/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
-#line 858 "rx-decode.opc"
+#line 896 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10620,7 +11623,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("fcmp #%1, %0");
-#line 858 "rx-decode.opc"
+#line 896 "rx-decode.opc"
ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
}
@@ -10628,7 +11631,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x20:
{
/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
-#line 852 "rx-decode.opc"
+#line 890 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10638,7 +11641,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("fadd #%1, %0");
-#line 852 "rx-decode.opc"
+#line 890 "rx-decode.opc"
ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
}
@@ -10646,7 +11649,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x30:
{
/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
-#line 873 "rx-decode.opc"
+#line 911 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10656,7 +11659,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("fmul #%1, %0");
-#line 873 "rx-decode.opc"
+#line 911 "rx-decode.opc"
ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
}
@@ -10664,7 +11667,7 @@ rx_decode_opcode (unsigned long pc AU,
case 0x40:
{
/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
-#line 879 "rx-decode.opc"
+#line 917 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10674,7 +11677,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("fdiv #%1, %0");
-#line 879 "rx-decode.opc"
+#line 917 "rx-decode.opc"
ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
}
@@ -10687,12 +11690,12 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0xe0)
{
case 0x00:
- op_semantics_89:
+ op_semantics_109:
{
/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
-#line 969 "rx-decode.opc"
+#line 1007 "rx-decode.opc"
int im AU = (op[1] >> 2) & 0x03;
-#line 969 "rx-decode.opc"
+#line 1007 "rx-decode.opc"
int crdst AU = op[2] & 0x1f;
if (trace)
{
@@ -10703,7 +11706,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" crdst = 0x%x\n", crdst);
}
SYNTAX("mvtc #%1, %0");
-#line 969 "rx-decode.opc"
+#line 1007 "rx-decode.opc"
ID(mov); SC(IMMex(im)); DR(crdst + 16);
}
@@ -10716,37 +11719,37 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0xf0)
{
case 0x20:
- goto op_semantics_78;
+ goto op_semantics_98;
break;
case 0x40:
- goto op_semantics_79;
+ goto op_semantics_99;
break;
case 0x50:
- goto op_semantics_80;
+ goto op_semantics_100;
break;
case 0x60:
- goto op_semantics_81;
+ goto op_semantics_101;
break;
case 0x70:
- goto op_semantics_82;
+ goto op_semantics_102;
break;
case 0x80:
- goto op_semantics_83;
+ goto op_semantics_103;
break;
case 0x90:
- goto op_semantics_84;
+ goto op_semantics_104;
break;
case 0xc0:
- goto op_semantics_85;
+ goto op_semantics_105;
break;
case 0xd0:
- goto op_semantics_86;
+ goto op_semantics_106;
break;
case 0xe0:
- goto op_semantics_87;
+ goto op_semantics_107;
break;
case 0xf0:
- goto op_semantics_88;
+ goto op_semantics_108;
break;
default: UNSUPPORTED(); break;
}
@@ -10756,7 +11759,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0xe0)
{
case 0x00:
- goto op_semantics_89;
+ goto op_semantics_109;
break;
default: UNSUPPORTED(); break;
}
@@ -10766,37 +11769,37 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0xf0)
{
case 0x20:
- goto op_semantics_78;
+ goto op_semantics_98;
break;
case 0x40:
- goto op_semantics_79;
+ goto op_semantics_99;
break;
case 0x50:
- goto op_semantics_80;
+ goto op_semantics_100;
break;
case 0x60:
- goto op_semantics_81;
+ goto op_semantics_101;
break;
case 0x70:
- goto op_semantics_82;
+ goto op_semantics_102;
break;
case 0x80:
- goto op_semantics_83;
+ goto op_semantics_103;
break;
case 0x90:
- goto op_semantics_84;
+ goto op_semantics_104;
break;
case 0xc0:
- goto op_semantics_85;
+ goto op_semantics_105;
break;
case 0xd0:
- goto op_semantics_86;
+ goto op_semantics_106;
break;
case 0xe0:
- goto op_semantics_87;
+ goto op_semantics_107;
break;
case 0xf0:
- goto op_semantics_88;
+ goto op_semantics_108;
break;
default: UNSUPPORTED(); break;
}
@@ -10806,7 +11809,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0xe0)
{
case 0x00:
- goto op_semantics_89;
+ goto op_semantics_109;
break;
default: UNSUPPORTED(); break;
}
@@ -10816,37 +11819,37 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0xf0)
{
case 0x20:
- goto op_semantics_78;
+ goto op_semantics_98;
break;
case 0x40:
- goto op_semantics_79;
+ goto op_semantics_99;
break;
case 0x50:
- goto op_semantics_80;
+ goto op_semantics_100;
break;
case 0x60:
- goto op_semantics_81;
+ goto op_semantics_101;
break;
case 0x70:
- goto op_semantics_82;
+ goto op_semantics_102;
break;
case 0x80:
- goto op_semantics_83;
+ goto op_semantics_103;
break;
case 0x90:
- goto op_semantics_84;
+ goto op_semantics_104;
break;
case 0xc0:
- goto op_semantics_85;
+ goto op_semantics_105;
break;
case 0xd0:
- goto op_semantics_86;
+ goto op_semantics_106;
break;
case 0xe0:
- goto op_semantics_87;
+ goto op_semantics_107;
break;
case 0xf0:
- goto op_semantics_88;
+ goto op_semantics_108;
break;
default: UNSUPPORTED(); break;
}
@@ -10856,7 +11859,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0xe0)
{
case 0x00:
- goto op_semantics_89;
+ goto op_semantics_109;
break;
default: UNSUPPORTED(); break;
}
@@ -10866,14 +11869,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_90:
+ op_semantics_110:
{
/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
-#line 694 "rx-decode.opc"
+#line 732 "rx-decode.opc"
int immmm AU = op[1] & 0x1f;
-#line 694 "rx-decode.opc"
+#line 732 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 694 "rx-decode.opc"
+#line 732 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -10885,7 +11888,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("shlr #%2, %1, %0");
-#line 694 "rx-decode.opc"
+#line 732 "rx-decode.opc"
ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC;
/*----------------------------------------------------------------------*/
@@ -10900,7 +11903,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -10909,7 +11912,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -10918,7 +11921,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -10927,7 +11930,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -10936,7 +11939,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -10945,7 +11948,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -10954,7 +11957,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -10963,7 +11966,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -10972,7 +11975,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -10981,7 +11984,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -10990,7 +11993,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -10999,7 +12002,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11008,7 +12011,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11017,7 +12020,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11026,7 +12029,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11035,7 +12038,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11044,7 +12047,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11053,7 +12056,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11062,7 +12065,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11071,7 +12074,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11080,7 +12083,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11089,7 +12092,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11098,7 +12101,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11107,7 +12110,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11116,7 +12119,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11125,7 +12128,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11134,7 +12137,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11143,7 +12146,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11152,7 +12155,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11161,7 +12164,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11170,7 +12173,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_90;
+ goto op_semantics_110;
break;
}
break;
@@ -11179,14 +12182,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_91:
+ op_semantics_111:
{
/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
-#line 684 "rx-decode.opc"
+#line 722 "rx-decode.opc"
int immmm AU = op[1] & 0x1f;
-#line 684 "rx-decode.opc"
+#line 722 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 684 "rx-decode.opc"
+#line 722 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -11198,7 +12201,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("shar #%2, %1, %0");
-#line 684 "rx-decode.opc"
+#line 722 "rx-decode.opc"
ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC;
@@ -11211,7 +12214,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11220,7 +12223,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11229,7 +12232,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11238,7 +12241,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11247,7 +12250,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11256,7 +12259,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11265,7 +12268,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11274,7 +12277,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11283,7 +12286,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11292,7 +12295,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11301,7 +12304,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11310,7 +12313,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11319,7 +12322,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11328,7 +12331,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11337,7 +12340,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11346,7 +12349,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11355,7 +12358,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11364,7 +12367,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11373,7 +12376,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11382,7 +12385,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11391,7 +12394,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11400,7 +12403,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11409,7 +12412,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11418,7 +12421,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11427,7 +12430,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11436,7 +12439,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11445,7 +12448,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11454,7 +12457,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11463,7 +12466,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11472,7 +12475,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11481,7 +12484,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_91;
+ goto op_semantics_111;
break;
}
break;
@@ -11490,14 +12493,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_92:
+ op_semantics_112:
{
/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
-#line 674 "rx-decode.opc"
+#line 712 "rx-decode.opc"
int immmm AU = op[1] & 0x1f;
-#line 674 "rx-decode.opc"
+#line 712 "rx-decode.opc"
int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 674 "rx-decode.opc"
+#line 712 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -11509,7 +12512,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("shll #%2, %1, %0");
-#line 674 "rx-decode.opc"
+#line 712 "rx-decode.opc"
ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC;
@@ -11522,7 +12525,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11531,7 +12534,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11540,7 +12543,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11549,7 +12552,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11558,7 +12561,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11567,7 +12570,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11576,7 +12579,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11585,7 +12588,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11594,7 +12597,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11603,7 +12606,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11612,7 +12615,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11621,7 +12624,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11630,7 +12633,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11639,7 +12642,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11648,7 +12651,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11657,7 +12660,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11666,7 +12669,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11675,7 +12678,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11684,7 +12687,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11693,7 +12696,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11702,7 +12705,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11711,7 +12714,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11720,7 +12723,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11729,7 +12732,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11738,7 +12741,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11747,7 +12750,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11756,7 +12759,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11765,7 +12768,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11774,7 +12777,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11783,7 +12786,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11792,7 +12795,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_92;
+ goto op_semantics_112;
break;
}
break;
@@ -11815,14 +12818,14 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- op_semantics_93:
+ op_semantics_113:
{
/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
-#line 948 "rx-decode.opc"
+#line 986 "rx-decode.opc"
int bittt AU = op[1] & 0x1f;
-#line 948 "rx-decode.opc"
+#line 986 "rx-decode.opc"
int cond AU = (op[2] >> 4) & 0x0f;
-#line 948 "rx-decode.opc"
+#line 986 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -11834,7 +12837,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("bm%2 #%1, %0%S0");
-#line 948 "rx-decode.opc"
+#line 986 "rx-decode.opc"
ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
/*----------------------------------------------------------------------*/
@@ -11843,12 +12846,12 @@ rx_decode_opcode (unsigned long pc AU,
}
break;
case 0xf0:
- op_semantics_94:
+ op_semantics_114:
{
/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
-#line 941 "rx-decode.opc"
+#line 979 "rx-decode.opc"
int bittt AU = op[1] & 0x1f;
-#line 941 "rx-decode.opc"
+#line 979 "rx-decode.opc"
int rdst AU = op[2] & 0x0f;
if (trace)
{
@@ -11859,7 +12862,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" rdst = 0x%x\n", rdst);
}
SYNTAX("bnot #%1, %0");
-#line 941 "rx-decode.opc"
+#line 979 "rx-decode.opc"
ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
@@ -11886,10 +12889,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -11912,10 +12915,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -11938,10 +12941,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -11964,10 +12967,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -11990,10 +12993,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12016,10 +13019,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12042,10 +13045,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12068,10 +13071,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12094,10 +13097,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12120,10 +13123,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12146,10 +13149,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12172,10 +13175,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12198,10 +13201,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12224,10 +13227,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12250,10 +13253,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12276,10 +13279,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12302,10 +13305,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12328,10 +13331,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12354,10 +13357,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12380,10 +13383,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12406,10 +13409,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12432,10 +13435,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12458,10 +13461,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12484,10 +13487,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12510,10 +13513,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12536,10 +13539,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12562,10 +13565,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12588,10 +13591,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12614,10 +13617,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12640,10 +13643,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12666,10 +13669,10 @@ rx_decode_opcode (unsigned long pc AU,
case 0xc0:
case 0xd0:
case 0xe0:
- goto op_semantics_93;
+ goto op_semantics_113;
break;
case 0xf0:
- goto op_semantics_94;
+ goto op_semantics_114;
break;
}
break;
@@ -12685,7 +13688,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_95:
+ op_semantics_115:
{
/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
#line 338 "rx-decode.opc"
@@ -12719,7 +13722,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12728,7 +13731,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12737,7 +13740,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12746,7 +13749,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12755,7 +13758,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12764,7 +13767,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12773,7 +13776,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12782,7 +13785,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12791,7 +13794,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12800,7 +13803,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12809,7 +13812,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12818,7 +13821,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12827,7 +13830,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12836,7 +13839,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12845,7 +13848,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12854,7 +13857,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12863,7 +13866,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12872,7 +13875,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12881,7 +13884,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12890,7 +13893,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12899,7 +13902,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12908,7 +13911,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12917,7 +13920,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12926,7 +13929,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12935,7 +13938,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12944,7 +13947,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12953,7 +13956,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12962,7 +13965,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12971,7 +13974,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12980,7 +13983,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12989,7 +13992,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -12998,7 +14001,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13007,7 +14010,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13016,7 +14019,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13025,7 +14028,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13034,7 +14037,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13043,7 +14046,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13052,7 +14055,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13061,7 +14064,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13070,7 +14073,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13079,7 +14082,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13088,7 +14091,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13097,7 +14100,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13106,7 +14109,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13115,7 +14118,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13124,7 +14127,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13133,7 +14136,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_95;
+ goto op_semantics_115;
break;
}
break;
@@ -13142,7 +14145,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_96:
+ op_semantics_116:
{
/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
#line 335 "rx-decode.opc"
@@ -13176,7 +14179,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13185,7 +14188,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13194,7 +14197,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13203,7 +14206,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13212,7 +14215,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13221,7 +14224,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13230,7 +14233,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13239,7 +14242,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13248,7 +14251,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13257,7 +14260,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13266,7 +14269,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13275,7 +14278,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13284,7 +14287,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13293,7 +14296,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13302,7 +14305,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13311,7 +14314,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13320,7 +14323,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13329,7 +14332,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13338,7 +14341,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13347,7 +14350,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13356,7 +14359,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13365,7 +14368,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13374,7 +14377,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13383,7 +14386,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13392,7 +14395,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13401,7 +14404,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13410,7 +14413,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13419,7 +14422,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13428,7 +14431,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13437,7 +14440,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13446,7 +14449,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13455,7 +14458,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13464,7 +14467,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13473,7 +14476,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13482,7 +14485,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13491,7 +14494,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13500,7 +14503,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13509,7 +14512,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13518,7 +14521,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13527,7 +14530,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13536,7 +14539,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13545,7 +14548,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13554,7 +14557,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13563,7 +14566,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13572,7 +14575,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13581,7 +14584,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13590,7 +14593,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_96;
+ goto op_semantics_116;
break;
}
break;
@@ -13599,7 +14602,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_97:
+ op_semantics_117:
{
/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
#line 341 "rx-decode.opc"
@@ -13633,7 +14636,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13642,7 +14645,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13651,7 +14654,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13660,7 +14663,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13669,7 +14672,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13678,7 +14681,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13687,7 +14690,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13696,7 +14699,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13705,7 +14708,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13714,7 +14717,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13723,7 +14726,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13732,7 +14735,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13741,7 +14744,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13750,7 +14753,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13759,7 +14762,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13768,7 +14771,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13777,7 +14780,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13786,7 +14789,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13795,7 +14798,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13804,7 +14807,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13813,7 +14816,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13822,7 +14825,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13831,7 +14834,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13840,7 +14843,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13849,7 +14852,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13858,7 +14861,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13867,7 +14870,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13876,7 +14879,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13885,7 +14888,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13894,7 +14897,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13903,7 +14906,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13912,7 +14915,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13921,7 +14924,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13930,7 +14933,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13939,7 +14942,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13948,7 +14951,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13957,7 +14960,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13966,7 +14969,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13975,7 +14978,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13984,7 +14987,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -13993,7 +14996,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -14002,7 +15005,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -14011,7 +15014,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -14020,7 +15023,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -14029,7 +15032,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -14038,7 +15041,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -14047,7 +15050,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_97;
+ goto op_semantics_117;
break;
}
break;
@@ -14063,7 +15066,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_98:
+ op_semantics_118:
{
/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
#line 545 "rx-decode.opc"
@@ -14097,7 +15100,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14106,7 +15109,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14115,7 +15118,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14124,7 +15127,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14133,7 +15136,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14142,7 +15145,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14151,7 +15154,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14160,7 +15163,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14169,7 +15172,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14178,7 +15181,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14187,7 +15190,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14196,7 +15199,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14205,7 +15208,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14214,7 +15217,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14223,7 +15226,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_98;
+ goto op_semantics_118;
break;
}
break;
@@ -14232,7 +15235,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_99:
+ op_semantics_119:
{
/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
#line 512 "rx-decode.opc"
@@ -14266,7 +15269,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14275,7 +15278,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14284,7 +15287,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14293,7 +15296,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14302,7 +15305,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14311,7 +15314,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14320,7 +15323,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14329,7 +15332,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14338,7 +15341,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14347,7 +15350,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14356,7 +15359,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14365,7 +15368,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14374,7 +15377,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14383,7 +15386,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14392,7 +15395,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_99;
+ goto op_semantics_119;
break;
}
break;
@@ -14401,14 +15404,14 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_100:
+ op_semantics_120:
{
/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
-#line 614 "rx-decode.opc"
+#line 652 "rx-decode.opc"
int rdst AU = op[1] & 0x0f;
-#line 614 "rx-decode.opc"
+#line 652 "rx-decode.opc"
int srca AU = (op[2] >> 4) & 0x0f;
-#line 614 "rx-decode.opc"
+#line 652 "rx-decode.opc"
int srcb AU = op[2] & 0x0f;
if (trace)
{
@@ -14420,7 +15423,7 @@ rx_decode_opcode (unsigned long pc AU,
printf (" srcb = 0x%x\n", srcb);
}
SYNTAX("mul %2, %1, %0");
-#line 614 "rx-decode.opc"
+#line 652 "rx-decode.opc"
ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
/*----------------------------------------------------------------------*/
@@ -14435,7 +15438,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14444,7 +15447,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14453,7 +15456,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14462,7 +15465,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14471,7 +15474,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14480,7 +15483,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14489,7 +15492,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14498,7 +15501,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14507,7 +15510,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14516,7 +15519,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14525,7 +15528,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14534,7 +15537,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14543,7 +15546,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14552,7 +15555,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14561,7 +15564,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_100;
+ goto op_semantics_120;
break;
}
break;
@@ -14570,7 +15573,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_101:
+ op_semantics_121:
{
/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
#line 422 "rx-decode.opc"
@@ -14604,7 +15607,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14613,7 +15616,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14622,7 +15625,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14631,7 +15634,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14640,7 +15643,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14649,7 +15652,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14658,7 +15661,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14667,7 +15670,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14676,7 +15679,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14685,7 +15688,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14694,7 +15697,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14703,7 +15706,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14712,7 +15715,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14721,7 +15724,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14730,7 +15733,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_101;
+ goto op_semantics_121;
break;
}
break;
@@ -14739,7 +15742,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- op_semantics_102:
+ op_semantics_122:
{
/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
#line 440 "rx-decode.opc"
@@ -14773,7 +15776,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14782,7 +15785,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14791,7 +15794,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14800,7 +15803,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14809,7 +15812,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14818,7 +15821,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14827,7 +15830,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14836,7 +15839,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14845,7 +15848,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14854,7 +15857,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14863,7 +15866,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14872,7 +15875,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14881,7 +15884,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14890,7 +15893,7 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
break;
}
break;
@@ -14899,7 +15902,505 @@ rx_decode_opcode (unsigned long pc AU,
switch (op[2] & 0x00)
{
case 0x00:
- goto op_semantics_102;
+ goto op_semantics_122;
+ break;
+ }
+ break;
+ case 0x80:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_123:
+ {
+ /** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */
+#line 1100 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+#line 1100 "rx-decode.opc"
+ int srca AU = (op[2] >> 4) & 0x0f;
+#line 1100 "rx-decode.opc"
+ int srcb AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */",
+ op[0], op[1], op[2]);
+ printf (" rdst = 0x%x,", rdst);
+ printf (" srca = 0x%x,", srca);
+ printf (" srcb = 0x%x\n", srcb);
+ }
+ SYNTAX("fsub %2, %1, %0");
+#line 1100 "rx-decode.opc"
+ ID(fsub); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
+
+ }
+ break;
+ }
+ break;
+ case 0x81:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x82:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x83:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x84:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x85:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x86:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x87:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x88:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x89:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x8a:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x8b:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x8c:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x8d:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x8e:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0x8f:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_123;
+ break;
+ }
+ break;
+ case 0xa0:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_124:
+ {
+ /** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */
+#line 1097 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+#line 1097 "rx-decode.opc"
+ int srca AU = (op[2] >> 4) & 0x0f;
+#line 1097 "rx-decode.opc"
+ int srcb AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */",
+ op[0], op[1], op[2]);
+ printf (" rdst = 0x%x,", rdst);
+ printf (" srca = 0x%x,", srca);
+ printf (" srcb = 0x%x\n", srcb);
+ }
+ SYNTAX("fadd %2, %1, %0");
+#line 1097 "rx-decode.opc"
+ ID(fadd); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
+
+ }
+ break;
+ }
+ break;
+ case 0xa1:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xa2:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xa3:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xa4:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xa5:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xa6:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xa7:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xa8:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xa9:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xaa:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xab:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xac:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xad:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xae:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xaf:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_124;
+ break;
+ }
+ break;
+ case 0xb0:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ op_semantics_125:
+ {
+ /** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */
+#line 1103 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+#line 1103 "rx-decode.opc"
+ int srca AU = (op[2] >> 4) & 0x0f;
+#line 1103 "rx-decode.opc"
+ int srcb AU = op[2] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x\n",
+ "/** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */",
+ op[0], op[1], op[2]);
+ printf (" rdst = 0x%x,", rdst);
+ printf (" srca = 0x%x,", srca);
+ printf (" srcb = 0x%x\n", srcb);
+ }
+ SYNTAX("fmul %2, %1, %0");
+#line 1103 "rx-decode.opc"
+ ID(fmul); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
+
+ }
+ break;
+ }
+ break;
+ case 0xb1:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xb2:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xb3:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xb4:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xb5:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xb6:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xb7:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xb8:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xb9:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xba:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xbb:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xbc:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xbd:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xbe:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
+ break;
+ }
+ break;
+ case 0xbf:
+ GETBYTE ();
+ switch (op[2] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_125;
break;
}
break;
@@ -14908,7 +16409,7 @@ rx_decode_opcode (unsigned long pc AU,
break;
default: UNSUPPORTED(); break;
}
-#line 1005 "rx-decode.opc"
+#line 1118 "rx-decode.opc"
return rx->n_bytes;
}
diff --git a/opcodes/rx-decode.opc b/opcodes/rx-decode.opc
index 12f6893..a3cc751 100644
--- a/opcodes/rx-decode.opc
+++ b/opcodes/rx-decode.opc
@@ -844,35 +844,35 @@ rx_decode_opcode (unsigned long pc AU,
/*----------------------------------------------------------------------*/
/* HI/LO stuff */
-/** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */
- ID(mulhi); SR(srca); S2R(srcb); F_____;
+/** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */
+ ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____;
-/** 1111 1101 0000 0001 srca srcb mullo %1, %2 */
- ID(mullo); SR(srca); S2R(srcb); F_____;
+/** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */
+ ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____;
-/** 1111 1101 0000 0100 srca srcb machi %1, %2 */
- ID(machi); SR(srca); S2R(srcb); F_____;
+/** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */
+ ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____;
-/** 1111 1101 0000 0101 srca srcb maclo %1, %2 */
- ID(maclo); SR(srca); S2R(srcb); F_____;
+/** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */
+ ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____;
-/** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */
- ID(mvtachi); SR(rsrc); F_____;
+/** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */
+ ID(mvtachi); DR(a+32); SR(rsrc); F_____;
-/** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */
- ID(mvtaclo); SR(rsrc); F_____;
+/** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */
+ ID(mvtaclo); DR(a+32); SR(rsrc); F_____;
-/** 1111 1101 0001 1111 0000 rdst mvfachi %0 */
- ID(mvfachi); DR(rdst); F_____;
+/** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */
+ ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
-/** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */
- ID(mvfacmi); DR(rdst); F_____;
+/** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */
+ ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
-/** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */
- ID(mvfaclo); DR(rdst); F_____;
+/** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */
+ ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
-/** 1111 1101 0001 1000 000i 0000 racw #%1 */
- ID(racw); SC(i+1); F_____;
+/** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */
+ ID(racw); SC(i+1); DR(a+32); F_____;
/*----------------------------------------------------------------------*/
/* SAT */
@@ -1039,6 +1039,81 @@ rx_decode_opcode (unsigned long pc AU,
/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
+/*----------------------------------------------------------------------*/
+/* RXv2 enhanced */
+
+/** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */
+ ID(mov); SR(rsrc); DR(rdst); F_____;
+
+/** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */
+ ID(mov); SR(rsrc); DR(rdst); F_____;
+
+/** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */
+ ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
+
+/** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */
+ ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
+
+/** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */
+ ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+/** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */
+ ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+/** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */
+ ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+/** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */
+ ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+/** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */
+ ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+/** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */
+ ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+/** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */
+ ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+/** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */
+ ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____;
+
+/** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */
+ ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
+
+/** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */
+ ID(mvtacgu); SR(a+32); DR(rdst); F_____;
+
+/** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */
+ ID(racl); SC(i+1); DR(a+32); F_____;
+
+/** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */
+ ID(rdacl); SC(i+1); DR(a+32); F_____;
+
+/** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */
+ ID(rdacw); SC(i+1); DR(a+32); F_____;
+
+/** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */
+ ID(fadd); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
+
+/** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */
+ ID(fsub); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
+
+/** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */
+ ID(fmul); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
+
+/** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */
+ ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
+
+/** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */
+ ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
+
+/** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */
+ ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_;
+
+/** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */
+ ID(utof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
+
/** */
return rx->n_bytes;
diff --git a/opcodes/rx-dis.c b/opcodes/rx-dis.c
index 01d0385..74ad726 100644
--- a/opcodes/rx-dis.c
+++ b/opcodes/rx-dis.c
@@ -65,9 +65,9 @@ static char const * register_names[] =
"r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
/* control register */
"psw", "pc", "usp", "fpsw", NULL, NULL, NULL, NULL,
- "bpsw", "bpc", "isp", "fintv", "intb", NULL, NULL, NULL,
+ "bpsw", "bpc", "isp", "fintv", "intb", "extb", NULL, NULL,
+ "a0", "a1", NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
};
static char const * condition_names[] =