Port bones.gc math to GOAL (#3425)

Reverse engineer the skinning matrix calculation and port to GOAL. This
is about 3x faster than the MIPS2c version.

As usual, there is a `*use-new-bones*` flag to go back to the old
version.

Fix for a bug in the compiler's `.div.vf` implementation (only happens
if src/dst are the same), and fix for a typo in the register allocator
that would sometimes cause it not to consider xmm8-xmm15.
This commit is contained in:
water111
2024-03-15 20:31:11 -04:00
committed by GitHub
parent 5a8b4e81f9
commit 82fb2cc26a
6 changed files with 892 additions and 39 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ void print_allocate_input(const AllocationInput& in) {
}
} else {
for (const auto& instruction : in.instructions) {
lg::print(" [{:3d}] {}\n", instruction.print());
lg::print(" {}\n", instruction.print());
}
}
lg::print("[RegAlloc] Debug Input Constraints:\n");