Compiler - Implementing more VU Instructions (Part 1 of 2) (#221)

* A little project cleanup

* Script to grep decompiler results

* Compiler: Implement VNOP -> FNOP (.nop.vf)


temp: test new addition

* Compiler: Implement VMUL.xyzw (.mul.vf)


squash: cleaning up files i don't want to accidentally stage

* Compiler: Implement V[ADD|SUB|MUL].dest instructions

* Compiler:  Implement V[ADD|SUB|MUL][x|y|w|z].dest instructions

* Compiler: Implement V[MIN|MAX]{[x|y|z|w]}.dest instructions

* Compiler: Implement V[ABS]{[x|y|z|w]}.dest instructions

* Cleanup review feedback before adding tests and docs

* Tests: Added missing emitter tests

* tests/compiler: Comprehensively test all new instructions

* docs: Add documentation for newly supported operations

* Remove unused vector-h function

* Address review feedback
This commit is contained in:
Tyler Wilding
2021-02-05 12:00:17 -08:00
committed by GitHub
parent 2436a8a541
commit 65206823ef
31 changed files with 1154 additions and 67 deletions
+8
View File
@@ -34,6 +34,14 @@ std::string escaped_string(const std::string& in) {
return result;
}
std::string CompilerTestRunner::test_file_name(std::string templateStr) {
const ::testing::TestInfo* const test_info =
::testing::UnitTest::GetInstance()->current_test_info();
std::string outFile = fmt::format(templateStr, test_info->name());
std::replace(outFile.begin(), outFile.end(), '/', '_');
return outFile;
}
void CompilerTestRunner::run_static_test(inja::Environment& env,
std::string& testCategory,
const std::string& test_file,