Fix damage to trap instruction caused by warp correctness bugfixes.
This commit is contained in:
@@ -281,11 +281,11 @@ void Instruction::executeOn(Warp &c) {
|
|||||||
break;
|
break;
|
||||||
case ISNEG: pReg[pdest] = (1ll<<(wordSz*8 - 1))®[rsrc[0]];
|
case ISNEG: pReg[pdest] = (1ll<<(wordSz*8 - 1))®[rsrc[0]];
|
||||||
break;
|
break;
|
||||||
case HALT: D(3, "=== EXECUTING halt ===");
|
case HALT: c.activeThreads = 0;
|
||||||
c.activeThreads = 0;
|
|
||||||
nextActiveThreads = 0;
|
nextActiveThreads = 0;
|
||||||
break;
|
break;
|
||||||
case TRAP: c.interrupt(0);
|
case TRAP: c.interrupt(0);
|
||||||
|
nextPc = c.core->interruptEntry;
|
||||||
break;
|
break;
|
||||||
case JMPRU: c.supervisorMode = false;
|
case JMPRU: c.supervisorMode = false;
|
||||||
if (!pcSet) nextPc = reg[rsrc[0]];
|
if (!pcSet) nextPc = reg[rsrc[0]];
|
||||||
|
|||||||
Reference in New Issue
Block a user