diff --git a/doc/harp_iset.tex b/doc/harp_iset.tex index b066bc99..8a2134e4 100644 --- a/doc/harp_iset.tex +++ b/doc/harp_iset.tex @@ -132,7 +132,7 @@ The bit fields in the instruction encodings depend heavily on this quality. 30 "skep" 1REG 31 "reti" NONE 32 "tlbrm" 1REG 33 "itof" 2REG 34 "ftoi" 2REG 35 "fadd" 3REG 36 "fsub" 3REG 37 "fmul" 3REG 38 "fdiv" 3REG - 39 "fneg" 2REG 3a "wspawn" 2REG 3b "split" NONE + 39 "fneg" 2REG 3a "wspawn" 3REG 3b "split" NONE 3c "join" NONE \end{verbatim} @@ -352,6 +352,15 @@ format, which can be fixed point or floating point. \end{tabular} \end{center} +\subsection{Warp Control} +\begin{center} +\begin{tabular}{cl} +\textbf{Instruction}&\textbf{Description}\\ +\hline +\texttt{wspawn} \%dest, \%pc, \%src&Create new warp, copying \%src in current warp to to \%dest in new warp.\\ +\end{tabular} +\end{center} + \subsection{User/Kernel Interteraction} \begin{center} diff --git a/src/instruction.cpp b/src/instruction.cpp index ea486061..68a4febf 100644 --- a/src/instruction.cpp +++ b/src/instruction.cpp @@ -80,7 +80,7 @@ Instruction::InstTableEntry Instruction::instTable[] = { {"fmul", false, false, false, false, AC_3REG, ITYPE_FPMUL }, {"fdiv", false, false, false, false, AC_3REG, ITYPE_FPDIV }, {"fneg", false, false, false, false, AC_2REG, ITYPE_FPBASIC }, - {"wspawn", false, false, true, false, AC_2REGSRC, ITYPE_NULL }, + {"wspawn", false, false, true, false, AC_3REG, ITYPE_NULL }, {"split", false, false, true, false, AC_NONE, ITYPE_NULL }, {"join", false, false, true, false, AC_NONE, ITYPE_NULL }, {NULL,false,false,false,false,AC_NONE,ITYPE_NULL}/////// End of table.