nv50/ir: add MEMBAR emission for GM107

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Samuel Pitoiset 2016-02-13 22:06:15 +01:00
parent a150101125
commit d11266aa06

View file

@ -193,6 +193,8 @@ private:
void emitNOP();
void emitKIL();
void emitOUT();
void emitMEMBAR();
};
/*******************************************************************************
@ -2627,6 +2629,13 @@ CodeEmitterGM107::emitOUT()
emitGPR (0x00, insn->def(0));
}
void
CodeEmitterGM107::emitMEMBAR()
{
emitInsn (0xef980000);
emitField(0x08, 2, insn->subOp >> 2);
}
/*******************************************************************************
* assembler front-end
******************************************************************************/
@ -2926,6 +2935,9 @@ CodeEmitterGM107::emitInstruction(Instruction *i)
case OP_RESTART:
emitOUT();
break;
case OP_MEMBAR:
emitMEMBAR();
break;
default:
assert(!"invalid opcode");
emitNOP();