New instruction for Harmonica warp control.
This commit is contained in:
@@ -30,10 +30,10 @@ namespace Harp {
|
|||||||
JALI, JALR, JMPI, JMPR, CLONE, JALIS, JALRS,
|
JALI, JALR, JMPI, JMPR, CLONE, JALIS, JALRS,
|
||||||
JMPRT, LD, ST, LDI, RTOP, ANDP, ORP, XORP, NOTP, ISNEG,
|
JMPRT, LD, ST, LDI, RTOP, ANDP, ORP, XORP, NOTP, ISNEG,
|
||||||
ISZERO, HALT, TRAP, JMPRU, SKEP, RETI, TLBRM,
|
ISZERO, HALT, TRAP, JMPRU, SKEP, RETI, TLBRM,
|
||||||
ITOF, FTOI, FADD, FSUB, FMUL, FDIV, FNEG };
|
ITOF, FTOI, FADD, FSUB, FMUL, FDIV, FNEG, WSPAWN };
|
||||||
enum ArgClass {
|
enum ArgClass {
|
||||||
AC_NONE, AC_2REG, AC_2IMM, AC_3REG, AC_3PREG, AC_3IMM, AC_3REGSRC,
|
AC_NONE, AC_2REG, AC_2IMM, AC_3REG, AC_3PREG, AC_3IMM, AC_3REGSRC,
|
||||||
AC_1IMM, AC_1REG, AC_3IMMSRC, AC_PREG_REG, AC_2PREG
|
AC_1IMM, AC_1REG, AC_3IMMSRC, AC_PREG_REG, AC_2PREG, AC_2REGSRC
|
||||||
};
|
};
|
||||||
enum InstType {
|
enum InstType {
|
||||||
ITYPE_NULL, ITYPE_INTBASIC, ITYPE_INTMUL, ITYPE_INTDIV, ITYPE_STACK, ITYPE_BR,
|
ITYPE_NULL, ITYPE_INTBASIC, ITYPE_INTMUL, ITYPE_INTDIV, ITYPE_STACK, ITYPE_BR,
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ Instruction::InstTableEntry Instruction::instTable[] = {
|
|||||||
{"fmul", false, false, false, false, AC_3REG, ITYPE_FPMUL },
|
{"fmul", false, false, false, false, AC_3REG, ITYPE_FPMUL },
|
||||||
{"fdiv", false, false, false, false, AC_3REG, ITYPE_FPDIV },
|
{"fdiv", false, false, false, false, AC_3REG, ITYPE_FPDIV },
|
||||||
{"fneg", false, false, false, false, AC_2REG, ITYPE_FPBASIC },
|
{"fneg", false, false, false, false, AC_2REG, ITYPE_FPBASIC },
|
||||||
|
{"wspawn", false, false, true, false, AC_2REGSRC, ITYPE_NULL },
|
||||||
{NULL,false,false,false,false,AC_NONE,ITYPE_NULL}/////// End of table.
|
{NULL,false,false,false,false,AC_NONE,ITYPE_NULL}/////// End of table.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user