halved the size of the scalar jump table (save 12 KB)

This commit is contained in:
unknown 2013-10-11 20:08:52 -04:00
parent bc98905712
commit 705e20a863
2 changed files with 83 additions and 277 deletions

View File

@ -42,7 +42,7 @@ void run_task(void)
else
{
/* SR[0] = 0x00000000; // already handled on per-instruction basis */
EX_SCALAR[inst.W >> 26][inst.W>>sub_op_table[inst.W >> 26] & 077]();
EX_SCALAR[inst.W >> 26][inst.W>>sub_op_table[inst.W >> 26] & 037]();
}
#ifndef EMULATE_STATIC_PC
if (stage == 2) /* branch phase of scheduler */

358
su.h
View File

@ -21,7 +21,7 @@
*/
static int SR[32];
static void res_S(void)
NOINLINE static void res_S(void)
{
message("RESERVED", 3);
return;
@ -53,6 +53,11 @@ union {
/*** Scalar, Special Operations ***/
static void BREAK(void) /* 000000 ----- ----- ----- ----- 001101 */
{
if (inst.W & 0x00000020)
{ /* converged matrix extract */
res_S();
return;
}
*RSP.SP_STATUS_REG |= 0x00000003; /* SP_STATUS_BROKE | SP_STATUS_HALT */
if (*RSP.SP_STATUS_REG & 0x00000040) /* SP_STATUS_INTR_BREAK */
{
@ -95,11 +100,21 @@ static void JAL(void) /* 000011 iiiiiiiiiiiiiiiiiiiiiiiiii */
}
static void JR(void) /* 000000 sssss ----- ----- ----- 001000 */
{
if (inst.W & 0x00000020)
{ /* converged matrix extract */
res_S();
return;
}
set_PC(SR[inst.R.rs]);
return;
}
static void JALR(void) /* 000000 sssss ----- ddddd ----- 001001 */
{
if (inst.W & 0x00000020)
{ /* converged matrix extract */
res_S();
return;
}
SR[inst.R.rd] = (*RSP.SP_PC_REG + LINK_OFF) & 0x00000FFC;
SR[0] = 0x00000000;
JR();
@ -222,22 +237,22 @@ static void SRAV(void) /* 000000 sssss ttttt ddddd ----- 000111 */
}
/*** Scalar, Arithmetic and Logical Operations ***/
static void ADDU(void);
static void ADD(void) /* 000000 sssss ttttt ddddd ----- 100000 */
{
const int trap = 0; /* There is no overflow trap on the RSP. Use ADDU. */
if (!trap)
ADDU();
if (inst.R.rd == 0)
return; /* NOP */
if ((inst.W & 0x00000020) == 0x00000000)
{ /* converged matrix extract */
SLL();
return;
}
SR[inst.R.rd] = SR[inst.W >> 21] + SR[inst.R.rt];
return;
}
static void ADDIU(void);
static void ADDI(void) /* 001000 sssss ttttt iiiiiiiiiiiiiiii */
{
const int trap = 0; /* There is no overflow trap on the RSP. Use ADDIU. */
if (!trap)
ADDIU();
ADDIU();
return;
}
static void ADDIU(void) /* 001001 sssss ttttt iiiiiiiiiiiiiiii */
@ -248,27 +263,44 @@ static void ADDIU(void) /* 001001 sssss ttttt iiiiiiiiiiiiiiii */
}
static void ADDU(void) /* 000000 sssss ttttt ddddd ----- 100001 */
{
if ((inst.W & 0x00000020) == 0x00000000)
{ /* converged matrix extract */
res_S();
return;
}
SR[inst.R.rd] = SR[inst.W >> 21] + SR[inst.R.rt];
SR[0] = 0x00000000;
return;
}
static void SUBU(void);
static void SUB(void) /* 000000 sssss ttttt ddddd ----- 100010 */
{
const int trap = 0; /* There is no overflow trap on the RSP. Use SUBU. */
if (!trap)
SUBU();
if ((inst.W & 0x00000020) == 0x00000000)
{ /* converged matrix extract */
SRL();
return;
}
SR[inst.R.rd] = SR[inst.W >> 21] - SR[inst.R.rt];
SR[0] = 0x00000000;
return;
} /* There is no overflow trap on the RSP. Use SUBU. */
}
static void SUBU(void) /* 000000 sssss ttttt ddddd ----- 100011 */
{
if ((inst.W & 0x00000020) == 0x00000000)
{ /* converged matrix extract */
SRA();
return;
}
SR[inst.R.rd] = SR[inst.W >> 21] - SR[inst.R.rt];
SR[0] = 0x00000000;
return;
}
static void SLT(void) /* 000000 sssss ttttt ddddd ----- 101010 */
{
if ((inst.W & 0x00000020) == 0x00000000)
{ /* converged matrix extract */
res_S();
return;
}
SR[inst.R.rd] = ((signed)(SR[inst.W >> 21]) < (signed)(SR[inst.R.rt]));
SR[0] = 0x00000000;
return;
@ -291,30 +323,55 @@ static void SLTIU(void) /* 001011 sssss ttttt iiiiiiiiiiiiiiii */
}
static void SLTU(void) /* 000000 sssss ttttt ddddd ----- 101011 */
{
if ((inst.W & 0x00000020) == 0x00000000)
{ /* converged matrix extract */
res_S();
return;
}
SR[inst.R.rd] = ((unsigned)(SR[inst.W >> 21]) < (unsigned)(SR[inst.R.rt]));
SR[0] = 0x00000000;
return;
}
static void AND(void) /* 000000 sssss ttttt ddddd ----- 100100 */
{
if ((inst.W & 0x00000020) == 0x00000000)
{ /* converged matrix extract */
SLLV();
return;
}
SR[inst.R.rd] = SR[inst.W >> 21] & SR[inst.R.rt];
SR[0] = 0x00000000;
return;
}
static void OR(void) /* 000000 sssss ttttt ddddd ----- 100101 */
{
if ((inst.W & 0x00000020) == 0x00000000)
{ /* converged matrix extract */
res_S();
return;
}
SR[inst.R.rd] = SR[inst.W >> 21] | SR[inst.R.rt];
SR[0] = 0x00000000;
return;
}
static void XOR(void) /* 000000 sssss ttttt ddddd ----- 100110 */
{
if ((inst.W & 0x00000020) == 0x00000000)
{ /* converged matrix extract */
SRLV();
return;
}
SR[inst.R.rd] = SR[inst.W >> 21] ^ SR[inst.R.rt];
SR[0] = 0x00000000;
return;
}
static void NOR(void) /* 000000 sssss ttttt ddddd ----- 100111 */
{
if ((inst.W & 0x00000020) == 0x00000000)
{ /* converged matrix extract */
SRAV();
return;
}
SR[inst.R.rd] = ~(SR[inst.W >> 21] | SR[inst.R.rt]);
SR[0] = 0x00000000;
return;
@ -2246,8 +2303,7 @@ static void SWA(void)
return;
}
static void (*EX_SCALAR[64][64])(void) = {
{ /* SPECIAL */
/*
SLL ,res_S ,SRL ,SRA ,SLLV ,res_S ,SRLV ,SRAV ,
JR ,JALR ,res_S ,res_S ,res_S ,BREAK ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
@ -2255,642 +2311,392 @@ static void (*EX_SCALAR[64][64])(void) = {
ADD ,ADDU ,SUB ,SUBU ,AND ,OR ,XOR ,NOR ,
res_S ,res_S ,SLT ,SLTU ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
*/
static void (*EX_SCALAR[64][32])(void) = {
{ /* SPECIAL (custom convergence of both halves to fit table) */
ADD ,ADDU ,SUB ,SUBU ,AND ,OR ,XOR ,NOR ,
JR ,JALR ,SLT ,SLTU ,res_S ,BREAK ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
},
{ /* REGIMM */
BLTZ ,BGEZ ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
BLTZAL ,BGEZAL ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
/* hazard reaction barrier -- rt only covers 32 sub-op-codes, not 64. */
BLTZ ,BGEZ ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
BLTZAL ,BGEZAL ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* Jump */
J ,J ,J ,J ,J ,J ,J ,J ,
J ,J ,J ,J ,J ,J ,J ,J ,
J ,J ,J ,J ,J ,J ,J ,J ,
J ,J ,J ,J ,J ,J ,J ,J ,
J ,J ,J ,J ,J ,J ,J ,J ,
J ,J ,J ,J ,J ,J ,J ,J ,
J ,J ,J ,J ,J ,J ,J ,J ,
J ,J ,J ,J ,J ,J ,J ,J
},
{ /* Jump and Link */
JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,
JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,
JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,
JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,
JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,
JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,
JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,
JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL ,JAL
},
{ /* Branch on Equal */
BEQZ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,
BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,
BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,
BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,
BEQZ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,
BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,
BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,
BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ ,BEQ
},
{ /* Branch on Not Equal */
BNEZ ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,
BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,
BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,
BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,
BNEZ ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,
BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,
BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,
BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE ,BNE
},
{ /* Branch on Less Than or Equal to Zero */
B ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,
BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,
BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,
BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,
B ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,
BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,
BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,
BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ ,BLEZ
},
{ /* Branch on Greater Than Zero */
NOP ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,
BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,
BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,
BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,
NOP ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,
BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,
BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,
BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ ,BGTZ
},
{ /* Add Immediate Word */
LXI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,
ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,
ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,
ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,
LXI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,
ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,
ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,
ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI ,ADDI
},
{ /* Add Immediate Unsigned Word */
LXI ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,
ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,
ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,
ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,
LXI ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,
ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,
ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,
ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU ,ADDIU
}, /* Note: Because the RSP is free of exception-handling, ADDI = ADDIU. */
{ /* Set on Less Than Immediate */
NOP ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,
SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,
SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,
SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,
NOP ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,
SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,
SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,
SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI ,SLTI
},
{ /* Set on Less Than Immediate Unsigned */
NOP ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,
SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,
SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,
SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,
NOP ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,
SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,
SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,
SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU ,SLTIU
},
{ /* And Immediate */
CLEAR ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,
ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,
ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,
ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,
CLEAR ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,
ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,
ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,
ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI ,ANDI
},
{ /* Or Immediate */
LZI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,
ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,
ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,
ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,
LZI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,
ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,
ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,
ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI ,ORI
},
{ /* Exclusive Or Immediate */
LZI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,
XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,
XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,
XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,
LZI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,
XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,
XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,
XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI ,XORI
},
{ /* Load Upper Immediate */
NOP ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,
LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,
LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,
LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,
NOP ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,
LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,
LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,
LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI ,LUI
},
{ /* COP0 */
MFC0 ,res_S ,res_S ,res_S ,MTC0 ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
/* hazard reaction barrier -- rs only covers 32 sub-op-codes, not 64. */
MFC0 ,res_S ,res_S ,res_S ,MTC0 ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* COP2 */
MFC2 ,res_S ,CFC2 ,res_S ,MTC2 ,res_S ,CTC2 ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
C2 ,C2 ,C2 ,C2 ,C2 ,C2 ,C2 ,C2 ,
C2 ,C2 ,C2 ,C2 ,C2 ,C2 ,C2 ,C2 ,
/* hazard reaction barrier -- rs only covers 32 sub-op-codes, not 64. */
MFC2 ,res_S ,CFC2 ,res_S ,MTC2 ,res_S ,CTC2 ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
C2 ,C2 ,C2 ,C2 ,C2 ,C2 ,C2 ,C2 ,
C2 ,C2 ,C2 ,C2 ,C2 ,C2 ,C2 ,C2
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* Load Byte */
LBA ,LB ,LB ,LB ,LB ,LB ,LB ,LB ,
LB ,LB ,LB ,LB ,LB ,LB ,LB ,LB ,
LB ,LB ,LB ,LB ,LB ,LB ,LB ,LB ,
LB ,LB ,LB ,LB ,LB ,LB ,LB ,LB ,
LBA ,LB ,LB ,LB ,LB ,LB ,LB ,LB ,
LB ,LB ,LB ,LB ,LB ,LB ,LB ,LB ,
LB ,LB ,LB ,LB ,LB ,LB ,LB ,LB ,
LB ,LB ,LB ,LB ,LB ,LB ,LB ,LB
},
{ /* Load Halfword */
LHA ,LH ,LH ,LH ,LH ,LH ,LH ,LH ,
LH ,LH ,LH ,LH ,LH ,LH ,LH ,LH ,
LH ,LH ,LH ,LH ,LH ,LH ,LH ,LH ,
LH ,LH ,LH ,LH ,LH ,LH ,LH ,LH ,
LHA ,LH ,LH ,LH ,LH ,LH ,LH ,LH ,
LH ,LH ,LH ,LH ,LH ,LH ,LH ,LH ,
LH ,LH ,LH ,LH ,LH ,LH ,LH ,LH ,
LH ,LH ,LH ,LH ,LH ,LH ,LH ,LH
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* Load Word */
LWA ,LW ,LW ,LW ,LW ,LW ,LW ,LW ,
LW ,LW ,LW ,LW ,LW ,LW ,LW ,LW ,
LW ,LW ,LW ,LW ,LW ,LW ,LW ,LW ,
LW ,LW ,LW ,LW ,LW ,LW ,LW ,LW ,
LWA ,LW ,LW ,LW ,LW ,LW ,LW ,LW ,
LW ,LW ,LW ,LW ,LW ,LW ,LW ,LW ,
LW ,LW ,LW ,LW ,LW ,LW ,LW ,LW ,
LW ,LW ,LW ,LW ,LW ,LW ,LW ,LW
},
{ /* Load Byte Unsigned */
LBUA ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,
LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,
LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,
LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,
LBUA ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,
LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,
LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,
LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU ,LBU
},
{ /* Load Halfword Unsigned */
LHUA ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,
LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,
LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,
LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,
LHUA ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,
LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,
LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,
LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU ,LHU
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* Store Byte */
SBA ,SB ,SB ,SB ,SB ,SB ,SB ,SB ,
SB ,SB ,SB ,SB ,SB ,SB ,SB ,SB ,
SB ,SB ,SB ,SB ,SB ,SB ,SB ,SB ,
SB ,SB ,SB ,SB ,SB ,SB ,SB ,SB ,
SBA ,SB ,SB ,SB ,SB ,SB ,SB ,SB ,
SB ,SB ,SB ,SB ,SB ,SB ,SB ,SB ,
SB ,SB ,SB ,SB ,SB ,SB ,SB ,SB ,
SB ,SB ,SB ,SB ,SB ,SB ,SB ,SB
},
{ /* Store Halfword */
SHA ,SH ,SH ,SH ,SH ,SH ,SH ,SH ,
SH ,SH ,SH ,SH ,SH ,SH ,SH ,SH ,
SH ,SH ,SH ,SH ,SH ,SH ,SH ,SH ,
SH ,SH ,SH ,SH ,SH ,SH ,SH ,SH ,
SHA ,SH ,SH ,SH ,SH ,SH ,SH ,SH ,
SH ,SH ,SH ,SH ,SH ,SH ,SH ,SH ,
SH ,SH ,SH ,SH ,SH ,SH ,SH ,SH ,
SH ,SH ,SH ,SH ,SH ,SH ,SH ,SH
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* Store Word */
SWA ,SW ,SW ,SW ,SW ,SW ,SW ,SW ,
SW ,SW ,SW ,SW ,SW ,SW ,SW ,SW ,
SW ,SW ,SW ,SW ,SW ,SW ,SW ,SW ,
SW ,SW ,SW ,SW ,SW ,SW ,SW ,SW ,
SWA ,SW ,SW ,SW ,SW ,SW ,SW ,SW ,
SW ,SW ,SW ,SW ,SW ,SW ,SW ,SW ,
SW ,SW ,SW ,SW ,SW ,SW ,SW ,SW ,
SW ,SW ,SW ,SW ,SW ,SW ,SW ,SW
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* LWC2 */
LBV ,LSV ,LLV ,LDV ,LQV ,LRV ,LPV ,LUV ,
LHV ,LFV ,res_S ,LTV ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
/* hazard reaction barrier -- rd only covers 32 sub-op-codes, not 64. */
LBV ,LSV ,LLV ,LDV ,LQV ,LRV ,LPV ,LUV ,
LHV ,LFV ,res_S ,LTV ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* SWC2 */
SBV ,SSV ,SLV ,SDV ,SQV ,SRV ,SPV ,SUV ,
SHV ,SFV ,SWV ,STV ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
/* hazard reaction barrier -- rd only covers 32 sub-op-codes, not 64. */
SBV ,SSV ,SLV ,SDV ,SQV ,SRV ,SPV ,SUV ,
SHV ,SFV ,SWV ,STV ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
},
{ /* illegal */
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,
res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S ,res_S
}
};