Merge pull request #1216 from ogniK5377/ffma-assert
Added FFMA asserts and missing fields
This commit is contained in:
commit
9c206fe94d
2 changed files with 9 additions and 0 deletions
|
@ -403,8 +403,11 @@ 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<51, 2, u64> tab5980_1;
|
||||||
|
BitField<53, 2, u64> tab5980_0;
|
||||||
} ffma;
|
} ffma;
|
||||||
|
|
||||||
union {
|
union {
|
||||||
|
|
|
@ -1445,6 +1445,12 @@ 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.cc == 0, "FFMA cc not implemented");
|
||||||
|
ASSERT_MSG(instr.ffma.tab5980_0 == 1, "FFMA tab5980_0({}) not implemented",
|
||||||
|
instr.ffma.tab5980_0.Value()); // Seems to be 1 by default based on SMO
|
||||||
|
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,
|
||||||
|
|
Loading…
Reference in a new issue