Added FFMA asserts

This commit is contained in:
David Marcec 2018-09-01 18:45:14 +10:00
parent c69dc5acf9
commit b89fc407d7
2 changed files with 11 additions and 0 deletions

View File

@ -399,8 +399,12 @@ union Instruction {
} flow; } flow;
union { union {
BitField<47, 1, u64> cc;
BitField<48, 1, u64> negate_b; BitField<48, 1, u64> negate_b;
BitField<49, 1, u64> negate_c; BitField<49, 1, u64> negate_c;
BitField<50, 1, u64> saturate;
BitField<51, 2, u64> tab5980_1;
BitField<53, 2, u64> tab5980_0;
} ffma; } ffma;
union { union {

View File

@ -1436,6 +1436,13 @@ private:
std::string op_b = instr.ffma.negate_b ? "-" : ""; std::string op_b = instr.ffma.negate_b ? "-" : "";
std::string op_c = instr.ffma.negate_c ? "-" : ""; std::string op_c = instr.ffma.negate_c ? "-" : "";
ASSERT_MSG(instr.ffma.saturate == 0, "FFMA Saturate not implemented");
ASSERT_MSG(instr.ffma.cc == 0, "FFMA cc not implemented");
ASSERT_MSG(instr.ffma.tab5980_0 == 0, "FFMA tab5980_0({}) not implemented",
instr.ffma.tab5980_0.Value());
ASSERT_MSG(instr.ffma.tab5980_1 == 0, "FFMA tab5980_1({}) not implemented",
instr.ffma.tab5980_1.Value());
switch (opcode->GetId()) { switch (opcode->GetId()) {
case OpCode::Id::FFMA_CR: { case OpCode::Id::FFMA_CR: {
op_b += regs.GetUniform(instr.cbuf34.index, instr.cbuf34.offset, op_b += regs.GetUniform(instr.cbuf34.index, instr.cbuf34.offset,