mirror of
https://github.com/open-goal/jak-project
synced 2026-09-05 02:55:51 -04:00
d/jx: Disassemble and compare VU programs, add reference tests, create a diff report (#4406)
All VU programs are unchanged except: - `ocean-near-vu1` DIFFERENT - `sparks-vu1` NEW - `sprite-glow-vu1` DIFFERENT - `tnear-vu1` DIFFERENT And `hfrag`, `ocean` and `ocean-texture` have been removed. A full breakdown: ``` ================================================================================ Checking: background-vu0.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: bones-vu0.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: collide-vu0.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: emerc-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: etie-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: etn-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: foreground-vu0.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: generic-vu0.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: generic-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: merc-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: mercneric-vu0.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: ocean-mid-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: ocean-near-vu1.txt ================================================================================ !!! DIFFERENT !!! --- ocean-near-vu1.txt +++ ../jak3/ocean-near-vu1.txt @@ -78,10 +78,20 @@ .word 0x2ff .word 0x800206bc .word 0x2ff +.word 0x903100a +.word 0x2ff +.word 0x884100a +.word 0x2ff .word 0x80050032 .word 0x2ff .word 0x800701f2 .word 0x2ff +.word 0x1fc1820 +.word 0x2ff +.word 0x1fd1821 +.word 0x2ff +.word 0x1fe2020 +.word 0x2ff .word 0x1f82922 .word 0x2ff .word 0x1f92925 @@ -91,23 +101,23 @@ .word 0x1fb292b .word 0x2ff .word 0x1ec292e -.word 0x800601 +.word 0x9c0600 .word 0x1ed2931 -.word 0x800641 +.word 0x9c0641 .word 0x1ee2934 -.word 0x800681 +.word 0x9c0682 .word 0x1ef2937 -.word 0x8006c1 +.word 0x9c06c3 .word 0x1e8293a -.word 0x800301 +.word 0x9d0300 .word 0x3e5c122 -.word 0x800341 +.word 0x9d0341 .word 0x3e5c925 -.word 0x800381 +.word 0x9d0382 .word 0x3e5d128 -.word 0x8003c1 +.word 0x9d03c3 .word 0x3e5d92b -.word 0x800201 +.word 0x9e0200 .word 0x3e5612e .word 0x2ff .word 0x3e56931 @@ -118,12 +128,26 @@ .word 0x2ff .word 0x3e5413a .word 0x2ff +.word 0x80031a32 +.word 0x2ff +.word 0x80042232 +.word 0x2ff .word 0x1005281b .word 0x2ff -.word 0x5a003fec +.word 0x5a003fe7 .word 0x2ff .word 0x80073ff2 .word 0x2ff +.word 0x843100a +.word 0x2ff +.word 0x824100a +.word 0x2ff +.word 0x1fc1820 +.word 0x2ff +.word 0x1fd1821 +.word 0x2ff +.word 0x1fe2020 +.word 0x2ff .word 0x1f82922 .word 0x2ff .word 0x1f92925 @@ -133,23 +157,23 @@ .word 0x1fb292b .word 0x2ff .word 0x1ec292e -.word 0x800601 +.word 0x9c0600 .word 0x1ed2931 -.word 0x800641 +.word 0x9c0641 .word 0x1ee2934 -.word 0x800681 +.word 0x9c0682 .word 0x1ef2937 -.word 0x8006c1 +.word 0x9c06c3 .word 0x1e8293a -.word 0x800301 +.word 0x9d0300 .word 0x3e5c122 -.word 0x800341 +.word 0x9d0341 .word 0x3e5c925 -.word 0x800381 +.word 0x9d0382 .word 0x3e5d128 -.word 0x8003c1 +.word 0x9d03c3 .word 0x3e5d92b -.word 0x800201 +.word 0x9e0200 .word 0x3e5612e .word 0x2ff .word 0x3e56931 ================================================================================ Checking: shadow-vu0.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: shadow-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: shrub-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: sparks-vu1.txt ================================================================================ !!! MISSING: ../jak3/sparks-vu1.txt !!! MISSING: sparks-vu1.txt does not exist in ../jak3 ================================================================================ Checking: sprite-distort-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: sprite-glow-vu1.txt ================================================================================ !!! DIFFERENT !!! --- sprite-glow-vu1.txt +++ ../jak3/sprite-glow-vu1.txt @@ -1,4 +1,4 @@ -.word 0x1005031e +.word 0x10050320 .word 0x2ff .word 0x1f903dc .word 0x2ff @@ -66,17 +66,17 @@ .word 0x2ff .word 0x1ed2004 .word 0x1042101 -.word 0x3e54845 +.word 0x3e54844 .word 0x5b1159 .word 0x8025033c .word 0x410083 -.word 0x3e55046 +.word 0x3e55045 .word 0x20025c -.word 0x3e55847 -.word 0x2ff -.word 0x3e56048 +.word 0x3e55846 +.word 0x2ff +.word 0x3e56047 .word 0x1002117 -.word 0x3e56849 +.word 0x3e56848 .word 0x2ff .word 0x80000030 .word 0x290247 @@ -178,7 +178,7 @@ .word 0x18aa52f .word 0x80000030 .word 0x1e5f1bf -.word 0x3e5184c +.word 0x3e5184b .word 0x1e5fc0a .word 0x3c5580b .word 0x191a46c @@ -230,33 +230,33 @@ .word 0x1ed697d .word 0x80000030 .word 0x1ee717d -.word 0x385583e +.word 0x385583d .word 0x1f1897d -.word 0x385603f +.word 0x385603e .word 0x1f2917d -.word 0x3856840 +.word 0x385683f .word 0x1f3997d -.word 0x3857041 +.word 0x3857040 .word 0x1f4a17d -.word 0x3858819 -.word 0x2ff -.word 0x385901b +.word 0x3858818 +.word 0x2ff +.word 0x385901a .word 0x2ff .word 0x3859808 .word 0x2ff .word 0x385a009 .word 0x2ff -.word 0x385584e -.word 0x2ff -.word 0x3856050 -.word 0x2ff -.word 0x3856852 -.word 0x2ff -.word 0x3857054 +.word 0x385584d +.word 0x2ff +.word 0x385604f +.word 0x2ff +.word 0x3856851 +.word 0x2ff +.word 0x3857053 .word 0x2ff .word 0x80002efc .word 0x2ff -.word 0x10010691 +.word 0x10010694 .word 0x2ff .word 0x52001f8c .word 0x2ff ================================================================================ Checking: sprite-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: tfrag-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: tie-near-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: tie-vu1.txt ================================================================================ OK: Files are the same. ================================================================================ Checking: tnear-vu1.txt ================================================================================ !!! DIFFERENT !!! --- tnear-vu1.txt +++ ../jak3/tnear-vu1.txt @@ -1421,9 +1421,9 @@ .word 0x1916800 .word 0x400403 .word 0x40000008 +.word 0x2ff +.word 0x1927000 .word 0x400443 -.word 0x1927000 -.word 0x2ff .word 0x3eb802d .word 0x2ff .word 0x3eb882e @@ -1435,39 +1435,39 @@ .word 0x1916948 .word 0x400403 .word 0x40000001 +.word 0x2ff +.word 0x1927148 .word 0x400443 -.word 0x1927148 -.word 0x2ff .word 0x3eba02a .word 0x400483 .word 0x3eba82b +.word 0x2ff +.word 0x3ebb02c +.word 0x2ff +.word 0x1f4581d .word 0x1998407 -.word 0x3ebb02c +.word 0x1f55820 .word 0x1998c47 -.word 0x1f4581d -.word 0x1f6e93c -.word 0x1f55820 +.word 0x3eb6027 .word 0x1999487 -.word 0x3eb6027 -.word 0x191876f .word 0x3eb6828 -.word 0x19187ab +.word 0x2ff .word 0x3eb801e .word 0x1f4a13c .word 0x3eb8821 .word 0x1f5a93c .word 0x3eb9024 -.word 0x192ef6f +.word 0x1f6e93c .word 0x3eb7029 -.word 0x192f7ab +.word 0x2ff +.word 0x3eba01d +.word 0x2ff +.word 0x3eba820 +.word 0x2ff .word 0x3ebb023 .word 0x2ff .word 0x800e5872 .word 0x2ff -.word 0x3eba01d -.word 0x2ff -.word 0x3eba820 -.word 0x19de97c .word 0x1ff0297 .word 0x2ff .word 0xb0f03fe @@ -1475,7 +1475,7 @@ .word 0x80040032 .word 0x2ff .word 0x420f0007 -.word 0x19de93c +.word 0x2ff .word 0x1006581c .word 0x2ff .word 0x420f0005 @@ -1541,20 +1541,20 @@ .word 0x2c010002 .word 0x2ff .word 0x2c0d0002 -.word 0x2ff +.word 0x3eef87 .word 0x5200080c .word 0x2ff .word 0x1f13002 .word 0x2ff .word 0x52006803 .word 0x2ff -.word 0x80000030 +.word 0x81feebbc .word 0x2ff .word 0x400007e3 .word 0x2ff .word 0x800841f2 .word 0x2ff -.word 0x420a0082 +.word 0x420a0077 .word 0x2ff .word 0x80064072 .word 0x2ff @@ -1570,7 +1570,7 @@ .word 0x2ff .word 0x5200681c .word 0x2ff -.word 0x80000030 +.word 0x81feebbc .word 0x2ff .word 0x420a006e .word 0x2ff @@ -1594,16 +1594,16 @@ .word 0x2ff .word 0x80064772 .word 0x2ff +.word 0x1ec3000 +.word 0x2ff +.word 0x1f43001 +.word 0x2ff .word 0x1f03002 .word 0x2ff -.word 0x1ec3000 -.word 0x2ff -.word 0x1f43001 -.word 0x2ff .word 0x80042072 .word 0x2ff .word 0x80000030 -.word 0x19d842c +.word 0x2ff .word 0x81ec03bc .word 0x1ff632a .word 0x80000030 @@ -1671,14 +1671,14 @@ .word 0x2c010002 .word 0x2ff .word 0x2c0d0002 -.word 0x2ff +.word 0x3eef87 .word 0x500d0818 .word 0x2ff .word 0x1f13802 .word 0x2ff .word 0x5000080c .word 0x2ff -.word 0x80000030 +.word 0x81feebbc .word 0x2ff .word 0x420a0038 .word 0x2ff @@ -1702,7 +1702,7 @@ .word 0x2ff .word 0x80006235 .word 0x2ff -.word 0x420a0038 +.word 0x420a002d .word 0x2ff .word 0x80000030 .word 0x2ff @@ -1795,10 +1795,6 @@ .word 0x80000030 .word 0x2d6f86 .word 0x80000030 -.word 0x3eef87 -.word 0x81feebbc -.word 0x2ff -.word 0x80000030 .word 0x1ec6bac .word 0x80000030 .word 0x1f4adac @@ -1816,25 +1812,3 @@ .word 0x1f6a5a8 .word 0x80000030 .word 0x1f284a8 -.word 0x80000030 -.word 0x3eef47 -.word 0x81fdf3bc -.word 0x2ff -.word 0x80000030 -.word 0x1ed63ac -.word 0x80000030 -.word 0x1f5a5ac -.word 0x80000030 -.word 0x1f184ac -.word 0x800003bf -.word 0x1e0739c -.word 0x80000030 -.word 0x1e0b59c -.word 0x80000030 -.word 0x1e0949c -.word 0x80000030 -.word 0x1ee6bac -.word 0x48005000 -.word 0x1f6adac -.word 0x80000030 -.word 0x1f28cac ```
This commit is contained in:
@@ -3,4 +3,4 @@
|
||||
# Directory of this script
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
|
||||
"$DIR/build/goalc-test" --gtest_color=yes "$@" --gtest_filter="*Draft*" -v
|
||||
"$DIR/build/goalc-test" --gtest_color=yes "$@" --gtest_filter="-*MANUAL_TEST*" # --gtest_filter="*Draft*" -v
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
|
||||
#include "common/util/FileUtil.h"
|
||||
#include "common/util/string_util.h"
|
||||
|
||||
#include "decompiler/VuDisasm/VuDisassembler.h"
|
||||
#include "decompiler/util/DataParser.h"
|
||||
@@ -25,8 +26,8 @@ std::vector<u32> get_test_data(const std::string& name) {
|
||||
}
|
||||
|
||||
std::string get_expected(const std::string& name) {
|
||||
return file_util::read_text_file(
|
||||
file_util::get_file_path({fmt::format("test/decompiler/vu_reference/{}-result.txt", name)}));
|
||||
return str_util::trim(file_util::read_text_file(
|
||||
file_util::get_file_path({fmt::format("test/decompiler/vu_reference/{}-result.txt", name)})));
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -56,7 +57,173 @@ std::string get_expected(const std::string& name) {
|
||||
// }
|
||||
// }
|
||||
|
||||
// TODO - add the jakx tests here, have only compared the programs so far with jak3
|
||||
TEST(VuDisasm, ShadowVu0_JakX) {
|
||||
auto data = get_test_data("jakx/shadow-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/shadow-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, ShadowVu1_JakX) {
|
||||
auto data = get_test_data("jakx/shadow-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/shadow-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanMid_JakX) {
|
||||
auto data = get_test_data("jakx/ocean-mid-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/ocean-mid-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanNear_JakX) {
|
||||
auto data = get_test_data("jakx/ocean-near-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/ocean-near-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, MercnericVu0_JakX) {
|
||||
auto data = get_test_data("jakx/mercneric-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/mercneric-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, GenericVu0_JakX) {
|
||||
auto data = get_test_data("jakx/generic-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/generic-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, GenericVu1_JakX) {
|
||||
auto data = get_test_data("jakx/generic-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/generic-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Merc_JakX) {
|
||||
auto data = get_test_data("jakx/merc-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/merc-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Emerc_JakX) {
|
||||
auto data = get_test_data("jakx/emerc-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/emerc-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, ShrubVu1_JakX) {
|
||||
auto data = get_test_data("jakx/shrub-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/shrub-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Sprite_JakX) {
|
||||
auto data = get_test_data("jakx/sprite-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/sprite-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, SpriteDistort_JakX) {
|
||||
auto data = get_test_data("jakx/sprite-distort-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/sprite-distort-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, SpriteGlow_JakX) {
|
||||
auto data = get_test_data("jakx/sprite-glow-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/sprite-glow-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Sparks_JakX) {
|
||||
auto data = get_test_data("jakx/sparks-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/sparks-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Tfrag_JakX) {
|
||||
auto data = get_test_data("jakx/tfrag-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/tfrag-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, TfragNear_JakX) {
|
||||
auto data = get_test_data("jakx/tnear-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/tnear-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Tie_JakX) {
|
||||
auto data = get_test_data("jakx/tie-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/tie-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, TieNear_JakX) {
|
||||
auto data = get_test_data("jakx/tie-near-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/tie-near-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Etie_JakX) {
|
||||
auto data = get_test_data("jakx/etie-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/etie-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, EtieNear_JakX) {
|
||||
auto data = get_test_data("jakx/etn-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/etn-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, BackgroundVu0_JakX) {
|
||||
auto data = get_test_data("jakx/background-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/background-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, CollideVu0_JakX) {
|
||||
auto data = get_test_data("jakx/collide-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/collide-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, BonesVu0_JakX) {
|
||||
auto data = get_test_data("jakx/bones-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/bones-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, ForegroundVu0_JakX) {
|
||||
auto data = get_test_data("jakx/foreground-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jakx/foreground-vu0"));
|
||||
}
|
||||
|
||||
// TEST(VuDisasm, DumpResults_Jak3_Draft) {
|
||||
// struct VuData {
|
||||
@@ -88,182 +255,182 @@ TEST(VuDisasm, ShadowVu0_Jak3) {
|
||||
auto data = get_test_data("jak3/shadow-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/shadow-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/shadow-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, ShadowVu1_Jak3) {
|
||||
auto data = get_test_data("jak3/shadow-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/shadow-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/shadow-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanTexture_Jak3) {
|
||||
auto data = get_test_data("jak3/ocean-texture-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/ocean-texture-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/ocean-texture-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanMid_Jak3) {
|
||||
auto data = get_test_data("jak3/ocean-mid-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/ocean-mid-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/ocean-mid-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanNear_Jak3) {
|
||||
auto data = get_test_data("jak3/ocean-near-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/ocean-near-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/ocean-near-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanVu0_Jak3) {
|
||||
auto data = get_test_data("jak3/ocean-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/ocean-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/ocean-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, MercnericVu0_Jak3) {
|
||||
auto data = get_test_data("jak3/mercneric-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/mercneric-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/mercneric-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, GenericVu0_Jak3) {
|
||||
auto data = get_test_data("jak3/generic-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/generic-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/generic-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, GenericVu1_Jak3) {
|
||||
auto data = get_test_data("jak3/generic-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/generic-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/generic-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Merc_Jak3) {
|
||||
auto data = get_test_data("jak3/merc-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/merc-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/merc-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Emerc_Jak3) {
|
||||
auto data = get_test_data("jak3/emerc-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/emerc-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/emerc-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, ShrubVu1_Jak3) {
|
||||
auto data = get_test_data("jak3/shrub-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/shrub-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/shrub-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Sprite_Jak3) {
|
||||
auto data = get_test_data("jak3/sprite-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/sprite-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/sprite-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, SpriteDistort_Jak3) {
|
||||
auto data = get_test_data("jak3/sprite-distort-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/sprite-distort-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/sprite-distort-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, SpriteGlow_Jak3) {
|
||||
auto data = get_test_data("jak3/sprite-glow-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/sprite-glow-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/sprite-glow-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Hfrag_Jak3) {
|
||||
auto data = get_test_data("jak3/hfrag-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/hfrag-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/hfrag-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Tfrag_Jak3) {
|
||||
auto data = get_test_data("jak3/tfrag-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/tfrag-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/tfrag-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, TfragNear_Jak3) {
|
||||
auto data = get_test_data("jak3/tnear-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/tnear-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/tnear-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Tie_Jak3) {
|
||||
auto data = get_test_data("jak3/tie-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/tie-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/tie-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, TieNear_Jak3) {
|
||||
auto data = get_test_data("jak3/tie-near-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/tie-near-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/tie-near-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Etie_Jak3) {
|
||||
auto data = get_test_data("jak3/etie-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/etie-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/etie-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, EtieNear_Jak3) {
|
||||
auto data = get_test_data("jak3/etn-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/etn-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/etn-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, BackgroundVu0_Jak3) {
|
||||
auto data = get_test_data("jak3/background-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/background-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/background-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, CollideVu0_Jak3) {
|
||||
auto data = get_test_data("jak3/collide-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/collide-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/collide-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, BonesVu0_Jak3) {
|
||||
auto data = get_test_data("jak3/bones-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/bones-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/bones-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, ForegroundVu0_Jak3) {
|
||||
auto data = get_test_data("jak3/foreground-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak3/foreground-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak3/foreground-vu0"));
|
||||
}
|
||||
|
||||
// TEST(VuDisasm, DumpResults_Jak2) {
|
||||
@@ -296,167 +463,167 @@ TEST(VuDisasm, ShadowVu0_Jak2) {
|
||||
auto data = get_test_data("jak2/shadow-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/shadow-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/shadow-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, ShadowVu1_Jak2) {
|
||||
auto data = get_test_data("jak2/shadow-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/shadow-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/shadow-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanTexture_Jak2) {
|
||||
auto data = get_test_data("jak2/ocean-texture-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/ocean-texture-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/ocean-texture-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanMid_Jak2) {
|
||||
auto data = get_test_data("jak2/ocean-mid-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/ocean-mid-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/ocean-mid-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanNear_Jak2) {
|
||||
auto data = get_test_data("jak2/ocean-near-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/ocean-near-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/ocean-near-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanVu0_Jak2) {
|
||||
auto data = get_test_data("jak2/ocean-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/ocean-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/ocean-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Merc_Jak2) {
|
||||
auto data = get_test_data("jak2/merc-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/merc-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/merc-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Emerc) {
|
||||
auto data = get_test_data("jak2/emerc-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/emerc-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/emerc-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Shrub_Jak2) {
|
||||
auto data = get_test_data("jak2/shrub-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/shrub-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/shrub-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Sprite_Jak2) {
|
||||
auto data = get_test_data("jak2/sprite-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/sprite-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/sprite-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, SpriteDistort_Jak2) {
|
||||
auto data = get_test_data("jak2/sprite-distort-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/sprite-distort-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/sprite-distort-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, SpriteGlow_Jak2) {
|
||||
auto data = get_test_data("jak2/sprite-glow-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/sprite-glow-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/sprite-glow-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Tie_Jak2) {
|
||||
auto data = get_test_data("jak2/tie-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/tie-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/tie-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, etie_Jak2) {
|
||||
auto data = get_test_data("jak2/etie-vu1");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/etie-vu1"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/etie-vu1"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, SpriteDistort) {
|
||||
auto data = get_test_data("sprite-distort");
|
||||
auto data = get_test_data("jak1/sprite-distort");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("sprite-distort"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/sprite-distort"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, BackgroundVu0) {
|
||||
auto data = get_test_data("background-vu0");
|
||||
auto data = get_test_data("jak1/background-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("background-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/background-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, CollideVu0) {
|
||||
auto data = get_test_data("collide-vu0");
|
||||
auto data = get_test_data("jak1/collide-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("collide-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/collide-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, BonesVu0) {
|
||||
auto data = get_test_data("bones-vu0");
|
||||
auto data = get_test_data("jak1/bones-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("bones-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/bones-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, BonesVu0_Jak2) {
|
||||
auto data = get_test_data("jak2/bones-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/bones-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/bones-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, ForegroundVu0_Jak2) {
|
||||
auto data = get_test_data("jak2/foreground-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/foreground-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak2/foreground-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, ShadowVu0) {
|
||||
auto data = get_test_data("shadow-vu0");
|
||||
auto data = get_test_data("jak1/shadow-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("shadow-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/shadow-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanVu0) {
|
||||
auto data = get_test_data("ocean-vu0");
|
||||
auto data = get_test_data("jak1/ocean-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("ocean-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/ocean-vu0"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, GenericVu0) {
|
||||
auto data = get_test_data("generic-vu0");
|
||||
auto data = get_test_data("jak1/generic-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
// disasm.add_label_with_name(48, "JUMP_48");
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("generic-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/generic-vu0"));
|
||||
// fmt::print("{}\n", disasm.to_string_with_cpp(prog, true));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, MercnericVu0) {
|
||||
auto data = get_test_data("mercneric-vu0");
|
||||
auto data = get_test_data("jak1/mercneric-vu0");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
|
||||
// disasm.add_label_with_name(314 - 280, "JUMP_314");
|
||||
// disasm.add_label_with_name(326 - 280, "JUMP_326");
|
||||
@@ -467,7 +634,7 @@ TEST(VuDisasm, MercnericVu0) {
|
||||
// disasm.add_label_with_name(454 - 280, "JUMP_454");
|
||||
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("mercneric-vu0"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/mercneric-vu0"));
|
||||
// disasm.add_label_with_name(0, "vcallms_280");
|
||||
// disasm.add_label_with_name(303 - 280, "vcallms_303");
|
||||
|
||||
@@ -475,14 +642,14 @@ TEST(VuDisasm, MercnericVu0) {
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanTexture) {
|
||||
auto data = get_test_data("ocean-texture");
|
||||
auto data = get_test_data("jak1/ocean-texture");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("ocean-texture"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/ocean-texture"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanMid) {
|
||||
auto data = get_test_data("ocean-mid");
|
||||
auto data = get_test_data("jak1/ocean-mid");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
/*
|
||||
disasm.add_label_with_name(41, "JUMP_41");
|
||||
@@ -494,91 +661,91 @@ TEST(VuDisasm, OceanMid) {
|
||||
*/
|
||||
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("ocean-mid"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/ocean-mid"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, OceanNear) {
|
||||
auto data = get_test_data("ocean-near");
|
||||
auto data = get_test_data("jak1/ocean-near");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
// disasm.add_label_with_name(39, "JUMP_39");
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
// fmt::print("{}\n", disasm.to_string_with_cpp(prog, false));
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("ocean-near"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/ocean-near"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Sky) {
|
||||
auto data = get_test_data("sky");
|
||||
auto data = get_test_data("jak1/sky");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("sky"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/sky"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Shrub) {
|
||||
auto data = get_test_data("shrub");
|
||||
auto data = get_test_data("jak1/shrub");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("shrub"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/shrub"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Shadow) {
|
||||
auto data = get_test_data("shadow");
|
||||
auto data = get_test_data("jak1/shadow");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("shadow"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/shadow"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, TNear) {
|
||||
auto data = get_test_data("tnear");
|
||||
auto data = get_test_data("jak1/tnear");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("tnear"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/tnear"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Sprite) {
|
||||
auto data = get_test_data("sprite");
|
||||
auto data = get_test_data("jak1/sprite");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("sprite"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/sprite"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Tie) {
|
||||
auto data = get_test_data("tie");
|
||||
auto data = get_test_data("jak1/tie");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("tie"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/tie"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Generic) {
|
||||
auto data = get_test_data("generic");
|
||||
auto data = get_test_data("jak1/generic");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("generic"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/generic"));
|
||||
// fmt::print("{}\n", disasm.to_string_with_cpp(prog, false));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, TieNear) {
|
||||
auto data = get_test_data("tie-near");
|
||||
auto data = get_test_data("jak1/tie-near");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("tie-near"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/tie-near"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Tfrag) {
|
||||
auto data = get_test_data("tfrag");
|
||||
auto data = get_test_data("jak1/tfrag");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("tfrag"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/tfrag"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, Merc) {
|
||||
auto data = get_test_data("merc");
|
||||
auto data = get_test_data("jak1/merc");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
auto prog = disasm.disassemble(data.data(), data.size() * 4, false);
|
||||
EXPECT_EQ(disasm.to_string(prog), get_expected("merc"));
|
||||
EXPECT_EQ(str_util::trim(disasm.to_string(prog)), get_expected("jak1/merc"));
|
||||
}
|
||||
|
||||
TEST(VuDisasm, MercToC) {
|
||||
auto data = get_test_data("merc");
|
||||
auto data = get_test_data("jak1/merc");
|
||||
VuDisassembler disasm(VuDisassembler::VuKind::VU1);
|
||||
disasm.add_label_with_name(0x1a1, "JUMP_1A1");
|
||||
disasm.add_label_with_name(0x48e, "JUMP_48E");
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
sq.xyzw vf24, 4(vi00) | maxw.xyzw vf01, vf00, vf00
|
||||
sq.xyzw vf25, 5(vi00) | nop
|
||||
sq.xyzw vf26, 6(vi00) | nop
|
||||
sq.xyzw vf27, 7(vi00) | nop
|
||||
sq.xyzw vf16, 0(vi00) | mulz.xyzw vf24, vf01, vf24
|
||||
sq.xyzw vf17, 1(vi00) | mulz.xyzw vf25, vf01, vf25
|
||||
sq.xyzw vf18, 2(vi00) | mulz.xyzw vf26, vf01, vf26
|
||||
sq.xyzw vf19, 3(vi00) | mulz.xyzw vf27, vf01, vf27
|
||||
sq.xyzw vf24, 12(vi00) | nop
|
||||
sq.xyzw vf25, 13(vi00) | nop
|
||||
sq.xyzw vf26, 14(vi00) | nop
|
||||
sq.xyzw vf27, 15(vi00) | nop
|
||||
sq.xyzw vf28, 8(vi00) | nop
|
||||
sq.xyzw vf29, 9(vi00) | nop
|
||||
sq.xyzw vf30, 10(vi00) | nop
|
||||
sq.xyzw vf31, 11(vi00) | nop :e
|
||||
iaddiu vi02, vi00, 0xf0 | nop
|
||||
lq.xyzw vf16, 0(vi00) | nop
|
||||
lq.xyzw vf17, 1(vi00) | nop
|
||||
lq.xyzw vf18, 2(vi00) | nop
|
||||
lq.xyzw vf19, 3(vi00) | nop
|
||||
lq.xyzw vf24, 12(vi00) | nop
|
||||
lq.xyzw vf25, 13(vi00) | nop
|
||||
lq.xyzw vf26, 14(vi00) | nop :e
|
||||
lq.xyzw vf27, 15(vi00) | nop
|
||||
lq.xyzw vf16, 0(vi00) | nop
|
||||
lq.xyzw vf17, 1(vi00) | nop
|
||||
lq.xyzw vf18, 2(vi00) | nop :e
|
||||
lq.xyzw vf19, 3(vi00) | nop
|
||||
lq.xyzw vf24, 4(vi00) | nop
|
||||
lq.xyzw vf25, 5(vi00) | nop
|
||||
lq.xyzw vf26, 6(vi00) | nop :e
|
||||
lq.xyzw vf27, 7(vi00) | nop
|
||||
lq.xyzw vf24, 12(vi00) | mulax.xyzw ACC, vf16, vf02
|
||||
lq.xyzw vf25, 13(vi00) | madday.xyzw ACC, vf17, vf02
|
||||
lq.xyzw vf26, 14(vi00) | maddaz.xyzw ACC, vf18, vf02
|
||||
lq.xyzw vf27, 15(vi00) | msubaw.xyzw ACC, vf19, vf00
|
||||
nop | maddw.xyzw vf04, vf01, vf02
|
||||
nop | mulax.xyzw ACC, vf24, vf02
|
||||
nop | madday.xyzw ACC, vf25, vf02
|
||||
nop | maddaz.xyzw ACC, vf26, vf02 :e
|
||||
fmand vi01, vi02 | maddw.xyzw vf06, vf27, vf00
|
||||
lq.xyzw vf16, 0(vi00) | nop
|
||||
lq.xyzw vf17, 1(vi00) | nop
|
||||
lq.xyzw vf18, 2(vi00) | nop
|
||||
lq.xyzw vf19, 3(vi00) | nop
|
||||
lq.xyzw vf28, 8(vi00) | mulax.xyzw ACC, vf16, vf02
|
||||
lq.xyzw vf29, 9(vi00) | madday.xyzw ACC, vf17, vf02
|
||||
lq.xyzw vf30, 10(vi00) | maddaz.xyzw ACC, vf18, vf02
|
||||
lq.xyzw vf31, 11(vi00) | msubaw.xyzw ACC, vf19, vf00
|
||||
lq.xyzw vf24, 4(vi00) | maddw.xyzw vf04, vf01, vf02
|
||||
lq.xyzw vf25, 5(vi00) | mulax.xyzw ACC, vf28, vf02
|
||||
lq.xyzw vf26, 6(vi00) | madday.xyzw ACC, vf29, vf02
|
||||
lq.xyzw vf27, 7(vi00) | maddaz.xyzw ACC, vf30, vf02
|
||||
fmand vi01, vi02 | maddw.xyzw vf05, vf31, vf00
|
||||
nop | mulax.xyzw ACC, vf24, vf02
|
||||
nop | madday.xyzw ACC, vf25, vf02
|
||||
nop | maddaz.xyzw ACC, vf26, vf02 :e
|
||||
nop | maddw.xyzw vf06, vf27, vf00
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
.word 0x3e0c004
|
||||
.word 0x1e00053
|
||||
.word 0x3e0c805
|
||||
.word 0x2ff
|
||||
.word 0x3e0d006
|
||||
.word 0x2ff
|
||||
.word 0x3e0d807
|
||||
.word 0x2ff
|
||||
.word 0x3e08000
|
||||
.word 0x1f80e1a
|
||||
.word 0x3e08801
|
||||
.word 0x1f90e5a
|
||||
.word 0x3e09002
|
||||
.word 0x1fa0e9a
|
||||
.word 0x3e09803
|
||||
.word 0x1fb0eda
|
||||
.word 0x3e0c00c
|
||||
.word 0x2ff
|
||||
.word 0x3e0c80d
|
||||
.word 0x2ff
|
||||
.word 0x3e0d00e
|
||||
.word 0x2ff
|
||||
.word 0x3e0d80f
|
||||
.word 0x2ff
|
||||
.word 0x3e0e008
|
||||
.word 0x2ff
|
||||
.word 0x3e0e809
|
||||
.word 0x2ff
|
||||
.word 0x3e0f00a
|
||||
.word 0x2ff
|
||||
.word 0x3e0f80b
|
||||
.word 0x400002ff
|
||||
.word 0x100200f0
|
||||
.word 0x2ff
|
||||
.word 0x1f00000
|
||||
.word 0x2ff
|
||||
.word 0x1f10001
|
||||
.word 0x2ff
|
||||
.word 0x1f20002
|
||||
.word 0x2ff
|
||||
.word 0x1f30003
|
||||
.word 0x2ff
|
||||
.word 0x1f8000c
|
||||
.word 0x2ff
|
||||
.word 0x1f9000d
|
||||
.word 0x2ff
|
||||
.word 0x1fa000e
|
||||
.word 0x400002ff
|
||||
.word 0x1fb000f
|
||||
.word 0x2ff
|
||||
.word 0x1f00000
|
||||
.word 0x2ff
|
||||
.word 0x1f10001
|
||||
.word 0x2ff
|
||||
.word 0x1f20002
|
||||
.word 0x400002ff
|
||||
.word 0x1f30003
|
||||
.word 0x2ff
|
||||
.word 0x1f80004
|
||||
.word 0x2ff
|
||||
.word 0x1f90005
|
||||
.word 0x2ff
|
||||
.word 0x1fa0006
|
||||
.word 0x400002ff
|
||||
.word 0x1fb0007
|
||||
.word 0x2ff
|
||||
.word 0x1f8000c
|
||||
.word 0x1e281bc
|
||||
.word 0x1f9000d
|
||||
.word 0x1e288bd
|
||||
.word 0x1fa000e
|
||||
.word 0x1e290be
|
||||
.word 0x1fb000f
|
||||
.word 0x1e098ff
|
||||
.word 0x80000030
|
||||
.word 0x1e2090b
|
||||
.word 0x80000030
|
||||
.word 0x1e2c1bc
|
||||
.word 0x80000030
|
||||
.word 0x1e2c8bd
|
||||
.word 0x80000030
|
||||
.word 0x41e2d0be
|
||||
.word 0x34011000
|
||||
.word 0x1e0d98b
|
||||
.word 0x1f00000
|
||||
.word 0x2ff
|
||||
.word 0x1f10001
|
||||
.word 0x2ff
|
||||
.word 0x1f20002
|
||||
.word 0x2ff
|
||||
.word 0x1f30003
|
||||
.word 0x2ff
|
||||
.word 0x1fc0008
|
||||
.word 0x1e281bc
|
||||
.word 0x1fd0009
|
||||
.word 0x1e288bd
|
||||
.word 0x1fe000a
|
||||
.word 0x1e290be
|
||||
.word 0x1ff000b
|
||||
.word 0x1e098ff
|
||||
.word 0x1f80004
|
||||
.word 0x1e2090b
|
||||
.word 0x1f90005
|
||||
.word 0x1e2e1bc
|
||||
.word 0x1fa0006
|
||||
.word 0x1e2e8bd
|
||||
.word 0x1fb0007
|
||||
.word 0x1e2f0be
|
||||
.word 0x34011000
|
||||
.word 0x1e0f94b
|
||||
.word 0x80000030
|
||||
.word 0x1e2c1bc
|
||||
.word 0x80000030
|
||||
.word 0x1e2c8bd
|
||||
.word 0x80000030
|
||||
.word 0x41e2d0be
|
||||
.word 0x80000030
|
||||
.word 0x1e0d98b
|
||||
@@ -0,0 +1,55 @@
|
||||
nop | mulax.xyzw ACC, vf05, vf01
|
||||
nop | madday.xyzw ACC, vf06, vf01
|
||||
nop | maddaz.xyzw ACC, vf07, vf01
|
||||
nop | maddw.xyzw vf13, vf08, vf01
|
||||
nop | mulax.xyzw ACC, vf05, vf02
|
||||
nop | madday.xyzw ACC, vf06, vf02
|
||||
nop | maddaz.xyzw ACC, vf07, vf02
|
||||
nop | maddw.xyzw vf14, vf08, vf02
|
||||
nop | mulax.xyzw ACC, vf05, vf03
|
||||
nop | madday.xyzw ACC, vf06, vf03
|
||||
nop | maddaz.xyzw ACC, vf07, vf03
|
||||
nop | maddw.xyzw vf15, vf08, vf03
|
||||
nop | mulax.xyzw ACC, vf05, vf04
|
||||
nop | madday.xyzw ACC, vf06, vf04
|
||||
nop | maddaz.xyzw ACC, vf07, vf04
|
||||
nop | maddw.xyzw vf16, vf08, vf04
|
||||
nop | opmula.xyz ACC, vf14, vf15
|
||||
nop | opmsub.xyz vf09, vf15, vf14
|
||||
nop | opmula.xyz ACC, vf15, vf13
|
||||
nop | opmsub.xyz vf10, vf13, vf15
|
||||
nop | opmula.xyz ACC, vf13, vf14
|
||||
nop | mul.xyz vf12, vf13, vf09
|
||||
nop | opmsub.xyz vf11, vf14, vf13
|
||||
nop | mulax.xyzw ACC, vf28, vf13
|
||||
nop | madday.xyzw ACC, vf29, vf13
|
||||
nop | maddaz.xyzw ACC, vf30, vf13
|
||||
nop | maddw.xyzw vf13, vf31, vf13
|
||||
nop | mulax.w ACC, vf00, vf12
|
||||
nop | madday.w ACC, vf00, vf12
|
||||
nop | maddz.w vf12, vf00, vf12
|
||||
nop | mulax.xyzw ACC, vf28, vf14
|
||||
nop | madday.xyzw ACC, vf29, vf14
|
||||
nop | maddaz.xyzw ACC, vf30, vf14
|
||||
div Q, vf00.w, vf12.w | maddw.xyzw vf14, vf31, vf14
|
||||
nop | mulax.xyzw ACC, vf28, vf15
|
||||
nop | madday.xyzw ACC, vf29, vf15
|
||||
nop | maddaz.xyzw ACC, vf30, vf15
|
||||
nop | maddw.xyzw vf15, vf31, vf15
|
||||
nop | mulax.xyzw ACC, vf28, vf16
|
||||
nop | madday.xyzw ACC, vf29, vf16
|
||||
nop | maddaz.xyzw ACC, vf30, vf16
|
||||
nop | maddw.xyzw vf16, vf31, vf16
|
||||
nop | mul.xyzw vf09, vf09, Q
|
||||
nop | mul.xyzw vf10, vf10, Q
|
||||
nop | mul.xyzw vf11, vf11, Q
|
||||
nop | mulax.xyzw ACC, vf25, vf09
|
||||
nop | madday.xyzw ACC, vf26, vf09
|
||||
nop | maddz.xyzw vf09, vf27, vf09
|
||||
nop | mulax.xyzw ACC, vf25, vf10
|
||||
nop | madday.xyzw ACC, vf26, vf10
|
||||
nop | maddz.xyzw vf10, vf27, vf10
|
||||
nop | mulax.xyzw ACC, vf25, vf11
|
||||
nop | madday.xyzw ACC, vf26, vf11 :e
|
||||
nop | maddz.xyzw vf11, vf27, vf11
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
.word 0x80000030
|
||||
.word 0x1e129bc
|
||||
.word 0x80000030
|
||||
.word 0x1e130bd
|
||||
.word 0x80000030
|
||||
.word 0x1e138be
|
||||
.word 0x80000030
|
||||
.word 0x1e1434b
|
||||
.word 0x80000030
|
||||
.word 0x1e229bc
|
||||
.word 0x80000030
|
||||
.word 0x1e230bd
|
||||
.word 0x80000030
|
||||
.word 0x1e238be
|
||||
.word 0x80000030
|
||||
.word 0x1e2438b
|
||||
.word 0x80000030
|
||||
.word 0x1e329bc
|
||||
.word 0x80000030
|
||||
.word 0x1e330bd
|
||||
.word 0x80000030
|
||||
.word 0x1e338be
|
||||
.word 0x80000030
|
||||
.word 0x1e343cb
|
||||
.word 0x80000030
|
||||
.word 0x1e429bc
|
||||
.word 0x80000030
|
||||
.word 0x1e430bd
|
||||
.word 0x80000030
|
||||
.word 0x1e438be
|
||||
.word 0x80000030
|
||||
.word 0x1e4440b
|
||||
.word 0x80000030
|
||||
.word 0x1cf72fe
|
||||
.word 0x80000030
|
||||
.word 0x1ce7a6e
|
||||
.word 0x80000030
|
||||
.word 0x1cd7afe
|
||||
.word 0x80000030
|
||||
.word 0x1cf6aae
|
||||
.word 0x80000030
|
||||
.word 0x1ce6afe
|
||||
.word 0x80000030
|
||||
.word 0x1c96b2a
|
||||
.word 0x80000030
|
||||
.word 0x1cd72ee
|
||||
.word 0x80000030
|
||||
.word 0x1ede1bc
|
||||
.word 0x80000030
|
||||
.word 0x1ede8bd
|
||||
.word 0x80000030
|
||||
.word 0x1edf0be
|
||||
.word 0x80000030
|
||||
.word 0x1edfb4b
|
||||
.word 0x80000030
|
||||
.word 0x2c01bc
|
||||
.word 0x80000030
|
||||
.word 0x2c00bd
|
||||
.word 0x80000030
|
||||
.word 0x2c030a
|
||||
.word 0x80000030
|
||||
.word 0x1eee1bc
|
||||
.word 0x80000030
|
||||
.word 0x1eee8bd
|
||||
.word 0x80000030
|
||||
.word 0x1eef0be
|
||||
.word 0x81ec03bc
|
||||
.word 0x1eefb8b
|
||||
.word 0x80000030
|
||||
.word 0x1efe1bc
|
||||
.word 0x80000030
|
||||
.word 0x1efe8bd
|
||||
.word 0x80000030
|
||||
.word 0x1eff0be
|
||||
.word 0x80000030
|
||||
.word 0x1effbcb
|
||||
.word 0x80000030
|
||||
.word 0x1f0e1bc
|
||||
.word 0x80000030
|
||||
.word 0x1f0e8bd
|
||||
.word 0x80000030
|
||||
.word 0x1f0f0be
|
||||
.word 0x80000030
|
||||
.word 0x1f0fc0b
|
||||
.word 0x80000030
|
||||
.word 0x1e04a5c
|
||||
.word 0x80000030
|
||||
.word 0x1e0529c
|
||||
.word 0x80000030
|
||||
.word 0x1e05adc
|
||||
.word 0x80000030
|
||||
.word 0x1e9c9bc
|
||||
.word 0x80000030
|
||||
.word 0x1e9d0bd
|
||||
.word 0x80000030
|
||||
.word 0x1e9da4a
|
||||
.word 0x80000030
|
||||
.word 0x1eac9bc
|
||||
.word 0x80000030
|
||||
.word 0x1ead0bd
|
||||
.word 0x80000030
|
||||
.word 0x1eada8a
|
||||
.word 0x80000030
|
||||
.word 0x1ebc9bc
|
||||
.word 0x80000030
|
||||
.word 0x41ebd0bd
|
||||
.word 0x80000030
|
||||
.word 0x1ebdaca
|
||||
@@ -0,0 +1,91 @@
|
||||
nop | mulaw.xyzw ACC, vf04, vf00
|
||||
nop | maddax.xyzw ACC, vf01, vf05
|
||||
nop | madday.xyzw ACC, vf02, vf05
|
||||
nop | maddz.xyz vf05, vf03, vf05
|
||||
nop | mulaw.xyzw ACC, vf04, vf00
|
||||
nop | maddax.xyzw ACC, vf01, vf06
|
||||
nop | madday.xyzw ACC, vf02, vf06
|
||||
nop | maddz.xyz vf06, vf03, vf06
|
||||
nop | mulaw.xyzw ACC, vf04, vf00
|
||||
nop | maddax.xyzw ACC, vf01, vf07
|
||||
nop | madday.xyzw ACC, vf02, vf07
|
||||
nop | maddz.xyz vf07, vf03, vf07
|
||||
nop | mulaw.xyzw ACC, vf04, vf00
|
||||
nop | maddax.xyzw ACC, vf01, vf08
|
||||
nop | madday.xyzw ACC, vf02, vf08
|
||||
nop | maddz.xyz vf08, vf03, vf08
|
||||
nop | subw.xyz vf09, vf05, vf05
|
||||
nop | subw.xyz vf11, vf06, vf06
|
||||
nop | subw.xyz vf13, vf07, vf07
|
||||
nop | subw.xyz vf15, vf08, vf08
|
||||
nop | addw.xyz vf10, vf05, vf05
|
||||
nop | addw.xyz vf12, vf06, vf06
|
||||
nop | addw.xyz vf14, vf07, vf07
|
||||
nop | addw.xyz vf16, vf08, vf08
|
||||
nop | ftoi0.xyzw vf09, vf09
|
||||
nop | ftoi0.xyzw vf11, vf11
|
||||
nop | ftoi0.xyzw vf13, vf13
|
||||
nop | ftoi0.xyzw vf15, vf15
|
||||
nop | ftoi0.xyzw vf10, vf10
|
||||
nop | ftoi0.xyzw vf12, vf12
|
||||
nop | ftoi0.xyzw vf14, vf14 :e
|
||||
nop | ftoi0.xyzw vf16, vf16
|
||||
nop | itof0.xyzw vf20, vf20
|
||||
nop | itof12.xyzw vf17, vf17
|
||||
nop | itof12.xyzw vf18, vf18
|
||||
nop | itof12.xyzw vf19, vf19
|
||||
nop | add.xyz vf20, vf20, vf23
|
||||
nop | itof12.xyzw vf21, vf21
|
||||
nop | mulax.xyzw ACC, vf01, vf20
|
||||
nop | madday.xyzw ACC, vf02, vf20
|
||||
nop | maddaz.xyzw ACC, vf03, vf20
|
||||
nop | maddw.xyz vf20, vf04, vf00
|
||||
nop | mulax.xyzw ACC, vf01, vf17
|
||||
nop | madday.xyzw ACC, vf02, vf17
|
||||
nop | maddaz.xyzw ACC, vf03, vf17
|
||||
nop | maddx.xyz vf17, vf04, vf00
|
||||
nop | mulax.xyzw ACC, vf01, vf18
|
||||
nop | madday.xyzw ACC, vf02, vf18
|
||||
nop | maddaz.xyzw ACC, vf03, vf18
|
||||
nop | maddx.xyz vf18, vf04, vf00
|
||||
nop | mulax.xyzw ACC, vf01, vf19
|
||||
nop | madday.xyzw ACC, vf02, vf19
|
||||
nop | maddaz.xyzw ACC, vf03, vf19 :e
|
||||
nop | maddx.xyz vf19, vf04, vf00
|
||||
nop | mulaw.xyzw ACC, vf20, vf00
|
||||
nop | maddax.xyzw ACC, vf17, vf05
|
||||
nop | madday.xyzw ACC, vf18, vf05
|
||||
nop | maddz.xyzw vf09, vf19, vf05
|
||||
nop | mulaw.xyzw ACC, vf20, vf00
|
||||
nop | maddax.xyzw ACC, vf17, vf06
|
||||
nop | madday.xyzw ACC, vf18, vf06
|
||||
nop | maddz.xyzw vf11, vf19, vf06
|
||||
nop | mulaw.xyzw ACC, vf20, vf00
|
||||
nop | maddax.xyzw ACC, vf17, vf07
|
||||
nop | madday.xyzw ACC, vf18, vf07
|
||||
nop | maddz.xyzw vf13, vf19, vf07
|
||||
nop | mulaw.xyzw ACC, vf20, vf00
|
||||
nop | maddax.xyzw ACC, vf17, vf08
|
||||
nop | madday.xyzw ACC, vf18, vf08
|
||||
nop | maddz.xyzw vf15, vf19, vf08
|
||||
nop | mulw.x vf22, vf21, vf05
|
||||
nop | mulw.y vf22, vf21, vf06
|
||||
nop | mulw.z vf22, vf21, vf07
|
||||
nop | mulw.w vf22, vf21, vf08
|
||||
nop | addx.xyz vf10, vf09, vf22
|
||||
nop | subx.xyz vf09, vf09, vf22
|
||||
nop | addy.xyz vf12, vf11, vf22
|
||||
nop | suby.xyz vf11, vf11, vf22
|
||||
nop | addz.xyz vf14, vf13, vf22
|
||||
nop | subz.xyz vf13, vf13, vf22
|
||||
nop | addw.xyz vf16, vf15, vf22
|
||||
nop | subw.xyz vf15, vf15, vf22
|
||||
nop | ftoi0.xyzw vf10, vf10
|
||||
nop | ftoi0.xyzw vf09, vf09
|
||||
nop | ftoi0.xyzw vf12, vf12
|
||||
nop | ftoi0.xyzw vf11, vf11
|
||||
nop | ftoi0.xyzw vf14, vf14
|
||||
nop | ftoi0.xyzw vf13, vf13
|
||||
nop | ftoi0.xyzw vf16, vf16 :e
|
||||
nop | ftoi0.xyzw vf15, vf15
|
||||
|
||||
@@ -0,0 +1,180 @@
|
||||
.word 0x80000030
|
||||
.word 0x1e021bf
|
||||
.word 0x80000030
|
||||
.word 0x1e508bc
|
||||
.word 0x80000030
|
||||
.word 0x1e510bd
|
||||
.word 0x80000030
|
||||
.word 0x1c5194a
|
||||
.word 0x80000030
|
||||
.word 0x1e021bf
|
||||
.word 0x80000030
|
||||
.word 0x1e608bc
|
||||
.word 0x80000030
|
||||
.word 0x1e610bd
|
||||
.word 0x80000030
|
||||
.word 0x1c6198a
|
||||
.word 0x80000030
|
||||
.word 0x1e021bf
|
||||
.word 0x80000030
|
||||
.word 0x1e708bc
|
||||
.word 0x80000030
|
||||
.word 0x1e710bd
|
||||
.word 0x80000030
|
||||
.word 0x1c719ca
|
||||
.word 0x80000030
|
||||
.word 0x1e021bf
|
||||
.word 0x80000030
|
||||
.word 0x1e808bc
|
||||
.word 0x80000030
|
||||
.word 0x1e810bd
|
||||
.word 0x80000030
|
||||
.word 0x1c81a0a
|
||||
.word 0x80000030
|
||||
.word 0x1c52a47
|
||||
.word 0x80000030
|
||||
.word 0x1c632c7
|
||||
.word 0x80000030
|
||||
.word 0x1c73b47
|
||||
.word 0x80000030
|
||||
.word 0x1c843c7
|
||||
.word 0x80000030
|
||||
.word 0x1c52a83
|
||||
.word 0x80000030
|
||||
.word 0x1c63303
|
||||
.word 0x80000030
|
||||
.word 0x1c73b83
|
||||
.word 0x80000030
|
||||
.word 0x1c84403
|
||||
.word 0x80000030
|
||||
.word 0x1e9497c
|
||||
.word 0x80000030
|
||||
.word 0x1eb597c
|
||||
.word 0x80000030
|
||||
.word 0x1ed697c
|
||||
.word 0x80000030
|
||||
.word 0x1ef797c
|
||||
.word 0x80000030
|
||||
.word 0x1ea517c
|
||||
.word 0x80000030
|
||||
.word 0x1ec617c
|
||||
.word 0x80000030
|
||||
.word 0x41ee717c
|
||||
.word 0x80000030
|
||||
.word 0x1f0817c
|
||||
.word 0x80000030
|
||||
.word 0x1f4a13c
|
||||
.word 0x80000030
|
||||
.word 0x1f1893e
|
||||
.word 0x80000030
|
||||
.word 0x1f2913e
|
||||
.word 0x80000030
|
||||
.word 0x1f3993e
|
||||
.word 0x80000030
|
||||
.word 0x1d7a528
|
||||
.word 0x80000030
|
||||
.word 0x1f5a93e
|
||||
.word 0x80000030
|
||||
.word 0x1f409bc
|
||||
.word 0x80000030
|
||||
.word 0x1f410bd
|
||||
.word 0x80000030
|
||||
.word 0x1f418be
|
||||
.word 0x80000030
|
||||
.word 0x1c0250b
|
||||
.word 0x80000030
|
||||
.word 0x1f109bc
|
||||
.word 0x80000030
|
||||
.word 0x1f110bd
|
||||
.word 0x80000030
|
||||
.word 0x1f118be
|
||||
.word 0x80000030
|
||||
.word 0x1c02448
|
||||
.word 0x80000030
|
||||
.word 0x1f209bc
|
||||
.word 0x80000030
|
||||
.word 0x1f210bd
|
||||
.word 0x80000030
|
||||
.word 0x1f218be
|
||||
.word 0x80000030
|
||||
.word 0x1c02488
|
||||
.word 0x80000030
|
||||
.word 0x1f309bc
|
||||
.word 0x80000030
|
||||
.word 0x1f310bd
|
||||
.word 0x80000030
|
||||
.word 0x41f318be
|
||||
.word 0x80000030
|
||||
.word 0x1c024c8
|
||||
.word 0x80000030
|
||||
.word 0x1e0a1bf
|
||||
.word 0x80000030
|
||||
.word 0x1e588bc
|
||||
.word 0x80000030
|
||||
.word 0x1e590bd
|
||||
.word 0x80000030
|
||||
.word 0x1e59a4a
|
||||
.word 0x80000030
|
||||
.word 0x1e0a1bf
|
||||
.word 0x80000030
|
||||
.word 0x1e688bc
|
||||
.word 0x80000030
|
||||
.word 0x1e690bd
|
||||
.word 0x80000030
|
||||
.word 0x1e69aca
|
||||
.word 0x80000030
|
||||
.word 0x1e0a1bf
|
||||
.word 0x80000030
|
||||
.word 0x1e788bc
|
||||
.word 0x80000030
|
||||
.word 0x1e790bd
|
||||
.word 0x80000030
|
||||
.word 0x1e79b4a
|
||||
.word 0x80000030
|
||||
.word 0x1e0a1bf
|
||||
.word 0x80000030
|
||||
.word 0x1e888bc
|
||||
.word 0x80000030
|
||||
.word 0x1e890bd
|
||||
.word 0x80000030
|
||||
.word 0x1e89bca
|
||||
.word 0x80000030
|
||||
.word 0x105ad9b
|
||||
.word 0x80000030
|
||||
.word 0x86ad9b
|
||||
.word 0x80000030
|
||||
.word 0x47ad9b
|
||||
.word 0x80000030
|
||||
.word 0x28ad9b
|
||||
.word 0x80000030
|
||||
.word 0x1d64a80
|
||||
.word 0x80000030
|
||||
.word 0x1d64a44
|
||||
.word 0x80000030
|
||||
.word 0x1d65b01
|
||||
.word 0x80000030
|
||||
.word 0x1d65ac5
|
||||
.word 0x80000030
|
||||
.word 0x1d66b82
|
||||
.word 0x80000030
|
||||
.word 0x1d66b46
|
||||
.word 0x80000030
|
||||
.word 0x1d67c03
|
||||
.word 0x80000030
|
||||
.word 0x1d67bc7
|
||||
.word 0x80000030
|
||||
.word 0x1ea517c
|
||||
.word 0x80000030
|
||||
.word 0x1e9497c
|
||||
.word 0x80000030
|
||||
.word 0x1ec617c
|
||||
.word 0x80000030
|
||||
.word 0x1eb597c
|
||||
.word 0x80000030
|
||||
.word 0x1ee717c
|
||||
.word 0x80000030
|
||||
.word 0x1ed697c
|
||||
.word 0x80000030
|
||||
.word 0x41f0817c
|
||||
.word 0x80000030
|
||||
.word 0x1ef797c
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
nop | mulax.xyzw ACC, vf01, vf04
|
||||
nop | madday.xyzw ACC, vf02, vf04
|
||||
nop | maddz.xyzw vf07, vf03, vf04
|
||||
nop | mulax.xyzw ACC, vf01, vf05
|
||||
nop | madday.xyzw ACC, vf02, vf05
|
||||
nop | maddz.xyzw vf08, vf03, vf05
|
||||
nop | mulax.xyzw ACC, vf01, vf06
|
||||
nop | madday.xyzw ACC, vf02, vf06 :e
|
||||
nop | maddz.xyzw vf09, vf03, vf06
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
.word 0x80000030
|
||||
.word 0x1e409bc
|
||||
.word 0x80000030
|
||||
.word 0x1e410bd
|
||||
.word 0x80000030
|
||||
.word 0x1e419ca
|
||||
.word 0x80000030
|
||||
.word 0x1e509bc
|
||||
.word 0x80000030
|
||||
.word 0x1e510bd
|
||||
.word 0x80000030
|
||||
.word 0x1e51a0a
|
||||
.word 0x80000030
|
||||
.word 0x1e609bc
|
||||
.word 0x80000030
|
||||
.word 0x41e610bd
|
||||
.word 0x80000030
|
||||
.word 0x1e61a4a
|
||||
@@ -0,0 +1,296 @@
|
||||
move.xyzw vf21, vf17 | mulax.xyzw ACC, vf10, vf01
|
||||
move.xyzw vf22, vf18 | madday.xyzw ACC, vf11, vf01
|
||||
move.xyzw vf23, vf19 | maddz.xyzw vf01, vf12, vf01
|
||||
move.xyzw vf24, vf20 | mulax.xyzw ACC, vf10, vf02
|
||||
nop | itof0.xyzw vf17, vf05
|
||||
nop | itof0.xyzw vf18, vf06
|
||||
nop | itof0.xyzw vf19, vf07
|
||||
nop | itof0.xyzw vf20, vf08
|
||||
nop | madday.xyzw ACC, vf11, vf02
|
||||
nop | maddz.xyzw vf02, vf12, vf02
|
||||
nop | mulax.xyzw ACC, vf10, vf03
|
||||
nop | madday.xyzw ACC, vf11, vf03
|
||||
nop | maddz.xyzw vf03, vf12, vf03
|
||||
nop | mulax.xyzw ACC, vf10, vf04
|
||||
nop | madday.xyzw ACC, vf11, vf04
|
||||
nop | maddz.xyzw vf04, vf12, vf04
|
||||
nop | maxx.xyzw vf01, vf01, vf00
|
||||
nop | maxx.xyzw vf02, vf02, vf00
|
||||
nop | maxx.xyzw vf03, vf03, vf00
|
||||
nop | maxx.xyzw vf04, vf04, vf00
|
||||
nop | mulaw.xyzw ACC, vf13, vf00
|
||||
nop | maddax.xyzw ACC, vf14, vf01
|
||||
nop | madday.xyzw ACC, vf15, vf01
|
||||
nop | maddz.xyzw vf01, vf16, vf01
|
||||
nop | mulaw.xyzw ACC, vf13, vf00
|
||||
nop | maddax.xyzw ACC, vf14, vf02
|
||||
nop | madday.xyzw ACC, vf15, vf02
|
||||
nop | maddz.xyzw vf02, vf16, vf02
|
||||
nop | mulaw.xyzw ACC, vf13, vf00
|
||||
nop | maddax.xyzw ACC, vf14, vf03
|
||||
nop | madday.xyzw ACC, vf15, vf03
|
||||
nop | maddz.xyzw vf03, vf16, vf03
|
||||
nop | mulaw.xyzw ACC, vf13, vf00
|
||||
nop | maddax.xyzw ACC, vf14, vf04
|
||||
nop | madday.xyzw ACC, vf15, vf04
|
||||
nop | maddz.xyzw vf04, vf16, vf04
|
||||
nop | mul.xyzw vf17, vf17, vf01
|
||||
nop | mul.xyzw vf18, vf18, vf02
|
||||
nop | mul.xyzw vf19, vf19, vf03
|
||||
nop | mul.xyzw vf20, vf20, vf04
|
||||
nop | minix.xyzw vf17, vf17, vf09
|
||||
nop | minix.xyzw vf18, vf18, vf09
|
||||
nop | minix.xyzw vf19, vf19, vf09
|
||||
nop | minix.xyzw vf20, vf20, vf09
|
||||
nop | ftoi0.xyzw vf17, vf17
|
||||
nop | ftoi0.xyzw vf18, vf18
|
||||
nop | ftoi0.xyzw vf19, vf19 :e
|
||||
nop | ftoi0.xyzw vf20, vf20
|
||||
nop | mulx.xyzw vf13, vf09, vf31
|
||||
nop | subw.z vf21, vf21, vf00
|
||||
nop | addy.x vf29, vf29, vf29
|
||||
nop | mulx.xyz vf08, vf08, vf30
|
||||
nop | addw.xy vf05, vf05, vf31
|
||||
nop | mul.xyz vf30, vf21, vf13
|
||||
nop | addz.x vf29, vf29, vf29
|
||||
nop | add.xyz vf08, vf08, vf16
|
||||
move.xyzw vf28, vf27 | ftoi12.xy vf17, vf05
|
||||
move.xyzw vf02, vf22 | addy.x vf30, vf30, vf30
|
||||
rsqrt Q, vf31.z, vf29.x | mul.xyz vf06, vf06, Q
|
||||
nop | mul.xyz vf29, vf08, vf08
|
||||
nop | mulx.xyz vf01, vf21, vf28
|
||||
nop | addz.x vf30, vf30, vf30
|
||||
nop | mulx.xyzw vf14, vf10, vf31
|
||||
nop | subw.z vf02, vf02, vf00
|
||||
nop | addy.x vf29, vf29, vf29
|
||||
nop | mulx.xyz vf01, vf01, vf30
|
||||
nop | addw.xy vf06, vf06, vf31
|
||||
nop | mul.xyz vf30, vf02, vf14
|
||||
nop | addz.x vf29, vf29, vf29
|
||||
nop | add.xyz vf01, vf01, vf13
|
||||
nop | ftoi12.xy vf18, vf06
|
||||
nop | addy.x vf30, vf30, vf30
|
||||
rsqrt Q, vf31.z, vf29.x | mul.xyz vf07, vf07, Q
|
||||
move.xyzw vf03, vf23 | mul.xyz vf29, vf01, vf01
|
||||
nop | muly.xyz vf02, vf02, vf28
|
||||
nop | addz.x vf30, vf30, vf30
|
||||
nop | mulx.xyzw vf15, vf11, vf31
|
||||
nop | subw.z vf03, vf03, vf00
|
||||
nop | addy.x vf29, vf29, vf29
|
||||
nop | mulx.xyz vf02, vf02, vf30
|
||||
nop | addw.xy vf07, vf07, vf31
|
||||
nop | mul.xyz vf30, vf03, vf15
|
||||
nop | addz.x vf29, vf29, vf29
|
||||
nop | add.xyz vf02, vf02, vf14
|
||||
nop | ftoi12.xy vf19, vf07
|
||||
nop | addy.x vf30, vf30, vf30
|
||||
rsqrt Q, vf31.z, vf29.x | mul.xyz vf08, vf08, Q
|
||||
move.xyzw vf04, vf24 | mul.xyz vf29, vf02, vf02
|
||||
nop | mulz.xyz vf03, vf03, vf28
|
||||
nop | addz.x vf30, vf30, vf30
|
||||
nop | mulx.xyzw vf16, vf12, vf31
|
||||
nop | subw.z vf04, vf04, vf00
|
||||
nop | addy.x vf29, vf29, vf29
|
||||
nop | mulx.xyz vf03, vf03, vf30
|
||||
nop | addw.xy vf08, vf08, vf31
|
||||
nop | mul.xyz vf30, vf04, vf16
|
||||
nop | addz.x vf29, vf29, vf29
|
||||
nop | add.xyz vf03, vf03, vf15
|
||||
nop | ftoi12.xy vf20, vf08
|
||||
nop | addy.x vf30, vf30, vf30
|
||||
rsqrt Q, vf31.z, vf29.x | mul.xyz vf05, vf01, Q
|
||||
move.xyzw vf06, vf02 | mul.xyz vf29, vf03, vf03
|
||||
move.xyzw vf07, vf03 | mulw.xyz vf08, vf04, vf28 :e
|
||||
nop | addz.x vf30, vf30, vf30
|
||||
iaddi vi02, vi00, 0x0 | nop
|
||||
iadd vi03, vi02, vi08 | nop
|
||||
iaddiu vi03, vi03, 0x10 | nop
|
||||
iadd vi01, vi03, vi09 | nop
|
||||
iadd vi01, vi01, vi09 | nop
|
||||
iaddiu vi01, vi01, 0x10 | nop
|
||||
iaddi vi10, vi00, 0x0 | nop
|
||||
ior vi11, vi03, vi00 | nop
|
||||
ior vi12, vi01, vi00 | nop :e
|
||||
iadd vi13, vi01, vi08 | nop
|
||||
nop | itof12.xyzw vf09, vf05
|
||||
nop | itof12.xyzw vf10, vf06
|
||||
nop | itof12.xyzw vf11, vf07
|
||||
nop | itof12.xyzw vf12, vf08
|
||||
sqi.xyzw vf09, vi01 | nop
|
||||
sqi.xyzw vf10, vi01 | nop
|
||||
sqi.xyzw vf11, vi01 | nop :e
|
||||
sqi.xyzw vf12, vi01 | nop
|
||||
mr32.w vf17, vf13 | itof0.xyz vf09, vf01
|
||||
mr32.w vf18, vf14 | itof0.xyz vf10, vf02
|
||||
mr32.w vf19, vf15 | itof0.xyz vf11, vf03
|
||||
mr32.w vf20, vf16 | itof0.xyz vf12, vf04
|
||||
move.w vf09, vf17 | nop
|
||||
move.w vf10, vf18 | nop
|
||||
move.w vf11, vf19 | nop
|
||||
move.w vf12, vf20 | nop
|
||||
sqi.xyzw vf09, vi02 | nop
|
||||
sqi.xyzw vf10, vi02 | nop
|
||||
sqi.xyzw vf11, vi02 | nop :e
|
||||
sqi.xyzw vf12, vi02 | nop
|
||||
mr32.w vf17, vf13 | itof0.xyz vf09, vf01
|
||||
mr32.w vf18, vf14 | itof0.xyz vf10, vf02
|
||||
nop | itof0.xyz vf11, vf03
|
||||
nop | nop
|
||||
move.w vf09, vf17 | nop
|
||||
move.w vf10, vf18 | nop
|
||||
nop | nop
|
||||
iaddi vi03, vi03, 0x2 | nop
|
||||
sqi.xyzw vf09, vi02 | nop
|
||||
sq.xyzw vf10, -2(vi03) | nop :e
|
||||
sq.xyzw vf11, -1(vi03) | nop
|
||||
mr32.w vf17, vf13 | itof0.xyz vf09, vf01
|
||||
mr32.w vf18, vf14 | itof0.xyz vf10, vf02
|
||||
mr32.w vf19, vf15 | itof0.xyz vf11, vf03
|
||||
nop | itof0.xyz vf12, vf04
|
||||
move.w vf09, vf17 | nop
|
||||
move.w vf10, vf18 | nop
|
||||
move.w vf11, vf19 | nop
|
||||
iaddi vi03, vi03, 0x2 | nop
|
||||
sqi.xyzw vf09, vi02 | nop
|
||||
sqi.xyzw vf10, vi02 | nop
|
||||
sq.xyzw vf11, -2(vi03) | nop :e
|
||||
sq.xyzw vf12, -1(vi03) | nop
|
||||
mr32.w vf17, vf13 | itof0.xyz vf09, vf01
|
||||
mr32.w vf18, vf14 | itof0.xyz vf10, vf02
|
||||
mr32.w vf19, vf15 | itof0.xyz vf11, vf03
|
||||
nop | nop
|
||||
move.w vf09, vf17 | nop
|
||||
move.w vf10, vf18 | nop
|
||||
move.w vf11, vf19 | nop
|
||||
nop | nop
|
||||
sqi.xyzw vf09, vi02 | nop
|
||||
sqi.xyzw vf10, vi02 | nop :e
|
||||
sqi.xyzw vf11, vi02 | nop
|
||||
mr32.w vf17, vf13 | itof0.xyz vf09, vf01
|
||||
mr32.w vf19, vf14 | itof0.xyz vf10, vf02
|
||||
nop | itof0.xyz vf11, vf03
|
||||
iaddi vi03, vi03, 0x4 | itof0.xyz vf12, vf04
|
||||
move.w vf09, vf17 | nop
|
||||
move.w vf11, vf19 | nop
|
||||
sq.xyz vf10, -3(vi03) | nop
|
||||
sq.xyz vf12, -1(vi03) | nop
|
||||
sq.xyzw vf09, -4(vi03) | nop :e
|
||||
sq.xyzw vf11, -2(vi03) | nop
|
||||
ior vi02, vi10, vi00 | nop
|
||||
ior vi01, vi12, vi00 | nop
|
||||
lqi.xyzw vf05, vi02 | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
lqi.xyzw vf09, vi01 | mulaw.xyzw ACC, vf04, vf00
|
||||
move.xyzw vf19, vf21 | maddax.xyzw ACC, vf01, vf05
|
||||
move.xyzw vf16, vf22 | madday.xyzw ACC, vf02, vf05
|
||||
move.xyzw vf20, vf23 | maddz.xyz vf13, vf03, vf05
|
||||
lqi.xyzw vf06, vi02 | mulax.xyzw ACC, vf01, vf09
|
||||
move.xyzw vf15, vf24 | madday.xyzw ACC, vf02, vf09
|
||||
nop | maddz.xyzw vf17, vf03, vf09
|
||||
lqi.xyzw vf10, vi01 | mulaw.xyzw ACC, vf04, vf00
|
||||
move.w vf13, vf05 | maddax.xyzw ACC, vf01, vf06
|
||||
nop | madday.xyzw ACC, vf02, vf06
|
||||
nop | maddz.xyz vf14, vf03, vf06
|
||||
lqi.xyzw vf07, vi02 | mulax.xyzw ACC, vf01, vf10
|
||||
nop | madday.xyzw ACC, vf02, vf10
|
||||
nop | maddz.xyzw vf18, vf03, vf10
|
||||
lqi.xyzw vf11, vi01 | mulaw.xyzw ACC, vf04, vf00
|
||||
move.w vf14, vf06 | maddax.xyzw ACC, vf01, vf07
|
||||
nop | madday.xyzw ACC, vf02, vf07
|
||||
nop | maddz.xyz vf24, vf03, vf07
|
||||
lqi.xyzw vf08, vi02 | mulax.xyzw ACC, vf01, vf11
|
||||
nop | madday.xyzw ACC, vf02, vf11
|
||||
nop | maddz.xyzw vf21, vf03, vf11
|
||||
lqi.xyzw vf12, vi01 | mulaw.xyzw ACC, vf04, vf00
|
||||
move.w vf24, vf07 | maddax.xyzw ACC, vf01, vf08
|
||||
nop | madday.xyzw ACC, vf02, vf08
|
||||
nop | maddz.xyz vf22, vf03, vf08
|
||||
lqi.xyzw vf05, vi02 | mulax.xyzw ACC, vf01, vf12
|
||||
move.w vf22, vf08 | madday.xyzw ACC, vf02, vf12 :e
|
||||
nop | maddz.xyzw vf23, vf03, vf12
|
||||
move.xyzw vf19, vf21 | nop
|
||||
move.xyzw vf16, vf22 | nop
|
||||
move.xyzw vf20, vf23 | nop :e
|
||||
move.xyzw vf15, vf24 | nop
|
||||
ior vi03, vi11, vi00 | nop
|
||||
ior vi01, vi13, vi00 | nop
|
||||
lqi.xyzw vf05, vi03 | nop
|
||||
lqi.xyzw vf25, vi03 | nop
|
||||
lqi.xyzw vf09, vi01 | nop
|
||||
nop | nop
|
||||
move.xyzw vf16, vf21 | mulax.xyz ACC, vf05, vf29
|
||||
nop | maddw.xyz vf30, vf25, vf00
|
||||
nop | mulax.xyzw ACC, vf01, vf09
|
||||
nop | madday.xyzw ACC, vf02, vf09
|
||||
move.w vf13, vf05 | maddz.xyz vf17, vf03, vf09
|
||||
lqi.xyzw vf06, vi03 | mulaw.xyzw ACC, vf04, vf00
|
||||
lqi.xyzw vf26, vi03 | maddax.xyzw ACC, vf01, vf30
|
||||
lqi.xyzw vf10, vi01 | madday.xyzw ACC, vf02, vf30
|
||||
nop | maddz.xyz vf13, vf03, vf30
|
||||
nop | mulax.xyz ACC, vf06, vf29
|
||||
nop | maddw.xyz vf30, vf26, vf00
|
||||
nop | mulax.xyzw ACC, vf01, vf10
|
||||
nop | madday.xyzw ACC, vf02, vf10
|
||||
move.w vf14, vf06 | maddz.xyz vf18, vf03, vf10
|
||||
lqi.xyzw vf07, vi03 | mulaw.xyzw ACC, vf04, vf00
|
||||
lqi.xyzw vf27, vi03 | maddax.xyzw ACC, vf01, vf30
|
||||
lqi.xyzw vf11, vi01 | madday.xyzw ACC, vf02, vf30
|
||||
nop | maddz.xyz vf14, vf03, vf30
|
||||
nop | mulax.xyz ACC, vf07, vf29
|
||||
nop | maddw.xyz vf30, vf27, vf00
|
||||
nop | mulax.xyzw ACC, vf01, vf11
|
||||
nop | madday.xyzw ACC, vf02, vf11
|
||||
move.w vf15, vf07 | maddz.xyz vf19, vf03, vf11
|
||||
lqi.xyzw vf08, vi03 | mulaw.xyzw ACC, vf04, vf00
|
||||
lqi.xyzw vf28, vi03 | maddax.xyzw ACC, vf01, vf30
|
||||
lqi.xyzw vf12, vi01 | madday.xyzw ACC, vf02, vf30
|
||||
nop | maddz.xyz vf15, vf03, vf30
|
||||
nop | mulax.xyz ACC, vf08, vf29
|
||||
nop | maddw.xyz vf30, vf28, vf00
|
||||
nop | mulax.xyzw ACC, vf01, vf12
|
||||
nop | madday.xyzw ACC, vf02, vf12
|
||||
move.w vf21, vf08 | maddz.xyz vf20, vf03, vf12
|
||||
lqi.xyzw vf05, vi03 | mulaw.xyzw ACC, vf04, vf00
|
||||
lqi.xyzw vf25, vi03 | maddax.xyzw ACC, vf01, vf30
|
||||
lqi.xyzw vf09, vi01 | madday.xyzw ACC, vf02, vf30 :e
|
||||
nop | maddz.xyz vf21, vf03, vf30
|
||||
move.xyzw vf16, vf21 | nop :e
|
||||
nop | nop
|
||||
ior vi01, vi13, vi00 | nop
|
||||
lqi.xyzw vf09, vi01 | nop
|
||||
ior vi03, vi11, vi00 | nop
|
||||
lq.xyzw vf05, 1(vi03) | nop
|
||||
iaddi vi03, vi03, 0x2 | nop
|
||||
move.xyzw vf15, vf21 | mulax.xyzw ACC, vf01, vf09
|
||||
move.xyzw vf20, vf22 | madday.xyzw ACC, vf02, vf09
|
||||
lq.w vf13, -2(vi03) | maddz.xyz vf17, vf03, vf09
|
||||
lqi.xyzw vf10, vi01 | mulaw.xyzw ACC, vf04, vf00
|
||||
move.xyzw vf16, vf23 | maddax.xyzw ACC, vf01, vf05
|
||||
lq.xyzw vf06, 1(vi03) | madday.xyzw ACC, vf02, vf05
|
||||
iaddi vi03, vi03, 0x2 | maddz.xyz vf13, vf03, vf05
|
||||
nop | mulax.xyzw ACC, vf01, vf10
|
||||
nop | madday.xyzw ACC, vf02, vf10
|
||||
lq.w vf14, -2(vi03) | maddz.xyz vf18, vf03, vf10
|
||||
lqi.xyzw vf11, vi01 | mulaw.xyzw ACC, vf04, vf00
|
||||
nop | maddax.xyzw ACC, vf01, vf06
|
||||
lq.xyzw vf07, 1(vi03) | madday.xyzw ACC, vf02, vf06
|
||||
iaddi vi03, vi03, 0x2 | maddz.xyz vf14, vf03, vf06
|
||||
nop | mulax.xyzw ACC, vf01, vf11
|
||||
nop | madday.xyzw ACC, vf02, vf11
|
||||
lq.w vf21, -2(vi03) | maddz.xyz vf19, vf03, vf11
|
||||
lqi.xyzw vf12, vi01 | mulaw.xyzw ACC, vf04, vf00
|
||||
nop | maddax.xyzw ACC, vf01, vf07
|
||||
lq.xyzw vf08, 1(vi03) | madday.xyzw ACC, vf02, vf07
|
||||
iaddi vi03, vi03, 0x2 | maddz.xyz vf21, vf03, vf07
|
||||
nop | mulax.xyzw ACC, vf01, vf12
|
||||
nop | madday.xyzw ACC, vf02, vf12
|
||||
lq.w vf23, -2(vi03) | maddz.xyz vf22, vf03, vf12
|
||||
lqi.xyzw vf09, vi01 | mulaw.xyzw ACC, vf04, vf00
|
||||
nop | maddax.xyzw ACC, vf01, vf08
|
||||
lq.xyzw vf05, 1(vi03) | madday.xyzw ACC, vf02, vf08 :e
|
||||
iaddi vi03, vi03, 0x2 | maddz.xyz vf23, vf03, vf08
|
||||
move.xyzw vf15, vf21 | nop
|
||||
move.xyzw vf20, vf22 | nop :e
|
||||
move.xyzw vf16, vf23 | nop
|
||||
|
||||
@@ -0,0 +1,590 @@
|
||||
.word 0x81f58b3c
|
||||
.word 0x1e151bc
|
||||
.word 0x81f6933c
|
||||
.word 0x1e158bd
|
||||
.word 0x81f79b3c
|
||||
.word 0x1e1604a
|
||||
.word 0x81f8a33c
|
||||
.word 0x1e251bc
|
||||
.word 0x80000030
|
||||
.word 0x1f1293c
|
||||
.word 0x80000030
|
||||
.word 0x1f2313c
|
||||
.word 0x80000030
|
||||
.word 0x1f3393c
|
||||
.word 0x80000030
|
||||
.word 0x1f4413c
|
||||
.word 0x80000030
|
||||
.word 0x1e258bd
|
||||
.word 0x80000030
|
||||
.word 0x1e2608a
|
||||
.word 0x80000030
|
||||
.word 0x1e351bc
|
||||
.word 0x80000030
|
||||
.word 0x1e358bd
|
||||
.word 0x80000030
|
||||
.word 0x1e360ca
|
||||
.word 0x80000030
|
||||
.word 0x1e451bc
|
||||
.word 0x80000030
|
||||
.word 0x1e458bd
|
||||
.word 0x80000030
|
||||
.word 0x1e4610a
|
||||
.word 0x80000030
|
||||
.word 0x1e00850
|
||||
.word 0x80000030
|
||||
.word 0x1e01090
|
||||
.word 0x80000030
|
||||
.word 0x1e018d0
|
||||
.word 0x80000030
|
||||
.word 0x1e02110
|
||||
.word 0x80000030
|
||||
.word 0x1e069bf
|
||||
.word 0x80000030
|
||||
.word 0x1e170bc
|
||||
.word 0x80000030
|
||||
.word 0x1e178bd
|
||||
.word 0x80000030
|
||||
.word 0x1e1804a
|
||||
.word 0x80000030
|
||||
.word 0x1e069bf
|
||||
.word 0x80000030
|
||||
.word 0x1e270bc
|
||||
.word 0x80000030
|
||||
.word 0x1e278bd
|
||||
.word 0x80000030
|
||||
.word 0x1e2808a
|
||||
.word 0x80000030
|
||||
.word 0x1e069bf
|
||||
.word 0x80000030
|
||||
.word 0x1e370bc
|
||||
.word 0x80000030
|
||||
.word 0x1e378bd
|
||||
.word 0x80000030
|
||||
.word 0x1e380ca
|
||||
.word 0x80000030
|
||||
.word 0x1e069bf
|
||||
.word 0x80000030
|
||||
.word 0x1e470bc
|
||||
.word 0x80000030
|
||||
.word 0x1e478bd
|
||||
.word 0x80000030
|
||||
.word 0x1e4810a
|
||||
.word 0x80000030
|
||||
.word 0x1e18c6a
|
||||
.word 0x80000030
|
||||
.word 0x1e294aa
|
||||
.word 0x80000030
|
||||
.word 0x1e39cea
|
||||
.word 0x80000030
|
||||
.word 0x1e4a52a
|
||||
.word 0x80000030
|
||||
.word 0x1e98c54
|
||||
.word 0x80000030
|
||||
.word 0x1e99494
|
||||
.word 0x80000030
|
||||
.word 0x1e99cd4
|
||||
.word 0x80000030
|
||||
.word 0x1e9a514
|
||||
.word 0x80000030
|
||||
.word 0x1f1897c
|
||||
.word 0x80000030
|
||||
.word 0x1f2917c
|
||||
.word 0x80000030
|
||||
.word 0x41f3997c
|
||||
.word 0x80000030
|
||||
.word 0x1f4a17c
|
||||
.word 0x80000030
|
||||
.word 0x1ff4b58
|
||||
.word 0x80000030
|
||||
.word 0x40ad47
|
||||
.word 0x80000030
|
||||
.word 0x11def41
|
||||
.word 0x80000030
|
||||
.word 0x1de4218
|
||||
.word 0x80000030
|
||||
.word 0x19f2943
|
||||
.word 0x80000030
|
||||
.word 0x1cdafaa
|
||||
.word 0x80000030
|
||||
.word 0x11def42
|
||||
.word 0x80000030
|
||||
.word 0x1d04228
|
||||
.word 0x81fcdb3c
|
||||
.word 0x191297e
|
||||
.word 0x81e2b33c
|
||||
.word 0x11ef781
|
||||
.word 0x805dfbbe
|
||||
.word 0x1c0319c
|
||||
.word 0x80000030
|
||||
.word 0x1c8476a
|
||||
.word 0x80000030
|
||||
.word 0x1dca858
|
||||
.word 0x80000030
|
||||
.word 0x11ef782
|
||||
.word 0x80000030
|
||||
.word 0x1ff5398
|
||||
.word 0x80000030
|
||||
.word 0x401087
|
||||
.word 0x80000030
|
||||
.word 0x11def41
|
||||
.word 0x80000030
|
||||
.word 0x1de0858
|
||||
.word 0x80000030
|
||||
.word 0x19f3183
|
||||
.word 0x80000030
|
||||
.word 0x1ce17aa
|
||||
.word 0x80000030
|
||||
.word 0x11def42
|
||||
.word 0x80000030
|
||||
.word 0x1cd0868
|
||||
.word 0x80000030
|
||||
.word 0x192317e
|
||||
.word 0x80000030
|
||||
.word 0x11ef781
|
||||
.word 0x805dfbbe
|
||||
.word 0x1c039dc
|
||||
.word 0x81e3bb3c
|
||||
.word 0x1c10f6a
|
||||
.word 0x80000030
|
||||
.word 0x1dc1099
|
||||
.word 0x80000030
|
||||
.word 0x11ef782
|
||||
.word 0x80000030
|
||||
.word 0x1ff5bd8
|
||||
.word 0x80000030
|
||||
.word 0x4018c7
|
||||
.word 0x80000030
|
||||
.word 0x11def41
|
||||
.word 0x80000030
|
||||
.word 0x1de1098
|
||||
.word 0x80000030
|
||||
.word 0x19f39c3
|
||||
.word 0x80000030
|
||||
.word 0x1cf1faa
|
||||
.word 0x80000030
|
||||
.word 0x11def42
|
||||
.word 0x80000030
|
||||
.word 0x1ce10a8
|
||||
.word 0x80000030
|
||||
.word 0x193397e
|
||||
.word 0x80000030
|
||||
.word 0x11ef781
|
||||
.word 0x805dfbbe
|
||||
.word 0x1c0421c
|
||||
.word 0x81e4c33c
|
||||
.word 0x1c2176a
|
||||
.word 0x80000030
|
||||
.word 0x1dc18da
|
||||
.word 0x80000030
|
||||
.word 0x11ef782
|
||||
.word 0x80000030
|
||||
.word 0x1ff6418
|
||||
.word 0x80000030
|
||||
.word 0x402107
|
||||
.word 0x80000030
|
||||
.word 0x11def41
|
||||
.word 0x80000030
|
||||
.word 0x1de18d8
|
||||
.word 0x80000030
|
||||
.word 0x19f4203
|
||||
.word 0x80000030
|
||||
.word 0x1d027aa
|
||||
.word 0x80000030
|
||||
.word 0x11def42
|
||||
.word 0x80000030
|
||||
.word 0x1cf18e8
|
||||
.word 0x80000030
|
||||
.word 0x194417e
|
||||
.word 0x80000030
|
||||
.word 0x11ef781
|
||||
.word 0x805dfbbe
|
||||
.word 0x1c0095c
|
||||
.word 0x81e6133c
|
||||
.word 0x1c31f6a
|
||||
.word 0x81e71b3c
|
||||
.word 0x41dc221b
|
||||
.word 0x80000030
|
||||
.word 0x11ef782
|
||||
.word 0x80020032
|
||||
.word 0x2ff
|
||||
.word 0x800810f0
|
||||
.word 0x2ff
|
||||
.word 0x10031810
|
||||
.word 0x2ff
|
||||
.word 0x80091870
|
||||
.word 0x2ff
|
||||
.word 0x80090870
|
||||
.word 0x2ff
|
||||
.word 0x10010810
|
||||
.word 0x2ff
|
||||
.word 0x800a0032
|
||||
.word 0x2ff
|
||||
.word 0x80001af5
|
||||
.word 0x2ff
|
||||
.word 0x80000b35
|
||||
.word 0x400002ff
|
||||
.word 0x80080b70
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x1e9293e
|
||||
.word 0x80000030
|
||||
.word 0x1ea313e
|
||||
.word 0x80000030
|
||||
.word 0x1eb393e
|
||||
.word 0x80000030
|
||||
.word 0x1ec413e
|
||||
.word 0x81e14b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e1537d
|
||||
.word 0x2ff
|
||||
.word 0x81e15b7d
|
||||
.word 0x400002ff
|
||||
.word 0x81e1637d
|
||||
.word 0x2ff
|
||||
.word 0x80316b3d
|
||||
.word 0x1c9093c
|
||||
.word 0x8032733d
|
||||
.word 0x1ca113c
|
||||
.word 0x80337b3d
|
||||
.word 0x1cb193c
|
||||
.word 0x8034833d
|
||||
.word 0x1cc213c
|
||||
.word 0x80298b3c
|
||||
.word 0x2ff
|
||||
.word 0x802a933c
|
||||
.word 0x2ff
|
||||
.word 0x802b9b3c
|
||||
.word 0x2ff
|
||||
.word 0x802ca33c
|
||||
.word 0x2ff
|
||||
.word 0x81e24b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e2537d
|
||||
.word 0x2ff
|
||||
.word 0x81e25b7d
|
||||
.word 0x400002ff
|
||||
.word 0x81e2637d
|
||||
.word 0x2ff
|
||||
.word 0x80316b3d
|
||||
.word 0x1c9093c
|
||||
.word 0x8032733d
|
||||
.word 0x1ca113c
|
||||
.word 0x80000030
|
||||
.word 0x1cb193c
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80298b3c
|
||||
.word 0x2ff
|
||||
.word 0x802a933c
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x800318b2
|
||||
.word 0x2ff
|
||||
.word 0x81e24b7d
|
||||
.word 0x2ff
|
||||
.word 0x3e357fe
|
||||
.word 0x400002ff
|
||||
.word 0x3e35fff
|
||||
.word 0x2ff
|
||||
.word 0x80316b3d
|
||||
.word 0x1c9093c
|
||||
.word 0x8032733d
|
||||
.word 0x1ca113c
|
||||
.word 0x80337b3d
|
||||
.word 0x1cb193c
|
||||
.word 0x80000030
|
||||
.word 0x1cc213c
|
||||
.word 0x80298b3c
|
||||
.word 0x2ff
|
||||
.word 0x802a933c
|
||||
.word 0x2ff
|
||||
.word 0x802b9b3c
|
||||
.word 0x2ff
|
||||
.word 0x800318b2
|
||||
.word 0x2ff
|
||||
.word 0x81e24b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e2537d
|
||||
.word 0x2ff
|
||||
.word 0x3e35ffe
|
||||
.word 0x400002ff
|
||||
.word 0x3e367ff
|
||||
.word 0x2ff
|
||||
.word 0x80316b3d
|
||||
.word 0x1c9093c
|
||||
.word 0x8032733d
|
||||
.word 0x1ca113c
|
||||
.word 0x80337b3d
|
||||
.word 0x1cb193c
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80298b3c
|
||||
.word 0x2ff
|
||||
.word 0x802a933c
|
||||
.word 0x2ff
|
||||
.word 0x802b9b3c
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x81e24b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e2537d
|
||||
.word 0x400002ff
|
||||
.word 0x81e25b7d
|
||||
.word 0x2ff
|
||||
.word 0x80316b3d
|
||||
.word 0x1c9093c
|
||||
.word 0x8033733d
|
||||
.word 0x1ca113c
|
||||
.word 0x80000030
|
||||
.word 0x1cb193c
|
||||
.word 0x80031932
|
||||
.word 0x1cc213c
|
||||
.word 0x80298b3c
|
||||
.word 0x2ff
|
||||
.word 0x802b9b3c
|
||||
.word 0x2ff
|
||||
.word 0x3c357fd
|
||||
.word 0x2ff
|
||||
.word 0x3c367ff
|
||||
.word 0x2ff
|
||||
.word 0x3e34ffc
|
||||
.word 0x400002ff
|
||||
.word 0x3e35ffe
|
||||
.word 0x2ff
|
||||
.word 0x800050b5
|
||||
.word 0x2ff
|
||||
.word 0x80006075
|
||||
.word 0x2ff
|
||||
.word 0x81e5137c
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x81e90b7c
|
||||
.word 0x1e021bf
|
||||
.word 0x81f3ab3c
|
||||
.word 0x1e508bc
|
||||
.word 0x81f0b33c
|
||||
.word 0x1e510bd
|
||||
.word 0x81f4bb3c
|
||||
.word 0x1c51b4a
|
||||
.word 0x81e6137c
|
||||
.word 0x1e909bc
|
||||
.word 0x81efc33c
|
||||
.word 0x1e910bd
|
||||
.word 0x80000030
|
||||
.word 0x1e91c4a
|
||||
.word 0x81ea0b7c
|
||||
.word 0x1e021bf
|
||||
.word 0x802d2b3c
|
||||
.word 0x1e608bc
|
||||
.word 0x80000030
|
||||
.word 0x1e610bd
|
||||
.word 0x80000030
|
||||
.word 0x1c61b8a
|
||||
.word 0x81e7137c
|
||||
.word 0x1ea09bc
|
||||
.word 0x80000030
|
||||
.word 0x1ea10bd
|
||||
.word 0x80000030
|
||||
.word 0x1ea1c8a
|
||||
.word 0x81eb0b7c
|
||||
.word 0x1e021bf
|
||||
.word 0x802e333c
|
||||
.word 0x1e708bc
|
||||
.word 0x80000030
|
||||
.word 0x1e710bd
|
||||
.word 0x80000030
|
||||
.word 0x1c71e0a
|
||||
.word 0x81e8137c
|
||||
.word 0x1eb09bc
|
||||
.word 0x80000030
|
||||
.word 0x1eb10bd
|
||||
.word 0x80000030
|
||||
.word 0x1eb1d4a
|
||||
.word 0x81ec0b7c
|
||||
.word 0x1e021bf
|
||||
.word 0x80383b3c
|
||||
.word 0x1e808bc
|
||||
.word 0x80000030
|
||||
.word 0x1e810bd
|
||||
.word 0x80000030
|
||||
.word 0x1c81d8a
|
||||
.word 0x81e5137c
|
||||
.word 0x1ec09bc
|
||||
.word 0x8036433c
|
||||
.word 0x41ec10bd
|
||||
.word 0x80000030
|
||||
.word 0x1ec1dca
|
||||
.word 0x81f3ab3c
|
||||
.word 0x2ff
|
||||
.word 0x81f0b33c
|
||||
.word 0x2ff
|
||||
.word 0x81f4bb3c
|
||||
.word 0x400002ff
|
||||
.word 0x81efc33c
|
||||
.word 0x2ff
|
||||
.word 0x800058f5
|
||||
.word 0x2ff
|
||||
.word 0x80006875
|
||||
.word 0x2ff
|
||||
.word 0x81e51b7c
|
||||
.word 0x2ff
|
||||
.word 0x81f91b7c
|
||||
.word 0x2ff
|
||||
.word 0x81e90b7c
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x81f0ab3c
|
||||
.word 0x1dd29bc
|
||||
.word 0x80000030
|
||||
.word 0x1c0cf8b
|
||||
.word 0x80000030
|
||||
.word 0x1e909bc
|
||||
.word 0x80000030
|
||||
.word 0x1e910bd
|
||||
.word 0x802d2b3c
|
||||
.word 0x1c91c4a
|
||||
.word 0x81e61b7c
|
||||
.word 0x1e021bf
|
||||
.word 0x81fa1b7c
|
||||
.word 0x1fe08bc
|
||||
.word 0x81ea0b7c
|
||||
.word 0x1fe10bd
|
||||
.word 0x80000030
|
||||
.word 0x1de1b4a
|
||||
.word 0x80000030
|
||||
.word 0x1dd31bc
|
||||
.word 0x80000030
|
||||
.word 0x1c0d78b
|
||||
.word 0x80000030
|
||||
.word 0x1ea09bc
|
||||
.word 0x80000030
|
||||
.word 0x1ea10bd
|
||||
.word 0x802e333c
|
||||
.word 0x1ca1c8a
|
||||
.word 0x81e71b7c
|
||||
.word 0x1e021bf
|
||||
.word 0x81fb1b7c
|
||||
.word 0x1fe08bc
|
||||
.word 0x81eb0b7c
|
||||
.word 0x1fe10bd
|
||||
.word 0x80000030
|
||||
.word 0x1de1b8a
|
||||
.word 0x80000030
|
||||
.word 0x1dd39bc
|
||||
.word 0x80000030
|
||||
.word 0x1c0df8b
|
||||
.word 0x80000030
|
||||
.word 0x1eb09bc
|
||||
.word 0x80000030
|
||||
.word 0x1eb10bd
|
||||
.word 0x802f3b3c
|
||||
.word 0x1cb1cca
|
||||
.word 0x81e81b7c
|
||||
.word 0x1e021bf
|
||||
.word 0x81fc1b7c
|
||||
.word 0x1fe08bc
|
||||
.word 0x81ec0b7c
|
||||
.word 0x1fe10bd
|
||||
.word 0x80000030
|
||||
.word 0x1de1bca
|
||||
.word 0x80000030
|
||||
.word 0x1dd41bc
|
||||
.word 0x80000030
|
||||
.word 0x1c0e78b
|
||||
.word 0x80000030
|
||||
.word 0x1ec09bc
|
||||
.word 0x80000030
|
||||
.word 0x1ec10bd
|
||||
.word 0x8035433c
|
||||
.word 0x1cc1d0a
|
||||
.word 0x81e51b7c
|
||||
.word 0x1e021bf
|
||||
.word 0x81f91b7c
|
||||
.word 0x1fe08bc
|
||||
.word 0x81e90b7c
|
||||
.word 0x41fe10bd
|
||||
.word 0x80000030
|
||||
.word 0x1de1d4a
|
||||
.word 0x81f0ab3c
|
||||
.word 0x400002ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80006875
|
||||
.word 0x2ff
|
||||
.word 0x81e90b7c
|
||||
.word 0x2ff
|
||||
.word 0x800058f5
|
||||
.word 0x2ff
|
||||
.word 0x1e51801
|
||||
.word 0x2ff
|
||||
.word 0x800318b2
|
||||
.word 0x2ff
|
||||
.word 0x81efab3c
|
||||
.word 0x1e909bc
|
||||
.word 0x81f4b33c
|
||||
.word 0x1e910bd
|
||||
.word 0x2d1ffe
|
||||
.word 0x1c91c4a
|
||||
.word 0x81ea0b7c
|
||||
.word 0x1e021bf
|
||||
.word 0x81f0bb3c
|
||||
.word 0x1e508bc
|
||||
.word 0x1e61801
|
||||
.word 0x1e510bd
|
||||
.word 0x800318b2
|
||||
.word 0x1c51b4a
|
||||
.word 0x80000030
|
||||
.word 0x1ea09bc
|
||||
.word 0x80000030
|
||||
.word 0x1ea10bd
|
||||
.word 0x2e1ffe
|
||||
.word 0x1ca1c8a
|
||||
.word 0x81eb0b7c
|
||||
.word 0x1e021bf
|
||||
.word 0x80000030
|
||||
.word 0x1e608bc
|
||||
.word 0x1e71801
|
||||
.word 0x1e610bd
|
||||
.word 0x800318b2
|
||||
.word 0x1c61b8a
|
||||
.word 0x80000030
|
||||
.word 0x1eb09bc
|
||||
.word 0x80000030
|
||||
.word 0x1eb10bd
|
||||
.word 0x351ffe
|
||||
.word 0x1cb1cca
|
||||
.word 0x81ec0b7c
|
||||
.word 0x1e021bf
|
||||
.word 0x80000030
|
||||
.word 0x1e708bc
|
||||
.word 0x1e81801
|
||||
.word 0x1e710bd
|
||||
.word 0x800318b2
|
||||
.word 0x1c71d4a
|
||||
.word 0x80000030
|
||||
.word 0x1ec09bc
|
||||
.word 0x80000030
|
||||
.word 0x1ec10bd
|
||||
.word 0x371ffe
|
||||
.word 0x1cc1d8a
|
||||
.word 0x81e90b7c
|
||||
.word 0x1e021bf
|
||||
.word 0x80000030
|
||||
.word 0x1e808bc
|
||||
.word 0x1e51801
|
||||
.word 0x41e810bd
|
||||
.word 0x800318b2
|
||||
.word 0x1c81dca
|
||||
.word 0x81efab3c
|
||||
.word 0x2ff
|
||||
.word 0x81f4b33c
|
||||
.word 0x400002ff
|
||||
.word 0x81f0bb3c
|
||||
.word 0x2ff
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,202 @@
|
||||
0.003921569 | maxw.x vf17, vf00, vf00 :i
|
||||
-65537.0 | maxi.y vf17, vf00, I :i
|
||||
iaddiu vi10, vi10, 0x88 | minii.z vf05, vf00, I
|
||||
iaddiu vi08, vi00, 0x8c | minii.z vf06, vf00, I
|
||||
sqi.xyzw vf01, vi08 | minii.z vf07, vf00, I
|
||||
sqi.xyzw vf02, vi08 | minix.w vf05, vf00, vf27
|
||||
sqi.xyzw vf03, vi08 | miniy.w vf06, vf00, vf27
|
||||
sqi.xyzw vf04, vi08 | miniz.w vf07, vf00, vf27
|
||||
ibne vi00, vi13, L1 | nop
|
||||
iaddiu vi05, vi00, 0x182 | nop
|
||||
iaddiu vi05, vi00, 0x1ab | nop
|
||||
L1:
|
||||
ibne vi00, vi12, L2 | nop
|
||||
iaddiu vi03, vi00, 0x146 | nop
|
||||
ior vi03, vi05, vi00 | nop
|
||||
L2:
|
||||
ibne vi00, vi11, L3 | nop
|
||||
iaddiu vi01, vi00, 0x13a | nop
|
||||
ior vi01, vi03, vi00 | nop
|
||||
L3:
|
||||
lqi.xyzw vf29, vi10 | nop
|
||||
iadd vi02, vi08, vi11 | nop
|
||||
iadd vi04, vi02, vi12 | nop
|
||||
iadd vi06, vi04, vi13 | nop
|
||||
mtir vi13, vf29.w | itof0.xyzw vf18, vf29 :e
|
||||
iaddiu vi09, vi00, 0x7f | nop
|
||||
sq.xyzw vf23, 3(vi14) | mulx.xyzw vf11, vf20, vf19
|
||||
sq.xyzw vf24, 4(vi14) | mulx.xyzw vf12, vf21, vf19
|
||||
sq.xyzw vf25, 5(vi14) | mulx.xyzw vf13, vf22, vf19
|
||||
sq.xyzw vf26, 6(vi14) | nop
|
||||
sq.xyzw vf11, 0(vi14) | nop
|
||||
sq.xyzw vf12, 1(vi14) | nop
|
||||
sq.xyzw vf13, 2(vi14) | nop :e
|
||||
nop | nop
|
||||
mtir vi11, vf01.x | maddz.xyzw vf11, vf26, vf10
|
||||
jr vi01 | mul.xyzw vf14, vf13, Q
|
||||
sqi.xyzw vf04, vi08 | mulaw.xyzw ACC, vf20, vf08
|
||||
rsqrt Q, vf00.w, vf16.x | maddaw.xyzw ACC, vf21, vf09
|
||||
lq.xyzw vf24, -124(vi11) | maddaw.xyzw ACC, vf22, vf10
|
||||
lq.xyzw vf25, -123(vi11) | maddw.xyzw vf15, vf23, vf00
|
||||
lq.xyzw vf26, -122(vi11) | mul.xyzw vf16, vf11, vf11
|
||||
lq.xyzw vf20, -128(vi11) | add.xyzw vf08, vf01, vf05
|
||||
lq.xyzw vf21, -127(vi11) | add.xyzw vf09, vf02, vf06
|
||||
lq.xyzw vf22, -126(vi11) | add.xyzw vf10, vf03, vf07
|
||||
ibne vi08, vi02, L4 | adday.xyzw vf16, vf16
|
||||
lq.xyzw vf23, -125(vi11) | maddz.xyzw vf16, vf17, vf16
|
||||
ior vi01, vi03, vi00 | nop
|
||||
L4:
|
||||
move.xyzw vf13, vf12 | mulaz.xyzw ACC, vf24, vf08 :e
|
||||
move.xyzw vf12, vf11 | maddaz.xyzw ACC, vf25, vf09
|
||||
rsqrt Q, vf00.w, vf16.x | maddaw.xyzw ACC, vf21, vf09
|
||||
mtir vi12, vf01.y | maddaw.xyzw ACC, vf22, vf10
|
||||
iand vi11, vi11, vi09 | maddw.xyzw vf15, vf23, vf00
|
||||
lq.xyzw vf19, 4(vi11) | mul.xyzw vf16, vf11, vf11
|
||||
ibeq vi09, vi11, L7 | add.xyzw vf08, vf01, vf05
|
||||
iand vi12, vi12, vi09 | add.xyzw vf09, vf02, vf06
|
||||
nop | muly.xyzw vf18, vf18, vf17
|
||||
lq.xyzw vf24, 4(vi12) | add.xyzw vf10, vf03, vf07
|
||||
lq.xyzw vf27, 5(vi11) | adday.xyzw vf16, vf16
|
||||
lq.xyzw vf25, 5(vi12) | maddz.xyzw vf16, vf17, vf16
|
||||
lq.xyzw vf28, 6(vi11) | mulax.xyzw ACC, vf19, vf18
|
||||
lq.xyzw vf26, 6(vi12) | maddy.xyzw vf24, vf24, vf18
|
||||
lq.xyzw vf29, 0(vi11) | mulax.xyzw ACC, vf27, vf18
|
||||
lq.xyzw vf20, 0(vi12) | maddy.xyzw vf25, vf25, vf18
|
||||
lq.xyzw vf19, 1(vi11) | mulax.xyzw ACC, vf28, vf18
|
||||
lq.xyzw vf21, 1(vi12) | maddy.xyzw vf26, vf26, vf18
|
||||
lq.xyzw vf27, 2(vi11) | mulax.xyzw ACC, vf29, vf18
|
||||
lq.xyzw vf22, 2(vi12) | maddy.xyzw vf20, vf20, vf18
|
||||
lq.xyzw vf28, 3(vi11) | mulax.xyzw ACC, vf19, vf18
|
||||
lq.xyzw vf23, 3(vi12) | maddy.xyzw vf21, vf21, vf18
|
||||
nop | mulax.xyzw ACC, vf27, vf18
|
||||
iaddiu vi01, vi00, 0x161 | maddy.xyzw vf22, vf22, vf18
|
||||
ibne vi08, vi04, L5 | mulax.xyzw ACC, vf28, vf18
|
||||
nop | maddy.xyzw vf23, vf23, vf18
|
||||
ior vi01, vi05, vi00 | nop
|
||||
L5:
|
||||
move.xyzw vf13, vf12 | mulaz.xyzw ACC, vf24, vf08 :e
|
||||
move.xyzw vf12, vf11 | maddaz.xyzw ACC, vf25, vf09
|
||||
rsqrt Q, vf00.w, vf16.x | maddaw.xyzw ACC, vf21, vf09
|
||||
mtir vi12, vf01.y | maddaw.xyzw ACC, vf22, vf10
|
||||
iand vi11, vi11, vi09 | maddw.xyzw vf15, vf23, vf00
|
||||
lq.xyzw vf19, 4(vi11) | mul.xyzw vf16, vf11, vf11
|
||||
ibeq vi09, vi11, L7 | add.xyzw vf08, vf01, vf05
|
||||
iand vi12, vi12, vi09 | add.xyzw vf09, vf02, vf06
|
||||
lq.xyzw vf24, 4(vi12) | add.xyzw vf10, vf03, vf07
|
||||
lq.xyzw vf27, 5(vi11) | adday.xyzw vf16, vf16
|
||||
lq.xyzw vf25, 5(vi12) | maddz.xyzw vf16, vf17, vf16
|
||||
lq.xyzw vf28, 6(vi11) | mulaz.xyzw ACC, vf19, vf18
|
||||
lq.xyzw vf26, 6(vi12) | maddw.xyzw vf24, vf24, vf18
|
||||
lq.xyzw vf29, 0(vi11) | mulaz.xyzw ACC, vf27, vf18
|
||||
lq.xyzw vf20, 0(vi12) | maddw.xyzw vf25, vf25, vf18
|
||||
lq.xyzw vf19, 1(vi11) | mulaz.xyzw ACC, vf28, vf18
|
||||
lq.xyzw vf21, 1(vi12) | maddw.xyzw vf26, vf26, vf18
|
||||
lq.xyzw vf27, 2(vi11) | mulaz.xyzw ACC, vf29, vf18
|
||||
lq.xyzw vf22, 2(vi12) | maddw.xyzw vf20, vf20, vf18
|
||||
lq.xyzw vf28, 3(vi11) | mulaz.xyzw ACC, vf19, vf18
|
||||
lq.xyzw vf23, 3(vi12) | maddw.xyzw vf21, vf21, vf18
|
||||
lqi.xyzw vf29, vi10 | mulaz.xyzw ACC, vf27, vf18
|
||||
iaddiu vi01, vi00, 0x146 | maddw.xyzw vf22, vf22, vf18
|
||||
ibne vi08, vi04, L6 | mulaz.xyzw ACC, vf28, vf18
|
||||
nop | maddw.xyzw vf23, vf23, vf18
|
||||
ior vi01, vi05, vi00 | nop
|
||||
L6:
|
||||
mtir vi13, vf29.w | itof0.xyzw vf18, vf29
|
||||
move.xyzw vf13, vf12 | mulaz.xyzw ACC, vf24, vf08 :e
|
||||
move.xyzw vf12, vf11 | maddaz.xyzw ACC, vf25, vf09
|
||||
L7:
|
||||
nop | add.xyzw vf10, vf03, vf07
|
||||
ibne vi08, vi04, L8 | adday.xyzw vf16, vf16
|
||||
nop | maddz.xyzw vf16, vf17, vf16
|
||||
ior vi01, vi05, vi00 | nop
|
||||
L8:
|
||||
move.xyzw vf13, vf12 | mulaz.xyzw ACC, vf24, vf08 :e
|
||||
move.xyzw vf12, vf11 | maddaz.xyzw ACC, vf25, vf09
|
||||
rsqrt Q, vf00.w, vf16.x | maddaw.xyzw ACC, vf21, vf09
|
||||
mtir vi12, vf01.y | maddaw.xyzw ACC, vf22, vf10
|
||||
iand vi11, vi11, vi09 | maddw.xyzw vf15, vf23, vf00
|
||||
lq.xyzw vf19, 4(vi11) | mul.xyzw vf16, vf11, vf11
|
||||
ibeq vi09, vi11, L10 | add.xyzw vf08, vf01, vf05
|
||||
iand vi12, vi12, vi09 | add.xyzw vf09, vf02, vf06
|
||||
nop | muly.xyzw vf18, vf18, vf17
|
||||
lq.xyzw vf27, 4(vi12) | add.xyzw vf10, vf03, vf07
|
||||
lq.xyzw vf24, 4(vi13) | adday.xyzw vf16, vf16
|
||||
lq.xyzw vf28, 5(vi11) | maddz.xyzw vf16, vf17, vf16
|
||||
lq.xyzw vf19, 5(vi12) | mulax.xyzw ACC, vf19, vf18
|
||||
lq.xyzw vf25, 5(vi13) | madday.xyzw ACC, vf27, vf18
|
||||
lq.xyzw vf27, 6(vi11) | maddz.xyzw vf24, vf24, vf18
|
||||
lq.xyzw vf28, 6(vi12) | mulax.xyzw ACC, vf28, vf18
|
||||
lq.xyzw vf26, 6(vi13) | madday.xyzw ACC, vf19, vf18
|
||||
lq.xyzw vf19, 0(vi11) | maddz.xyzw vf25, vf25, vf18
|
||||
lq.xyzw vf27, 0(vi12) | mulax.xyzw ACC, vf27, vf18
|
||||
lq.xyzw vf20, 0(vi13) | madday.xyzw ACC, vf28, vf18
|
||||
lq.xyzw vf28, 1(vi11) | maddz.xyzw vf26, vf26, vf18
|
||||
lq.xyzw vf19, 1(vi12) | mulax.xyzw ACC, vf19, vf18
|
||||
lq.xyzw vf21, 1(vi13) | madday.xyzw ACC, vf27, vf18
|
||||
lq.xyzw vf27, 2(vi11) | maddz.xyzw vf20, vf20, vf18
|
||||
lq.xyzw vf28, 2(vi12) | mulax.xyzw ACC, vf28, vf18
|
||||
lq.xyzw vf22, 2(vi13) | madday.xyzw ACC, vf19, vf18
|
||||
lq.xyzw vf19, 3(vi11) | maddz.xyzw vf21, vf21, vf18
|
||||
lq.xyzw vf27, 3(vi12) | mulax.xyzw ACC, vf27, vf18
|
||||
lq.xyzw vf23, 3(vi13) | madday.xyzw ACC, vf28, vf18
|
||||
lqi.xyzw vf29, vi10 | maddz.xyzw vf22, vf22, vf18
|
||||
ibne vi08, vi06, L9 | mulax.xyzw ACC, vf19, vf18
|
||||
nop | madday.xyzw ACC, vf27, vf18
|
||||
iaddiu vi01, vi00, 0x1ab | nop
|
||||
L9:
|
||||
nop | maddz.xyzw vf23, vf23, vf18
|
||||
mtir vi13, vf29.w | itof0.xyz vf18, vf29
|
||||
move.xyzw vf13, vf12 | mulaz.xyzw ACC, vf24, vf08 :e
|
||||
move.xyzw vf12, vf11 | maddaz.xyzw ACC, vf25, vf09
|
||||
L10:
|
||||
nop | add.xyzw vf10, vf03, vf07
|
||||
ibne vi08, vi06, L11 | adday.xyzw vf16, vf16
|
||||
nop | maddz.xyzw vf16, vf17, vf16
|
||||
iaddiu vi01, vi00, 0x1ab | nop
|
||||
L11:
|
||||
move.xyzw vf13, vf12 | mulaz.xyzw ACC, vf24, vf08 :e
|
||||
move.xyzw vf12, vf11 | maddaz.xyzw ACC, vf25, vf09
|
||||
rsqrt Q, vf00.w, vf16.x | maddaw.xyzw ACC, vf21, vf09
|
||||
nop | maddaw.xyzw ACC, vf22, vf10
|
||||
nop | maddw.xyzw vf15, vf23, vf00
|
||||
nop | mul.xyzw vf16, vf11, vf11
|
||||
nop | add.xyzw vf08, vf01, vf05
|
||||
nop | add.xyzw vf09, vf02, vf06
|
||||
nop | add.xyzw vf10, vf03, vf07
|
||||
nop | adday.xyzw vf16, vf16
|
||||
nop | maddz.xyzw vf16, vf17, vf16
|
||||
move.xyzw vf13, vf12 | mulaz.xyzw ACC, vf24, vf08 :e
|
||||
move.xyzw vf12, vf11 | maddaz.xyzw ACC, vf25, vf09
|
||||
nop | mulaz.xyzw ACC, vf09, vf01
|
||||
nop | maddax.xyzw ACC, vf10, vf01
|
||||
nop | maddy.xyzw vf01, vf11, vf01
|
||||
nop | mulaz.xyzw ACC, vf09, vf02
|
||||
nop | maddax.xyzw ACC, vf10, vf02
|
||||
nop | maddy.xyzw vf02, vf11, vf02
|
||||
fmand vi01, vi09 | mulaz.xyzw ACC, vf09, vf03
|
||||
nop | maddax.xyzw ACC, vf10, vf03
|
||||
nop | maddy.xyzw vf03, vf11, vf03
|
||||
fmand vi02, vi09 | mulaz.xyzw ACC, vf09, vf04
|
||||
nop | maddax.xyzw ACC, vf10, vf04
|
||||
nop | maddy.xyzw vf04, vf11, vf04
|
||||
fmand vi03, vi09 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
fmand vi04, vi09 | nop
|
||||
nop | mulaz.xyzw ACC, vf09, vf05
|
||||
nop | maddax.xyzw ACC, vf10, vf05
|
||||
nop | maddy.xyzw vf05, vf11, vf05
|
||||
nop | mulaz.xyzw ACC, vf09, vf06
|
||||
nop | maddax.xyzw ACC, vf10, vf06
|
||||
nop | maddy.xyzw vf06, vf11, vf06
|
||||
fmand vi05, vi09 | mulaz.xyzw ACC, vf09, vf07
|
||||
nop | maddax.xyzw ACC, vf10, vf07
|
||||
nop | maddy.xyzw vf07, vf11, vf07
|
||||
fmand vi06, vi09 | mulaz.xyzw ACC, vf09, vf08
|
||||
nop | maddax.xyzw ACC, vf10, vf08
|
||||
nop | maddy.xyzw vf08, vf11, vf08
|
||||
fmand vi07, vi09 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
fmand vi08, vi09 | nop
|
||||
|
||||
@@ -0,0 +1,380 @@
|
||||
.word 0x3b808081
|
||||
.word 0x81000453
|
||||
.word 0xc7800080
|
||||
.word 0x8080045d
|
||||
.word 0x100a5088
|
||||
.word 0x40015f
|
||||
.word 0x1008008c
|
||||
.word 0x40019f
|
||||
.word 0x81e80b7d
|
||||
.word 0x4001df
|
||||
.word 0x81e8137d
|
||||
.word 0x3b0154
|
||||
.word 0x81e81b7d
|
||||
.word 0x3b0195
|
||||
.word 0x81e8237d
|
||||
.word 0x3b01d6
|
||||
.word 0x52006802
|
||||
.word 0x2ff
|
||||
.word 0x10050182
|
||||
.word 0x2ff
|
||||
.word 0x100501ab
|
||||
.word 0x2ff
|
||||
.word 0x52006002
|
||||
.word 0x2ff
|
||||
.word 0x10030146
|
||||
.word 0x2ff
|
||||
.word 0x800028f5
|
||||
.word 0x2ff
|
||||
.word 0x52005802
|
||||
.word 0x2ff
|
||||
.word 0x1001013a
|
||||
.word 0x2ff
|
||||
.word 0x80001875
|
||||
.word 0x2ff
|
||||
.word 0x81fd537c
|
||||
.word 0x2ff
|
||||
.word 0x800b40b0
|
||||
.word 0x2ff
|
||||
.word 0x800c1130
|
||||
.word 0x2ff
|
||||
.word 0x800d21b0
|
||||
.word 0x2ff
|
||||
.word 0x806debfc
|
||||
.word 0x41f2e93c
|
||||
.word 0x1009007f
|
||||
.word 0x2ff
|
||||
.word 0x3eeb803
|
||||
.word 0x1f3a2d8
|
||||
.word 0x3eec004
|
||||
.word 0x1f3ab18
|
||||
.word 0x3eec805
|
||||
.word 0x1f3b358
|
||||
.word 0x3eed006
|
||||
.word 0x2ff
|
||||
.word 0x3ee5800
|
||||
.word 0x2ff
|
||||
.word 0x3ee6001
|
||||
.word 0x2ff
|
||||
.word 0x3ee6802
|
||||
.word 0x400002ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x800b0bfc
|
||||
.word 0x1ead2ca
|
||||
.word 0x48000800
|
||||
.word 0x1e06b9c
|
||||
.word 0x81e8237d
|
||||
.word 0x1e8a1bf
|
||||
.word 0x807003be
|
||||
.word 0x1e9a8bf
|
||||
.word 0x1f85f84
|
||||
.word 0x1eab0bf
|
||||
.word 0x1f95f85
|
||||
.word 0x1e0bbcb
|
||||
.word 0x1fa5f86
|
||||
.word 0x1eb5c2a
|
||||
.word 0x1f45f80
|
||||
.word 0x1e50a28
|
||||
.word 0x1f55f81
|
||||
.word 0x1e61268
|
||||
.word 0x1f65f82
|
||||
.word 0x1e71aa8
|
||||
.word 0x52081002
|
||||
.word 0x1f0803d
|
||||
.word 0x1f75f83
|
||||
.word 0x1f08c0a
|
||||
.word 0x80001875
|
||||
.word 0x2ff
|
||||
.word 0x81ed633c
|
||||
.word 0x41e8c1be
|
||||
.word 0x81ec5b3c
|
||||
.word 0x1e9c8be
|
||||
.word 0x807003be
|
||||
.word 0x1e9a8bf
|
||||
.word 0x802c0bfc
|
||||
.word 0x1eab0bf
|
||||
.word 0x80095af4
|
||||
.word 0x1e0bbcb
|
||||
.word 0x1f35804
|
||||
.word 0x1eb5c2a
|
||||
.word 0x50095831
|
||||
.word 0x1e50a28
|
||||
.word 0x80096334
|
||||
.word 0x1e61268
|
||||
.word 0x80000030
|
||||
.word 0x1f19499
|
||||
.word 0x1f86004
|
||||
.word 0x1e71aa8
|
||||
.word 0x1fb5805
|
||||
.word 0x1f0803d
|
||||
.word 0x1f96005
|
||||
.word 0x1f08c0a
|
||||
.word 0x1fc5806
|
||||
.word 0x1f299bc
|
||||
.word 0x1fa6006
|
||||
.word 0x1f2c609
|
||||
.word 0x1fd5800
|
||||
.word 0x1f2d9bc
|
||||
.word 0x1f46000
|
||||
.word 0x1f2ce49
|
||||
.word 0x1f35801
|
||||
.word 0x1f2e1bc
|
||||
.word 0x1f56001
|
||||
.word 0x1f2d689
|
||||
.word 0x1fb5802
|
||||
.word 0x1f2e9bc
|
||||
.word 0x1f66002
|
||||
.word 0x1f2a509
|
||||
.word 0x1fc5803
|
||||
.word 0x1f299bc
|
||||
.word 0x1f76003
|
||||
.word 0x1f2ad49
|
||||
.word 0x80000030
|
||||
.word 0x1f2d9bc
|
||||
.word 0x10010161
|
||||
.word 0x1f2b589
|
||||
.word 0x52082002
|
||||
.word 0x1f2e1bc
|
||||
.word 0x80000030
|
||||
.word 0x1f2bdc9
|
||||
.word 0x80002875
|
||||
.word 0x2ff
|
||||
.word 0x81ed633c
|
||||
.word 0x41e8c1be
|
||||
.word 0x81ec5b3c
|
||||
.word 0x1e9c8be
|
||||
.word 0x807003be
|
||||
.word 0x1e9a8bf
|
||||
.word 0x802c0bfc
|
||||
.word 0x1eab0bf
|
||||
.word 0x80095af4
|
||||
.word 0x1e0bbcb
|
||||
.word 0x1f35804
|
||||
.word 0x1eb5c2a
|
||||
.word 0x50095816
|
||||
.word 0x1e50a28
|
||||
.word 0x80096334
|
||||
.word 0x1e61268
|
||||
.word 0x1f86004
|
||||
.word 0x1e71aa8
|
||||
.word 0x1fb5805
|
||||
.word 0x1f0803d
|
||||
.word 0x1f96005
|
||||
.word 0x1f08c0a
|
||||
.word 0x1fc5806
|
||||
.word 0x1f299be
|
||||
.word 0x1fa6006
|
||||
.word 0x1f2c60b
|
||||
.word 0x1fd5800
|
||||
.word 0x1f2d9be
|
||||
.word 0x1f46000
|
||||
.word 0x1f2ce4b
|
||||
.word 0x1f35801
|
||||
.word 0x1f2e1be
|
||||
.word 0x1f56001
|
||||
.word 0x1f2d68b
|
||||
.word 0x1fb5802
|
||||
.word 0x1f2e9be
|
||||
.word 0x1f66002
|
||||
.word 0x1f2a50b
|
||||
.word 0x1fc5803
|
||||
.word 0x1f299be
|
||||
.word 0x1f76003
|
||||
.word 0x1f2ad4b
|
||||
.word 0x81fd537c
|
||||
.word 0x1f2d9be
|
||||
.word 0x10010146
|
||||
.word 0x1f2b58b
|
||||
.word 0x52082002
|
||||
.word 0x1f2e1be
|
||||
.word 0x80000030
|
||||
.word 0x1f2bdcb
|
||||
.word 0x80002875
|
||||
.word 0x2ff
|
||||
.word 0x806debfc
|
||||
.word 0x1f2e93c
|
||||
.word 0x81ed633c
|
||||
.word 0x41e8c1be
|
||||
.word 0x81ec5b3c
|
||||
.word 0x1e9c8be
|
||||
.word 0x80000030
|
||||
.word 0x1e71aa8
|
||||
.word 0x52082002
|
||||
.word 0x1f0803d
|
||||
.word 0x80000030
|
||||
.word 0x1f08c0a
|
||||
.word 0x80002875
|
||||
.word 0x2ff
|
||||
.word 0x81ed633c
|
||||
.word 0x41e8c1be
|
||||
.word 0x81ec5b3c
|
||||
.word 0x1e9c8be
|
||||
.word 0x807003be
|
||||
.word 0x1e9a8bf
|
||||
.word 0x802c0bfc
|
||||
.word 0x1eab0bf
|
||||
.word 0x80095af4
|
||||
.word 0x1e0bbcb
|
||||
.word 0x1f35804
|
||||
.word 0x1eb5c2a
|
||||
.word 0x5009581e
|
||||
.word 0x1e50a28
|
||||
.word 0x80096334
|
||||
.word 0x1e61268
|
||||
.word 0x80000030
|
||||
.word 0x1f19499
|
||||
.word 0x1fb6004
|
||||
.word 0x1e71aa8
|
||||
.word 0x1f86804
|
||||
.word 0x1f0803d
|
||||
.word 0x1fc5805
|
||||
.word 0x1f08c0a
|
||||
.word 0x1f36005
|
||||
.word 0x1f299bc
|
||||
.word 0x1f96805
|
||||
.word 0x1f2d8bd
|
||||
.word 0x1fb5806
|
||||
.word 0x1f2c60a
|
||||
.word 0x1fc6006
|
||||
.word 0x1f2e1bc
|
||||
.word 0x1fa6806
|
||||
.word 0x1f298bd
|
||||
.word 0x1f35800
|
||||
.word 0x1f2ce4a
|
||||
.word 0x1fb6000
|
||||
.word 0x1f2d9bc
|
||||
.word 0x1f46800
|
||||
.word 0x1f2e0bd
|
||||
.word 0x1fc5801
|
||||
.word 0x1f2d68a
|
||||
.word 0x1f36001
|
||||
.word 0x1f299bc
|
||||
.word 0x1f56801
|
||||
.word 0x1f2d8bd
|
||||
.word 0x1fb5802
|
||||
.word 0x1f2a50a
|
||||
.word 0x1fc6002
|
||||
.word 0x1f2e1bc
|
||||
.word 0x1f66802
|
||||
.word 0x1f298bd
|
||||
.word 0x1f35803
|
||||
.word 0x1f2ad4a
|
||||
.word 0x1fb6003
|
||||
.word 0x1f2d9bc
|
||||
.word 0x1f76803
|
||||
.word 0x1f2e0bd
|
||||
.word 0x81fd537c
|
||||
.word 0x1f2b58a
|
||||
.word 0x52083002
|
||||
.word 0x1f299bc
|
||||
.word 0x80000030
|
||||
.word 0x1f2d8bd
|
||||
.word 0x100101ab
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x1f2bdca
|
||||
.word 0x806debfc
|
||||
.word 0x1d2e93c
|
||||
.word 0x81ed633c
|
||||
.word 0x41e8c1be
|
||||
.word 0x81ec5b3c
|
||||
.word 0x1e9c8be
|
||||
.word 0x80000030
|
||||
.word 0x1e71aa8
|
||||
.word 0x52083002
|
||||
.word 0x1f0803d
|
||||
.word 0x80000030
|
||||
.word 0x1f08c0a
|
||||
.word 0x100101ab
|
||||
.word 0x2ff
|
||||
.word 0x81ed633c
|
||||
.word 0x41e8c1be
|
||||
.word 0x81ec5b3c
|
||||
.word 0x1e9c8be
|
||||
.word 0x807003be
|
||||
.word 0x1e9a8bf
|
||||
.word 0x80000030
|
||||
.word 0x1eab0bf
|
||||
.word 0x80000030
|
||||
.word 0x1e0bbcb
|
||||
.word 0x80000030
|
||||
.word 0x1eb5c2a
|
||||
.word 0x80000030
|
||||
.word 0x1e50a28
|
||||
.word 0x80000030
|
||||
.word 0x1e61268
|
||||
.word 0x80000030
|
||||
.word 0x1e71aa8
|
||||
.word 0x80000030
|
||||
.word 0x1f0803d
|
||||
.word 0x80000030
|
||||
.word 0x1f08c0a
|
||||
.word 0x81ed633c
|
||||
.word 0x41e8c1be
|
||||
.word 0x81ec5b3c
|
||||
.word 0x1e9c8be
|
||||
.word 0x80000030
|
||||
.word 0x1e149be
|
||||
.word 0x80000030
|
||||
.word 0x1e150bc
|
||||
.word 0x80000030
|
||||
.word 0x1e15849
|
||||
.word 0x80000030
|
||||
.word 0x1e249be
|
||||
.word 0x80000030
|
||||
.word 0x1e250bc
|
||||
.word 0x80000030
|
||||
.word 0x1e25889
|
||||
.word 0x34014800
|
||||
.word 0x1e349be
|
||||
.word 0x80000030
|
||||
.word 0x1e350bc
|
||||
.word 0x80000030
|
||||
.word 0x1e358c9
|
||||
.word 0x34024800
|
||||
.word 0x1e449be
|
||||
.word 0x80000030
|
||||
.word 0x1e450bc
|
||||
.word 0x80000030
|
||||
.word 0x1e45909
|
||||
.word 0x34034800
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x400002ff
|
||||
.word 0x34044800
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x1e549be
|
||||
.word 0x80000030
|
||||
.word 0x1e550bc
|
||||
.word 0x80000030
|
||||
.word 0x1e55949
|
||||
.word 0x80000030
|
||||
.word 0x1e649be
|
||||
.word 0x80000030
|
||||
.word 0x1e650bc
|
||||
.word 0x80000030
|
||||
.word 0x1e65989
|
||||
.word 0x34054800
|
||||
.word 0x1e749be
|
||||
.word 0x80000030
|
||||
.word 0x1e750bc
|
||||
.word 0x80000030
|
||||
.word 0x1e759c9
|
||||
.word 0x34064800
|
||||
.word 0x1e849be
|
||||
.word 0x80000030
|
||||
.word 0x1e850bc
|
||||
.word 0x80000030
|
||||
.word 0x1e85a09
|
||||
.word 0x34074800
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x400002ff
|
||||
.word 0x34084800
|
||||
.word 0x2ff
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,89 @@
|
||||
nop | sub.xyzw vf05, vf03, vf02
|
||||
nop | sub.xyzw vf06, vf04, vf02
|
||||
nop | sub.xyzw vf10, vf08, vf07
|
||||
nop | sub.xyzw vf11, vf09, vf07
|
||||
nop | sub.xyzw vf15, vf13, vf12
|
||||
nop | sub.xyzw vf16, vf14, vf12
|
||||
nop | sub.xyzw vf20, vf18, vf17
|
||||
nop | sub.xyzw vf21, vf19, vf17
|
||||
nop | opmula.xyz ACC, vf05, vf06
|
||||
nop | opmsub.xyz vf05, vf06, vf05
|
||||
nop | opmula.xyz ACC, vf10, vf11
|
||||
nop | opmsub.xyz vf10, vf11, vf10
|
||||
nop | opmula.xyz ACC, vf15, vf16
|
||||
nop | opmsub.xyz vf15, vf16, vf15
|
||||
nop | opmula.xyz ACC, vf20, vf21
|
||||
nop | opmsub.xyz vf20, vf21, vf20
|
||||
nop | mul.xyz vf05, vf05, vf01
|
||||
nop | mul.xyz vf10, vf10, vf01
|
||||
nop | mul.xyz vf15, vf15, vf01
|
||||
nop | mul.xyz vf20, vf20, vf01
|
||||
nop | addx.y vf05, vf05, vf05
|
||||
nop | addx.y vf10, vf10, vf10
|
||||
nop | addx.y vf15, vf15, vf15
|
||||
nop | addx.y vf20, vf20, vf20
|
||||
nop | addz.y vf22, vf05, vf05
|
||||
nop | addz.y vf23, vf10, vf10
|
||||
nop | addz.y vf24, vf15, vf15 :e
|
||||
nop | addz.y vf25, vf20, vf20
|
||||
nop | mul.xyzw vf27, vf20, Q
|
||||
div Q, vf13.x, vf17.x | sub.xyzw vf19, vf01, vf03
|
||||
move.xyzw vf23, vf07 | sub.xyzw vf20, vf01, vf04
|
||||
nop | sub.xyzw vf21, vf01, vf05
|
||||
move.xyzw vf25, vf09 | sub.xyzw vf22, vf01, vf06
|
||||
move.xyzw vf26, vf10 | sub.xyzw vf24, vf08, vf27
|
||||
nop | mul.xyzw vf11, vf03, vf02
|
||||
nop | mul.xyz vf15, vf19, vf02
|
||||
div Q, vf14.x, vf18.x | mul.xyzw vf12, vf04, vf02
|
||||
move.xyzw vf07, vf03 | mul.xyzw vf28, vf28, Q
|
||||
move.xyzw vf08, vf04 | mul.xyz vf16, vf20, vf02
|
||||
move.xyzw vf09, vf05 | addy.x vf11, vf11, vf11
|
||||
move.xyzw vf10, vf06 | addy.x vf15, vf15, vf15
|
||||
nop | sub.xyzw vf25, vf25, vf28
|
||||
nop | addy.x vf12, vf12, vf12
|
||||
nop | mul.xyzw vf29, vf29, Q
|
||||
nop | addy.x vf16, vf16, vf16
|
||||
nop | addz.x vf11, vf11, vf11
|
||||
nop | addz.x vf15, vf15, vf15
|
||||
nop | sub.xyzw vf26, vf26, vf29
|
||||
nop | addz.x vf12, vf12, vf12
|
||||
nop | addz.x vf16, vf16, vf16
|
||||
nop | addw.x vf11, vf11, vf11
|
||||
nop | mul.xyzw vf13, vf09, vf02
|
||||
nop | addw.x vf12, vf12, vf12
|
||||
nop | mul.xyz vf17, vf21, vf02
|
||||
nop | mul.xyzw vf14, vf10, vf02
|
||||
div Q, vf11.x, vf15.x | mul.xyz vf18, vf22, vf02
|
||||
nop | addy.x vf13, vf13, vf13
|
||||
nop | addy.x vf17, vf17, vf17
|
||||
nop | addy.x vf14, vf14, vf14
|
||||
nop | addy.x vf18, vf18, vf18
|
||||
nop | addz.x vf13, vf13, vf13
|
||||
nop | addz.x vf17, vf17, vf17
|
||||
div Q, vf12.x, vf16.x | addz.x vf14, vf14, vf14
|
||||
nop | mul.xyzw vf19, vf19, Q
|
||||
move.xyzw vf28, vf21 | addz.x vf18, vf18, vf18
|
||||
move.xyzw vf29, vf22 | addw.x vf13, vf13, vf13
|
||||
nop | addw.x vf14, vf14, vf14 :e
|
||||
nop | sub.xyzw vf07, vf07, vf19
|
||||
nop | mul.xyzw vf27, vf20, Q
|
||||
div Q, vf13.x, vf17.x | nop
|
||||
move.xyzw vf23, vf07 | nop
|
||||
nop | nop
|
||||
move.xyzw vf25, vf09 | nop
|
||||
move.xyzw vf26, vf10 | sub.xyzw vf24, vf08, vf27
|
||||
nop | nop
|
||||
nop | nop
|
||||
div Q, vf14.x, vf18.x | nop
|
||||
nop | mul.xyzw vf28, vf28, Q
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | sub.xyzw vf25, vf25, vf28
|
||||
nop | nop
|
||||
nop | mul.xyzw vf29, vf29, Q
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
nop | sub.xyzw vf26, vf26, vf29
|
||||
|
||||
@@ -0,0 +1,176 @@
|
||||
.word 0x80000030
|
||||
.word 0x1e2196c
|
||||
.word 0x80000030
|
||||
.word 0x1e221ac
|
||||
.word 0x80000030
|
||||
.word 0x1e742ac
|
||||
.word 0x80000030
|
||||
.word 0x1e74aec
|
||||
.word 0x80000030
|
||||
.word 0x1ec6bec
|
||||
.word 0x80000030
|
||||
.word 0x1ec742c
|
||||
.word 0x80000030
|
||||
.word 0x1f1952c
|
||||
.word 0x80000030
|
||||
.word 0x1f19d6c
|
||||
.word 0x80000030
|
||||
.word 0x1c62afe
|
||||
.word 0x80000030
|
||||
.word 0x1c5316e
|
||||
.word 0x80000030
|
||||
.word 0x1cb52fe
|
||||
.word 0x80000030
|
||||
.word 0x1ca5aae
|
||||
.word 0x80000030
|
||||
.word 0x1d07afe
|
||||
.word 0x80000030
|
||||
.word 0x1cf83ee
|
||||
.word 0x80000030
|
||||
.word 0x1d5a2fe
|
||||
.word 0x80000030
|
||||
.word 0x1d4ad2e
|
||||
.word 0x80000030
|
||||
.word 0x1c1296a
|
||||
.word 0x80000030
|
||||
.word 0x1c152aa
|
||||
.word 0x80000030
|
||||
.word 0x1c17bea
|
||||
.word 0x80000030
|
||||
.word 0x1c1a52a
|
||||
.word 0x80000030
|
||||
.word 0x852940
|
||||
.word 0x80000030
|
||||
.word 0x8a5280
|
||||
.word 0x80000030
|
||||
.word 0x8f7bc0
|
||||
.word 0x80000030
|
||||
.word 0x94a500
|
||||
.word 0x80000030
|
||||
.word 0x852d82
|
||||
.word 0x80000030
|
||||
.word 0x8a55c2
|
||||
.word 0x80000030
|
||||
.word 0x408f7e02
|
||||
.word 0x80000030
|
||||
.word 0x94a642
|
||||
.word 0x80000030
|
||||
.word 0x1e0a6dc
|
||||
.word 0x80116bbc
|
||||
.word 0x1e30cec
|
||||
.word 0x81f73b3c
|
||||
.word 0x1e40d2c
|
||||
.word 0x80000030
|
||||
.word 0x1e50d6c
|
||||
.word 0x81f94b3c
|
||||
.word 0x1e60dac
|
||||
.word 0x81fa533c
|
||||
.word 0x1fb462c
|
||||
.word 0x80000030
|
||||
.word 0x1e21aea
|
||||
.word 0x80000030
|
||||
.word 0x1c29bea
|
||||
.word 0x801273bc
|
||||
.word 0x1e2232a
|
||||
.word 0x81e71b3c
|
||||
.word 0x1e0e71c
|
||||
.word 0x81e8233c
|
||||
.word 0x1c2a42a
|
||||
.word 0x81e92b3c
|
||||
.word 0x10b5ac1
|
||||
.word 0x81ea333c
|
||||
.word 0x10f7bc1
|
||||
.word 0x80000030
|
||||
.word 0x1fcce6c
|
||||
.word 0x80000030
|
||||
.word 0x10c6301
|
||||
.word 0x80000030
|
||||
.word 0x1e0ef5c
|
||||
.word 0x80000030
|
||||
.word 0x1108401
|
||||
.word 0x80000030
|
||||
.word 0x10b5ac2
|
||||
.word 0x80000030
|
||||
.word 0x10f7bc2
|
||||
.word 0x80000030
|
||||
.word 0x1fdd6ac
|
||||
.word 0x80000030
|
||||
.word 0x10c6302
|
||||
.word 0x80000030
|
||||
.word 0x1108402
|
||||
.word 0x80000030
|
||||
.word 0x10b5ac3
|
||||
.word 0x80000030
|
||||
.word 0x1e24b6a
|
||||
.word 0x80000030
|
||||
.word 0x10c6303
|
||||
.word 0x80000030
|
||||
.word 0x1c2ac6a
|
||||
.word 0x80000030
|
||||
.word 0x1e253aa
|
||||
.word 0x800f5bbc
|
||||
.word 0x1c2b4aa
|
||||
.word 0x80000030
|
||||
.word 0x10d6b41
|
||||
.word 0x80000030
|
||||
.word 0x1118c41
|
||||
.word 0x80000030
|
||||
.word 0x10e7381
|
||||
.word 0x80000030
|
||||
.word 0x1129481
|
||||
.word 0x80000030
|
||||
.word 0x10d6b42
|
||||
.word 0x80000030
|
||||
.word 0x1118c42
|
||||
.word 0x801063bc
|
||||
.word 0x10e7382
|
||||
.word 0x80000030
|
||||
.word 0x1e09cdc
|
||||
.word 0x81fcab3c
|
||||
.word 0x1129482
|
||||
.word 0x81fdb33c
|
||||
.word 0x10d6b43
|
||||
.word 0x80000030
|
||||
.word 0x410e7383
|
||||
.word 0x80000030
|
||||
.word 0x1f339ec
|
||||
.word 0x80000030
|
||||
.word 0x1e0a6dc
|
||||
.word 0x80116bbc
|
||||
.word 0x2ff
|
||||
.word 0x81f73b3c
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x81f94b3c
|
||||
.word 0x2ff
|
||||
.word 0x81fa533c
|
||||
.word 0x1fb462c
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x801273bc
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x1e0e71c
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x1fcce6c
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x1e0ef5c
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x400002ff
|
||||
.word 0x80000030
|
||||
.word 0x1fdd6ac
|
||||
@@ -0,0 +1,800 @@
|
||||
b L1 | nop
|
||||
nop | nop
|
||||
b L2 | nop
|
||||
nop | nop
|
||||
b L13 | nop
|
||||
nop | nop
|
||||
b L21 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L1:
|
||||
iaddiu vi01, vi00, 0x358 | nop
|
||||
iaddiu vi02, vi00, 0x364 | nop
|
||||
mfir.x vf01, vi01 | nop
|
||||
mfir.y vf01, vi02 | nop
|
||||
mfir.z vf01, vi01 | nop
|
||||
mfir.w vf01, vi02 | nop
|
||||
lq.xyzw vf02, 880(vi00) | nop
|
||||
lq.xyzw vf03, 882(vi00) | nop
|
||||
lq.xyzw vf04, 883(vi00) | nop
|
||||
lq.xyzw vf05, 884(vi00) | nop
|
||||
lq.xyzw vf12, 885(vi00) | nop :e
|
||||
lq.xyzw vf13, 881(vi00) | nop
|
||||
L2:
|
||||
iaddiu vi03, vi00, 0x158 | nop
|
||||
ilwr.x vi08, vi03 | nop
|
||||
mtir vi02, vf01.x | nop
|
||||
iaddi vi03, vi03, 0x1 | addw.z vf25, vf00, vf00
|
||||
lq.xyzw vf25, 888(vi00) | addw.z vf26, vf00, vf00
|
||||
lq.xyzw vf29, 889(vi00) | addw.z vf27, vf00, vf00
|
||||
lq.xyzw vf30, 891(vi00) | addw.z vf28, vf00, vf00
|
||||
lq.xyzw vf06, 0(vi00) | nop
|
||||
lq.xyzw vf07, 1(vi00) | nop
|
||||
lq.xyzw vf08, 2(vi00) | nop
|
||||
lq.xyzw vf09, 3(vi00) | nop
|
||||
mtir vi01, vf01.y | nop
|
||||
sq.xyzw vf25, 0(vi02) | nop
|
||||
sq.xyzw vf29, 1(vi02) | nop
|
||||
sq.xyzw vf30, 2(vi02) | nop
|
||||
sq.xyzw vf25, 0(vi01) | nop
|
||||
sq.xyzw vf29, 1(vi01) | nop
|
||||
sq.xyzw vf30, 2(vi01) | nop
|
||||
L3:
|
||||
lqi.xyzw vf16, vi03 | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
mtir vi04, vf16.x | nop
|
||||
mtir vi05, vf16.y | nop
|
||||
mtir vi06, vf16.z | nop
|
||||
nop | nop
|
||||
lq.xyzw vf17, 4(vi04) | nop
|
||||
lq.xyzw vf18, 4(vi05) | nop
|
||||
lq.xyzw vf19, 4(vi06) | nop
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
move.xyzw vf15, vf17 | maddax.xyzw ACC, vf06, vf17
|
||||
nop | madday.xyzw ACC, vf07, vf17
|
||||
nop | maddz.xyzw vf17, vf08, vf17
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
nop | sub.xyzw vf29, vf18, vf15
|
||||
nop | sub.xyzw vf30, vf19, vf15
|
||||
div Q, vf12.x, vf17.w | maddax.xyzw ACC, vf06, vf18
|
||||
nop | mul.xyzw vf21, vf17, vf02
|
||||
nop | madday.xyzw ACC, vf07, vf18
|
||||
nop | maddz.xyzw vf18, vf08, vf18
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
nop | maddax.xyzw ACC, vf06, vf19
|
||||
nop | madday.xyzw ACC, vf07, vf19
|
||||
div Q, vf12.x, vf18.w | mul.xyz vf17, vf17, Q
|
||||
nop | maddz.xyzw vf19, vf08, vf19
|
||||
nop | mul.xyzw vf22, vf18, vf02
|
||||
nop | opmula.xyz ACC, vf29, vf30
|
||||
nop | add.xy vf25, vf17, vf03
|
||||
nop | mulw.z vf17, vf17, vf12
|
||||
nop | opmsub.xyz vf29, vf30, vf29
|
||||
div Q, vf12.x, vf19.w | mul.xyz vf18, vf18, Q
|
||||
nop | mul.xyzw vf23, vf19, vf02
|
||||
nop | mul.xyz vf29, vf29, vf15
|
||||
nop | add.xy vf26, vf18, vf03
|
||||
nop | add.xyzw vf17, vf17, vf05
|
||||
nop | mulw.z vf18, vf18, vf12
|
||||
nop | mul.xy vf25, vf25, vf04
|
||||
nop | mul.xyz vf19, vf19, Q
|
||||
nop | ftoi4.xyzw vf17, vf17
|
||||
fcset 0x0 | addy.x vf29, vf29, vf29
|
||||
nop | add.xyzw vf18, vf18, vf05
|
||||
nop | clipw.xyz vf21, vf21
|
||||
nop | mulw.z vf19, vf19, vf12
|
||||
sq.xyzw vf25, 4(vi02) | mul.xy vf26, vf26, vf04
|
||||
sq.xyzw vf17, 5(vi02) | addz.x vf29, vf29, vf29
|
||||
nop | ftoi4.xyzw vf18, vf18
|
||||
nop | add.xy vf27, vf19, vf03
|
||||
sq.xyzw vf26, 6(vi02) | add.xyzw vf19, vf19, vf05
|
||||
fsand vi01, 0x2 | clipw.xyz vf22, vf22
|
||||
sq.xyzw vf18, 7(vi02) | clipw.xyz vf23, vf23
|
||||
ibeq vi00, vi01, L4 | mul.xy vf27, vf27, vf04
|
||||
nop | nop
|
||||
b L5 | nop
|
||||
lq.xyzw vf31, 887(vi00) | nop
|
||||
L4:
|
||||
lq.xyzw vf31, 886(vi00) | nop
|
||||
L5:
|
||||
fcand vi01, 0x3ffff | ftoi4.xyzw vf19, vf19
|
||||
ibne vi00, vi01, L11 | nop
|
||||
iaddi vi08, vi08, -0x1 | nop
|
||||
sq.xyzw vf27, 8(vi02) | nop
|
||||
sq.xyzw vf31, 3(vi02) | nop
|
||||
sq.xyzw vf19, 9(vi02) | nop
|
||||
xgkick vi02 | nop
|
||||
mtir vi02, vf01.y | nop
|
||||
mr32.xyzw vf01, vf01 | nop
|
||||
L6:
|
||||
ibgtz vi08, L3 | nop
|
||||
nop | nop
|
||||
iaddiu vi03, vi00, 0x158 | nop
|
||||
ilwr.x vi08, vi03 | nop
|
||||
ilwr.y vi01, vi03 | nop
|
||||
iaddi vi03, vi03, 0x1 | nop
|
||||
L7:
|
||||
lqi.xyzw vf16, vi03 | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
mtir vi04, vf16.x | nop
|
||||
mtir vi05, vf16.y | nop
|
||||
mtir vi06, vf16.z | nop
|
||||
nop | nop
|
||||
lq.xyzw vf17, 174(vi04) | nop
|
||||
lq.xyzw vf18, 174(vi06) | nop
|
||||
lq.xyzw vf19, 174(vi05) | nop
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
move.xyzw vf15, vf17 | maddax.xyzw ACC, vf06, vf17
|
||||
nop | madday.xyzw ACC, vf07, vf17
|
||||
nop | maddz.xyzw vf17, vf08, vf17
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
nop | sub.xyzw vf29, vf18, vf15
|
||||
nop | sub.xyzw vf30, vf19, vf15
|
||||
div Q, vf12.x, vf17.w | maddax.xyzw ACC, vf06, vf18
|
||||
nop | mul.xyzw vf21, vf17, vf02
|
||||
nop | madday.xyzw ACC, vf07, vf18
|
||||
nop | maddz.xyzw vf18, vf08, vf18
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
nop | maddax.xyzw ACC, vf06, vf19
|
||||
nop | madday.xyzw ACC, vf07, vf19
|
||||
div Q, vf12.x, vf18.w | mul.xyz vf17, vf17, Q
|
||||
nop | maddz.xyzw vf19, vf08, vf19
|
||||
nop | mul.xyzw vf22, vf18, vf02
|
||||
nop | opmula.xyz ACC, vf29, vf30
|
||||
nop | add.xy vf25, vf17, vf03
|
||||
nop | mulw.z vf17, vf17, vf12
|
||||
nop | opmsub.xyz vf29, vf30, vf29
|
||||
div Q, vf12.x, vf19.w | mul.xyz vf18, vf18, Q
|
||||
nop | mul.xyzw vf23, vf19, vf02
|
||||
nop | mul.xyz vf29, vf29, vf15
|
||||
nop | add.xy vf26, vf18, vf03
|
||||
nop | add.xyzw vf17, vf17, vf05
|
||||
nop | mulw.z vf18, vf18, vf12
|
||||
nop | mul.xy vf25, vf25, vf04
|
||||
nop | mul.xyz vf19, vf19, Q
|
||||
nop | ftoi4.xyzw vf17, vf17
|
||||
fcset 0x0 | addy.x vf29, vf29, vf29
|
||||
nop | add.xyzw vf18, vf18, vf05
|
||||
nop | clipw.xyz vf21, vf21
|
||||
sq.xyzw vf25, 4(vi02) | mulw.z vf19, vf19, vf12
|
||||
sq.xyzw vf17, 5(vi02) | mul.xy vf26, vf26, vf04
|
||||
iaddi vi08, vi08, -0x1 | addz.x vf29, vf29, vf29
|
||||
nop | ftoi4.xyzw vf18, vf18
|
||||
nop | add.xy vf27, vf19, vf03
|
||||
sq.xyzw vf26, 6(vi02) | add.xyzw vf19, vf19, vf05
|
||||
fsand vi01, 0x2 | clipw.xyz vf22, vf22
|
||||
sq.xyzw vf18, 7(vi02) | clipw.xyz vf23, vf23
|
||||
ibeq vi00, vi01, L8 | mul.xy vf27, vf27, vf04
|
||||
nop | nop
|
||||
b L9 | nop
|
||||
lq.xyzw vf31, 887(vi00) | nop
|
||||
L8:
|
||||
lq.xyzw vf31, 886(vi00) | nop
|
||||
L9:
|
||||
fcand vi01, 0x3ffff | ftoi4.xyzw vf19, vf19
|
||||
ibne vi00, vi01, L12 | nop
|
||||
sq.xyzw vf27, 8(vi02) | nop
|
||||
sq.xyzw vf31, 3(vi02) | nop
|
||||
sq.xyzw vf19, 9(vi02) | nop
|
||||
xgkick vi02 | nop
|
||||
mtir vi02, vf01.y | nop
|
||||
mr32.xyzw vf01, vf01 | nop
|
||||
L10:
|
||||
ibgtz vi08, L7 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L11:
|
||||
sq.xyzw vf21, 1000(vi00) | nop
|
||||
sq.xyzw vf22, 1003(vi00) | nop
|
||||
sq.xyzw vf23, 1006(vi00) | nop
|
||||
sq.xyzw vf31, 942(vi00) | nop
|
||||
mfir.x vf29, vi02 | nop
|
||||
mfir.y vf29, vi03 | nop
|
||||
mfir.z vf29, vi07 | nop
|
||||
bal vi15, L36 | nop
|
||||
mfir.w vf29, vi08 | nop
|
||||
mtir vi08, vf29.w | nop
|
||||
mtir vi03, vf29.y | nop
|
||||
mtir vi07, vf29.z | nop
|
||||
b L6 | nop
|
||||
mtir vi02, vf29.x | nop
|
||||
L12:
|
||||
sq.xyzw vf21, 1000(vi00) | nop
|
||||
sq.xyzw vf22, 1003(vi00) | nop
|
||||
sq.xyzw vf23, 1006(vi00) | nop
|
||||
sq.xyzw vf31, 942(vi00) | nop
|
||||
mfir.x vf29, vi02 | nop
|
||||
mfir.y vf29, vi03 | nop
|
||||
mfir.z vf29, vi07 | nop
|
||||
bal vi15, L36 | nop
|
||||
mfir.w vf29, vi08 | nop
|
||||
mtir vi08, vf29.w | nop
|
||||
mtir vi03, vf29.y | nop
|
||||
mtir vi07, vf29.z | nop
|
||||
b L10 | nop
|
||||
mtir vi02, vf29.x | nop
|
||||
L13:
|
||||
iaddiu vi03, vi00, 0x258 | nop
|
||||
ilwr.x vi08, vi03 | nop
|
||||
mtir vi02, vf01.x | nop
|
||||
iaddi vi03, vi03, 0x1 | addw.z vf25, vf00, vf00
|
||||
lq.xyzw vf25, 888(vi00) | addw.z vf26, vf00, vf00
|
||||
lq.xyzw vf29, 889(vi00) | addw.z vf27, vf00, vf00
|
||||
lq.xyzw vf30, 892(vi00) | nop
|
||||
lq.xyzw vf06, 0(vi00) | nop
|
||||
lq.xyzw vf07, 1(vi00) | nop
|
||||
lq.xyzw vf08, 2(vi00) | nop
|
||||
lq.xyzw vf09, 3(vi00) | nop
|
||||
mtir vi01, vf01.y | nop
|
||||
sq.xyzw vf25, 0(vi02) | nop
|
||||
sq.xyzw vf29, 1(vi02) | nop
|
||||
sq.xyzw vf30, 2(vi02) | nop
|
||||
sq.xyzw vf25, 0(vi01) | nop
|
||||
sq.xyzw vf29, 1(vi01) | nop
|
||||
sq.xyzw vf30, 2(vi01) | nop
|
||||
L14:
|
||||
lqi.xyzw vf16, vi03 | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
mtir vi06, vf16.z | nop
|
||||
mtir vi04, vf16.x | nop
|
||||
mtir vi05, vf16.y | nop
|
||||
nop | nop
|
||||
ibeq vi00, vi06, L15 | nop
|
||||
nop | nop
|
||||
lq.xyzw vf17, 4(vi04) | nop
|
||||
lq.xyzw vf18, 4(vi05) | nop
|
||||
lq.xyzw vf19, 174(vi05) | nop
|
||||
b L16 | nop
|
||||
lq.xyzw vf20, 174(vi04) | nop
|
||||
L15:
|
||||
lq.xyzw vf17, 4(vi05) | nop
|
||||
lq.xyzw vf18, 4(vi04) | nop
|
||||
lq.xyzw vf19, 174(vi04) | nop
|
||||
lq.xyzw vf20, 174(vi05) | nop
|
||||
L16:
|
||||
move.xyzw vf15, vf17 | mulaw.xyzw ACC, vf09, vf00
|
||||
nop | maddax.xyzw ACC, vf06, vf17
|
||||
nop | madday.xyzw ACC, vf07, vf17
|
||||
nop | maddz.xyzw vf17, vf08, vf17
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
nop | sub.xyzw vf29, vf18, vf15
|
||||
nop | sub.xyzw vf30, vf19, vf15
|
||||
div Q, vf12.x, vf17.w | maddax.xyzw ACC, vf06, vf18
|
||||
nop | mul.xyzw vf21, vf17, vf02
|
||||
nop | madday.xyzw ACC, vf07, vf18
|
||||
nop | maddz.xyzw vf18, vf08, vf18
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
nop | maddax.xyzw ACC, vf06, vf19
|
||||
nop | madday.xyzw ACC, vf07, vf19
|
||||
div Q, vf12.x, vf18.w | mul.xyz vf17, vf17, Q
|
||||
nop | maddz.xyzw vf19, vf08, vf19
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
nop | maddax.xyzw ACC, vf06, vf20
|
||||
nop | madday.xyzw ACC, vf07, vf20
|
||||
nop | maddz.xyzw vf20, vf08, vf20
|
||||
nop | mul.xyzw vf22, vf18, vf02
|
||||
div Q, vf12.x, vf19.w | mul.xyz vf18, vf18, Q
|
||||
nop | add.xy vf25, vf17, vf03
|
||||
nop | mulw.z vf17, vf17, vf12
|
||||
nop | opmula.xyz ACC, vf29, vf30
|
||||
nop | opmsub.xyz vf29, vf30, vf29
|
||||
nop | mul.xyzw vf23, vf19, vf02
|
||||
nop | mul.xyz vf29, vf29, vf15
|
||||
div Q, vf12.x, vf20.w | mul.xyz vf19, vf19, Q
|
||||
nop | add.xyzw vf17, vf17, vf05
|
||||
nop | mul.xyzw vf24, vf20, vf02
|
||||
nop | mul.xy vf25, vf25, vf04
|
||||
nop | nop
|
||||
nop | ftoi4.xyzw vf17, vf17
|
||||
nop | add.xy vf26, vf18, vf03
|
||||
nop | mul.xyz vf20, vf20, Q
|
||||
nop | mulw.z vf18, vf18, vf12
|
||||
nop | addy.x vf29, vf29, vf29
|
||||
sq.xyzw vf25, 4(vi02) | nop
|
||||
sq.xyzw vf17, 5(vi02) | nop
|
||||
nop | add.xyzw vf18, vf18, vf05
|
||||
nop | clipw.xyz vf21, vf21
|
||||
nop | mul.xy vf26, vf26, vf04
|
||||
nop | addz.x vf29, vf29, vf29
|
||||
nop | ftoi4.xyzw vf18, vf18
|
||||
nop | add.xy vf27, vf19, vf03
|
||||
sq.xyzw vf26, 6(vi02) | mulw.z vf19, vf19, vf12
|
||||
fsand vi01, 0x2 | clipw.xyz vf22, vf22
|
||||
sq.xyzw vf18, 7(vi02) | clipw.xyz vf23, vf23
|
||||
nop | clipw.xyz vf24, vf24
|
||||
nop | add.xy vf28, vf20, vf03
|
||||
nop | mulw.z vf20, vf20, vf12
|
||||
nop | mul.xy vf27, vf27, vf04
|
||||
nop | add.xyzw vf19, vf19, vf05
|
||||
nop | nop
|
||||
ibeq vi00, vi01, L17 | mul.xy vf28, vf28, vf04
|
||||
nop | add.xyzw vf20, vf20, vf05
|
||||
b L18 | nop
|
||||
lq.xyzw vf31, 887(vi00) | nop
|
||||
L17:
|
||||
lq.xyzw vf31, 886(vi00) | nop
|
||||
L18:
|
||||
fcand vi01, 0xffffff | ftoi4.xyzw vf19, vf19
|
||||
ibne vi00, vi01, L20 | nop
|
||||
iaddi vi08, vi08, -0x1 | nop
|
||||
sq.xyzw vf27, 8(vi02) | ftoi4.xyzw vf20, vf20
|
||||
sq.xyzw vf31, 3(vi02) | nop
|
||||
sq.xyzw vf19, 9(vi02) | nop
|
||||
sq.xyzw vf28, 10(vi02) | nop
|
||||
sq.xyzw vf20, 11(vi02) | nop
|
||||
xgkick vi02 | nop
|
||||
mtir vi02, vf01.y | nop
|
||||
mr32.xyzw vf01, vf01 | nop
|
||||
L19:
|
||||
ibgtz vi08, L14 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L20:
|
||||
sq.xyzw vf21, 1000(vi00) | nop
|
||||
sq.xyzw vf22, 1003(vi00) | nop
|
||||
sq.xyzw vf23, 1006(vi00) | nop
|
||||
sq.xyzw vf24, 1009(vi00) | nop
|
||||
sq.xyzw vf31, 942(vi00) | nop
|
||||
mfir.x vf29, vi02 | nop
|
||||
mfir.y vf29, vi03 | nop
|
||||
mfir.z vf29, vi07 | nop
|
||||
bal vi15, L37 | nop
|
||||
mfir.w vf29, vi08 | nop
|
||||
mtir vi08, vf29.w | nop
|
||||
mtir vi03, vf29.y | nop
|
||||
mtir vi07, vf29.z | nop
|
||||
b L19 | nop
|
||||
mtir vi02, vf29.x | nop
|
||||
L21:
|
||||
iaddiu vi03, vi00, 0x158 | nop
|
||||
ilwr.x vi08, vi03 | nop
|
||||
mtir vi02, vf01.x | nop
|
||||
iaddi vi03, vi03, 0x1 | addw.z vf25, vf00, vf00
|
||||
lq.xyzw vf25, 888(vi00) | addw.z vf26, vf00, vf00
|
||||
lq.xyzw vf29, 889(vi00) | addw.z vf27, vf00, vf00
|
||||
lq.xyzw vf30, 891(vi00) | addw.z vf28, vf00, vf00
|
||||
lq.xyzw vf06, 0(vi00) | nop
|
||||
lq.xyzw vf07, 1(vi00) | nop
|
||||
lq.xyzw vf08, 2(vi00) | nop
|
||||
lq.xyzw vf09, 3(vi00) | nop
|
||||
mtir vi01, vf01.y | nop
|
||||
sq.xyzw vf25, 0(vi02) | nop
|
||||
sq.xyzw vf29, 1(vi02) | nop
|
||||
sq.xyzw vf30, 2(vi02) | nop
|
||||
sq.xyzw vf25, 0(vi01) | nop
|
||||
sq.xyzw vf29, 1(vi01) | nop
|
||||
sq.xyzw vf30, 2(vi01) | nop
|
||||
L22:
|
||||
lqi.xyzw vf16, vi03 | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
mtir vi01, vf16.w | nop
|
||||
mtir vi04, vf16.x | nop
|
||||
mtir vi05, vf16.y | nop
|
||||
mtir vi06, vf16.z | nop
|
||||
ibeq vi00, vi01, L23 | nop
|
||||
lq.xyzw vf17, 4(vi04) | nop
|
||||
lq.xyzw vf18, 4(vi05) | nop
|
||||
b L24 | nop
|
||||
lq.xyzw vf19, 4(vi06) | nop
|
||||
L23:
|
||||
lq.xyzw vf19, 4(vi05) | nop
|
||||
lq.xyzw vf18, 4(vi06) | nop
|
||||
L24:
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
move.xyzw vf15, vf17 | maddax.xyzw ACC, vf06, vf17
|
||||
nop | madday.xyzw ACC, vf07, vf17
|
||||
nop | sub.xyzw vf29, vf18, vf17
|
||||
nop | sub.xyzw vf30, vf19, vf17
|
||||
nop | maddz.xyzw vf17, vf08, vf17
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
div Q, vf12.x, vf17.w | maddax.xyzw ACC, vf06, vf18
|
||||
nop | madday.xyzw ACC, vf07, vf18
|
||||
nop | mul.xyzw vf21, vf17, vf02
|
||||
nop | maddz.xyzw vf18, vf08, vf18
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
nop | maddax.xyzw ACC, vf06, vf19
|
||||
nop | madday.xyzw ACC, vf07, vf19
|
||||
div Q, vf12.x, vf18.w | mul.xyz vf17, vf17, Q
|
||||
nop | maddz.xyzw vf19, vf08, vf19
|
||||
nop | mul.xyzw vf22, vf18, vf02
|
||||
nop | opmula.xyz ACC, vf29, vf30
|
||||
nop | opmsub.xyz vf29, vf30, vf29
|
||||
nop | add.xy vf25, vf17, vf03
|
||||
nop | mulw.z vf17, vf17, vf12
|
||||
div Q, vf12.x, vf19.w | mul.xyz vf18, vf18, Q
|
||||
nop | mul.xyzw vf23, vf19, vf02
|
||||
nop | mul.xyz vf29, vf29, vf15
|
||||
nop | add.xyzw vf17, vf17, vf05
|
||||
nop | mul.xy vf25, vf25, vf04
|
||||
nop | nop
|
||||
nop | ftoi4.xyzw vf17, vf17
|
||||
nop | add.xy vf26, vf18, vf03
|
||||
nop | mulw.z vf18, vf18, vf12
|
||||
fcset 0x0 | addy.x vf29, vf29, vf29
|
||||
nop | mul.xyz vf19, vf19, Q
|
||||
sq.xyzw vf25, 4(vi02) | nop
|
||||
sq.xyzw vf17, 5(vi02) | add.xyzw vf18, vf18, vf05
|
||||
nop | clipw.xyz vf21, vf21
|
||||
nop | mul.xy vf26, vf26, vf04
|
||||
nop | addz.x vf29, vf29, vf29
|
||||
nop | ftoi4.xyzw vf18, vf18
|
||||
nop | add.xy vf27, vf19, vf03
|
||||
sq.xyzw vf26, 6(vi02) | mulw.z vf19, vf19, vf12
|
||||
fsand vi01, 0x2 | clipw.xyz vf22, vf22
|
||||
sq.xyzw vf18, 7(vi02) | clipw.xyz vf23, vf23
|
||||
ibeq vi00, vi01, L25 | mul.xy vf27, vf27, vf04
|
||||
nop | add.xyzw vf19, vf19, vf05
|
||||
b L26 | nop
|
||||
lq.xyzw vf31, 887(vi00) | nop
|
||||
L25:
|
||||
lq.xyzw vf31, 886(vi00) | nop
|
||||
L26:
|
||||
fcand vi01, 0x3ffff | ftoi4.xyzw vf19, vf19
|
||||
ibne vi00, vi01, L34 | nop
|
||||
iaddi vi08, vi08, -0x1 | nop
|
||||
sq.xyzw vf27, 8(vi02) | nop
|
||||
sq.xyzw vf31, 3(vi02) | nop
|
||||
sq.xyzw vf19, 9(vi02) | nop
|
||||
xgkick vi02 | nop
|
||||
mtir vi02, vf01.y | nop
|
||||
mr32.xyzw vf01, vf01 | nop
|
||||
L27:
|
||||
ibgtz vi08, L22 | nop
|
||||
nop | nop
|
||||
iaddiu vi03, vi00, 0x158 | nop
|
||||
ilwr.x vi08, vi03 | nop
|
||||
ilwr.y vi01, vi03 | nop
|
||||
iaddi vi03, vi03, 0x1 | nop
|
||||
L28:
|
||||
lqi.xyzw vf16, vi03 | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
mtir vi01, vf16.w | nop
|
||||
mtir vi04, vf16.x | nop
|
||||
mtir vi05, vf16.y | nop
|
||||
mtir vi06, vf16.z | nop
|
||||
ibne vi00, vi01, L29 | nop
|
||||
lq.xyzw vf17, 174(vi04) | nop
|
||||
lq.xyzw vf18, 174(vi05) | nop
|
||||
b L30 | nop
|
||||
lq.xyzw vf19, 174(vi06) | nop
|
||||
L29:
|
||||
lq.xyzw vf19, 174(vi05) | nop
|
||||
lq.xyzw vf18, 174(vi06) | nop
|
||||
L30:
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
move.xyzw vf15, vf17 | maddax.xyzw ACC, vf06, vf17
|
||||
nop | madday.xyzw ACC, vf07, vf17
|
||||
nop | maddz.xyzw vf17, vf08, vf17
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
nop | sub.xyzw vf29, vf18, vf15
|
||||
nop | sub.xyzw vf30, vf19, vf15
|
||||
div Q, vf12.x, vf17.w | maddax.xyzw ACC, vf06, vf18
|
||||
nop | mul.xyzw vf21, vf17, vf02
|
||||
nop | madday.xyzw ACC, vf07, vf18
|
||||
nop | maddz.xyzw vf18, vf08, vf18
|
||||
nop | mulaw.xyzw ACC, vf09, vf00
|
||||
nop | maddax.xyzw ACC, vf06, vf19
|
||||
nop | madday.xyzw ACC, vf07, vf19
|
||||
div Q, vf12.x, vf18.w | mul.xyz vf17, vf17, Q
|
||||
nop | maddz.xyzw vf19, vf08, vf19
|
||||
nop | mul.xyzw vf22, vf18, vf02
|
||||
nop | opmula.xyz ACC, vf29, vf30
|
||||
nop | opmsub.xyz vf29, vf30, vf29
|
||||
nop | add.xy vf25, vf17, vf03
|
||||
nop | mulw.z vf17, vf17, vf12
|
||||
div Q, vf12.x, vf19.w | mul.xyz vf18, vf18, Q
|
||||
nop | mul.xyzw vf23, vf19, vf02
|
||||
nop | mul.xyz vf29, vf29, vf15
|
||||
nop | add.xyzw vf17, vf17, vf05
|
||||
nop | mul.xy vf25, vf25, vf04
|
||||
nop | nop
|
||||
nop | add.xy vf26, vf18, vf03
|
||||
nop | ftoi4.xyzw vf17, vf17
|
||||
nop | mulw.z vf18, vf18, vf12
|
||||
fcset 0x0 | addy.x vf29, vf29, vf29
|
||||
nop | mul.xyz vf19, vf19, Q
|
||||
sq.xyzw vf25, 4(vi02) | nop
|
||||
sq.xyzw vf17, 5(vi02) | add.xyzw vf18, vf18, vf05
|
||||
nop | clipw.xyz vf21, vf21
|
||||
nop | mul.xy vf26, vf26, vf04
|
||||
nop | addz.x vf29, vf29, vf29
|
||||
nop | ftoi4.xyzw vf18, vf18
|
||||
nop | add.xy vf27, vf19, vf03
|
||||
sq.xyzw vf26, 6(vi02) | mulw.z vf19, vf19, vf12
|
||||
fsand vi01, 0x2 | clipw.xyz vf22, vf22
|
||||
sq.xyzw vf18, 7(vi02) | clipw.xyz vf23, vf23
|
||||
ibeq vi00, vi01, L31 | mul.xy vf27, vf27, vf04
|
||||
nop | add.xyzw vf19, vf19, vf05
|
||||
b L32 | nop
|
||||
lq.xyzw vf31, 887(vi00) | nop
|
||||
L31:
|
||||
lq.xyzw vf31, 886(vi00) | nop
|
||||
L32:
|
||||
fcand vi01, 0x3ffff | ftoi4.xyzw vf19, vf19
|
||||
ibne vi00, vi01, L35 | nop
|
||||
iaddi vi08, vi08, -0x1 | nop
|
||||
sq.xyzw vf27, 8(vi02) | nop
|
||||
sq.xyzw vf31, 3(vi02) | nop
|
||||
sq.xyzw vf19, 9(vi02) | nop
|
||||
xgkick vi02 | nop
|
||||
mtir vi02, vf01.y | nop
|
||||
mr32.xyzw vf01, vf01 | nop
|
||||
L33:
|
||||
ibgtz vi08, L28 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L34:
|
||||
sq.xyzw vf21, 1000(vi00) | nop
|
||||
sq.xyzw vf22, 1003(vi00) | nop
|
||||
sq.xyzw vf23, 1006(vi00) | nop
|
||||
sq.xyzw vf31, 942(vi00) | nop
|
||||
mfir.x vf29, vi02 | nop
|
||||
mfir.y vf29, vi03 | nop
|
||||
mfir.z vf29, vi07 | nop
|
||||
bal vi15, L36 | nop
|
||||
mfir.w vf29, vi08 | nop
|
||||
mtir vi08, vf29.w | nop
|
||||
mtir vi03, vf29.y | nop
|
||||
mtir vi07, vf29.z | nop
|
||||
b L27 | nop
|
||||
mtir vi02, vf29.x | nop
|
||||
L35:
|
||||
sq.xyzw vf21, 1000(vi00) | nop
|
||||
sq.xyzw vf22, 1003(vi00) | nop
|
||||
sq.xyzw vf23, 1006(vi00) | nop
|
||||
sq.xyzw vf31, 942(vi00) | nop
|
||||
mfir.x vf29, vi02 | nop
|
||||
mfir.y vf29, vi03 | nop
|
||||
mfir.z vf29, vi07 | nop
|
||||
bal vi15, L36 | nop
|
||||
mfir.w vf29, vi08 | nop
|
||||
mtir vi08, vf29.w | nop
|
||||
mtir vi03, vf29.y | nop
|
||||
mtir vi07, vf29.z | nop
|
||||
b L33 | nop
|
||||
mtir vi02, vf29.x | nop
|
||||
L36:
|
||||
sq.xyzw vf00, 893(vi00) | nop
|
||||
sq.xyzw vf00, 900(vi00) | nop
|
||||
sq.xyzw vf00, 907(vi00) | nop
|
||||
sq.xyzw vf00, 914(vi00) | nop
|
||||
sq.xyzw vf00, 921(vi00) | nop
|
||||
sq.xyzw vf00, 928(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2d3 | nop
|
||||
isw.z vi01, 893(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2d5 | nop
|
||||
isw.z vi01, 900(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2d7 | nop
|
||||
isw.z vi01, 907(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2d9 | nop
|
||||
isw.z vi01, 914(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2db | nop
|
||||
isw.z vi01, 921(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2dd | nop
|
||||
isw.z vi01, 928(vi00) | nop
|
||||
iaddiu vi03, vi00, 0x3b0 | nop
|
||||
iaddiu vi04, vi00, 0x3af | nop
|
||||
mfir.x vf31, vi15 | nop
|
||||
iaddi vi05, vi00, 0x0 | nop
|
||||
bal vi15, L38 | nop
|
||||
iaddiu vi07, vi00, 0x3e8 | nop
|
||||
bal vi15, L38 | nop
|
||||
iaddiu vi07, vi00, 0x3eb | nop
|
||||
bal vi15, L38 | nop
|
||||
iaddiu vi07, vi00, 0x3ee | nop
|
||||
b L47 | nop
|
||||
nop | nop
|
||||
L37:
|
||||
sq.xyzw vf00, 893(vi00) | nop
|
||||
sq.xyzw vf00, 900(vi00) | nop
|
||||
sq.xyzw vf00, 907(vi00) | nop
|
||||
sq.xyzw vf00, 914(vi00) | nop
|
||||
sq.xyzw vf00, 921(vi00) | nop
|
||||
sq.xyzw vf00, 928(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2d3 | nop
|
||||
isw.z vi01, 893(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2d5 | nop
|
||||
isw.z vi01, 900(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2d7 | nop
|
||||
isw.z vi01, 907(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2d9 | nop
|
||||
isw.z vi01, 914(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2db | nop
|
||||
isw.z vi01, 921(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2dd | nop
|
||||
isw.z vi01, 928(vi00) | nop
|
||||
iaddiu vi03, vi00, 0x3b0 | nop
|
||||
iaddiu vi04, vi00, 0x3af | nop
|
||||
mfir.x vf31, vi15 | nop
|
||||
iaddi vi05, vi00, 0x0 | nop
|
||||
bal vi15, L38 | nop
|
||||
iaddiu vi07, vi00, 0x3e8 | nop
|
||||
bal vi15, L38 | nop
|
||||
iaddiu vi07, vi00, 0x3eb | nop
|
||||
bal vi15, L38 | nop
|
||||
iaddiu vi07, vi00, 0x3ee | nop
|
||||
bal vi15, L38 | nop
|
||||
iaddiu vi07, vi00, 0x3f1 | nop
|
||||
b L47 | nop
|
||||
nop | nop
|
||||
L38:
|
||||
iaddiu vi09, vi00, 0x37d | nop
|
||||
L39:
|
||||
iaddi vi10, vi00, 0x0 | nop
|
||||
L40:
|
||||
isubiu vi01, vi09, 0x3a7 | nop
|
||||
ilwr.y vi08, vi09 | nop
|
||||
ibgez vi01, L44 | nop
|
||||
ilwr.z vi06, vi09 | nop
|
||||
lq.xyzw vf15, 0(vi07) | nop
|
||||
lq.xyzw vf14, 0(vi08) | nop
|
||||
ibne vi00, vi08, L41 | nop
|
||||
iswr.y vi07, vi09 | nop
|
||||
jalr vi11, vi06 | nop
|
||||
iswr.x vi07, vi09 | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
fsand vi02, 0x2 | nop
|
||||
ibne vi00, vi02, L45 | nop
|
||||
nop | nop
|
||||
b L40 | nop
|
||||
iaddi vi09, vi09, 0x7 | nop
|
||||
L41:
|
||||
jalr vi11, vi06 | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
fsand vi01, 0x2 | nop
|
||||
fsand vi02, 0x2 | nop
|
||||
ibne vi00, vi01, L43 | nop
|
||||
nop | nop
|
||||
ibne vi00, vi02, L42 | nop
|
||||
nop | nop
|
||||
b L40 | nop
|
||||
iaddi vi09, vi09, 0x7 | nop
|
||||
L42:
|
||||
bal vi11, L52 | nop
|
||||
iaddi vi07, vi09, 0x1 | nop
|
||||
sq.xyzw vf16, 1(vi09) | nop
|
||||
b L40 | nop
|
||||
iaddi vi09, vi09, 0x7 | nop
|
||||
L43:
|
||||
ibne vi00, vi02, L45 | nop
|
||||
nop | nop
|
||||
bal vi11, L53 | nop
|
||||
nop | nop
|
||||
sq.xyzw vf16, 4(vi09) | nop
|
||||
iaddi vi09, vi09, 0x7 | nop
|
||||
isw.x vi09, 935(vi10) | nop
|
||||
isw.y vi07, 935(vi10) | nop
|
||||
iaddi vi10, vi10, 0x1 | nop
|
||||
b L40 | nop
|
||||
iaddi vi07, vi09, -0x3 | nop
|
||||
L44:
|
||||
lq.xyzw vf14, 0(vi07) | nop
|
||||
iaddi vi05, vi05, 0x1 | nop
|
||||
div Q, vf00.w, vf14.w | nop
|
||||
nop | mul.xyzw vf14, vf14, vf13
|
||||
iaddi vi03, vi03, 0x2 | nop
|
||||
waitq | subw.w vf14, vf00, vf00
|
||||
nop | mul.xyz vf14, vf14, Q
|
||||
nop | add.xy vf26, vf14, vf03
|
||||
nop | mulw.z vf14, vf14, vf12
|
||||
nop | add.xyzw vf14, vf14, vf05
|
||||
nop | mul.xy vf26, vf26, vf04
|
||||
sq.xyzw vf26, -2(vi03) | ftoi4.xyzw vf14, vf14
|
||||
sq.xyzw vf14, -1(vi03) | nop
|
||||
L45:
|
||||
iblez vi10, L46 | nop
|
||||
nop | nop
|
||||
ilw.x vi09, 934(vi10) | nop
|
||||
ilw.y vi07, 934(vi10) | nop
|
||||
b L40 | nop
|
||||
iaddi vi10, vi10, -0x1 | nop
|
||||
L46:
|
||||
jr vi15 | nop
|
||||
nop | nop
|
||||
L47:
|
||||
iaddiu vi09, vi00, 0x37d | nop
|
||||
L48:
|
||||
ilwr.x vi08, vi09 | nop
|
||||
ilwr.y vi07, vi09 | nop
|
||||
ilwr.z vi06, vi09 | nop
|
||||
nop | nop
|
||||
ibeq vi00, vi08, L50 | nop
|
||||
lq.xyzw vf14, 0(vi07) | nop
|
||||
ibeq vi07, vi08, L50 | nop
|
||||
lq.xyzw vf15, 0(vi08) | nop
|
||||
jalr vi11, vi06 | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
fsand vi01, 0x2 | nop
|
||||
fsand vi02, 0x2 | nop
|
||||
ibeq vi02, vi01, L50 | nop
|
||||
nop | nop
|
||||
ibeq vi00, vi01, L49 | nop
|
||||
nop | nop
|
||||
bal vi11, L53 | nop
|
||||
nop | nop
|
||||
sq.xyzw vf16, 4(vi09) | nop
|
||||
iaddi vi07, vi09, 0x4 | nop
|
||||
ior vi12, vi09, vi00 | nop
|
||||
bal vi15, L39 | nop
|
||||
iaddi vi09, vi09, 0x7 | nop
|
||||
b L50 | nop
|
||||
ior vi09, vi12, vi00 | nop
|
||||
L49:
|
||||
bal vi11, L52 | nop
|
||||
nop | nop
|
||||
sq.xyzw vf16, 1(vi09) | nop
|
||||
iaddi vi07, vi09, 0x1 | nop
|
||||
ior vi12, vi09, vi00 | nop
|
||||
bal vi15, L39 | nop
|
||||
iaddi vi09, vi09, 0x7 | nop
|
||||
ior vi09, vi12, vi00 | nop
|
||||
L50:
|
||||
isubiu vi01, vi09, 0x3a0 | nop
|
||||
iswr.x vi00, vi09 | nop
|
||||
iswr.y vi00, vi09 | nop
|
||||
ibltz vi01, L48 | nop
|
||||
iaddi vi09, vi09, 0x7 | nop
|
||||
ibeq vi00, vi05, L51 | nop
|
||||
mtir vi15, vf31.x | nop
|
||||
iaddiu vi05, vi05, 0x4000 | nop
|
||||
iaddiu vi05, vi05, 0x4000 | nop
|
||||
iswr.x vi05, vi04 | nop
|
||||
iaddiu vi01, vi00, 0x3ac | nop
|
||||
xgkick vi01 | nop
|
||||
lq.xyzw vf30, 888(vi00) | nop
|
||||
lq.xyzw vf31, 890(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x3fe | nop
|
||||
isubiu vi02, vi00, 0x7fff | nop
|
||||
sq.xyzw vf30, 0(vi01) | nop
|
||||
iswr.x vi02, vi01 | nop
|
||||
sq.xyzw vf31, 1(vi01) | nop
|
||||
nop | nop
|
||||
xgkick vi01 | nop
|
||||
L51:
|
||||
nop | nop
|
||||
jr vi15 | nop
|
||||
nop | nop
|
||||
jr vi11 | addx.w vf30, vf14, vf14
|
||||
nop | addx.w vf31, vf15, vf15
|
||||
jr vi11 | subx.w vf30, vf14, vf14
|
||||
nop | subx.w vf31, vf15, vf15
|
||||
jr vi11 | addy.w vf30, vf14, vf14
|
||||
nop | addy.w vf31, vf15, vf15
|
||||
jr vi11 | suby.w vf30, vf14, vf14
|
||||
nop | suby.w vf31, vf15, vf15
|
||||
jr vi11 | addz.w vf30, vf14, vf14
|
||||
nop | addz.w vf31, vf15, vf15
|
||||
jr vi11 | subz.w vf30, vf14, vf14
|
||||
nop | subz.w vf31, vf15, vf15
|
||||
L52:
|
||||
nop | subw.w vf31, vf30, vf31
|
||||
div Q, vf30.w, vf31.w | sub.xyzw vf16, vf15, vf14
|
||||
waitq | mul.xyzw vf16, vf16, Q
|
||||
jr vi11 | add.xyzw vf16, vf14, vf16
|
||||
nop | nop
|
||||
L53:
|
||||
nop | subw.w vf30, vf30, vf31
|
||||
div Q, vf31.w, vf30.w | sub.xyzw vf16, vf14, vf15
|
||||
waitq | mul.xyzw vf16, vf16, Q
|
||||
jr vi11 | sub.xyzw vf16, vf15, vf16
|
||||
nop | nop
|
||||
lq. vf00, 0(vi00) | addx. vf00, vf00, vf00
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,682 @@
|
||||
lq.xyzw vf31, 0(vi00) | nop
|
||||
lq.xyzw vf30, 1(vi00) | nop
|
||||
lq.xyzw vf29, 2(vi00) | nop
|
||||
iaddiu vi11, vi00, 0xa2 | nop
|
||||
iaddiu vi01, vi00, 0x338 | nop
|
||||
mfir.x vf17, vi01 | nop
|
||||
mfir.z vf17, vi01 | nop
|
||||
iaddiu vi01, vi00, 0x1a8 | nop
|
||||
mfir.y vf17, vi01 | nop
|
||||
mfir.w vf17, vi01 | nop
|
||||
iaddi vi01, vi00, 0x1 | nop
|
||||
mfir.z vf25, vi01 | nop
|
||||
iaddi vi01, vi00, 0x1 | itof0.xyzw vf17, vf17
|
||||
mfir.z vf26, vi01 | nop
|
||||
iaddi vi01, vi00, 0x1 | nop
|
||||
mfir.z vf27, vi01 | nop :e
|
||||
nop | addy.xyzw vf17, vf17, vf30
|
||||
iaddiu vi01, vi00, 0xa4 | subx.xz vf17, vf00, vf17
|
||||
isub vi11, vi01, vi11 | addy.xyzw vf28, vf00, vf30
|
||||
b L1 | nop
|
||||
iaddiu vi13, vi00, 0x175 | nop
|
||||
iaddiu vi01, vi00, 0xa4 | subx.xz vf17, vf00, vf17
|
||||
isub vi11, vi01, vi11 | addy.xyzw vf28, vf00, vf30
|
||||
iaddiu vi13, vi00, 0x142 | nop
|
||||
L1:
|
||||
isw.y vi13, 1(vi00) | nop
|
||||
iaddi vi09, vi11, 0x1 | suby.xz vf17, vf17, vf17
|
||||
ilwr.y vi05, vi11 | nop
|
||||
ilwr.x vi15, vi11 | nop
|
||||
lqi.xyzw vf01, vi09 | nop
|
||||
nop | addx.xz vf17, vf17, vf30
|
||||
nop | nop
|
||||
iaddi vi15, vi15, -0x1 | nop
|
||||
mtir vi04, vf01.w | nop
|
||||
mtir vi02, vf17.x | nop
|
||||
ibne vi00, vi15, L2 | nop
|
||||
mtir vi03, vf17.y | nop
|
||||
nop | addz.y vf28, vf28, vf31
|
||||
L2:
|
||||
lqi.xyzw vf02, vi09 | nop
|
||||
iadd vi01, vi04, vi02 | nop
|
||||
iadd vi14, vi04, vi03 | nop
|
||||
iaddi vi05, vi05, -0x1 | nop
|
||||
mtir vi04, vf02.w | nop
|
||||
sq.xyzw vf01, 0(vi01) | nop
|
||||
ibeq vi00, vi05, L3 | nop
|
||||
sq.xyzw vf01, 0(vi14) | nop
|
||||
lqi.xyzw vf01, vi09 | nop
|
||||
iadd vi01, vi04, vi02 | nop
|
||||
iadd vi14, vi04, vi03 | nop
|
||||
iaddi vi05, vi05, -0x1 | nop
|
||||
mtir vi04, vf01.w | nop
|
||||
sq.xyzw vf02, 0(vi01) | nop
|
||||
ibne vi00, vi05, L2 | nop
|
||||
sq.xyzw vf02, 0(vi14) | nop
|
||||
L3:
|
||||
iaddi vi09, vi09, -0x1 | nop
|
||||
ilwr.x vi05, vi11 | nop
|
||||
L4:
|
||||
lqi.xyzw vf01, vi09 | nop
|
||||
lqi.xyzw vf02, vi09 | nop
|
||||
lqi.xyzw vf03, vi09 | nop
|
||||
lqi.xyzw vf04, vi09 | nop
|
||||
mtir vi04, vf01.w | nop
|
||||
iaddi vi05, vi05, -0x1 | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
iadd vi01, vi04, vi02 | nop
|
||||
sq.xyzw vf31, 0(vi01) | nop
|
||||
sq.xyzw vf01, 1(vi01) | nop
|
||||
sq.xyzw vf02, 2(vi01) | nop
|
||||
sq.xyzw vf03, 3(vi01) | nop
|
||||
sq.xyzw vf04, 4(vi01) | nop
|
||||
iadd vi01, vi04, vi03 | nop
|
||||
sq.xyzw vf31, 0(vi01) | nop
|
||||
sq.xyzw vf01, 1(vi01) | nop
|
||||
sq.xyzw vf02, 2(vi01) | nop
|
||||
sq.xyzw vf03, 3(vi01) | nop
|
||||
ibne vi00, vi05, L4 | nop
|
||||
sq.xyzw vf04, 4(vi01) | nop
|
||||
ilwr.z vi12, vi11 | nop
|
||||
ilwr.w vi06, vi11 | nop
|
||||
isw.x vi09, 1(vi00) | nop
|
||||
iaddi vi15, vi00, 0x1 | nop
|
||||
ior vi05, vi12, vi00 | nop
|
||||
iadd vi06, vi06, vi11 | nop
|
||||
iadd vi07, vi06, vi12 | nop
|
||||
iadd vi08, vi07, vi12 | nop
|
||||
iaddi vi05, vi05, 0x1 | nop
|
||||
L5:
|
||||
lq.xyzw vf01, 0(vi06) | nop
|
||||
lq.xyz vf03, 0(vi07) | nop
|
||||
lq.xyz vf05, 0(vi08) | nop
|
||||
iaddi vi05, vi05, -0x2 | nop
|
||||
lq.xyzw vf08, 1(vi06) | itof0.xyzw vf01, vf01
|
||||
lq.xyz vf10, 1(vi07) | itof0.xyzw vf03, vf03
|
||||
lq.xyz vf12, 1(vi08) | itof12.xyzw vf05, vf05
|
||||
nop | nop
|
||||
sqi.xyzw vf01, vi06 | itof0.xyzw vf08, vf08
|
||||
sqi.xyz vf03, vi07 | itof0.xyzw vf10, vf10
|
||||
ibeq vi00, vi05, L6 | itof12.xyzw vf12, vf12
|
||||
sqi.xyz vf05, vi08 | nop
|
||||
sqi.xyzw vf08, vi06 | nop
|
||||
sqi.xyz vf10, vi07 | nop
|
||||
ibne vi15, vi05, L5 | nop
|
||||
sqi.xyz vf12, vi08 | nop
|
||||
L6:
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
ilw.y vi13, 1(vi00) | nop
|
||||
iaddiu vi01, vi00, 0x2b7 | nop
|
||||
ilwr.w vi06, vi11 | nop
|
||||
ilw.x vi09, 1(vi00) | nop
|
||||
isub vi13, vi01, vi13 | nop
|
||||
isw.y vi13, 1(vi00) | nop
|
||||
ilwr.x vi14, vi13 | nop
|
||||
lq.xyzw vf21, 4(vi13) | nop
|
||||
lq.xyzw vf18, 1(vi13) | nop
|
||||
lq.xyzw vf19, 2(vi13) | nop
|
||||
lq.xyzw vf20, 3(vi13) | nop
|
||||
lq.xyzw vf22, 5(vi13) | mulaz.w ACC, vf21, vf30
|
||||
iaddi vi13, vi13, 0x6 | maddw.w vf09, vf30, vf00
|
||||
iadd vi06, vi06, vi11 | nop
|
||||
iadd vi07, vi06, vi12 | nop
|
||||
iadd vi08, vi07, vi12 | nop
|
||||
move.w vf04, vf22 | miniy.w vf09, vf09, vf29
|
||||
move.w vf11, vf22 | nop
|
||||
lqi.xyzw vf01, vi06 | nop
|
||||
lqi.xyzw vf05, vi08 | nop
|
||||
lqi.xyzw vf03, vi07 | ftoi4.w vf02, vf09
|
||||
lqi.xyzw vf08, vi06 | ftoi4.w vf09, vf09
|
||||
lqi.xyzw vf12, vi08 | add.xyzw vf07, vf01, vf17
|
||||
lqi.xyzw vf10, vi07 | mulaw.xyzw ACC, vf21, vf00
|
||||
nop | maddax.xyzw ACC, vf18, vf01
|
||||
nop | madday.xyzw ACC, vf19, vf01
|
||||
nop | maddz.xyzw vf01, vf20, vf01
|
||||
nop | add.xyzw vf14, vf08, vf17
|
||||
nop | mulaw.xyzw ACC, vf21, vf00
|
||||
nop | maddax.xyzw ACC, vf18, vf08
|
||||
div Q, vf00.w, vf01.w | madday.xyzw ACC, vf19, vf08
|
||||
nop | maddz.xyzw vf08, vf20, vf08
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | mul.xyz vf02, vf01, Q
|
||||
nop | mul.xyzw vf06, vf05, Q
|
||||
lqi.xyzw vf01, vi06 | mul.xyz vf04, vf03, vf22
|
||||
div Q, vf00.w, vf08.w | nop
|
||||
lqi.xyzw vf05, vi08 | nop
|
||||
mtir vi02, vf07.w | nop
|
||||
lqi.xyzw vf03, vi07 | nop
|
||||
nop | nop
|
||||
nop | add.xyzw vf07, vf01, vf17
|
||||
nop | mulaw.xyzw ACC, vf21, vf00
|
||||
nop | maddax.xyzw ACC, vf18, vf01
|
||||
nop | madday.xyzw ACC, vf19, vf01
|
||||
nop | maddz.xyzw vf01, vf20, vf01
|
||||
nop | mul.xyz vf09, vf08, Q
|
||||
nop | mul.xyzw vf13, vf12, Q
|
||||
L7:
|
||||
lqi.xyzw vf08, vi06 | mul.xyz vf11, vf10, vf22
|
||||
div Q, vf00.w, vf01.w | nop
|
||||
lqi.xyzw vf12, vi08 | nop
|
||||
mtir vi05, vf14.w | nop
|
||||
lqi.xyzw vf10, vi07 | sub.xyzw vf15, vf02, vf09
|
||||
sq.xyzw vf06, 1(vi02) | ftoi4.xyz vf02, vf02
|
||||
sq.xyzw vf04, 2(vi02) | add.xyzw vf14, vf08, vf17
|
||||
lqi.xyzw vf23, vi09 | mulaw.xyzw ACC, vf21, vf00
|
||||
lqi.xyzw vf24, vi09 | maddax.xyzw ACC, vf18, vf08
|
||||
sq.xyzw vf02, 3(vi02) | madday.xyzw ACC, vf19, vf08
|
||||
isubiu vi10, vi00, 0x40 | maddz.xyzw vf08, vf20, vf08
|
||||
L8:
|
||||
mtir vi01, vf03.w | mul.xyz vf02, vf01, Q
|
||||
sq.xyzw vf25, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
lqi.xyzw vf01, vi06 | mul.xyz vf04, vf03, vf22
|
||||
div Q, vf00.w, vf08.w | nop
|
||||
lqi.xyzw vf05, vi08 | nop
|
||||
mtir vi02, vf07.w | nop
|
||||
lqi.xyzw vf03, vi07 | sub.xyzw vf16, vf09, vf02
|
||||
sq.xyzw vf13, 1(vi05) | ftoi4.xyz vf09, vf09
|
||||
sq.xyzw vf11, 2(vi05) | add.xyzw vf07, vf01, vf17
|
||||
nop | mulaw.xyzw ACC, vf21, vf00
|
||||
nop | maddax.xyzw ACC, vf18, vf01
|
||||
sq.xyzw vf09, 3(vi05) | madday.xyzw ACC, vf19, vf01
|
||||
nop | maddz.xyzw vf01, vf20, vf01
|
||||
mtir vi04, vf10.w | mul.xyz vf09, vf08, Q
|
||||
sq.xyzw vf25, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
lqi.xyzw vf08, vi06 | mul.xyz vf11, vf10, vf22
|
||||
div Q, vf00.w, vf01.w | nop
|
||||
lqi.xyzw vf12, vi08 | mulay.x ACC, vf15, vf16
|
||||
mtir vi05, vf14.w | msubay.x ACC, vf16, vf15
|
||||
lqi.xyzw vf10, vi07 | sub.xyzw vf15, vf02, vf09
|
||||
sq.xyzw vf06, 1(vi02) | ftoi4.xyz vf02, vf02
|
||||
sq.xyzw vf04, 2(vi02) | add.xyzw vf14, vf08, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
ibltz vi01, L27 | maddax.xyzw ACC, vf18, vf08
|
||||
sq.xyzw vf02, 3(vi02) | madday.xyzw ACC, vf19, vf08
|
||||
L9:
|
||||
ibeq vi01, vi03, L16 | maddz.xyzw vf08, vf20, vf08
|
||||
mtir vi01, vf03.w | mul.xyz vf02, vf01, Q
|
||||
b L14 | nop
|
||||
sq.xyzw vf23, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
nop | mul.xyzw vf06, vf05, Q
|
||||
L10:
|
||||
lqi.xyzw vf01, vi06 | mul.xyz vf04, vf03, vf22
|
||||
div Q, vf00.w, vf08.w | nop
|
||||
lqi.xyzw vf05, vi08 | nop
|
||||
mtir vi02, vf07.w | nop
|
||||
lqi.xyzw vf03, vi07 | sub.xyzw vf16, vf09, vf02
|
||||
sq.xyzw vf13, 1(vi05) | ftoi4.xyz vf09, vf09
|
||||
sq.xyzw vf11, 2(vi05) | add.xyzw vf07, vf01, vf17
|
||||
lqi.xyzw vf23, vi09 | mulaw.xyzw ACC, vf21, vf00
|
||||
lqi.xyzw vf24, vi09 | maddax.xyzw ACC, vf18, vf01
|
||||
sq.xyzw vf09, 3(vi05) | madday.xyzw ACC, vf19, vf01
|
||||
isubiu vi10, vi00, 0x40 | maddz.xyzw vf01, vf20, vf01
|
||||
L11:
|
||||
mtir vi04, vf10.w | mul.xyz vf09, vf08, Q
|
||||
sq.xyzw vf25, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
lqi.xyzw vf08, vi06 | mul.xyz vf11, vf10, vf22
|
||||
div Q, vf00.w, vf01.w | nop
|
||||
lqi.xyzw vf12, vi08 | nop
|
||||
mtir vi05, vf14.w | nop
|
||||
lqi.xyzw vf10, vi07 | sub.xyzw vf15, vf02, vf09
|
||||
sq.xyzw vf06, 1(vi02) | ftoi4.xyz vf02, vf02
|
||||
sq.xyzw vf04, 2(vi02) | add.xyzw vf14, vf08, vf17
|
||||
nop | mulaw.xyzw ACC, vf21, vf00
|
||||
nop | maddax.xyzw ACC, vf18, vf08
|
||||
sq.xyzw vf02, 3(vi02) | madday.xyzw ACC, vf19, vf08
|
||||
nop | maddz.xyzw vf08, vf20, vf08
|
||||
mtir vi01, vf03.w | mul.xyz vf02, vf01, Q
|
||||
sq.xyzw vf25, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
lqi.xyzw vf01, vi06 | mul.xyz vf04, vf03, vf22
|
||||
div Q, vf00.w, vf08.w | nop
|
||||
lqi.xyzw vf05, vi08 | mulay.x ACC, vf15, vf16
|
||||
mtir vi02, vf07.w | msubay.x ACC, vf16, vf15
|
||||
lqi.xyzw vf03, vi07 | sub.xyzw vf16, vf09, vf02
|
||||
sq.xyzw vf13, 1(vi05) | ftoi4.xyz vf09, vf09
|
||||
sq.xyzw vf11, 2(vi05) | add.xyzw vf07, vf01, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
ibltz vi04, L26 | maddax.xyzw ACC, vf18, vf01
|
||||
sq.xyzw vf09, 3(vi05) | madday.xyzw ACC, vf19, vf01
|
||||
L12:
|
||||
ibeq vi04, vi03, L17 | maddz.xyzw vf01, vf20, vf01
|
||||
mtir vi04, vf10.w | mul.xyz vf09, vf08, Q
|
||||
b L15 | nop
|
||||
sq.xyzw vf23, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L13:
|
||||
sq.xyzw vf26, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L14:
|
||||
lqi.xyzw vf01, vi06 | mul.xyz vf04, vf03, vf22
|
||||
div Q, vf00.w, vf08.w | nop
|
||||
lqi.xyzw vf05, vi08 | mulay.x ACC, vf15, vf16
|
||||
mtir vi02, vf07.w | msubay.x ACC, vf16, vf15
|
||||
lqi.xyzw vf03, vi07 | sub.xyzw vf16, vf09, vf02
|
||||
sq.xyzw vf13, 1(vi05) | ftoi4.xyz vf09, vf09
|
||||
sq.xyzw vf11, 2(vi05) | add.xyzw vf07, vf01, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
ibltz vi04, L22 | maddax.xyzw ACC, vf18, vf01
|
||||
sq.xyzw vf09, 3(vi05) | madday.xyzw ACC, vf19, vf01
|
||||
ibeq vi04, vi03, L17 | maddz.xyzw vf01, vf20, vf01
|
||||
mtir vi04, vf10.w | mul.xyz vf09, vf08, Q
|
||||
sq.xyzw vf26, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L15:
|
||||
lqi.xyzw vf08, vi06 | mul.xyz vf11, vf10, vf22
|
||||
div Q, vf00.w, vf01.w | nop
|
||||
lqi.xyzw vf12, vi08 | mulay.x ACC, vf15, vf16
|
||||
mtir vi05, vf14.w | msubay.x ACC, vf16, vf15
|
||||
lqi.xyzw vf10, vi07 | sub.xyzw vf15, vf02, vf09
|
||||
sq.xyzw vf06, 1(vi02) | ftoi4.xyz vf02, vf02
|
||||
sq.xyzw vf04, 2(vi02) | add.xyzw vf14, vf08, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
ibltz vi01, L23 | maddax.xyzw ACC, vf18, vf08
|
||||
sq.xyzw vf02, 3(vi02) | madday.xyzw ACC, vf19, vf08
|
||||
ibne vi01, vi03, L13 | maddz.xyzw vf08, vf20, vf08
|
||||
mtir vi01, vf03.w | mul.xyz vf02, vf01, Q
|
||||
L16:
|
||||
b L19 | nop
|
||||
sq.xyzw vf24, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L17:
|
||||
b L20 | nop
|
||||
sq.xyzw vf24, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L18:
|
||||
sq.xyzw vf27, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L19:
|
||||
lqi.xyzw vf01, vi06 | mul.xyz vf04, vf03, vf22
|
||||
div Q, vf00.w, vf08.w | nop
|
||||
lqi.xyzw vf05, vi08 | mulax.y ACC, vf15, vf16
|
||||
mtir vi02, vf07.w | msubax.y ACC, vf16, vf15
|
||||
lqi.xyzw vf03, vi07 | sub.xyzw vf16, vf09, vf02
|
||||
sq.xyzw vf13, 1(vi05) | ftoi4.xyz vf09, vf09
|
||||
sq.xyzw vf11, 2(vi05) | add.xyzw vf07, vf01, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
ibltz vi04, L24 | maddax.xyzw ACC, vf18, vf01
|
||||
sq.xyzw vf09, 3(vi05) | madday.xyzw ACC, vf19, vf01
|
||||
ibeq vi04, vi03, L21 | maddz.xyzw vf01, vf20, vf01
|
||||
mtir vi04, vf10.w | mul.xyz vf09, vf08, Q
|
||||
sq.xyzw vf27, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L20:
|
||||
lqi.xyzw vf08, vi06 | mul.xyz vf11, vf10, vf22
|
||||
div Q, vf00.w, vf01.w | nop
|
||||
lqi.xyzw vf12, vi08 | mulax.y ACC, vf15, vf16
|
||||
mtir vi05, vf14.w | msubax.y ACC, vf16, vf15
|
||||
lqi.xyzw vf10, vi07 | sub.xyzw vf15, vf02, vf09
|
||||
sq.xyzw vf06, 1(vi02) | ftoi4.xyz vf02, vf02
|
||||
sq.xyzw vf04, 2(vi02) | add.xyzw vf14, vf08, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
ibltz vi01, L25 | maddax.xyzw ACC, vf18, vf08
|
||||
sq.xyzw vf02, 3(vi02) | madday.xyzw ACC, vf19, vf08
|
||||
ibne vi01, vi03, L18 | maddz.xyzw vf08, vf20, vf08
|
||||
mtir vi01, vf03.w | mul.xyz vf02, vf01, Q
|
||||
b L14 | nop
|
||||
sq.xyzw vf23, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L21:
|
||||
b L15 | nop
|
||||
sq.xyzw vf23, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L22:
|
||||
ibne vi10, vi04, L28 | nop
|
||||
iaddiu vi04, vi04, 0x80 | nop
|
||||
lqi.xyzw vf23, vi09 | nop
|
||||
b L11 | nop
|
||||
lqi.xyzw vf24, vi09 | maddz.xyzw vf01, vf20, vf01
|
||||
L23:
|
||||
ibne vi10, vi01, L33 | nop
|
||||
iaddiu vi01, vi01, 0x80 | nop
|
||||
lqi.xyzw vf23, vi09 | nop
|
||||
b L8 | nop
|
||||
lqi.xyzw vf24, vi09 | maddz.xyzw vf08, vf20, vf08
|
||||
L24:
|
||||
ibne vi10, vi04, L38 | nop
|
||||
iaddiu vi04, vi04, 0x80 | nop
|
||||
lqi.xyzw vf23, vi09 | nop
|
||||
b L11 | nop
|
||||
lqi.xyzw vf24, vi09 | maddz.xyzw vf01, vf20, vf01
|
||||
L25:
|
||||
ibne vi10, vi01, L43 | nop
|
||||
iaddiu vi01, vi01, 0x80 | nop
|
||||
lqi.xyzw vf23, vi09 | nop
|
||||
b L8 | nop
|
||||
lqi.xyzw vf24, vi09 | maddz.xyzw vf08, vf20, vf08
|
||||
L26:
|
||||
ibeq vi10, vi04, L12 | nop
|
||||
iaddiu vi04, vi04, 0x80 | nop
|
||||
ilwr.w vi06, vi11 | maddz.xyzw vf01, vf20, vf01
|
||||
mr32.xyzw vf17, vf17 | mul.xyz vf09, vf08, Q
|
||||
lqi.xyzw vf18, vi13 | nop
|
||||
lqi.xyzw vf19, vi13 | nop
|
||||
lqi.xyzw vf20, vi13 | nop
|
||||
lqi.xyzw vf21, vi13 | nop
|
||||
iadd vi06, vi06, vi11 | nop
|
||||
iadd vi07, vi06, vi12 | nop
|
||||
iadd vi08, vi07, vi12 | nop
|
||||
ibeq vi04, vi03, L48 | nop
|
||||
mtir vi04, vf10.w | nop
|
||||
b L29 | nop
|
||||
sq.xyzw vf23, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L27:
|
||||
ibeq vi10, vi01, L9 | nop
|
||||
iaddiu vi01, vi01, 0x80 | nop
|
||||
ilwr.w vi06, vi11 | maddz.xyzw vf08, vf20, vf08
|
||||
mr32.xyzw vf17, vf17 | mul.xyz vf02, vf01, Q
|
||||
lqi.xyzw vf18, vi13 | nop
|
||||
lqi.xyzw vf19, vi13 | nop
|
||||
lqi.xyzw vf20, vi13 | nop
|
||||
lqi.xyzw vf21, vi13 | nop
|
||||
iadd vi06, vi06, vi11 | nop
|
||||
iadd vi07, vi06, vi12 | nop
|
||||
iadd vi08, vi07, vi12 | nop
|
||||
ibeq vi01, vi03, L52 | nop
|
||||
mtir vi01, vf03.w | nop
|
||||
b L34 | nop
|
||||
sq.xyzw vf23, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L28:
|
||||
ilwr.w vi06, vi11 | maddz.xyzw vf01, vf20, vf01
|
||||
mr32.xyzw vf17, vf17 | mul.xyz vf09, vf08, Q
|
||||
lqi.xyzw vf18, vi13 | nop
|
||||
lqi.xyzw vf19, vi13 | nop
|
||||
lqi.xyzw vf20, vi13 | nop
|
||||
lqi.xyzw vf21, vi13 | nop
|
||||
iadd vi06, vi06, vi11 | nop
|
||||
iadd vi07, vi06, vi12 | nop
|
||||
iadd vi08, vi07, vi12 | nop
|
||||
ibeq vi04, vi03, L48 | nop
|
||||
mtir vi04, vf10.w | nop
|
||||
sq.xyzw vf26, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L29:
|
||||
lqi.xyzw vf08, vi06 | mul.xyz vf11, vf10, vf22
|
||||
div Q, vf00.w, vf01.w | nop
|
||||
lqi.xyzw vf12, vi08 | mulay.x ACC, vf15, vf16
|
||||
mtir vi05, vf14.w | msubay.x ACC, vf16, vf15
|
||||
lqi.xyzw vf10, vi07 | sub.xyzw vf15, vf02, vf09
|
||||
sq.xyzw vf06, 1(vi02) | ftoi4.xyz vf02, vf02
|
||||
sq.xyzw vf04, 2(vi02) | add.xyzw vf14, vf08, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
ilw.x vi09, 1(vi00) | maddax.xyzw ACC, vf18, vf08
|
||||
sq.xyzw vf02, 3(vi02) | madday.xyzw ACC, vf19, vf08
|
||||
ibeq vi01, vi03, L49 | maddz.xyzw vf08, vf20, vf08
|
||||
mtir vi01, vf03.w | mul.xyz vf02, vf01, Q
|
||||
sq.xyzw vf26, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L30:
|
||||
lqi.xyzw vf01, vi06 | mul.xyz vf04, vf03, vf22
|
||||
div Q, vf00.w, vf08.w | nop
|
||||
lqi.xyzw vf05, vi08 | mulay.x ACC, vf15, vf16
|
||||
mtir vi02, vf07.w | msubay.x ACC, vf16, vf15
|
||||
lqi.xyzw vf03, vi07 | sub.xyzw vf16, vf09, vf02
|
||||
sq.xyzw vf13, 1(vi05) | ftoi4.xyz vf09, vf09
|
||||
sq.xyzw vf11, 2(vi05) | add.xyzw vf07, vf01, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
mtir vi10, vf28.x | maddax.xyzw ACC, vf18, vf01
|
||||
sq.xyzw vf09, 3(vi05) | madday.xyzw ACC, vf19, vf01
|
||||
lqi.xyzw vf22, vi13 | mulz.w vf09, vf21, vf30
|
||||
ibeq vi04, vi03, L50 | maddz.xyzw vf01, vf20, vf01
|
||||
mtir vi04, vf10.w | mul.xyz vf09, vf08, Q
|
||||
sq.xyzw vf26, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L31:
|
||||
lqi.xyzw vf08, vi06 | mul.xyz vf11, vf10, vf22
|
||||
div Q, vf00.w, vf01.w | mulay.x ACC, vf15, vf16
|
||||
lqi.xyzw vf12, vi08 | addw.w vf09, vf30, vf09
|
||||
mtir vi05, vf14.w | msubay.x ACC, vf16, vf15
|
||||
lqi.xyzw vf10, vi07 | sub.xyzw vf15, vf02, vf09
|
||||
sq.xyzw vf06, 1(vi02) | ftoi4.xyz vf02, vf02
|
||||
sq.xyzw vf04, 2(vi02) | add.xyzw vf14, vf08, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
iaddi vi14, vi14, -0x1 | maddax.xyzw ACC, vf18, vf08
|
||||
sq.xyzw vf02, 3(vi02) | madday.xyzw ACC, vf19, vf08
|
||||
mtir vi15, vf17.x | miniy.w vf09, vf09, vf29
|
||||
ibeq vi01, vi03, L51 | maddz.xyzw vf08, vf20, vf08
|
||||
mtir vi01, vf03.w | mul.xyz vf02, vf01, Q
|
||||
sq.xyzw vf26, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L32:
|
||||
move.w vf04, vf22 | addy.x vf28, vf00, vf28
|
||||
move.w vf11, vf22 | nop
|
||||
iadd vi15, vi15, vi10 | nop
|
||||
ibne vi00, vi14, L10 | ftoi4.w vf02, vf09
|
||||
xgkick vi15 | ftoi4.w vf09, vf09
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L33:
|
||||
ilwr.w vi06, vi11 | maddz.xyzw vf08, vf20, vf08
|
||||
mr32.xyzw vf17, vf17 | mul.xyz vf02, vf01, Q
|
||||
lqi.xyzw vf18, vi13 | nop
|
||||
lqi.xyzw vf19, vi13 | nop
|
||||
lqi.xyzw vf20, vi13 | nop
|
||||
lqi.xyzw vf21, vi13 | nop
|
||||
iadd vi06, vi06, vi11 | nop
|
||||
iadd vi07, vi06, vi12 | nop
|
||||
iadd vi08, vi07, vi12 | nop
|
||||
ibeq vi01, vi03, L52 | nop
|
||||
mtir vi01, vf03.w | nop
|
||||
sq.xyzw vf26, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L34:
|
||||
lqi.xyzw vf01, vi06 | mul.xyz vf04, vf03, vf22
|
||||
div Q, vf00.w, vf08.w | nop
|
||||
lqi.xyzw vf05, vi08 | mulay.x ACC, vf15, vf16
|
||||
mtir vi02, vf07.w | msubay.x ACC, vf16, vf15
|
||||
lqi.xyzw vf03, vi07 | sub.xyzw vf16, vf09, vf02
|
||||
sq.xyzw vf13, 1(vi05) | ftoi4.xyz vf09, vf09
|
||||
sq.xyzw vf11, 2(vi05) | add.xyzw vf07, vf01, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
ilw.x vi09, 1(vi00) | maddax.xyzw ACC, vf18, vf01
|
||||
sq.xyzw vf09, 3(vi05) | madday.xyzw ACC, vf19, vf01
|
||||
ibeq vi04, vi03, L53 | maddz.xyzw vf01, vf20, vf01
|
||||
mtir vi04, vf10.w | mul.xyz vf09, vf08, Q
|
||||
sq.xyzw vf26, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L35:
|
||||
lqi.xyzw vf08, vi06 | mul.xyz vf11, vf10, vf22
|
||||
div Q, vf00.w, vf01.w | nop
|
||||
lqi.xyzw vf12, vi08 | mulay.x ACC, vf15, vf16
|
||||
mtir vi05, vf14.w | msubay.x ACC, vf16, vf15
|
||||
lqi.xyzw vf10, vi07 | sub.xyzw vf15, vf02, vf09
|
||||
sq.xyzw vf06, 1(vi02) | ftoi4.xyz vf02, vf02
|
||||
sq.xyzw vf04, 2(vi02) | add.xyzw vf14, vf08, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
mtir vi10, vf28.x | maddax.xyzw ACC, vf18, vf08
|
||||
sq.xyzw vf02, 3(vi02) | madday.xyzw ACC, vf19, vf08
|
||||
lqi.xyzw vf22, vi13 | mulz.w vf02, vf21, vf30
|
||||
ibeq vi01, vi03, L54 | maddz.xyzw vf08, vf20, vf08
|
||||
mtir vi01, vf03.w | mul.xyz vf02, vf01, Q
|
||||
sq.xyzw vf26, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L36:
|
||||
lqi.xyzw vf01, vi06 | mul.xyz vf04, vf03, vf22
|
||||
div Q, vf00.w, vf08.w | mulay.x ACC, vf15, vf16
|
||||
lqi.xyzw vf05, vi08 | addw.w vf02, vf30, vf02
|
||||
mtir vi02, vf07.w | msubay.x ACC, vf16, vf15
|
||||
lqi.xyzw vf03, vi07 | sub.xyzw vf16, vf09, vf02
|
||||
sq.xyzw vf13, 1(vi05) | ftoi4.xyz vf09, vf09
|
||||
sq.xyzw vf11, 2(vi05) | add.xyzw vf07, vf01, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
iaddi vi14, vi14, -0x1 | maddax.xyzw ACC, vf18, vf01
|
||||
sq.xyzw vf09, 3(vi05) | madday.xyzw ACC, vf19, vf01
|
||||
mtir vi15, vf17.x | miniy.w vf02, vf02, vf29
|
||||
ibeq vi04, vi03, L55 | maddz.xyzw vf01, vf20, vf01
|
||||
mtir vi04, vf10.w | mul.xyz vf09, vf08, Q
|
||||
sq.xyzw vf26, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L37:
|
||||
move.w vf04, vf22 | addy.x vf28, vf00, vf28
|
||||
move.w vf11, vf22 | nop
|
||||
iadd vi15, vi15, vi10 | nop
|
||||
ibne vi00, vi14, L7 | ftoi4.w vf09, vf02
|
||||
xgkick vi15 | ftoi4.w vf02, vf02
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L38:
|
||||
ilwr.w vi06, vi11 | maddz.xyzw vf01, vf20, vf01
|
||||
mr32.xyzw vf17, vf17 | mul.xyz vf09, vf08, Q
|
||||
lqi.xyzw vf18, vi13 | nop
|
||||
lqi.xyzw vf19, vi13 | nop
|
||||
lqi.xyzw vf20, vi13 | nop
|
||||
lqi.xyzw vf21, vi13 | nop
|
||||
iadd vi06, vi06, vi11 | nop
|
||||
iadd vi07, vi06, vi12 | nop
|
||||
iadd vi08, vi07, vi12 | nop
|
||||
ibeq vi04, vi03, L56 | nop
|
||||
mtir vi04, vf10.w | nop
|
||||
sq.xyzw vf27, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L39:
|
||||
lqi.xyzw vf08, vi06 | mul.xyz vf11, vf10, vf22
|
||||
div Q, vf00.w, vf01.w | nop
|
||||
lqi.xyzw vf12, vi08 | mulax.y ACC, vf15, vf16
|
||||
mtir vi05, vf14.w | msubax.y ACC, vf16, vf15
|
||||
lqi.xyzw vf10, vi07 | sub.xyzw vf15, vf02, vf09
|
||||
sq.xyzw vf06, 1(vi02) | ftoi4.xyz vf02, vf02
|
||||
sq.xyzw vf04, 2(vi02) | add.xyzw vf14, vf08, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
ilw.x vi09, 1(vi00) | maddax.xyzw ACC, vf18, vf08
|
||||
sq.xyzw vf02, 3(vi02) | madday.xyzw ACC, vf19, vf08
|
||||
ibeq vi01, vi03, L57 | maddz.xyzw vf08, vf20, vf08
|
||||
mtir vi01, vf03.w | mul.xyz vf02, vf01, Q
|
||||
sq.xyzw vf27, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L40:
|
||||
lqi.xyzw vf01, vi06 | mul.xyz vf04, vf03, vf22
|
||||
div Q, vf00.w, vf08.w | nop
|
||||
lqi.xyzw vf05, vi08 | mulax.y ACC, vf15, vf16
|
||||
mtir vi02, vf07.w | msubax.y ACC, vf16, vf15
|
||||
lqi.xyzw vf03, vi07 | sub.xyzw vf16, vf09, vf02
|
||||
sq.xyzw vf13, 1(vi05) | ftoi4.xyz vf09, vf09
|
||||
sq.xyzw vf11, 2(vi05) | add.xyzw vf07, vf01, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
mtir vi10, vf28.x | maddax.xyzw ACC, vf18, vf01
|
||||
sq.xyzw vf09, 3(vi05) | madday.xyzw ACC, vf19, vf01
|
||||
lqi.xyzw vf22, vi13 | mulz.w vf09, vf21, vf30
|
||||
ibeq vi04, vi03, L58 | maddz.xyzw vf01, vf20, vf01
|
||||
mtir vi04, vf10.w | mul.xyz vf09, vf08, Q
|
||||
sq.xyzw vf27, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L41:
|
||||
lqi.xyzw vf08, vi06 | mul.xyz vf11, vf10, vf22
|
||||
div Q, vf00.w, vf01.w | mulax.y ACC, vf15, vf16
|
||||
lqi.xyzw vf12, vi08 | addw.w vf09, vf30, vf09
|
||||
mtir vi05, vf14.w | msubax.y ACC, vf16, vf15
|
||||
lqi.xyzw vf10, vi07 | sub.xyzw vf15, vf02, vf09
|
||||
sq.xyzw vf06, 1(vi02) | ftoi4.xyz vf02, vf02
|
||||
sq.xyzw vf04, 2(vi02) | add.xyzw vf14, vf08, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
iaddi vi14, vi14, -0x1 | maddax.xyzw ACC, vf18, vf08
|
||||
sq.xyzw vf02, 3(vi02) | madday.xyzw ACC, vf19, vf08
|
||||
mtir vi15, vf17.x | miniy.w vf09, vf09, vf29
|
||||
ibeq vi01, vi03, L59 | maddz.xyzw vf08, vf20, vf08
|
||||
mtir vi01, vf03.w | mul.xyz vf02, vf01, Q
|
||||
sq.xyzw vf27, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L42:
|
||||
move.w vf04, vf22 | addy.x vf28, vf00, vf28
|
||||
move.w vf11, vf22 | nop
|
||||
iadd vi15, vi15, vi10 | nop
|
||||
ibne vi00, vi14, L10 | ftoi4.w vf02, vf09
|
||||
xgkick vi15 | ftoi4.w vf09, vf09
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L43:
|
||||
ilwr.w vi06, vi11 | maddz.xyzw vf08, vf20, vf08
|
||||
mr32.xyzw vf17, vf17 | mul.xyz vf02, vf01, Q
|
||||
lqi.xyzw vf18, vi13 | nop
|
||||
lqi.xyzw vf19, vi13 | nop
|
||||
lqi.xyzw vf20, vi13 | nop
|
||||
lqi.xyzw vf21, vi13 | nop
|
||||
iadd vi06, vi06, vi11 | nop
|
||||
iadd vi07, vi06, vi12 | nop
|
||||
iadd vi08, vi07, vi12 | nop
|
||||
ibeq vi01, vi03, L60 | nop
|
||||
mtir vi01, vf03.w | nop
|
||||
sq.xyzw vf27, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L44:
|
||||
lqi.xyzw vf01, vi06 | mul.xyz vf04, vf03, vf22
|
||||
div Q, vf00.w, vf08.w | nop
|
||||
lqi.xyzw vf05, vi08 | mulax.y ACC, vf15, vf16
|
||||
mtir vi02, vf07.w | msubax.y ACC, vf16, vf15
|
||||
lqi.xyzw vf03, vi07 | sub.xyzw vf16, vf09, vf02
|
||||
sq.xyzw vf13, 1(vi05) | ftoi4.xyz vf09, vf09
|
||||
sq.xyzw vf11, 2(vi05) | add.xyzw vf07, vf01, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
ilw.x vi09, 1(vi00) | maddax.xyzw ACC, vf18, vf01
|
||||
sq.xyzw vf09, 3(vi05) | madday.xyzw ACC, vf19, vf01
|
||||
ibeq vi04, vi03, L61 | maddz.xyzw vf01, vf20, vf01
|
||||
mtir vi04, vf10.w | mul.xyz vf09, vf08, Q
|
||||
sq.xyzw vf27, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L45:
|
||||
lqi.xyzw vf08, vi06 | mul.xyz vf11, vf10, vf22
|
||||
div Q, vf00.w, vf01.w | nop
|
||||
lqi.xyzw vf12, vi08 | mulax.y ACC, vf15, vf16
|
||||
mtir vi05, vf14.w | msubax.y ACC, vf16, vf15
|
||||
lqi.xyzw vf10, vi07 | sub.xyzw vf15, vf02, vf09
|
||||
sq.xyzw vf06, 1(vi02) | ftoi4.xyz vf02, vf02
|
||||
sq.xyzw vf04, 2(vi02) | add.xyzw vf14, vf08, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
mtir vi10, vf28.x | maddax.xyzw ACC, vf18, vf08
|
||||
sq.xyzw vf02, 3(vi02) | madday.xyzw ACC, vf19, vf08
|
||||
lqi.xyzw vf22, vi13 | mulz.w vf02, vf21, vf30
|
||||
ibeq vi01, vi03, L62 | maddz.xyzw vf08, vf20, vf08
|
||||
mtir vi01, vf03.w | mul.xyz vf02, vf01, Q
|
||||
sq.xyzw vf27, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L46:
|
||||
lqi.xyzw vf01, vi06 | mul.xyz vf04, vf03, vf22
|
||||
div Q, vf00.w, vf08.w | mulax.y ACC, vf15, vf16
|
||||
lqi.xyzw vf05, vi08 | addw.w vf02, vf30, vf02
|
||||
mtir vi02, vf07.w | msubax.y ACC, vf16, vf15
|
||||
lqi.xyzw vf03, vi07 | sub.xyzw vf16, vf09, vf02
|
||||
sq.xyzw vf13, 1(vi05) | ftoi4.xyz vf09, vf09
|
||||
sq.xyzw vf11, 2(vi05) | add.xyzw vf07, vf01, vf17
|
||||
fsand vi03, 0x2 | mulaw.xyzw ACC, vf21, vf00
|
||||
iaddi vi14, vi14, -0x1 | maddax.xyzw ACC, vf18, vf01
|
||||
sq.xyzw vf09, 3(vi05) | madday.xyzw ACC, vf19, vf01
|
||||
mtir vi15, vf17.x | miniy.w vf02, vf02, vf29
|
||||
ibeq vi04, vi03, L63 | maddz.xyzw vf01, vf20, vf01
|
||||
mtir vi04, vf10.w | mul.xyz vf09, vf08, Q
|
||||
sq.xyzw vf27, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L47:
|
||||
move.w vf04, vf22 | addy.x vf28, vf00, vf28
|
||||
move.w vf11, vf22 | nop
|
||||
iadd vi15, vi15, vi10 | nop
|
||||
ibne vi00, vi14, L7 | ftoi4.w vf09, vf02
|
||||
xgkick vi15 | ftoi4.w vf02, vf02
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L48:
|
||||
b L39 | nop
|
||||
sq.xyzw vf24, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L49:
|
||||
b L40 | nop
|
||||
sq.xyzw vf24, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L50:
|
||||
b L41 | nop
|
||||
sq.xyzw vf24, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L51:
|
||||
b L42 | nop
|
||||
sq.xyzw vf24, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L52:
|
||||
b L44 | nop
|
||||
sq.xyzw vf24, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L53:
|
||||
b L45 | nop
|
||||
sq.xyzw vf24, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L54:
|
||||
b L46 | nop
|
||||
sq.xyzw vf24, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L55:
|
||||
b L47 | nop
|
||||
sq.xyzw vf24, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L56:
|
||||
b L29 | nop
|
||||
sq.xyzw vf23, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L57:
|
||||
b L30 | nop
|
||||
sq.xyzw vf23, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L58:
|
||||
b L31 | nop
|
||||
sq.xyzw vf23, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L59:
|
||||
b L32 | nop
|
||||
sq.xyzw vf23, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L60:
|
||||
b L34 | nop
|
||||
sq.xyzw vf23, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L61:
|
||||
b L35 | nop
|
||||
sq.xyzw vf23, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
L62:
|
||||
b L36 | nop
|
||||
sq.xyzw vf23, 0(vi02) | mul.xyzw vf06, vf05, Q
|
||||
L63:
|
||||
b L37 | nop
|
||||
sq.xyzw vf23, 0(vi05) | mul.xyzw vf13, vf12, Q
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,206 @@
|
||||
lq.xyzw vf13, 168(vi00) | nop
|
||||
lq.xyzw vf05, 142(vi00) | nop
|
||||
lq.xyzw vf06, 143(vi00) | nop
|
||||
lq.xyzw vf07, 144(vi00) | nop
|
||||
sq.xyzw vf13, 116(vi00) | nop
|
||||
sq.xyzw vf05, 117(vi00) | nop
|
||||
sq.xyzw vf06, 118(vi00) | nop
|
||||
sq.xyzw vf07, 119(vi00) | nop
|
||||
lq.xyzw vf05, 164(vi00) | nop
|
||||
lq.xyzw vf06, 165(vi00) | nop
|
||||
lq.xyzw vf07, 166(vi00) | nop
|
||||
sq.xyzw vf13, 120(vi00) | nop
|
||||
sq.xyzw vf05, 121(vi00) | nop
|
||||
sq.xyzw vf06, 122(vi00) | nop
|
||||
sq.xyzw vf07, 123(vi00) | nop
|
||||
lq.xyzw vf03, 237(vi00) | nop
|
||||
iaddiu vi05, vi00, 0x60 | nop
|
||||
iaddiu vi11, vi00, 0x74 | nop
|
||||
iaddiu vi12, vi00, 0x78 | nop
|
||||
xgkick vi11 | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L1:
|
||||
iaddiu vi06, vi00, 0x10 | nop
|
||||
lq.xyzw vf16, 1(vi02) | nop
|
||||
lq.xyzw vf17, 4(vi02) | nop
|
||||
lq.xyzw vf18, 7(vi02) | nop
|
||||
lq.xyzw vf19, 10(vi02) | nop
|
||||
lq.xyzw vf20, 13(vi02) | ftoi0.w vf16, vf16
|
||||
lq.xyzw vf21, 16(vi02) | ftoi0.w vf17, vf17
|
||||
lq.xyzw vf22, 19(vi02) | ftoi0.w vf18, vf18
|
||||
lq.xyzw vf23, 22(vi02) | ftoi0.w vf19, vf19
|
||||
lq.xyzw vf24, 25(vi02) | ftoi0.w vf20, vf20
|
||||
lq.xyzw vf25, 28(vi02) | ftoi0.w vf21, vf21
|
||||
lq.xyzw vf26, 31(vi02) | ftoi0.w vf22, vf22
|
||||
lq.xyzw vf27, 34(vi02) | ftoi0.w vf23, vf23
|
||||
lq.xyzw vf28, 37(vi02) | ftoi0.w vf24, vf24
|
||||
lq.xyzw vf29, 40(vi02) | ftoi0.w vf25, vf25
|
||||
lq.xyzw vf30, 43(vi02) | ftoi0.w vf26, vf26
|
||||
lq.xyzw vf31, 46(vi02) | ftoi0.w vf27, vf27
|
||||
sq.xyzw vf16, 1(vi02) | ftoi0.w vf28, vf28
|
||||
sq.xyzw vf17, 4(vi02) | ftoi0.w vf29, vf29
|
||||
sq.xyzw vf18, 7(vi02) | ftoi0.w vf30, vf30
|
||||
sq.xyzw vf19, 10(vi02) | ftoi0.w vf31, vf31
|
||||
sq.xyzw vf20, 13(vi02) | nop
|
||||
sq.xyzw vf21, 16(vi02) | nop
|
||||
sq.xyzw vf22, 19(vi02) | nop
|
||||
sq.xyzw vf23, 22(vi02) | nop
|
||||
sq.xyzw vf24, 25(vi02) | nop
|
||||
sq.xyzw vf25, 28(vi02) | nop
|
||||
sq.xyzw vf26, 31(vi02) | nop
|
||||
sq.xyzw vf27, 34(vi02) | nop
|
||||
sq.xyzw vf28, 37(vi02) | nop
|
||||
sq.xyzw vf29, 40(vi02) | nop
|
||||
sq.xyzw vf30, 43(vi02) | nop
|
||||
jr vi15 | nop
|
||||
sq.xyzw vf31, 46(vi02) | nop
|
||||
L2:
|
||||
iaddiu vi06, vi00, 0x10 | nop
|
||||
L3:
|
||||
lq.xyzw vf09, 1(vi02) | nop
|
||||
lq.xyzw vf10, 2(vi02) | nop
|
||||
ilw.w vi08, 1(vi02) | nop
|
||||
lq.xyzw vf08, 0(vi02) | nop
|
||||
iaddi vi06, vi06, -0x1 | muly.xyzw vf09, vf09, vf03
|
||||
iaddi vi02, vi02, 0x3 | muly.xyz vf10, vf10, vf03
|
||||
ibltz vi08, L9 | miniw.w vf10, vf10, vf00
|
||||
iaddi vi09, vi08, -0x4 | nop
|
||||
iaddi vi04, vi05, 0x2 | nop
|
||||
ibgtz vi09, L9 | nop
|
||||
iaddi vi09, vi08, -0x2 | nop
|
||||
ilw.w vi09, -1(vi02) | nop
|
||||
ibltz vi09, L9 | nop
|
||||
iaddi vi13, vi00, 0xf | nop
|
||||
iand vi09, vi09, vi13 | nop
|
||||
iadd vi13, vi09, vi09 | nop
|
||||
iadd vi13, vi13, vi13 | nop
|
||||
iadd vi09, vi13, vi09 | nop
|
||||
lq.xyzw vf13, 176(vi09) | nop
|
||||
iaddi vi09, vi09, 0x4 | nop
|
||||
isub vi09, vi09, vi08 | nop
|
||||
iaddi vi13, vi00, 0x4 | nop
|
||||
iaddi vi07, vi00, 0x0 | nop
|
||||
sq.xyzw vf13, 1(vi05) | nop
|
||||
isub vi13, vi13, vi08 | nop
|
||||
iadd vi13, vi13, vi13 | nop
|
||||
iadd vi13, vi13, vi13 | nop
|
||||
iadd vi13, vi13, vi14 | nop
|
||||
lq.xyzw vf04, 0(vi13) | nop
|
||||
lq.xyzw vf05, 1(vi13) | nop
|
||||
lq.xyzw vf06, 2(vi13) | nop
|
||||
lq.xyzw vf07, 3(vi13) | nop
|
||||
L4:
|
||||
iaddiu vi01, vi00, 0x10 | nop
|
||||
iaddi vi13, vi13, 0x4 | mulax.xyzw ACC, vf04, vf08
|
||||
lq.xyzw vf15, 172(vi09) | madday.xyzw ACC, vf05, vf08
|
||||
lq.xyzw vf04, 0(vi13) | maddaz.xyzw ACC, vf06, vf08
|
||||
lq.xyzw vf05, 1(vi13) | maddw.xyzw vf11, vf07, vf00
|
||||
lq.xyzw vf06, 2(vi13) | mulw.w vf15, vf15, vf10
|
||||
lq.xyzw vf07, 3(vi13) | nop
|
||||
iaddi vi09, vi09, 0x1 | nop
|
||||
fmand vi01, vi01 | nop
|
||||
div Q, vf14.x, vf11.w | mul.xyzw vf12, vf11, vf01
|
||||
iaddi vi08, vi08, -0x1 | add.xyzw vf08, vf08, vf09
|
||||
nop | mulax.xyzw ACC, vf09, vf03
|
||||
iblez vi08, L9 | maddw.xyzw vf09, vf10, vf00
|
||||
nop | clipw.xyz vf12, vf12
|
||||
ibeq vi00, vi01, L5 | ftoi0.xyzw vf15, vf15
|
||||
nop | mula.w ACC, vf11, vf00
|
||||
nop | mula.xyz ACC, vf11, Q
|
||||
fcand vi01, 0x3f | maddw.xyzw vf11, vf02, vf00
|
||||
nop | nop
|
||||
ibeq vi00, vi01, L6 | nop
|
||||
nop | nop
|
||||
L5:
|
||||
ibgtz vi08, L4 | nop
|
||||
nop | nop
|
||||
b L9 | nop
|
||||
nop | nop
|
||||
L6:
|
||||
nop | maxz.zw vf11, vf11, vf00
|
||||
nop | nop
|
||||
L7:
|
||||
nop | nop
|
||||
nop | nop
|
||||
iaddi vi07, vi07, 0x1 | ftoi4.xyzw vf11, vf11
|
||||
nop | nop
|
||||
nop | nop
|
||||
sq.xyzw vf15, 0(vi04) | nop
|
||||
sq.xyzw vf11, 1(vi04) | nop
|
||||
iaddi vi04, vi04, 0x2 | nop
|
||||
iaddi vi13, vi13, 0x4 | mulax.xyzw ACC, vf04, vf08
|
||||
lq.xyzw vf15, 172(vi09) | madday.xyzw ACC, vf05, vf08
|
||||
lq.xyzw vf04, 0(vi13) | maddaz.xyzw ACC, vf06, vf08
|
||||
lq.xyzw vf05, 1(vi13) | maddw.xyzw vf11, vf07, vf00
|
||||
lq.xyzw vf06, 2(vi13) | mulw.w vf15, vf15, vf10
|
||||
lq.xyzw vf07, 3(vi13) | nop
|
||||
iaddi vi09, vi09, 0x1 | nop
|
||||
div Q, vf14.x, vf11.w | mul.xyzw vf12, vf11, vf01
|
||||
nop | add.xyzw vf08, vf08, vf09
|
||||
nop | mulax.xyzw ACC, vf09, vf03
|
||||
nop | maddw.xyzw vf09, vf10, vf00
|
||||
nop | clipw.xyz vf12, vf12
|
||||
nop | ftoi0.xyzw vf15, vf15
|
||||
nop | mula.w ACC, vf11, vf00
|
||||
nop | mula.xyz ACC, vf11, Q
|
||||
fcand vi01, 0x3f | maddw.xyzw vf11, vf02, vf00
|
||||
iaddi vi08, vi08, -0x1 | nop
|
||||
ibne vi00, vi01, L8 | nop
|
||||
nop | nop
|
||||
ibgtz vi08, L7 | maxz.zw vf11, vf11, vf00
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
iaddi vi07, vi07, 0x1 | ftoi4.xyzw vf11, vf11
|
||||
nop | nop
|
||||
nop | nop
|
||||
sq.xyzw vf15, 0(vi04) | nop
|
||||
sq.xyzw vf11, 1(vi04) | nop
|
||||
iaddi vi04, vi04, 0x2 | nop
|
||||
L8:
|
||||
iaddi vi04, vi04, 0x2 | nop
|
||||
iaddi vi07, vi07, -0x2 | nop
|
||||
lq.xyzw vf13, 169(vi07) | nop
|
||||
ibltz vi07, L9 | nop
|
||||
iaddiu vi09, vi00, 0xca | nop
|
||||
sq.xyzw vf13, 0(vi05) | nop
|
||||
xgkick vi05 | nop
|
||||
isub vi05, vi09, vi05 | nop
|
||||
L9:
|
||||
ibne vi00, vi06, L3 | nop
|
||||
nop | nop
|
||||
jr vi15 | nop
|
||||
nop | nop
|
||||
xtop vi03 | nop
|
||||
iaddiu vi14, vi00, 0x7c | nop
|
||||
bal vi15, L1 | nop
|
||||
ior vi02, vi03, vi00 | nop
|
||||
lq.xyzw vf01, 141(vi00) | nop
|
||||
lq.xyzw vf02, 140(vi00) | nop
|
||||
lq.xyzw vf14, 145(vi00) | nop
|
||||
xgkick vi11 | nop
|
||||
bal vi15, L2 | nop
|
||||
ior vi02, vi03, vi00 | nop
|
||||
iaddiu vi14, vi00, 0x92 | nop
|
||||
lq.xyzw vf01, 163(vi00) | nop
|
||||
lq.xyzw vf02, 162(vi00) | nop
|
||||
lq.xyzw vf14, 167(vi00) | nop
|
||||
xgkick vi12 | nop
|
||||
bal vi15, L2 | nop
|
||||
ior vi02, vi03, vi00 | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
xtop vi03 | nop
|
||||
iaddiu vi14, vi00, 0x7c | nop
|
||||
bal vi15, L1 | nop
|
||||
ior vi02, vi03, vi00 | nop
|
||||
lq.xyzw vf01, 141(vi00) | nop
|
||||
lq.xyzw vf02, 140(vi00) | nop
|
||||
lq.xyzw vf14, 145(vi00) | nop
|
||||
bal vi15, L2 | nop
|
||||
ior vi02, vi03, vi00 | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
lq. vf00, 0(vi00) | addx. vf00, vf00, vf00
|
||||
|
||||
@@ -0,0 +1,392 @@
|
||||
.word 0x1ed00a8
|
||||
.word 0x2ff
|
||||
.word 0x1e5008e
|
||||
.word 0x2ff
|
||||
.word 0x1e6008f
|
||||
.word 0x2ff
|
||||
.word 0x1e70090
|
||||
.word 0x2ff
|
||||
.word 0x3e06874
|
||||
.word 0x2ff
|
||||
.word 0x3e02875
|
||||
.word 0x2ff
|
||||
.word 0x3e03076
|
||||
.word 0x2ff
|
||||
.word 0x3e03877
|
||||
.word 0x2ff
|
||||
.word 0x1e500a4
|
||||
.word 0x2ff
|
||||
.word 0x1e600a5
|
||||
.word 0x2ff
|
||||
.word 0x1e700a6
|
||||
.word 0x2ff
|
||||
.word 0x3e06878
|
||||
.word 0x2ff
|
||||
.word 0x3e02879
|
||||
.word 0x2ff
|
||||
.word 0x3e0307a
|
||||
.word 0x2ff
|
||||
.word 0x3e0387b
|
||||
.word 0x2ff
|
||||
.word 0x1e300ed
|
||||
.word 0x2ff
|
||||
.word 0x10050060
|
||||
.word 0x2ff
|
||||
.word 0x100b0074
|
||||
.word 0x2ff
|
||||
.word 0x100c0078
|
||||
.word 0x2ff
|
||||
.word 0x80005efc
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x400002ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x10060010
|
||||
.word 0x2ff
|
||||
.word 0x1f01001
|
||||
.word 0x2ff
|
||||
.word 0x1f11004
|
||||
.word 0x2ff
|
||||
.word 0x1f21007
|
||||
.word 0x2ff
|
||||
.word 0x1f3100a
|
||||
.word 0x2ff
|
||||
.word 0x1f4100d
|
||||
.word 0x30817c
|
||||
.word 0x1f51010
|
||||
.word 0x31897c
|
||||
.word 0x1f61013
|
||||
.word 0x32917c
|
||||
.word 0x1f71016
|
||||
.word 0x33997c
|
||||
.word 0x1f81019
|
||||
.word 0x34a17c
|
||||
.word 0x1f9101c
|
||||
.word 0x35a97c
|
||||
.word 0x1fa101f
|
||||
.word 0x36b17c
|
||||
.word 0x1fb1022
|
||||
.word 0x37b97c
|
||||
.word 0x1fc1025
|
||||
.word 0x38c17c
|
||||
.word 0x1fd1028
|
||||
.word 0x39c97c
|
||||
.word 0x1fe102b
|
||||
.word 0x3ad17c
|
||||
.word 0x1ff102e
|
||||
.word 0x3bd97c
|
||||
.word 0x3e28001
|
||||
.word 0x3ce17c
|
||||
.word 0x3e28804
|
||||
.word 0x3de97c
|
||||
.word 0x3e29007
|
||||
.word 0x3ef17c
|
||||
.word 0x3e2980a
|
||||
.word 0x3ff97c
|
||||
.word 0x3e2a00d
|
||||
.word 0x2ff
|
||||
.word 0x3e2a810
|
||||
.word 0x2ff
|
||||
.word 0x3e2b013
|
||||
.word 0x2ff
|
||||
.word 0x3e2b816
|
||||
.word 0x2ff
|
||||
.word 0x3e2c019
|
||||
.word 0x2ff
|
||||
.word 0x3e2c81c
|
||||
.word 0x2ff
|
||||
.word 0x3e2d01f
|
||||
.word 0x2ff
|
||||
.word 0x3e2d822
|
||||
.word 0x2ff
|
||||
.word 0x3e2e025
|
||||
.word 0x2ff
|
||||
.word 0x3e2e828
|
||||
.word 0x2ff
|
||||
.word 0x3e2f02b
|
||||
.word 0x2ff
|
||||
.word 0x48007800
|
||||
.word 0x2ff
|
||||
.word 0x3e2f82e
|
||||
.word 0x2ff
|
||||
.word 0x10060010
|
||||
.word 0x2ff
|
||||
.word 0x1e91001
|
||||
.word 0x2ff
|
||||
.word 0x1ea1002
|
||||
.word 0x2ff
|
||||
.word 0x8281001
|
||||
.word 0x2ff
|
||||
.word 0x1e81000
|
||||
.word 0x2ff
|
||||
.word 0x800637f2
|
||||
.word 0x1e34a59
|
||||
.word 0x800210f2
|
||||
.word 0x1c35299
|
||||
.word 0x58004061
|
||||
.word 0x205297
|
||||
.word 0x80094732
|
||||
.word 0x2ff
|
||||
.word 0x800428b2
|
||||
.word 0x2ff
|
||||
.word 0x5a00485e
|
||||
.word 0x2ff
|
||||
.word 0x800947b2
|
||||
.word 0x2ff
|
||||
.word 0x82917ff
|
||||
.word 0x2ff
|
||||
.word 0x5800485b
|
||||
.word 0x2ff
|
||||
.word 0x800d03f2
|
||||
.word 0x2ff
|
||||
.word 0x800d4a74
|
||||
.word 0x2ff
|
||||
.word 0x80094b70
|
||||
.word 0x2ff
|
||||
.word 0x800d6b70
|
||||
.word 0x2ff
|
||||
.word 0x80096a70
|
||||
.word 0x2ff
|
||||
.word 0x1ed48b0
|
||||
.word 0x2ff
|
||||
.word 0x80094932
|
||||
.word 0x2ff
|
||||
.word 0x80084a71
|
||||
.word 0x2ff
|
||||
.word 0x800d0132
|
||||
.word 0x2ff
|
||||
.word 0x80070032
|
||||
.word 0x2ff
|
||||
.word 0x3e56801
|
||||
.word 0x2ff
|
||||
.word 0x80086b71
|
||||
.word 0x2ff
|
||||
.word 0x800d6b70
|
||||
.word 0x2ff
|
||||
.word 0x800d6b70
|
||||
.word 0x2ff
|
||||
.word 0x800e6b70
|
||||
.word 0x2ff
|
||||
.word 0x1e46800
|
||||
.word 0x2ff
|
||||
.word 0x1e56801
|
||||
.word 0x2ff
|
||||
.word 0x1e66802
|
||||
.word 0x2ff
|
||||
.word 0x1e76803
|
||||
.word 0x2ff
|
||||
.word 0x10010010
|
||||
.word 0x2ff
|
||||
.word 0x800d6932
|
||||
.word 0x1e821bc
|
||||
.word 0x1ef48ac
|
||||
.word 0x1e828bd
|
||||
.word 0x1e46800
|
||||
.word 0x1e830be
|
||||
.word 0x1e56801
|
||||
.word 0x1e03acb
|
||||
.word 0x1e66802
|
||||
.word 0x2a7bdb
|
||||
.word 0x1e76803
|
||||
.word 0x2ff
|
||||
.word 0x80094872
|
||||
.word 0x2ff
|
||||
.word 0x34010800
|
||||
.word 0x2ff
|
||||
.word 0x818b73bc
|
||||
.word 0x1e15b2a
|
||||
.word 0x800847f2
|
||||
.word 0x1e94228
|
||||
.word 0x80000030
|
||||
.word 0x1e349bc
|
||||
.word 0x5c00403b
|
||||
.word 0x1e0524b
|
||||
.word 0x80000030
|
||||
.word 0x1cc61ff
|
||||
.word 0x50000806
|
||||
.word 0x1ef797c
|
||||
.word 0x80000030
|
||||
.word 0x205abe
|
||||
.word 0x80000030
|
||||
.word 0x1c059fc
|
||||
.word 0x2400003f
|
||||
.word 0x1e012cb
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x50000805
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x5a0047ea
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x40000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x605ad2
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80073872
|
||||
.word 0x1eb597d
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x3e47800
|
||||
.word 0x2ff
|
||||
.word 0x3e45801
|
||||
.word 0x2ff
|
||||
.word 0x800420b2
|
||||
.word 0x2ff
|
||||
.word 0x800d6932
|
||||
.word 0x1e821bc
|
||||
.word 0x1ef48ac
|
||||
.word 0x1e828bd
|
||||
.word 0x1e46800
|
||||
.word 0x1e830be
|
||||
.word 0x1e56801
|
||||
.word 0x1e03acb
|
||||
.word 0x1e66802
|
||||
.word 0x2a7bdb
|
||||
.word 0x1e76803
|
||||
.word 0x2ff
|
||||
.word 0x80094872
|
||||
.word 0x2ff
|
||||
.word 0x818b73bc
|
||||
.word 0x1e15b2a
|
||||
.word 0x80000030
|
||||
.word 0x1e94228
|
||||
.word 0x80000030
|
||||
.word 0x1e349bc
|
||||
.word 0x80000030
|
||||
.word 0x1e0524b
|
||||
.word 0x80000030
|
||||
.word 0x1cc61ff
|
||||
.word 0x80000030
|
||||
.word 0x1ef797c
|
||||
.word 0x80000030
|
||||
.word 0x205abe
|
||||
.word 0x80000030
|
||||
.word 0x1c059fc
|
||||
.word 0x2400003f
|
||||
.word 0x1e012cb
|
||||
.word 0x800847f2
|
||||
.word 0x2ff
|
||||
.word 0x5200080b
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x5a0047e4
|
||||
.word 0x605ad2
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80073872
|
||||
.word 0x1eb597d
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x3e47800
|
||||
.word 0x2ff
|
||||
.word 0x3e45801
|
||||
.word 0x2ff
|
||||
.word 0x800420b2
|
||||
.word 0x2ff
|
||||
.word 0x800420b2
|
||||
.word 0x2ff
|
||||
.word 0x80073fb2
|
||||
.word 0x2ff
|
||||
.word 0x1ed38a9
|
||||
.word 0x2ff
|
||||
.word 0x58003804
|
||||
.word 0x2ff
|
||||
.word 0x100900ca
|
||||
.word 0x2ff
|
||||
.word 0x3e56800
|
||||
.word 0x2ff
|
||||
.word 0x80002efc
|
||||
.word 0x2ff
|
||||
.word 0x80054971
|
||||
.word 0x2ff
|
||||
.word 0x52003797
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x48007800
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x800306bc
|
||||
.word 0x2ff
|
||||
.word 0x100e007c
|
||||
.word 0x2ff
|
||||
.word 0x420f076e
|
||||
.word 0x2ff
|
||||
.word 0x800018b5
|
||||
.word 0x2ff
|
||||
.word 0x1e1008d
|
||||
.word 0x2ff
|
||||
.word 0x1e2008c
|
||||
.word 0x2ff
|
||||
.word 0x1ee0091
|
||||
.word 0x2ff
|
||||
.word 0x80005efc
|
||||
.word 0x2ff
|
||||
.word 0x420f078a
|
||||
.word 0x2ff
|
||||
.word 0x800018b5
|
||||
.word 0x2ff
|
||||
.word 0x100e0092
|
||||
.word 0x2ff
|
||||
.word 0x1e100a3
|
||||
.word 0x2ff
|
||||
.word 0x1e200a2
|
||||
.word 0x2ff
|
||||
.word 0x1ee00a7
|
||||
.word 0x2ff
|
||||
.word 0x800066fc
|
||||
.word 0x2ff
|
||||
.word 0x420f0783
|
||||
.word 0x2ff
|
||||
.word 0x800018b5
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x400002ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x800306bc
|
||||
.word 0x2ff
|
||||
.word 0x100e007c
|
||||
.word 0x2ff
|
||||
.word 0x420f075b
|
||||
.word 0x2ff
|
||||
.word 0x800018b5
|
||||
.word 0x2ff
|
||||
.word 0x1e1008d
|
||||
.word 0x2ff
|
||||
.word 0x1e2008c
|
||||
.word 0x2ff
|
||||
.word 0x1ee0091
|
||||
.word 0x2ff
|
||||
.word 0x420f0778
|
||||
.word 0x2ff
|
||||
.word 0x800018b5
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x400002ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x0
|
||||
.word 0x0
|
||||
@@ -0,0 +1,67 @@
|
||||
lq.xyzw vf01, 489(vi00) | nop
|
||||
lq.xyzw vf05, 490(vi00) | nop
|
||||
ilw.x vi01, 511(vi00) | nop
|
||||
iaddiu vi04, vi00, 0x200 | nop
|
||||
iaddi vi02, vi00, 0x0 | nop
|
||||
L1:
|
||||
ilw.w vi07, 1(vi04) | nop
|
||||
ior vi05, vi02, vi00 | nop
|
||||
ilw.x vi06, 477(vi07) | nop
|
||||
sqi.xyzw vf01, vi05 | nop
|
||||
iaddiu vi08, vi07, 0x4000 | nop
|
||||
iaddiu vi08, vi08, 0x4000 | nop
|
||||
isw.x vi08, -1(vi05) | nop
|
||||
lqi.xyzw vf02, vi04 | nop
|
||||
lqi.xyzw vf03, vi04 | nop
|
||||
lqi.xyzw vf04, vi04 | nop
|
||||
nop | ftoi4.xyzw vf14, vf02
|
||||
L2:
|
||||
lqi.xyzw vf06, vi06 | nop
|
||||
lqi.xyzw vf07, vi06 | nop
|
||||
lq.xyzw vf08, 0(vi06) | nop
|
||||
lq.xyzw vf09, 1(vi06) | nop
|
||||
iaddi vi07, vi07, -0x1 | muly.xyzw vf10, vf06, vf04
|
||||
nop | mulz.xyzw vf11, vf07, vf04
|
||||
nop | muly.xyzw vf12, vf08, vf04
|
||||
nop | mulz.xyzw vf13, vf09, vf04
|
||||
nop | mulx.xyzw vf06, vf06, vf04
|
||||
nop | mulx.xyzw vf07, vf07, vf04
|
||||
nop | mulx.xyzw vf08, vf08, vf04
|
||||
nop | mulx.xyzw vf09, vf09, vf04
|
||||
nop | add.xyzw vf10, vf10, vf02
|
||||
nop | add.xyzw vf11, vf11, vf03
|
||||
nop | add.xyzw vf12, vf12, vf02
|
||||
nop | add.xyzw vf13, vf13, vf03
|
||||
nop | add.xyzw vf06, vf06, vf02
|
||||
nop | add.xyzw vf07, vf07, vf03
|
||||
nop | add.xyzw vf08, vf08, vf02
|
||||
nop | add.xyzw vf09, vf09, vf03
|
||||
nop | ftoi4.xyzw vf10, vf10
|
||||
nop | ftoi4.xyzw vf12, vf12
|
||||
nop | ftoi4.xyzw vf06, vf06
|
||||
nop | ftoi4.xyzw vf08, vf08
|
||||
sqi.xyzw vf07, vi05 | nop
|
||||
sqi.xyzw vf05, vi05 | nop
|
||||
sqi.xyzw vf06, vi05 | nop
|
||||
sqi.xyzw vf09, vi05 | nop
|
||||
sqi.xyzw vf05, vi05 | nop
|
||||
sqi.xyzw vf08, vi05 | nop
|
||||
sqi.xyzw vf11, vi05 | nop
|
||||
sqi.xyzw vf05, vi05 | nop
|
||||
sqi.xyzw vf10, vi05 | nop
|
||||
sqi.xyzw vf13, vi05 | nop
|
||||
sqi.xyzw vf05, vi05 | nop
|
||||
sqi.xyzw vf12, vi05 | nop
|
||||
sqi.xyzw vf03, vi05 | nop
|
||||
sqi.xyzw vf05, vi05 | nop
|
||||
ibne vi00, vi07, L2 | nop
|
||||
sqi.xyzw vf14, vi05 | nop
|
||||
xgkick vi02 | nop
|
||||
iaddi vi01, vi01, -0x1 | nop
|
||||
iaddiu vi03, vi00, 0xb0 | nop
|
||||
ibne vi00, vi01, L1 | nop
|
||||
isub vi02, vi03, vi02 | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
lq. vf00, 0(vi00) | addx. vf00, vf00, vf00
|
||||
|
||||
@@ -0,0 +1,128 @@
|
||||
.word 0x1e101e9
|
||||
.word 0x2ff
|
||||
.word 0x1e501ea
|
||||
.word 0x2ff
|
||||
.word 0x90101ff
|
||||
.word 0x2ff
|
||||
.word 0x10040200
|
||||
.word 0x2ff
|
||||
.word 0x80020032
|
||||
.word 0x2ff
|
||||
.word 0x8272001
|
||||
.word 0x2ff
|
||||
.word 0x80001175
|
||||
.word 0x2ff
|
||||
.word 0x90639dd
|
||||
.word 0x2ff
|
||||
.word 0x81e50b7d
|
||||
.word 0x2ff
|
||||
.word 0x11083800
|
||||
.word 0x2ff
|
||||
.word 0x11084000
|
||||
.word 0x2ff
|
||||
.word 0xb082fff
|
||||
.word 0x2ff
|
||||
.word 0x81e2237c
|
||||
.word 0x2ff
|
||||
.word 0x81e3237c
|
||||
.word 0x2ff
|
||||
.word 0x81e4237c
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x1ee117d
|
||||
.word 0x81e6337c
|
||||
.word 0x2ff
|
||||
.word 0x81e7337c
|
||||
.word 0x2ff
|
||||
.word 0x1e83000
|
||||
.word 0x2ff
|
||||
.word 0x1e93001
|
||||
.word 0x2ff
|
||||
.word 0x80073ff2
|
||||
.word 0x1e43299
|
||||
.word 0x80000030
|
||||
.word 0x1e43ada
|
||||
.word 0x80000030
|
||||
.word 0x1e44319
|
||||
.word 0x80000030
|
||||
.word 0x1e44b5a
|
||||
.word 0x80000030
|
||||
.word 0x1e43198
|
||||
.word 0x80000030
|
||||
.word 0x1e439d8
|
||||
.word 0x80000030
|
||||
.word 0x1e44218
|
||||
.word 0x80000030
|
||||
.word 0x1e44a58
|
||||
.word 0x80000030
|
||||
.word 0x1e252a8
|
||||
.word 0x80000030
|
||||
.word 0x1e35ae8
|
||||
.word 0x80000030
|
||||
.word 0x1e26328
|
||||
.word 0x80000030
|
||||
.word 0x1e36b68
|
||||
.word 0x80000030
|
||||
.word 0x1e231a8
|
||||
.word 0x80000030
|
||||
.word 0x1e339e8
|
||||
.word 0x80000030
|
||||
.word 0x1e24228
|
||||
.word 0x80000030
|
||||
.word 0x1e34a68
|
||||
.word 0x80000030
|
||||
.word 0x1ea517d
|
||||
.word 0x80000030
|
||||
.word 0x1ec617d
|
||||
.word 0x80000030
|
||||
.word 0x1e6317d
|
||||
.word 0x80000030
|
||||
.word 0x1e8417d
|
||||
.word 0x81e53b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e52b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e5337d
|
||||
.word 0x2ff
|
||||
.word 0x81e54b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e52b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e5437d
|
||||
.word 0x2ff
|
||||
.word 0x81e55b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e52b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e5537d
|
||||
.word 0x2ff
|
||||
.word 0x81e56b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e52b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e5637d
|
||||
.word 0x2ff
|
||||
.word 0x81e51b7d
|
||||
.word 0x2ff
|
||||
.word 0x81e52b7d
|
||||
.word 0x2ff
|
||||
.word 0x52003fd9
|
||||
.word 0x2ff
|
||||
.word 0x81e5737d
|
||||
.word 0x2ff
|
||||
.word 0x800016fc
|
||||
.word 0x2ff
|
||||
.word 0x80010ff2
|
||||
.word 0x2ff
|
||||
.word 0x100300b0
|
||||
.word 0x2ff
|
||||
.word 0x52000fc9
|
||||
.word 0x2ff
|
||||
.word 0x800218b1
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x400002ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x0
|
||||
.word 0x0
|
||||
@@ -0,0 +1,137 @@
|
||||
iaddiu vi05, vi00, 0x31e | nop
|
||||
lq.xyzw vf25, 988(vi00) | nop
|
||||
lq.xyzw vf26, 989(vi00) | nop
|
||||
lq.xyzw vf27, 990(vi00) | nop
|
||||
lq.xyzw vf30, 996(vi00) | nop
|
||||
lq.xyzw vf31, 997(vi00) | nop
|
||||
lq.xyzw vf28, 1002(vi00) | nop
|
||||
lq.xyzw vf29, 1003(vi00) | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
xtop vi02 | nop
|
||||
nop | nop
|
||||
ilwr.x vi03, vi02 | nop
|
||||
iaddi vi02, vi02, 0x1 | nop
|
||||
iaddiu vi04, vi02, 0x90 | nop
|
||||
L1:
|
||||
lq.xyzw vf03, 2(vi02) | nop
|
||||
lq.xyzw vf02, 1(vi02) | nop
|
||||
lq.xyzw vf01, 0(vi02) | nop
|
||||
lq.xyzw vf24, 983(vi00) | nop
|
||||
lq.xyzw vf21, 980(vi00) | nop
|
||||
lq.xyzw vf22, 981(vi00) | nop
|
||||
lq.xyzw vf23, 982(vi00) | nop
|
||||
lq.xyzw vf04, 3(vi02) | mulaw.xyz ACC, vf24, vf00
|
||||
lq.xyzw vf24, 987(vi00) | maddax.xyz ACC, vf21, vf01
|
||||
lq.xyzw vf21, 984(vi00) | madday.xyz ACC, vf22, vf01
|
||||
lq.xyzw vf22, 985(vi00) | maddz.xyz vf01, vf23, vf01
|
||||
lq.xyzw vf23, 986(vi00) | nop
|
||||
lq.xyzw vf09, 0(vi04) | nop
|
||||
lq.xyzw vf10, 1(vi04) | mulw.xyz vf03, vf03, vf03
|
||||
div Q, vf02.y, vf01.z | mulz.x vf04, vf04, vf01
|
||||
lq.xyzw vf11, 2(vi04) | nop
|
||||
0.0078125 | nop :i
|
||||
lq.xyzw vf12, 3(vi04) | nop
|
||||
lq.xyzw vf13, 4(vi04) | addy.x vf04, vf04, vf04
|
||||
sq.xyzw vf09, 69(vi05) | muly.z vf05, vf02, vf27
|
||||
move.w vf05, vf00 | addw.z vf02, vf00, vf01
|
||||
sq.xyzw vf10, 70(vi05) | mul.w vf09, vf00, Q
|
||||
sq.xyzw vf11, 71(vi05) | nop
|
||||
sq.xyzw vf12, 72(vi05) | miniw.x vf04, vf04, vf00
|
||||
sq.xyzw vf13, 73(vi05) | nop
|
||||
nop | subw.w vf09, vf00, vf09
|
||||
nop | maxx.x vf04, vf04, vf00
|
||||
nop | mulw.xyz vf01, vf01, vf09
|
||||
nop | mulx.xyz vf03, vf03, vf04
|
||||
nop | mulaw.xyzw ACC, vf24, vf00
|
||||
nop | maddax.xyzw ACC, vf21, vf01
|
||||
nop | madday.xyzw ACC, vf22, vf01
|
||||
nop | muli.xyz vf03, vf03, I
|
||||
nop | maddz.xyzw vf01, vf23, vf01
|
||||
nop | nop
|
||||
iaddi vi03, vi03, -0x1 | mulz.z vf06, vf05, vf05
|
||||
lq.xyzw vf15, 991(vi00) | nop
|
||||
iaddi vi02, vi02, 0x3 | nop
|
||||
fcset 0x0 | mul.xyzw vf07, vf01, vf26
|
||||
nop | mulz.zw vf09, vf05, vf06
|
||||
lq.xyzw vf15, 992(vi00) | mula.zw ACC, vf05, vf15
|
||||
nop | nop
|
||||
div Q, vf00.w, vf07.w | clipw.xyz vf07, vf07
|
||||
nop | mulz.zw vf10, vf09, vf06
|
||||
lq.xyzw vf15, 993(vi00) | madda.zw ACC, vf09, vf15
|
||||
nop | nop
|
||||
fcand vi01, 0x3f | nop
|
||||
ibne vi00, vi01, L2 | mulz.zw vf09, vf10, vf06
|
||||
lq.xyzw vf15, 994(vi00) | madda.zw ACC, vf10, vf15
|
||||
nop | mul.xyz vf01, vf01, Q
|
||||
nop | mul.xyzw vf02, vf02, Q
|
||||
nop | mulz.zw vf10, vf09, vf06
|
||||
lq.xyzw vf15, 995(vi00) | madda.zw ACC, vf09, vf15
|
||||
nop | add.xyzw vf01, vf01, vf25
|
||||
nop | maxw.x vf02, vf02, vf00
|
||||
nop | miniw.x vf02, vf02, vf29
|
||||
nop | miniz.zw vf02, vf02, vf29
|
||||
nop | madd.zw vf05, vf10, vf15
|
||||
nop | ftoi0.xyzw vf03, vf03
|
||||
nop | addx.xy vf09, vf28, vf02
|
||||
nop | subx.xy vf11, vf01, vf02
|
||||
nop | addx.xy vf12, vf01, vf02
|
||||
nop | subx.xy vf10, vf29, vf02
|
||||
nop | mulaz.xyzw ACC, vf30, vf05
|
||||
nop | msubw.xyzw vf15, vf31, vf05
|
||||
nop | max.xy vf20, vf01, vf09
|
||||
nop | addx.zw vf11, vf01, vf00
|
||||
nop | addx.zw vf12, vf01, vf00
|
||||
nop | subw.xy vf17, vf28, vf00
|
||||
nop | mulz.xyzw vf15, vf15, vf02
|
||||
nop | addw.xy vf18, vf28, vf00
|
||||
nop | ftoi4.xyzw vf11, vf11
|
||||
nop | ftoi4.xyzw vf12, vf12
|
||||
nop | mini.xy vf20, vf20, vf10
|
||||
nop | mulaw.xyzw ACC, vf30, vf05
|
||||
sq.xyzw vf03, 76(vi05) | maddz.xyzw vf16, vf31, vf05
|
||||
sq.xyz vf11, 11(vi05) | sub.xy vf17, vf20, vf17
|
||||
sq.xyz vf12, 12(vi05) | sub.xy vf18, vf20, vf18
|
||||
lq.xyzw vf11, 998(vi00) | subx.xy vf19, vf20, vf02
|
||||
lq.xyzw vf12, 999(vi00) | mulw.xyzw vf16, vf16, vf02
|
||||
lq.xyzw vf13, 1000(vi00) | addx.xy vf20, vf20, vf02
|
||||
lq.xyzw vf14, 1001(vi00) | mulaw.xyzw ACC, vf01, vf00
|
||||
nop | maddax.xyzw ACC, vf15, vf11
|
||||
nop | maddy.xyzw vf11, vf16, vf11
|
||||
nop | mulaw.xyzw ACC, vf01, vf00
|
||||
nop | maddax.xyzw ACC, vf15, vf12
|
||||
nop | maddy.xyzw vf12, vf16, vf12
|
||||
nop | mulaw.xyzw ACC, vf01, vf00
|
||||
nop | maddax.xyzw ACC, vf15, vf13
|
||||
nop | maddy.xyzw vf13, vf16, vf13
|
||||
nop | mulaw.xyzw ACC, vf01, vf00
|
||||
nop | maddax.xyzw ACC, vf15, vf14
|
||||
nop | maddy.xyzw vf14, vf16, vf14
|
||||
nop | subx.xy vf17, vf17, vf02
|
||||
nop | addx.xy vf18, vf18, vf02
|
||||
iaddiu vi04, vi04, 0x50 | subw.xy vf19, vf19, vf00
|
||||
nop | addw.xy vf20, vf20, vf00
|
||||
nop | ftoi4.xyzw vf11, vf11
|
||||
nop | ftoi4.xyzw vf12, vf12
|
||||
nop | ftoi4.xyzw vf13, vf13
|
||||
nop | ftoi4.xyzw vf14, vf14
|
||||
sq.xy vf11, 62(vi05) | ftoi4.xyzw vf17, vf17
|
||||
sq.xy vf12, 63(vi05) | ftoi4.xyzw vf18, vf18
|
||||
sq.xy vf13, 64(vi05) | ftoi4.xyzw vf19, vf19
|
||||
sq.xy vf14, 65(vi05) | ftoi4.xyzw vf20, vf20
|
||||
sq.xy vf17, 25(vi05) | nop
|
||||
sq.xy vf18, 27(vi05) | nop
|
||||
sq.xy vf19, 8(vi05) | nop
|
||||
sq.xy vf20, 9(vi05) | nop
|
||||
sq.xy vf11, 78(vi05) | nop
|
||||
sq.xy vf12, 80(vi05) | nop
|
||||
sq.xy vf13, 82(vi05) | nop
|
||||
sq.xy vf14, 84(vi05) | nop
|
||||
xgkick vi05 | nop
|
||||
L2:
|
||||
iaddiu vi01, vi00, 0x691 | nop
|
||||
ibne vi00, vi03, L1 | nop
|
||||
isub vi05, vi01, vi05 | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
|
||||
@@ -0,0 +1,268 @@
|
||||
.word 0x1005031e
|
||||
.word 0x2ff
|
||||
.word 0x1f903dc
|
||||
.word 0x2ff
|
||||
.word 0x1fa03dd
|
||||
.word 0x2ff
|
||||
.word 0x1fb03de
|
||||
.word 0x2ff
|
||||
.word 0x1fe03e4
|
||||
.word 0x2ff
|
||||
.word 0x1ff03e5
|
||||
.word 0x2ff
|
||||
.word 0x1fc03ea
|
||||
.word 0x2ff
|
||||
.word 0x1fd03eb
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x400002ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x800206bc
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x810313fe
|
||||
.word 0x2ff
|
||||
.word 0x80021072
|
||||
.word 0x2ff
|
||||
.word 0x10041090
|
||||
.word 0x2ff
|
||||
.word 0x1e31002
|
||||
.word 0x2ff
|
||||
.word 0x1e21001
|
||||
.word 0x2ff
|
||||
.word 0x1e11000
|
||||
.word 0x2ff
|
||||
.word 0x1f803d7
|
||||
.word 0x2ff
|
||||
.word 0x1f503d4
|
||||
.word 0x2ff
|
||||
.word 0x1f603d5
|
||||
.word 0x2ff
|
||||
.word 0x1f703d6
|
||||
.word 0x2ff
|
||||
.word 0x1e41003
|
||||
.word 0x1c0c1bf
|
||||
.word 0x1f803db
|
||||
.word 0x1c1a8bc
|
||||
.word 0x1f503d8
|
||||
.word 0x1c1b0bd
|
||||
.word 0x1f603d9
|
||||
.word 0x1c1b84a
|
||||
.word 0x1f703da
|
||||
.word 0x2ff
|
||||
.word 0x1e92000
|
||||
.word 0x2ff
|
||||
.word 0x1ea2001
|
||||
.word 0x1c318db
|
||||
.word 0x812113bc
|
||||
.word 0x101211a
|
||||
.word 0x1eb2002
|
||||
.word 0x2ff
|
||||
.word 0x3c000000
|
||||
.word 0x800002ff
|
||||
.word 0x1ec2003
|
||||
.word 0x2ff
|
||||
.word 0x1ed2004
|
||||
.word 0x1042101
|
||||
.word 0x3e54845
|
||||
.word 0x5b1159
|
||||
.word 0x8025033c
|
||||
.word 0x410083
|
||||
.word 0x3e55046
|
||||
.word 0x20025c
|
||||
.word 0x3e55847
|
||||
.word 0x2ff
|
||||
.word 0x3e56048
|
||||
.word 0x1002117
|
||||
.word 0x3e56849
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x290247
|
||||
.word 0x80000030
|
||||
.word 0x1002110
|
||||
.word 0x80000030
|
||||
.word 0x1c9085b
|
||||
.word 0x80000030
|
||||
.word 0x1c418d8
|
||||
.word 0x80000030
|
||||
.word 0x1e0c1bf
|
||||
.word 0x80000030
|
||||
.word 0x1e1a8bc
|
||||
.word 0x80000030
|
||||
.word 0x1e1b0bd
|
||||
.word 0x80000030
|
||||
.word 0x1c018de
|
||||
.word 0x80000030
|
||||
.word 0x1e1b84a
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x80031ff2
|
||||
.word 0x45299a
|
||||
.word 0x1ef03df
|
||||
.word 0x2ff
|
||||
.word 0x800210f2
|
||||
.word 0x2ff
|
||||
.word 0x22000000
|
||||
.word 0x1fa09ea
|
||||
.word 0x80000030
|
||||
.word 0x662a5a
|
||||
.word 0x1ef03e0
|
||||
.word 0x6f2abe
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x81e703bc
|
||||
.word 0x1c739ff
|
||||
.word 0x80000030
|
||||
.word 0x664a9a
|
||||
.word 0x1ef03e1
|
||||
.word 0x6f4abd
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
.word 0x2400003f
|
||||
.word 0x2ff
|
||||
.word 0x52000842
|
||||
.word 0x66525a
|
||||
.word 0x1ef03e2
|
||||
.word 0x6f52bd
|
||||
.word 0x80000030
|
||||
.word 0x1c0085c
|
||||
.word 0x80000030
|
||||
.word 0x1e0109c
|
||||
.word 0x80000030
|
||||
.word 0x664a9a
|
||||
.word 0x1ef03e3
|
||||
.word 0x6f4abd
|
||||
.word 0x80000030
|
||||
.word 0x1f90868
|
||||
.word 0x80000030
|
||||
.word 0x1001093
|
||||
.word 0x80000030
|
||||
.word 0x11d1097
|
||||
.word 0x80000030
|
||||
.word 0x7d1096
|
||||
.word 0x80000030
|
||||
.word 0x6f5169
|
||||
.word 0x80000030
|
||||
.word 0x1e3197c
|
||||
.word 0x80000030
|
||||
.word 0x182e240
|
||||
.word 0x80000030
|
||||
.word 0x1820ac4
|
||||
.word 0x80000030
|
||||
.word 0x1820b00
|
||||
.word 0x80000030
|
||||
.word 0x182ea84
|
||||
.word 0x80000030
|
||||
.word 0x1e5f1be
|
||||
.word 0x80000030
|
||||
.word 0x1e5fbcf
|
||||
.word 0x80000030
|
||||
.word 0x1890d2b
|
||||
.word 0x80000030
|
||||
.word 0x600ac0
|
||||
.word 0x80000030
|
||||
.word 0x600b00
|
||||
.word 0x80000030
|
||||
.word 0x180e447
|
||||
.word 0x80000030
|
||||
.word 0x1e27bda
|
||||
.word 0x80000030
|
||||
.word 0x180e483
|
||||
.word 0x80000030
|
||||
.word 0x1eb597d
|
||||
.word 0x80000030
|
||||
.word 0x1ec617d
|
||||
.word 0x80000030
|
||||
.word 0x18aa52f
|
||||
.word 0x80000030
|
||||
.word 0x1e5f1bf
|
||||
.word 0x3e5184c
|
||||
.word 0x1e5fc0a
|
||||
.word 0x3c5580b
|
||||
.word 0x191a46c
|
||||
.word 0x3c5600c
|
||||
.word 0x192a4ac
|
||||
.word 0x1eb03e6
|
||||
.word 0x182a4c4
|
||||
.word 0x1ec03e7
|
||||
.word 0x1e2841b
|
||||
.word 0x1ed03e8
|
||||
.word 0x182a500
|
||||
.word 0x1ee03e9
|
||||
.word 0x1e009bf
|
||||
.word 0x80000030
|
||||
.word 0x1eb78bc
|
||||
.word 0x80000030
|
||||
.word 0x1eb82c9
|
||||
.word 0x80000030
|
||||
.word 0x1e009bf
|
||||
.word 0x80000030
|
||||
.word 0x1ec78bc
|
||||
.word 0x80000030
|
||||
.word 0x1ec8309
|
||||
.word 0x80000030
|
||||
.word 0x1e009bf
|
||||
.word 0x80000030
|
||||
.word 0x1ed78bc
|
||||
.word 0x80000030
|
||||
.word 0x1ed8349
|
||||
.word 0x80000030
|
||||
.word 0x1e009bf
|
||||
.word 0x80000030
|
||||
.word 0x1ee78bc
|
||||
.word 0x80000030
|
||||
.word 0x1ee8389
|
||||
.word 0x80000030
|
||||
.word 0x1828c44
|
||||
.word 0x80000030
|
||||
.word 0x1829480
|
||||
.word 0x10042050
|
||||
.word 0x1809cc7
|
||||
.word 0x80000030
|
||||
.word 0x180a503
|
||||
.word 0x80000030
|
||||
.word 0x1eb597d
|
||||
.word 0x80000030
|
||||
.word 0x1ec617d
|
||||
.word 0x80000030
|
||||
.word 0x1ed697d
|
||||
.word 0x80000030
|
||||
.word 0x1ee717d
|
||||
.word 0x385583e
|
||||
.word 0x1f1897d
|
||||
.word 0x385603f
|
||||
.word 0x1f2917d
|
||||
.word 0x3856840
|
||||
.word 0x1f3997d
|
||||
.word 0x3857041
|
||||
.word 0x1f4a17d
|
||||
.word 0x3858819
|
||||
.word 0x2ff
|
||||
.word 0x385901b
|
||||
.word 0x2ff
|
||||
.word 0x3859808
|
||||
.word 0x2ff
|
||||
.word 0x385a009
|
||||
.word 0x2ff
|
||||
.word 0x385584e
|
||||
.word 0x2ff
|
||||
.word 0x3856050
|
||||
.word 0x2ff
|
||||
.word 0x3856852
|
||||
.word 0x2ff
|
||||
.word 0x3857054
|
||||
.word 0x2ff
|
||||
.word 0x80002efc
|
||||
.word 0x2ff
|
||||
.word 0x10010691
|
||||
.word 0x2ff
|
||||
.word 0x52001f8c
|
||||
.word 0x2ff
|
||||
.word 0x80050971
|
||||
.word 0x2ff
|
||||
.word 0x80000030
|
||||
.word 0x400002ff
|
||||
.word 0x80000030
|
||||
.word 0x2ff
|
||||
@@ -0,0 +1,941 @@
|
||||
lq.xyzw vf29, 996(vi00) | nop
|
||||
lq.xyzw vf31, 997(vi00) | nop :e
|
||||
iaddiu vi15, vi00, 0x320 | nop
|
||||
xtop vi02 | nop
|
||||
nop | nop
|
||||
ilwr.x vi04, vi02 | nop
|
||||
iaddi vi02, vi02, 0x1 | nop
|
||||
iaddiu vi03, vi02, 0x90 | nop
|
||||
L1:
|
||||
ilw.y vi08, 1(vi02) | nop
|
||||
lq.xyzw vf25, 900(vi00) | nop
|
||||
lq.xyzw vf26, 901(vi00) | nop
|
||||
lq.xyzw vf27, 902(vi00) | nop
|
||||
lq.xyzw vf28, 903(vi00) | nop
|
||||
lq.xyzw vf30, 904(vi00) | nop
|
||||
lqi.xyzw vf01, vi02 | nop
|
||||
lqi.xyzw vf05, vi02 | nop
|
||||
lqi.xyzw vf11, vi02 | nop
|
||||
lq.xyzw vf12, 1021(vi00) | mulaw.xyzw ACC, vf28, vf00
|
||||
nop | maddax.xyzw ACC, vf25, vf01
|
||||
nop | madday.xyzw ACC, vf26, vf01
|
||||
nop | maddz.xyzw vf02, vf27, vf01
|
||||
move.w vf05, vf00 | addw.z vf01, vf00, vf05
|
||||
nop | nop
|
||||
div Q, vf31.x, vf02.w | muly.z vf05, vf05, vf31
|
||||
nop | mul.xyzw vf03, vf02, vf29
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | mulz.z vf04, vf05, vf05
|
||||
lq.xyzw vf14, 1001(vi00) | clipw.xyz vf03, vf03
|
||||
iaddi vi06, vi00, 0x1 | adda.xyzw ACC, vf11, vf11
|
||||
L2:
|
||||
ior vi05, vi15, vi00 | mul.zw vf01, vf01, Q
|
||||
lq.xyzw vf06, 998(vi00) | mulz.xyzw vf15, vf05, vf04
|
||||
lq.xyzw vf14, 1002(vi00) | mula.xyzw ACC, vf05, vf14
|
||||
fmand vi01, vi06 | mul.xyz vf02, vf02, Q
|
||||
ibne vi00, vi01, L10 | addz.x vf01, vf00, vf01
|
||||
lqi.xyzw vf07, vi03 | mulz.xyzw vf16, vf15, vf04
|
||||
lq.xyzw vf14, 1003(vi00) | madda.xyzw ACC, vf15, vf14
|
||||
lqi.xyzw vf08, vi03 | add.xyzw vf10, vf02, vf30
|
||||
lqi.xyzw vf09, vi03 | mulw.x vf01, vf01, vf01
|
||||
sqi.xyzw vf06, vi05 | mulz.xyzw vf15, vf16, vf04
|
||||
lq.xyzw vf14, 1004(vi00) | madda.xyzw ACC, vf16, vf14
|
||||
sqi.xyzw vf07, vi05 | maxx.w vf10, vf10, vf12
|
||||
sqi.xyzw vf08, vi05 | maxz.zw vf01, vf01, vf31
|
||||
sqi.xyzw vf09, vi05 | mulz.xyzw vf16, vf15, vf04
|
||||
lq.xyzw vf14, 1005(vi00) | madda.xyzw ACC, vf15, vf14
|
||||
ilw.x vi07, -2(vi02) | mulw.x vf01, vf01, vf31
|
||||
lqi.xyzw vf06, vi03 | miniy.w vf10, vf10, vf12
|
||||
iaddiu vi13, vi00, 0x10 | nop
|
||||
iaddiu vi14, vi00, 0x20 | nop
|
||||
iand vi11, vi07, vi13 | nop
|
||||
iand vi12, vi07, vi14 | nop
|
||||
ibne vi00, vi11, L3 | nop
|
||||
iaddiu vi11, vi00, 0x3dc | nop
|
||||
ibne vi00, vi12, L4 | nop
|
||||
iaddiu vi12, vi00, 0x3dd | nop
|
||||
iaddiu vi13, vi00, 0x3de | nop
|
||||
b L6 | nop
|
||||
iaddiu vi14, vi00, 0x3df | nop
|
||||
L3:
|
||||
ibne vi00, vi12, L5 | nop
|
||||
iaddiu vi11, vi00, 0x3dd | nop
|
||||
iaddiu vi12, vi00, 0x3dc | nop
|
||||
iaddiu vi13, vi00, 0x3df | nop
|
||||
b L6 | nop
|
||||
iaddiu vi14, vi00, 0x3de | nop
|
||||
L4:
|
||||
iaddiu vi11, vi00, 0x3df | nop
|
||||
iaddiu vi12, vi00, 0x3de | nop
|
||||
iaddiu vi13, vi00, 0x3dd | nop
|
||||
b L6 | nop
|
||||
iaddiu vi14, vi00, 0x3dc | nop
|
||||
L5:
|
||||
iaddiu vi11, vi00, 0x3de | nop
|
||||
iaddiu vi12, vi00, 0x3df | nop
|
||||
iaddiu vi13, vi00, 0x3dc | nop
|
||||
iaddiu vi14, vi00, 0x3dd | nop
|
||||
L6:
|
||||
iaddi vi09, vi00, 0xf | nop
|
||||
iand vi07, vi07, vi09 | nop
|
||||
lqi.xyzw vf07, vi03 | miniz.zw vf01, vf01, vf12
|
||||
lq.xyzw vf08, 999(vi08) | madd.xyzw vf05, vf16, vf14
|
||||
lqi.xyzw vf23, vi02 | miniw.x vf01, vf01, vf00
|
||||
ibltz vi08, L8 | suby.w vf02, vf10, vf12
|
||||
lqi.xyzw vf24, vi02 | mulx.w vf11, vf11, vf01
|
||||
fcand vi01, 0x3f | mulaw.xyzw ACC, vf28, vf00
|
||||
lq.xyzw vf17, 1006(vi00) | maddax.xyzw ACC, vf25, vf23
|
||||
fmand vi09, vi06 | nop
|
||||
ibne vi00, vi09, L11 | nop
|
||||
lq.xyzw vf18, 1007(vi00) | madday.xyzw ACC, vf26, vf23
|
||||
L7:
|
||||
lq.xyzw vf19, 980(vi07) | ftoi0.xyzw vf11, vf11
|
||||
lq.xyzw vf20, 981(vi07) | maddz.xyzw vf02, vf27, vf23
|
||||
lq.xyzw vf21, 982(vi07) | mulaw.xyzw ACC, vf17, vf05
|
||||
lq.xyzw vf22, 983(vi07) | msubz.xyzw vf12, vf18, vf05
|
||||
sq.xyzw vf11, 3(vi05) | mulaz.xyzw ACC, vf17, vf05
|
||||
lqi.xyzw vf11, vi02 | maddw.xyzw vf13, vf18, vf05
|
||||
move.w vf24, vf00 | addw.z vf23, vf00, vf24
|
||||
div Q, vf31.x, vf02.w | mulw.xyzw vf12, vf12, vf01
|
||||
ibne vi00, vi01, L9 | muly.z vf24, vf24, vf31
|
||||
ilw.y vi08, -2(vi02) | mulz.xyzw vf13, vf13, vf01
|
||||
sqi.xyzw vf06, vi05 | mul.xyzw vf03, vf02, vf29
|
||||
sqi.xyzw vf07, vi05 | mulaw.xyzw ACC, vf10, vf00
|
||||
sqi.xyzw vf08, vi05 | maddax.xyzw ACC, vf12, vf19
|
||||
lq.xyzw vf06, 0(vi11) | maddy.xyzw vf19, vf13, vf19
|
||||
lq.xyzw vf07, 0(vi12) | mulaw.xyzw ACC, vf10, vf00
|
||||
lq.xyzw vf08, 0(vi13) | maddax.xyzw ACC, vf12, vf20
|
||||
lq.xyzw vf09, 0(vi14) | maddy.xyzw vf20, vf13, vf20
|
||||
sq.xyzw vf06, 1(vi05) | mulaw.xyzw ACC, vf10, vf00
|
||||
sq.xyzw vf07, 3(vi05) | maddax.xyzw ACC, vf12, vf21
|
||||
sq.xyzw vf08, 5(vi05) | maddy.xyzw vf21, vf13, vf21
|
||||
sq.xyzw vf09, 7(vi05) | mulaw.xyzw ACC, vf10, vf00
|
||||
nop | maddax.xyzw ACC, vf12, vf22
|
||||
nop | maddy.xyzw vf22, vf13, vf22
|
||||
lq.xyzw vf12, 1021(vi00) | ftoi4.xyzw vf19, vf19
|
||||
lq.xyzw vf14, 1001(vi00) | ftoi4.xyzw vf20, vf20
|
||||
move.xyzw vf05, vf24 | ftoi4.xyzw vf21, vf21
|
||||
move.xyzw vf01, vf23 | ftoi4.xyzw vf22, vf22
|
||||
sq.xyzw vf19, 2(vi05) | mulz.z vf04, vf24, vf24
|
||||
sq.xyzw vf20, 4(vi05) | clipw.xyz vf03, vf03
|
||||
sq.xyzw vf21, 6(vi05) | nop
|
||||
sq.xyzw vf22, 8(vi05) | nop
|
||||
xgkick vi15 | nop
|
||||
iaddi vi04, vi04, -0x1 | nop
|
||||
iaddiu vi01, vi00, 0x672 | nop
|
||||
ibne vi00, vi04, L2 | nop
|
||||
isub vi15, vi01, vi15 | adda.xyzw ACC, vf11, vf11
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L8:
|
||||
iaddi vi04, vi04, -0x1 | nop
|
||||
iaddi vi02, vi02, -0x2 | nop
|
||||
ibne vi00, vi04, L1 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L9:
|
||||
iaddi vi04, vi04, -0x1 | nop
|
||||
iaddi vi02, vi02, -0x3 | nop
|
||||
ibne vi00, vi04, L1 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L10:
|
||||
iaddi vi04, vi04, -0x1 | nop
|
||||
iaddi vi03, vi03, 0x4 | nop
|
||||
ibne vi00, vi04, L1 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L11:
|
||||
b L7 | nop
|
||||
lq.xyzw vf08, 1000(vi00) | nop
|
||||
xtop vi02 | nop
|
||||
nop | nop
|
||||
ilwr.x vi04, vi02 | nop
|
||||
iaddi vi02, vi02, 0x1 | nop
|
||||
iaddiu vi03, vi02, 0x90 | nop
|
||||
L12:
|
||||
ilw.y vi08, 1(vi02) | nop
|
||||
lq.xyzw vf25, 900(vi00) | nop
|
||||
lq.xyzw vf26, 901(vi00) | nop
|
||||
lq.xyzw vf27, 902(vi00) | nop
|
||||
lq.xyzw vf28, 903(vi00) | nop
|
||||
lq.xyzw vf30, 904(vi08) | nop
|
||||
lqi.xyzw vf01, vi02 | nop
|
||||
lqi.xyzw vf05, vi02 | nop
|
||||
lqi.xyzw vf11, vi02 | nop
|
||||
lq.xyzw vf12, 1021(vi00) | mulaw.xyzw ACC, vf28, vf00
|
||||
ilw.y vi08, 1(vi02) | maddax.xyzw ACC, vf25, vf01
|
||||
nop | madday.xyzw ACC, vf26, vf01
|
||||
nop | maddz.xyzw vf02, vf27, vf01
|
||||
move.w vf05, vf00 | addw.z vf01, vf00, vf05
|
||||
nop | nop
|
||||
div Q, vf31.x, vf02.w | muly.z vf05, vf05, vf31
|
||||
nop | mul.xyzw vf03, vf02, vf29
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | mulz.z vf04, vf05, vf05
|
||||
lq.xyzw vf14, 1001(vi00) | clipw.xyz vf03, vf03
|
||||
iaddi vi06, vi00, 0x1 | adda.xyzw ACC, vf11, vf11
|
||||
L13:
|
||||
ior vi05, vi15, vi00 | mul.zw vf01, vf01, Q
|
||||
lq.xyzw vf06, 998(vi00) | mulz.xyzw vf15, vf05, vf04
|
||||
lq.xyzw vf14, 1002(vi00) | mula.xyzw ACC, vf05, vf14
|
||||
fmand vi01, vi06 | mul.xyz vf02, vf02, Q
|
||||
ibne vi00, vi01, L15 | addz.x vf01, vf00, vf01
|
||||
lqi.xyzw vf07, vi03 | mulz.xyzw vf16, vf15, vf04
|
||||
lq.xyzw vf14, 1003(vi00) | madda.xyzw ACC, vf15, vf14
|
||||
lqi.xyzw vf08, vi03 | add.xyzw vf10, vf02, vf30
|
||||
lqi.xyzw vf09, vi03 | mulw.x vf01, vf01, vf01
|
||||
sqi.xyzw vf06, vi05 | mulz.xyzw vf15, vf16, vf04
|
||||
lq.xyzw vf14, 1004(vi00) | madda.xyzw ACC, vf16, vf14
|
||||
sqi.xyzw vf07, vi05 | maxx.w vf10, vf10, vf12
|
||||
sqi.xyzw vf08, vi05 | maxz.zw vf01, vf01, vf31
|
||||
sqi.xyzw vf09, vi05 | mulz.xyzw vf16, vf15, vf04
|
||||
lq.xyzw vf14, 1005(vi00) | madda.xyzw ACC, vf15, vf14
|
||||
lqi.xyzw vf06, vi03 | mulw.x vf01, vf01, vf31
|
||||
lqi.xyzw vf07, vi03 | miniy.w vf10, vf10, vf12
|
||||
lq.xyzw vf08, 1000(vi00) | nop
|
||||
ilw.x vi07, -2(vi02) | madd.xyzw vf05, vf16, vf14
|
||||
lq.xyzw vf30, 904(vi08) | nop
|
||||
lqi.xyzw vf23, vi02 | miniw.x vf01, vf01, vf00
|
||||
lqi.xyzw vf24, vi02 | mulx.w vf11, vf11, vf01
|
||||
fcand vi01, 0x3f | mulaw.xyzw ACC, vf28, vf00
|
||||
lq.xyzw vf17, 1006(vi00) | maddax.xyzw ACC, vf25, vf23
|
||||
lq.xyzw vf18, 1007(vi00) | madday.xyzw ACC, vf26, vf23
|
||||
lq.xyzw vf19, 980(vi07) | ftoi0.xyzw vf11, vf11
|
||||
lq.xyzw vf20, 981(vi07) | maddz.xyzw vf02, vf27, vf23
|
||||
lq.xyzw vf21, 982(vi07) | mulaw.xyzw ACC, vf17, vf05
|
||||
lq.xyzw vf22, 983(vi07) | msubz.xyzw vf12, vf18, vf05
|
||||
sq.xyzw vf11, 3(vi05) | mulaz.xyzw ACC, vf17, vf05
|
||||
lqi.xyzw vf11, vi02 | maddw.xyzw vf13, vf18, vf05
|
||||
move.w vf24, vf00 | addw.z vf23, vf00, vf24
|
||||
div Q, vf31.x, vf02.w | mulw.xyzw vf12, vf12, vf01
|
||||
ibne vi00, vi01, L14 | muly.z vf24, vf24, vf31
|
||||
ilw.y vi08, 1(vi02) | mulz.xyzw vf13, vf13, vf01
|
||||
sqi.xyzw vf06, vi05 | mul.xyzw vf03, vf02, vf29
|
||||
sqi.xyzw vf07, vi05 | mulaw.xyzw ACC, vf10, vf00
|
||||
sqi.xyzw vf08, vi05 | maddax.xyzw ACC, vf12, vf19
|
||||
lq.xyzw vf06, 988(vi00) | maddy.xyzw vf19, vf13, vf19
|
||||
lq.xyzw vf07, 989(vi00) | mulaw.xyzw ACC, vf10, vf00
|
||||
lq.xyzw vf08, 990(vi00) | maddax.xyzw ACC, vf12, vf20
|
||||
lq.xyzw vf09, 991(vi00) | maddy.xyzw vf20, vf13, vf20
|
||||
sq.xyzw vf06, 1(vi05) | mulaw.xyzw ACC, vf10, vf00
|
||||
sq.xyzw vf07, 3(vi05) | maddax.xyzw ACC, vf12, vf21
|
||||
sq.xyzw vf08, 5(vi05) | maddy.xyzw vf21, vf13, vf21
|
||||
sq.xyzw vf09, 7(vi05) | mulaw.xyzw ACC, vf10, vf00
|
||||
nop | maddax.xyzw ACC, vf12, vf22
|
||||
nop | maddy.xyzw vf22, vf13, vf22
|
||||
lq.xyzw vf12, 1021(vi00) | ftoi4.xyzw vf19, vf19
|
||||
lq.xyzw vf14, 1001(vi00) | ftoi4.xyzw vf20, vf20
|
||||
move.xyzw vf05, vf24 | ftoi4.xyzw vf21, vf21
|
||||
move.xyzw vf01, vf23 | ftoi4.xyzw vf22, vf22
|
||||
sq.xyzw vf19, 2(vi05) | mulz.z vf04, vf24, vf24
|
||||
sq.xyzw vf20, 4(vi05) | clipw.xyz vf03, vf03
|
||||
sq.xyzw vf21, 6(vi05) | nop
|
||||
sq.xyzw vf22, 8(vi05) | nop
|
||||
xgkick vi15 | nop
|
||||
iaddi vi04, vi04, -0x1 | nop
|
||||
iaddiu vi01, vi00, 0x672 | nop
|
||||
ibne vi00, vi04, L13 | nop
|
||||
isub vi15, vi01, vi15 | adda.xyzw ACC, vf11, vf11
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L14:
|
||||
iaddi vi04, vi04, -0x1 | nop
|
||||
iaddi vi02, vi02, -0x3 | nop
|
||||
ibne vi00, vi04, L12 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L15:
|
||||
iaddi vi04, vi04, -0x1 | nop
|
||||
iaddi vi03, vi03, 0x4 | nop
|
||||
ibne vi00, vi04, L12 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
lq.xyzw vf25, 900(vi00) | nop
|
||||
lq.xyzw vf26, 901(vi00) | nop
|
||||
lq.xyzw vf27, 902(vi00) | nop
|
||||
lq.xyzw vf28, 903(vi00) | nop
|
||||
lq.xyzw vf30, 904(vi00) | nop
|
||||
xtop vi02 | nop
|
||||
nop | nop
|
||||
ilwr.x vi04, vi02 | nop
|
||||
iaddi vi02, vi02, 0x1 | nop
|
||||
iaddiu vi03, vi02, 0x90 | nop
|
||||
lq.xyzw vf23, 1021(vi00) | nop
|
||||
iaddi vi06, vi00, 0x1 | nop
|
||||
L16:
|
||||
lq.xyzw vf06, 1(vi02) | nop
|
||||
lq.xyzw vf07, 2(vi02) | nop
|
||||
iaddi vi01, vi00, 0x2 | nop
|
||||
nop | nop
|
||||
nop | mul.xyzw vf05, vf06, vf06
|
||||
nop | addw.y vf08, vf00, vf06
|
||||
nop | subw.w vf06, vf06, vf06
|
||||
nop | adda.xyzw ACC, vf07, vf07
|
||||
nop | addy.x vf05, vf05, vf05
|
||||
nop | nop
|
||||
nop | nop
|
||||
fmand vi01, vi06 | nop
|
||||
ibne vi00, vi01, L20 | addz.x vf05, vf05, vf05
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | subx.w vf05, vf00, vf05
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
sqrt Q, vf05.w | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | addq.w vf06, vf06, Q
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | add.xyzw vf13, vf06, vf06
|
||||
nop | addw.x vf09, vf00, vf06
|
||||
nop | addz.y vf09, vf00, vf06
|
||||
nop | suby.z vf09, vf00, vf06
|
||||
nop | subw.w vf09, vf00, vf00
|
||||
nop | subz.x vf10, vf00, vf06
|
||||
nop | addw.y vf10, vf00, vf06
|
||||
nop | addx.z vf10, vf00, vf06
|
||||
nop | subw.w vf10, vf00, vf00
|
||||
nop | addy.x vf11, vf00, vf06
|
||||
nop | subx.y vf11, vf00, vf06
|
||||
nop | addw.z vf11, vf00, vf06
|
||||
nop | subw.w vf11, vf00, vf00
|
||||
L17:
|
||||
lq.xyzw vf12, 0(vi02) | opmula.xyz ACC, vf13, vf09
|
||||
lq.xyzw vf07, 2(vi02) | opmsub.xyz vf09, vf09, vf13
|
||||
iaddi vi02, vi02, 0x3 | opmula.xyz ACC, vf13, vf10
|
||||
lq.xyzw vf06, 1(vi02) | opmsub.xyz vf10, vf10, vf13
|
||||
ior vi05, vi15, vi00 | opmula.xyz ACC, vf13, vf11
|
||||
lq.xyzw vf01, 998(vi00) | opmsub.xyz vf11, vf11, vf13
|
||||
iaddi vi01, vi00, 0x1 | nop
|
||||
mtir vi12, vf07.x | nop
|
||||
iand vi12, vi12, vi01 | nop
|
||||
lqi.xyzw vf02, vi03 | addw.x vf09, vf09, vf00
|
||||
lqi.xyzw vf03, vi03 | addw.y vf10, vf10, vf00
|
||||
lqi.xyzw vf04, vi03 | addw.z vf11, vf11, vf00
|
||||
sqi.xyzw vf01, vi05 | mul.xyzw vf05, vf06, vf06
|
||||
move.w vf12, vf00 | mulw.xyzw vf09, vf09, vf12
|
||||
iaddi vi06, vi00, 0x1 | muly.xyzw vf11, vf11, vf08
|
||||
lq.xyzw vf14, 992(vi00) | adda.xyzw ACC, vf07, vf07
|
||||
lq.xyzw vf15, 993(vi00) | ftoi0.xyzw vf07, vf07
|
||||
lq.xyzw vf16, 994(vi00) | addw.y vf08, vf00, vf06
|
||||
lq.xyzw vf17, 995(vi00) | subw.w vf06, vf06, vf06
|
||||
fmand vi01, vi06 | mulax.xyzw ACC, vf09, vf14
|
||||
ibne vi00, vi01, L19 | madday.xyzw ACC, vf10, vf14
|
||||
sq.xyzw vf07, 7(vi05) | maddaz.xyzw ACC, vf11, vf14
|
||||
sq.xyzw vf07, 10(vi05) | maddw.xyzw vf14, vf12, vf00
|
||||
sqi.xyzw vf02, vi05 | addy.x vf05, vf05, vf05
|
||||
sq.xyzw vf07, 12(vi05) | mulax.xyzw ACC, vf09, vf15
|
||||
sq.xyzw vf07, 15(vi05) | madday.xyzw ACC, vf10, vf15
|
||||
sqi.xyzw vf03, vi05 | maddaz.xyzw ACC, vf11, vf15
|
||||
sqi.xyzw vf04, vi05 | addz.x vf05, vf05, vf05
|
||||
lqi.xyzw vf01, vi03 | maddw.xyzw vf15, vf12, vf00
|
||||
lqi.xyzw vf02, vi03 | mulax.xyzw ACC, vf09, vf16
|
||||
lq.xyzw vf03, 1008(vi12) | madday.xyzw ACC, vf10, vf16
|
||||
nop | subx.w vf05, vf00, vf05
|
||||
sqi.xyzw vf01, vi05 | maddaz.xyzw ACC, vf11, vf16
|
||||
sqi.xyzw vf02, vi05 | maddw.xyzw vf16, vf12, vf00
|
||||
sqi.xyzw vf03, vi05 | mulax.xyzw ACC, vf09, vf17
|
||||
sqrt Q, vf05.w | madday.xyzw ACC, vf10, vf17
|
||||
nop | maddaz.xyzw ACC, vf11, vf17
|
||||
nop | maddw.xyzw vf17, vf12, vf00
|
||||
lq.xyzw vf18, 988(vi00) | mulax.xyzw ACC, vf25, vf14
|
||||
lq.xyzw vf19, 989(vi00) | madday.xyzw ACC, vf26, vf14
|
||||
lq.xyzw vf20, 990(vi00) | maddaz.xyzw ACC, vf27, vf14
|
||||
lq.xyzw vf21, 991(vi00) | maddw.xyzw vf14, vf28, vf00
|
||||
nop | addq.w vf06, vf06, Q
|
||||
nop | mulax.xyzw ACC, vf25, vf15
|
||||
nop | madday.xyzw ACC, vf26, vf15
|
||||
nop | maddaz.xyzw ACC, vf27, vf15
|
||||
div Q, vf31.x, vf14.w | mul.xyzw vf09, vf14, vf29
|
||||
nop | maddw.xyzw vf15, vf28, vf00
|
||||
nop | mulax.xyzw ACC, vf25, vf16
|
||||
nop | madday.xyzw ACC, vf26, vf16
|
||||
nop | maddaz.xyzw ACC, vf27, vf16
|
||||
nop | mul.xyzw vf10, vf15, vf29
|
||||
nop | maddw.xyzw vf16, vf28, vf00
|
||||
div Q, vf31.x, vf15.w | mul.xyz vf14, vf14, Q
|
||||
nop | mul.xyzw vf18, vf18, Q
|
||||
nop | mulax.xyzw ACC, vf25, vf17
|
||||
nop | madday.xyzw ACC, vf26, vf17
|
||||
nop | maddaz.xyzw ACC, vf27, vf17
|
||||
sq.xyzw vf18, 0(vi05) | mul.xyzw vf11, vf16, vf29
|
||||
nop | maddw.xyzw vf17, vf28, vf00
|
||||
div Q, vf31.x, vf16.w | mul.xyz vf15, vf15, Q
|
||||
nop | mul.xyzw vf19, vf19, Q
|
||||
nop | add.xyzw vf14, vf14, vf30
|
||||
nop | add.xyzw vf15, vf15, vf30
|
||||
nop | mul.xyzw vf12, vf17, vf29
|
||||
sq.xyzw vf19, 3(vi05) | clipw.xyz vf09, vf09
|
||||
nop | clipw.xyz vf10, vf10
|
||||
div Q, vf31.x, vf17.w | mul.xyz vf16, vf16, Q
|
||||
nop | mul.xyzw vf20, vf20, Q
|
||||
nop | clipw.xyz vf11, vf11
|
||||
nop | clipw.xyz vf12, vf12
|
||||
nop | add.xyzw vf16, vf16, vf30
|
||||
sq.xyzw vf20, 6(vi05) | maxx.w vf14, vf14, vf23
|
||||
nop | maxx.w vf15, vf15, vf23
|
||||
fcand vi01, 0x410410 | mul.xyz vf17, vf17, Q
|
||||
ibne vi00, vi01, L18 | mul.xyzw vf21, vf21, Q
|
||||
fcand vi01, 0xffffff | maxx.w vf16, vf16, vf23
|
||||
ibne vi00, vi01, L21 | miniy.w vf14, vf14, vf23
|
||||
nop | add.xyzw vf17, vf17, vf30
|
||||
sq.xyzw vf21, 9(vi05) | miniy.w vf15, vf15, vf23
|
||||
nop | miniy.w vf16, vf16, vf23
|
||||
nop | ftoi4.xyzw vf14, vf14
|
||||
nop | maxx.w vf17, vf17, vf23
|
||||
nop | ftoi4.xyzw vf15, vf15
|
||||
nop | ftoi4.xyzw vf16, vf16
|
||||
sq.xyzw vf14, 2(vi05) | add.xyzw vf13, vf06, vf06
|
||||
nop | miniy.w vf17, vf17, vf23
|
||||
sq.xyzw vf15, 5(vi05) | addw.x vf09, vf00, vf06
|
||||
sq.xyzw vf16, 8(vi05) | addz.y vf09, vf00, vf06
|
||||
nop | suby.z vf09, vf00, vf06
|
||||
nop | ftoi4.xyzw vf17, vf17
|
||||
nop | subw.w vf09, vf00, vf00
|
||||
nop | subz.x vf10, vf00, vf06
|
||||
nop | addw.y vf10, vf00, vf06
|
||||
sq.xyzw vf17, 11(vi05) | addx.z vf10, vf00, vf06
|
||||
xgkick vi15 | subw.w vf10, vf00, vf00
|
||||
iaddi vi04, vi04, -0x1 | addy.x vf11, vf00, vf06
|
||||
iaddiu vi01, vi00, 0x672 | subx.y vf11, vf00, vf06
|
||||
ibne vi00, vi04, L17 | addw.z vf11, vf00, vf06
|
||||
isub vi15, vi01, vi15 | subw.w vf11, vf00, vf00
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L18:
|
||||
iaddi vi04, vi04, -0x1 | nop
|
||||
nop | nop
|
||||
ibne vi00, vi04, L16 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L19:
|
||||
iaddi vi04, vi04, -0x1 | nop
|
||||
iaddi vi03, vi03, 0x2 | nop
|
||||
ibne vi00, vi04, L16 | nop
|
||||
nop | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L20:
|
||||
iaddi vi04, vi04, -0x1 | nop
|
||||
iaddi vi03, vi03, 0x5 | nop
|
||||
ibne vi00, vi04, L16 | nop
|
||||
iaddi vi02, vi02, 0x3 | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L21:
|
||||
fcor vi01, 0x7df7df | nop
|
||||
ibne vi00, vi01, L18 | nop
|
||||
fcor vi01, 0xdf7df7 | nop
|
||||
ibne vi00, vi01, L18 | nop
|
||||
fcor vi01, 0xefbefb | nop
|
||||
ibne vi00, vi01, L18 | nop
|
||||
fcor vi01, 0xf7df7d | nop
|
||||
ibne vi00, vi01, L18 | nop
|
||||
fcor vi01, 0xfbefbe | nop
|
||||
ibne vi00, vi01, L18 | nop
|
||||
ior vi07, vi05, vi00 | nop
|
||||
nop | itof0.xyzw vf07, vf07
|
||||
sq.xyzw vf09, 2(vi07) | nop
|
||||
sq.xyzw vf10, 5(vi07) | nop
|
||||
sq.xyzw vf11, 8(vi07) | nop
|
||||
sq.xyzw vf12, 11(vi07) | nop
|
||||
sq.xyzw vf09, 14(vi07) | nop
|
||||
lq.xyzw vf18, 988(vi00) | nop
|
||||
lq.xyzw vf19, 989(vi00) | nop
|
||||
lq.xyzw vf20, 990(vi00) | nop
|
||||
lq.xyzw vf21, 991(vi00) | nop
|
||||
sq.xyzw vf18, 0(vi07) | nop
|
||||
sq.xyzw vf19, 3(vi07) | nop
|
||||
sq.xyzw vf20, 6(vi07) | nop
|
||||
sq.xyzw vf21, 9(vi07) | nop
|
||||
sq.xyzw vf18, 12(vi07) | nop
|
||||
sq.xyzw vf07, 1(vi07) | nop
|
||||
sq.xyzw vf07, 4(vi07) | nop
|
||||
sq.xyzw vf07, 7(vi07) | nop
|
||||
sq.xyzw vf07, 10(vi07) | nop
|
||||
sq.xyzw vf07, 13(vi07) | nop
|
||||
iaddi vi09, vi00, 0x4 | nop
|
||||
bal vi11, L23 | nop
|
||||
nop | nop
|
||||
lq.xyzw vf01, 1008(vi00) | nop
|
||||
ibeq vi00, vi09, L18 | nop
|
||||
iaddiu vi10, vi09, 0x4000 | nop
|
||||
iaddiu vi10, vi10, 0x4000 | nop
|
||||
sqd.xyzw vf01, vi05 | nop
|
||||
iswr.x vi10, vi05 | nop
|
||||
iaddi vi05, vi05, 0x1 | nop
|
||||
lq.xyzw vf29, 1016(vi00) | nop
|
||||
L22:
|
||||
lqi.xyzw vf17, vi05 | nop
|
||||
lqi.xyzw vf20, vi05 | nop
|
||||
lqi.xyzw vf14, vi05 | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
div Q, vf00.w, vf14.w | mul.xyzw vf14, vf14, vf29
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | mul.xyz vf14, vf14, Q
|
||||
nop | mul.xyzw vf17, vf17, Q
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | add.xyzw vf14, vf14, vf30
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | maxx.w vf14, vf14, vf23
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | miniy.w vf14, vf14, vf23
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | ftoi0.xyzw vf20, vf20
|
||||
nop | ftoi4.xyzw vf14, vf14
|
||||
nop | nop
|
||||
sq.xyzw vf17, -3(vi05) | nop
|
||||
sq.xyzw vf20, -2(vi05) | nop
|
||||
sq.xyzw vf14, -1(vi05) | nop
|
||||
iaddi vi09, vi09, -0x1 | nop
|
||||
nop | nop
|
||||
ibne vi00, vi09, L22 | nop
|
||||
nop | nop
|
||||
lq.xyzw vf29, 996(vi00) | nop
|
||||
xgkick vi15 | nop
|
||||
iaddi vi04, vi04, -0x1 | nop
|
||||
iaddiu vi01, vi00, 0x672 | nop
|
||||
ibne vi00, vi04, L16 | nop
|
||||
isub vi15, vi01, vi15 | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L23:
|
||||
ior vi08, vi07, vi00 | nop
|
||||
lq.xyzw vf14, 2(vi07) | nop
|
||||
ior vi10, vi09, vi00 | nop
|
||||
lq.xyzw vf17, 0(vi07) | nop
|
||||
lq.xyzw vf20, 1(vi07) | nop
|
||||
iaddi vi07, vi07, 0x3 | clipw.xyz vf14, vf14
|
||||
L24:
|
||||
lq.xyzw vf15, 2(vi07) | nop
|
||||
lq.xyzw vf18, 0(vi07) | nop
|
||||
lq.xyzw vf21, 1(vi07) | nop
|
||||
iaddi vi07, vi07, 0x3 | nop
|
||||
nop | clipw.xyz vf15, vf15
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
fcor vi01, 0xfff7df | nop
|
||||
ibne vi00, vi01, L35 | nop
|
||||
fcand vi01, 0x20 | nop
|
||||
ibne vi00, vi01, L36 | nop
|
||||
fcand vi01, 0x800 | nop
|
||||
ibne vi00, vi01, L37 | nop
|
||||
nop | nop
|
||||
sqi.xyzw vf17, vi08 | nop
|
||||
sqi.xyzw vf20, vi08 | nop
|
||||
sqi.xyzw vf14, vi08 | nop
|
||||
L25:
|
||||
move.xyzw vf17, vf18 | nop
|
||||
iaddi vi09, vi09, -0x1 | nop
|
||||
move.xyzw vf20, vf21 | nop
|
||||
ibne vi00, vi09, L24 | nop
|
||||
move.xyzw vf14, vf15 | nop
|
||||
lq.xyzw vf17, 0(vi05) | nop
|
||||
lq.xyzw vf20, 1(vi05) | nop
|
||||
lq.xyzw vf14, 2(vi05) | nop
|
||||
ior vi07, vi05, vi00 | nop
|
||||
sqi.xyzw vf17, vi08 | nop
|
||||
sqi.xyzw vf20, vi08 | nop
|
||||
sqi.xyzw vf14, vi08 | nop
|
||||
ibeq vi00, vi10, L34 | nop
|
||||
ior vi09, vi10, vi00 | nop
|
||||
ior vi08, vi07, vi00 | nop
|
||||
lq.xyzw vf14, 2(vi07) | nop
|
||||
ior vi10, vi09, vi00 | nop
|
||||
lq.xyzw vf17, 0(vi07) | nop
|
||||
lq.xyzw vf20, 1(vi07) | nop
|
||||
iaddi vi07, vi07, 0x3 | clipw.xyz vf14, vf14
|
||||
L26:
|
||||
lq.xyzw vf15, 2(vi07) | nop
|
||||
lq.xyzw vf18, 0(vi07) | nop
|
||||
lq.xyzw vf21, 1(vi07) | nop
|
||||
iaddi vi07, vi07, 0x3 | nop
|
||||
nop | clipw.xyz vf15, vf15
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
fcor vi01, 0xfffdf7 | nop
|
||||
ibne vi00, vi01, L38 | nop
|
||||
fcand vi01, 0x8 | nop
|
||||
ibne vi00, vi01, L39 | nop
|
||||
fcand vi01, 0x200 | nop
|
||||
ibne vi00, vi01, L40 | nop
|
||||
nop | nop
|
||||
sqi.xyzw vf17, vi08 | nop
|
||||
sqi.xyzw vf20, vi08 | nop
|
||||
sqi.xyzw vf14, vi08 | nop
|
||||
L27:
|
||||
move.xyzw vf17, vf18 | nop
|
||||
iaddi vi09, vi09, -0x1 | nop
|
||||
move.xyzw vf20, vf21 | nop
|
||||
ibne vi00, vi09, L26 | nop
|
||||
move.xyzw vf14, vf15 | nop
|
||||
lq.xyzw vf17, 0(vi05) | nop
|
||||
lq.xyzw vf20, 1(vi05) | nop
|
||||
lq.xyzw vf14, 2(vi05) | nop
|
||||
ior vi07, vi05, vi00 | nop
|
||||
sqi.xyzw vf17, vi08 | nop
|
||||
sqi.xyzw vf20, vi08 | nop
|
||||
sqi.xyzw vf14, vi08 | nop
|
||||
ibeq vi00, vi10, L34 | nop
|
||||
ior vi09, vi10, vi00 | nop
|
||||
ior vi08, vi07, vi00 | nop
|
||||
lq.xyzw vf14, 2(vi07) | nop
|
||||
ior vi10, vi09, vi00 | nop
|
||||
lq.xyzw vf17, 0(vi07) | nop
|
||||
lq.xyzw vf20, 1(vi07) | nop
|
||||
iaddi vi07, vi07, 0x3 | clipw.xyz vf14, vf14
|
||||
L28:
|
||||
lq.xyzw vf15, 2(vi07) | nop
|
||||
lq.xyzw vf18, 0(vi07) | nop
|
||||
lq.xyzw vf21, 1(vi07) | nop
|
||||
iaddi vi07, vi07, 0x3 | nop
|
||||
nop | clipw.xyz vf15, vf15
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
fcor vi01, 0xfffefb | nop
|
||||
ibne vi00, vi01, L41 | nop
|
||||
fcand vi01, 0x4 | nop
|
||||
ibne vi00, vi01, L42 | nop
|
||||
fcand vi01, 0x100 | nop
|
||||
ibne vi00, vi01, L43 | nop
|
||||
nop | nop
|
||||
sqi.xyzw vf17, vi08 | nop
|
||||
sqi.xyzw vf20, vi08 | nop
|
||||
sqi.xyzw vf14, vi08 | nop
|
||||
L29:
|
||||
move.xyzw vf17, vf18 | nop
|
||||
iaddi vi09, vi09, -0x1 | nop
|
||||
move.xyzw vf20, vf21 | nop
|
||||
ibne vi00, vi09, L28 | nop
|
||||
move.xyzw vf14, vf15 | nop
|
||||
lq.xyzw vf17, 0(vi05) | nop
|
||||
lq.xyzw vf20, 1(vi05) | nop
|
||||
lq.xyzw vf14, 2(vi05) | nop
|
||||
ior vi07, vi05, vi00 | nop
|
||||
sqi.xyzw vf17, vi08 | nop
|
||||
sqi.xyzw vf20, vi08 | nop
|
||||
sqi.xyzw vf14, vi08 | nop
|
||||
ibeq vi00, vi10, L34 | nop
|
||||
ior vi09, vi10, vi00 | nop
|
||||
ior vi08, vi07, vi00 | nop
|
||||
lq.xyzw vf14, 2(vi07) | nop
|
||||
ior vi10, vi09, vi00 | nop
|
||||
lq.xyzw vf17, 0(vi07) | nop
|
||||
lq.xyzw vf20, 1(vi07) | nop
|
||||
iaddi vi07, vi07, 0x3 | clipw.xyz vf14, vf14
|
||||
L30:
|
||||
lq.xyzw vf15, 2(vi07) | nop
|
||||
lq.xyzw vf18, 0(vi07) | nop
|
||||
lq.xyzw vf21, 1(vi07) | nop
|
||||
iaddi vi07, vi07, 0x3 | nop
|
||||
nop | clipw.xyz vf15, vf15
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
fcor vi01, 0xffff7d | nop
|
||||
ibne vi00, vi01, L44 | nop
|
||||
fcand vi01, 0x2 | nop
|
||||
ibne vi00, vi01, L45 | nop
|
||||
fcand vi01, 0x80 | nop
|
||||
ibne vi00, vi01, L46 | nop
|
||||
nop | nop
|
||||
sqi.xyzw vf17, vi08 | nop
|
||||
sqi.xyzw vf20, vi08 | nop
|
||||
sqi.xyzw vf14, vi08 | nop
|
||||
L31:
|
||||
move.xyzw vf17, vf18 | nop
|
||||
iaddi vi09, vi09, -0x1 | nop
|
||||
move.xyzw vf20, vf21 | nop
|
||||
ibne vi00, vi09, L30 | nop
|
||||
move.xyzw vf14, vf15 | nop
|
||||
lq.xyzw vf17, 0(vi05) | nop
|
||||
lq.xyzw vf20, 1(vi05) | nop
|
||||
lq.xyzw vf14, 2(vi05) | nop
|
||||
ior vi07, vi05, vi00 | nop
|
||||
sqi.xyzw vf17, vi08 | nop
|
||||
sqi.xyzw vf20, vi08 | nop
|
||||
sqi.xyzw vf14, vi08 | nop
|
||||
ibeq vi00, vi10, L34 | nop
|
||||
ior vi09, vi10, vi00 | nop
|
||||
ior vi08, vi07, vi00 | nop
|
||||
lq.xyzw vf14, 2(vi07) | nop
|
||||
ior vi10, vi09, vi00 | nop
|
||||
lq.xyzw vf17, 0(vi07) | nop
|
||||
lq.xyzw vf20, 1(vi07) | nop
|
||||
iaddi vi07, vi07, 0x3 | clipw.xyz vf14, vf14
|
||||
L32:
|
||||
lq.xyzw vf15, 2(vi07) | nop
|
||||
lq.xyzw vf18, 0(vi07) | nop
|
||||
lq.xyzw vf21, 1(vi07) | nop
|
||||
iaddi vi07, vi07, 0x3 | nop
|
||||
nop | clipw.xyz vf15, vf15
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
fcor vi01, 0xffffbe | nop
|
||||
ibne vi00, vi01, L47 | nop
|
||||
fcand vi01, 0x1 | nop
|
||||
ibne vi00, vi01, L48 | nop
|
||||
fcand vi01, 0x40 | nop
|
||||
ibne vi00, vi01, L49 | nop
|
||||
nop | nop
|
||||
sqi.xyzw vf17, vi08 | nop
|
||||
sqi.xyzw vf20, vi08 | nop
|
||||
sqi.xyzw vf14, vi08 | nop
|
||||
L33:
|
||||
move.xyzw vf17, vf18 | nop
|
||||
iaddi vi09, vi09, -0x1 | nop
|
||||
move.xyzw vf20, vf21 | nop
|
||||
ibne vi00, vi09, L32 | nop
|
||||
move.xyzw vf14, vf15 | nop
|
||||
lq.xyzw vf17, 0(vi05) | nop
|
||||
lq.xyzw vf20, 1(vi05) | nop
|
||||
lq.xyzw vf14, 2(vi05) | nop
|
||||
ior vi07, vi05, vi00 | nop
|
||||
sqi.xyzw vf17, vi08 | nop
|
||||
sqi.xyzw vf20, vi08 | nop
|
||||
sqi.xyzw vf14, vi08 | nop
|
||||
ibeq vi00, vi10, L34 | nop
|
||||
ior vi09, vi10, vi00 | nop
|
||||
L34:
|
||||
jr vi11 | nop
|
||||
nop | nop
|
||||
L35:
|
||||
b L25 | nop
|
||||
iaddi vi10, vi10, -0x1 | nop
|
||||
L36:
|
||||
sqi.xyzw vf17, vi08 | sub.xyzw vf16, vf15, vf14
|
||||
sqi.xyzw vf20, vi08 | sub.xyzw vf19, vf18, vf17
|
||||
sqi.xyzw vf14, vi08 | sub.xyzw vf22, vf21, vf20
|
||||
ibeq vi07, vi08, L25 | nop
|
||||
nop | addz.w vf13, vf16, vf16
|
||||
nop | addw.z vf13, vf14, vf14
|
||||
div Q, vf13.z, vf13.w | nop
|
||||
waitq | nop
|
||||
nop | mul.xyzw vf19, vf19, Q
|
||||
nop | mul.xyzw vf22, vf22, Q
|
||||
nop | mul.xyzw vf16, vf16, Q
|
||||
nop | sub.xyzw vf19, vf17, vf19
|
||||
nop | sub.xyzw vf22, vf20, vf22
|
||||
nop | sub.xyzw vf16, vf14, vf16
|
||||
iaddi vi10, vi10, 0x1 | nop
|
||||
sqi.xyzw vf19, vi08 | nop
|
||||
sqi.xyzw vf22, vi08 | nop
|
||||
b L25 | nop
|
||||
sqi.xyzw vf16, vi08 | nop
|
||||
L37:
|
||||
nop | sub.xyzw vf16, vf14, vf15
|
||||
nop | sub.xyzw vf19, vf17, vf18
|
||||
nop | sub.xyzw vf22, vf20, vf21
|
||||
nop | addz.w vf13, vf16, vf16
|
||||
nop | addw.z vf13, vf15, vf15
|
||||
div Q, vf13.z, vf13.w | nop
|
||||
waitq | nop
|
||||
nop | mul.xyzw vf19, vf19, Q
|
||||
nop | mul.xyzw vf22, vf22, Q
|
||||
nop | mul.xyzw vf16, vf16, Q
|
||||
nop | sub.xyzw vf19, vf18, vf19
|
||||
nop | sub.xyzw vf22, vf21, vf22
|
||||
nop | sub.xyzw vf16, vf15, vf16
|
||||
sqi.xyzw vf19, vi08 | nop
|
||||
sqi.xyzw vf22, vi08 | nop
|
||||
b L25 | nop
|
||||
sqi.xyzw vf16, vi08 | nop
|
||||
L38:
|
||||
b L27 | nop
|
||||
iaddi vi10, vi10, -0x1 | nop
|
||||
L39:
|
||||
sqi.xyzw vf17, vi08 | sub.xyzw vf16, vf15, vf14
|
||||
sqi.xyzw vf20, vi08 | sub.xyzw vf19, vf18, vf17
|
||||
sqi.xyzw vf14, vi08 | sub.xyzw vf22, vf21, vf20
|
||||
ibeq vi07, vi08, L27 | nop
|
||||
nop | addy.w vf13, vf16, vf16
|
||||
nop | addw.y vf13, vf14, vf14
|
||||
div Q, vf13.y, vf13.w | nop
|
||||
waitq | nop
|
||||
nop | mul.xyzw vf19, vf19, Q
|
||||
nop | mul.xyzw vf22, vf22, Q
|
||||
nop | mul.xyzw vf16, vf16, Q
|
||||
nop | sub.xyzw vf19, vf17, vf19
|
||||
nop | sub.xyzw vf22, vf20, vf22
|
||||
nop | sub.xyzw vf16, vf14, vf16
|
||||
iaddi vi10, vi10, 0x1 | nop
|
||||
sqi.xyzw vf19, vi08 | nop
|
||||
sqi.xyzw vf22, vi08 | nop
|
||||
b L27 | nop
|
||||
sqi.xyzw vf16, vi08 | nop
|
||||
L40:
|
||||
nop | sub.xyzw vf16, vf14, vf15
|
||||
nop | sub.xyzw vf19, vf17, vf18
|
||||
nop | sub.xyzw vf22, vf20, vf21
|
||||
nop | addy.w vf13, vf16, vf16
|
||||
nop | addw.y vf13, vf15, vf15
|
||||
div Q, vf13.y, vf13.w | nop
|
||||
waitq | nop
|
||||
nop | mul.xyzw vf19, vf19, Q
|
||||
nop | mul.xyzw vf22, vf22, Q
|
||||
nop | mul.xyzw vf16, vf16, Q
|
||||
nop | sub.xyzw vf19, vf18, vf19
|
||||
nop | sub.xyzw vf22, vf21, vf22
|
||||
nop | sub.xyzw vf16, vf15, vf16
|
||||
sqi.xyzw vf19, vi08 | nop
|
||||
sqi.xyzw vf22, vi08 | nop
|
||||
b L27 | nop
|
||||
sqi.xyzw vf16, vi08 | nop
|
||||
L41:
|
||||
b L29 | nop
|
||||
iaddi vi10, vi10, -0x1 | nop
|
||||
L42:
|
||||
sqi.xyzw vf17, vi08 | sub.xyzw vf16, vf15, vf14
|
||||
sqi.xyzw vf20, vi08 | sub.xyzw vf19, vf18, vf17
|
||||
sqi.xyzw vf14, vi08 | sub.xyzw vf22, vf21, vf20
|
||||
ibeq vi07, vi08, L29 | nop
|
||||
nop | suby.w vf13, vf16, vf16
|
||||
nop | subw.y vf13, vf14, vf14
|
||||
div Q, vf13.y, vf13.w | nop
|
||||
waitq | nop
|
||||
nop | mul.xyzw vf19, vf19, Q
|
||||
nop | mul.xyzw vf22, vf22, Q
|
||||
nop | mul.xyzw vf16, vf16, Q
|
||||
nop | add.xyzw vf19, vf17, vf19
|
||||
nop | add.xyzw vf22, vf20, vf22
|
||||
nop | add.xyzw vf16, vf14, vf16
|
||||
iaddi vi10, vi10, 0x1 | nop
|
||||
sqi.xyzw vf19, vi08 | nop
|
||||
sqi.xyzw vf22, vi08 | nop
|
||||
b L29 | nop
|
||||
sqi.xyzw vf16, vi08 | nop
|
||||
L43:
|
||||
nop | sub.xyzw vf16, vf14, vf15
|
||||
nop | sub.xyzw vf19, vf17, vf18
|
||||
nop | sub.xyzw vf22, vf20, vf21
|
||||
nop | suby.w vf13, vf16, vf16
|
||||
nop | subw.y vf13, vf15, vf15
|
||||
div Q, vf13.y, vf13.w | nop
|
||||
waitq | nop
|
||||
nop | mul.xyzw vf19, vf19, Q
|
||||
nop | mul.xyzw vf22, vf22, Q
|
||||
nop | mul.xyzw vf16, vf16, Q
|
||||
nop | add.xyzw vf19, vf18, vf19
|
||||
nop | add.xyzw vf22, vf21, vf22
|
||||
nop | add.xyzw vf16, vf15, vf16
|
||||
sqi.xyzw vf19, vi08 | nop
|
||||
sqi.xyzw vf22, vi08 | nop
|
||||
b L29 | nop
|
||||
sqi.xyzw vf16, vi08 | nop
|
||||
L44:
|
||||
b L31 | nop
|
||||
iaddi vi10, vi10, -0x1 | nop
|
||||
L45:
|
||||
sqi.xyzw vf17, vi08 | sub.xyzw vf16, vf15, vf14
|
||||
sqi.xyzw vf20, vi08 | sub.xyzw vf19, vf18, vf17
|
||||
sqi.xyzw vf14, vi08 | sub.xyzw vf22, vf21, vf20
|
||||
ibeq vi07, vi08, L31 | nop
|
||||
nop | addx.w vf13, vf16, vf16
|
||||
nop | addw.x vf13, vf14, vf14
|
||||
div Q, vf13.x, vf13.w | nop
|
||||
waitq | nop
|
||||
nop | mul.xyzw vf19, vf19, Q
|
||||
nop | mul.xyzw vf22, vf22, Q
|
||||
nop | mul.xyzw vf16, vf16, Q
|
||||
nop | sub.xyzw vf19, vf17, vf19
|
||||
nop | sub.xyzw vf22, vf20, vf22
|
||||
nop | sub.xyzw vf16, vf14, vf16
|
||||
iaddi vi10, vi10, 0x1 | nop
|
||||
sqi.xyzw vf19, vi08 | nop
|
||||
sqi.xyzw vf22, vi08 | nop
|
||||
b L31 | nop
|
||||
sqi.xyzw vf16, vi08 | nop
|
||||
L46:
|
||||
nop | sub.xyzw vf16, vf14, vf15
|
||||
nop | sub.xyzw vf19, vf17, vf18
|
||||
nop | sub.xyzw vf22, vf20, vf21
|
||||
nop | addx.w vf13, vf16, vf16
|
||||
nop | addw.x vf13, vf15, vf15
|
||||
div Q, vf13.x, vf13.w | nop
|
||||
waitq | nop
|
||||
nop | mul.xyzw vf19, vf19, Q
|
||||
nop | mul.xyzw vf22, vf22, Q
|
||||
nop | mul.xyzw vf16, vf16, Q
|
||||
nop | sub.xyzw vf19, vf18, vf19
|
||||
nop | sub.xyzw vf22, vf21, vf22
|
||||
nop | sub.xyzw vf16, vf15, vf16
|
||||
sqi.xyzw vf19, vi08 | nop
|
||||
sqi.xyzw vf22, vi08 | nop
|
||||
b L31 | nop
|
||||
sqi.xyzw vf16, vi08 | nop
|
||||
L47:
|
||||
b L33 | nop
|
||||
iaddi vi10, vi10, -0x1 | nop
|
||||
L48:
|
||||
sqi.xyzw vf17, vi08 | sub.xyzw vf16, vf15, vf14
|
||||
sqi.xyzw vf20, vi08 | sub.xyzw vf19, vf18, vf17
|
||||
sqi.xyzw vf14, vi08 | sub.xyzw vf22, vf21, vf20
|
||||
ibeq vi07, vi08, L33 | nop
|
||||
nop | subx.w vf13, vf16, vf16
|
||||
nop | subw.x vf13, vf14, vf14
|
||||
div Q, vf13.x, vf13.w | nop
|
||||
waitq | nop
|
||||
nop | mul.xyzw vf19, vf19, Q
|
||||
nop | mul.xyzw vf22, vf22, Q
|
||||
nop | mul.xyzw vf16, vf16, Q
|
||||
nop | add.xyzw vf19, vf17, vf19
|
||||
nop | add.xyzw vf22, vf20, vf22
|
||||
nop | add.xyzw vf16, vf14, vf16
|
||||
iaddi vi10, vi10, 0x1 | nop
|
||||
sqi.xyzw vf19, vi08 | nop
|
||||
sqi.xyzw vf22, vi08 | nop
|
||||
b L33 | nop
|
||||
sqi.xyzw vf16, vi08 | nop
|
||||
L49:
|
||||
nop | sub.xyzw vf16, vf14, vf15
|
||||
nop | sub.xyzw vf19, vf17, vf18
|
||||
nop | sub.xyzw vf22, vf20, vf21
|
||||
nop | subx.w vf13, vf16, vf16
|
||||
nop | subw.x vf13, vf15, vf15
|
||||
div Q, vf13.x, vf13.w | nop
|
||||
waitq | nop
|
||||
nop | mul.xyzw vf19, vf19, Q
|
||||
nop | mul.xyzw vf22, vf22, Q
|
||||
nop | mul.xyzw vf16, vf16, Q
|
||||
nop | add.xyzw vf19, vf18, vf19
|
||||
nop | add.xyzw vf22, vf21, vf22
|
||||
nop | add.xyzw vf16, vf15, vf16
|
||||
sqi.xyzw vf19, vi08 | nop
|
||||
sqi.xyzw vf22, vi08 | nop
|
||||
b L33 | nop
|
||||
sqi.xyzw vf16, vi08 | nop
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,976 @@
|
||||
b L2 | nop
|
||||
nop | nop
|
||||
b L8 | nop
|
||||
xtop vi14 | nop
|
||||
b L1 | nop
|
||||
xtop vi14 | nop
|
||||
L1:
|
||||
lq.xyzw vf04, 664(vi00) | nop :e
|
||||
nop | nop
|
||||
L2:
|
||||
iaddiu vi14, vi00, 0x2a0 | nop
|
||||
iaddiu vi01, vi00, 0x337 | nop
|
||||
mfir.x vf03, vi14 | nop
|
||||
mfir.y vf03, vi01 | nop
|
||||
mfir.z vf03, vi14 | nop
|
||||
mfir.w vf03, vi01 | nop
|
||||
lq.xyzw vf04, 664(vi00) | nop
|
||||
iaddiu vi14, vi00, 0x3ce | nop
|
||||
sq.xyzw vf00, 0(vi14) | nop
|
||||
sq.xyzw vf00, 7(vi14) | nop
|
||||
sq.xyzw vf00, 14(vi14) | nop
|
||||
sq.xyzw vf00, 21(vi14) | nop
|
||||
sq.xyzw vf00, 28(vi14) | nop
|
||||
sq.xyzw vf00, 35(vi14) | nop
|
||||
iaddiu vi01, vi00, 0x376 | nop
|
||||
iswr.z vi01, vi14 | nop
|
||||
iaddiu vi01, vi00, 0x378 | nop
|
||||
isw.z vi01, 7(vi14) | nop
|
||||
iaddiu vi01, vi00, 0x37a | nop
|
||||
isw.z vi01, 14(vi14) | nop
|
||||
iaddiu vi01, vi00, 0x37c | nop
|
||||
isw.z vi01, 21(vi14) | nop
|
||||
iaddiu vi01, vi00, 0x37e | nop
|
||||
isw.z vi01, 28(vi14) | nop
|
||||
iaddiu vi01, vi00, 0x380 | nop :e
|
||||
isw.z vi01, 35(vi14) | nop
|
||||
L3:
|
||||
iaddi vi07, vi00, -0x1 | nop
|
||||
iblez vi12, L4 | nop
|
||||
iaddi vi09, vi09, 0x1 | nop
|
||||
ior vi10, vi06, vi00 | nop
|
||||
iadd vi01, vi12, vi12 | nop
|
||||
iadd vi01, vi01, vi12 | nop
|
||||
iadd vi05, vi06, vi01 | nop
|
||||
sqi.xyzw vf06, vi06 | nop
|
||||
isw.x vi12, -1(vi06) | nop
|
||||
jr vi15 | nop
|
||||
ilwr.x vi12, vi09 | nop
|
||||
L4:
|
||||
ilw.y vi01, -1(vi09) | nop
|
||||
ilw.z vi13, -1(vi09) | nop
|
||||
ibeq vi00, vi12, L7 | nop
|
||||
ilwr.x vi14, vi10 | nop
|
||||
ibltz vi01, L5 | nop
|
||||
iaddiu vi12, vi12, 0x80 | nop
|
||||
iadd vi13, vi13, vi08 | nop
|
||||
lqi.xyzw vf29, vi13 | nop
|
||||
lqi.xyzw vf30, vi13 | nop
|
||||
lqi.xyzw vf31, vi13 | nop
|
||||
sqi.xyzw vf05, vi06 | nop
|
||||
sqi.xyzw vf29, vi06 | nop
|
||||
sqi.xyzw vf30, vi06 | nop
|
||||
sqi.xyzw vf31, vi06 | nop
|
||||
lqi.xyzw vf29, vi13 | nop
|
||||
lqi.xyzw vf30, vi13 | nop
|
||||
iadd vi01, vi12, vi12 | nop
|
||||
iadd vi01, vi01, vi12 | nop
|
||||
sqi.xyzw vf29, vi06 | nop
|
||||
sqi.xyzw vf30, vi06 | nop
|
||||
ior vi10, vi06, vi00 | nop
|
||||
iadd vi05, vi06, vi01 | nop
|
||||
sqi.xyzw vf06, vi06 | nop
|
||||
isw.x vi12, -1(vi06) | nop
|
||||
jr vi15 | nop
|
||||
ilwr.x vi12, vi09 | nop
|
||||
L5:
|
||||
mtir vi01, vf24.w | nop
|
||||
mtir vi06, vf03.y | nop
|
||||
mr32.xyzw vf03, vf03 | nop
|
||||
iadd vi14, vi14, vi11 | nop
|
||||
ibgez vi13, L6 | nop
|
||||
iswr.x vi14, vi10 | nop
|
||||
xgkick vi01 | nop
|
||||
ior vi10, vi06, vi00 | nop
|
||||
mfir.w vf24, vi06 | nop
|
||||
iadd vi01, vi12, vi12 | nop
|
||||
iadd vi01, vi01, vi12 | nop
|
||||
iadd vi05, vi06, vi01 | nop
|
||||
sqi.xyzw vf06, vi06 | nop
|
||||
isw.x vi12, -1(vi06) | nop
|
||||
jr vi15 | nop
|
||||
ilwr.x vi12, vi09 | nop
|
||||
L6:
|
||||
iadd vi13, vi13, vi08 | nop
|
||||
xgkick vi01 | nop
|
||||
lqi.xyzw vf29, vi13 | nop
|
||||
lqi.xyzw vf30, vi13 | nop
|
||||
lqi.xyzw vf31, vi13 | nop
|
||||
mfir.w vf24, vi06 | nop
|
||||
sqi.xyzw vf05, vi06 | nop
|
||||
sqi.xyzw vf29, vi06 | nop
|
||||
sqi.xyzw vf30, vi06 | nop
|
||||
sqi.xyzw vf31, vi06 | nop
|
||||
lqi.xyzw vf29, vi13 | nop
|
||||
lqi.xyzw vf30, vi13 | nop
|
||||
iadd vi01, vi12, vi12 | nop
|
||||
iadd vi01, vi01, vi12 | nop
|
||||
sqi.xyzw vf29, vi06 | nop
|
||||
sqi.xyzw vf30, vi06 | nop
|
||||
nop | nop
|
||||
ior vi10, vi06, vi00 | nop
|
||||
iadd vi05, vi06, vi01 | nop
|
||||
sqi.xyzw vf06, vi06 | nop
|
||||
isw.x vi12, -1(vi06) | nop
|
||||
jr vi15 | nop
|
||||
ilwr.x vi12, vi09 | nop
|
||||
L7:
|
||||
mtir vi01, vf24.w | nop
|
||||
mr32.xyzw vf03, vf03 | nop
|
||||
iadd vi14, vi14, vi11 | nop
|
||||
iswr.x vi14, vi10 | nop
|
||||
lq.xyzw vf04, 664(vi00) | nop
|
||||
xgkick vi01 | nop
|
||||
nop | nop :e
|
||||
nop | nop
|
||||
L8:
|
||||
ilw.w vi08, 4(vi14) | nop
|
||||
lq.xyzw vf02, 665(vi00) | addw.z vf28, vf00, vf00
|
||||
lq.xyzw vf05, 660(vi00) | nop
|
||||
lq.xyzw vf06, 658(vi00) | nop
|
||||
iadd vi08, vi08, vi14 | nop
|
||||
lq.xyzw vf11, 662(vi00) | nop
|
||||
lq.w vf29, 1(vi08) | nop
|
||||
lq.xyzw vf10, 661(vi00) | nop
|
||||
ilw.z vi09, 4(vi14) | nop
|
||||
ilw.y vi03, 3(vi14) | nop
|
||||
nop | addy.w vf25, vf29, vf00
|
||||
iaddi vi07, vi00, -0x1 | addw.z vf28, vf28, vf29
|
||||
lq.xyzw vf04, 5(vi14) | mulw.xyzw vf16, vf00, vf00
|
||||
lq.xyzw vf07, 6(vi14) | mulw.xyzw vf17, vf00, vf00
|
||||
ibne vi00, vi14, L24 | mulw.xyzw vf18, vf00, vf00
|
||||
lq.xyzw vf08, 7(vi14) | mulw.xyzw vf19, vf00, vf00
|
||||
ilwr.x vi02, vi03 | nop
|
||||
lq.xyzw vf09, 8(vi14) | nop
|
||||
lq.xyzw vf01, 656(vi00) | nop
|
||||
iadd vi09, vi09, vi14 | nop
|
||||
lq.xyw vf28, 0(vi02) | nop
|
||||
mtir vi06, vf03.x | nop
|
||||
ilwr.x vi12, vi09 | nop
|
||||
ilwr.z vi13, vi09 | nop
|
||||
mtir vi04, vf28.w | subw.xyz vf24, vf28, vf25
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
ilwr.y vi02, vi03 | nop
|
||||
lq.xyzw vf12, 0(vi04) | nop
|
||||
lq.xyzw vf20, 1(vi04) | nop
|
||||
iaddiu vi12, vi12, 0x80 | nop
|
||||
iadd vi13, vi13, vi08 | nop
|
||||
lq.xyw vf28, 0(vi02) | itof0.xyzw vf12, vf12
|
||||
mfir.w vf24, vi06 | nop
|
||||
lqi.xyzw vf29, vi13 | nop
|
||||
lqi.xyzw vf30, vi13 | nop
|
||||
lqi.xyzw vf31, vi13 | nop
|
||||
sqi.xyzw vf05, vi06 | subw.xyz vf25, vf28, vf25
|
||||
sqi.xyzw vf29, vi06 | mulaw.xyzw ACC, vf09, vf00
|
||||
mtir vi04, vf28.w | nop
|
||||
sqi.xyzw vf30, vi06 | maddax.xyzw ACC, vf04, vf12
|
||||
sqi.xyzw vf31, vi06 | nop
|
||||
ilwr.z vi02, vi03 | nop
|
||||
lq.xyzw vf13, 0(vi04) | madday.xyzw ACC, vf07, vf12
|
||||
lq.xyzw vf21, 1(vi04) | maddz.xyzw vf12, vf08, vf12
|
||||
lqi.xyzw vf29, vi13 | nop
|
||||
lqi.xyzw vf30, vi13 | nop
|
||||
lq.xyw vf28, 0(vi02) | itof0.xyzw vf13, vf13
|
||||
div Q, vf01.x, vf12.w | mul.xyzw vf16, vf12, vf11
|
||||
sqi.xyzw vf29, vi06 | nop
|
||||
sqi.xyzw vf30, vi06 | nop
|
||||
iadd vi01, vi12, vi12 | subw.xyz vf26, vf28, vf25
|
||||
iadd vi01, vi01, vi12 | mulaw.xyzw ACC, vf09, vf00
|
||||
mtir vi04, vf28.w | nop
|
||||
iadd vi05, vi06, vi01 | maddax.xyzw ACC, vf04, vf13
|
||||
ior vi10, vi06, vi00 | mul.xyz vf12, vf12, Q
|
||||
ilwr.w vi02, vi03 | mul.xyz vf24, vf24, Q
|
||||
lq.xyzw vf14, 0(vi04) | madday.xyzw ACC, vf07, vf13
|
||||
lq.xyzw vf22, 1(vi04) | maddz.xyzw vf13, vf08, vf13
|
||||
sqi.xyzw vf06, vi06 | add.xyzw vf12, vf12, vf10
|
||||
isw.x vi12, -1(vi06) | nop
|
||||
lq.xyw vf28, 0(vi02) | itof0.xyzw vf14, vf14
|
||||
div Q, vf01.x, vf13.w | mul.xyzw vf17, vf13, vf11
|
||||
iaddi vi09, vi09, 0x1 | miniz.w vf12, vf12, vf01
|
||||
ilwr.x vi12, vi09 | clipw.xyz vf16, vf16
|
||||
L9:
|
||||
iaddi vi03, vi03, 0x1 | subw.xyz vf27, vf28, vf25
|
||||
iaddi vi07, vi07, 0x1 | mulaw.xyzw ACC, vf09, vf00
|
||||
mtir vi04, vf28.w | maxy.w vf12, vf12, vf01
|
||||
fcand vi01, 0x3ffff | maddax.xyzw ACC, vf04, vf14
|
||||
ibne vi00, vi01, L20 | mul.xyz vf13, vf13, Q
|
||||
ilwr.x vi02, vi03 | mul.xyz vf25, vf25, Q
|
||||
L10:
|
||||
lq.xyzw vf15, 0(vi04) | madday.xyzw ACC, vf07, vf14
|
||||
lq.xyzw vf23, 1(vi04) | maddz.xyzw vf14, vf08, vf14
|
||||
sqi.xyz vf24, vi06 | add.xyzw vf13, vf13, vf10
|
||||
sqi.xyzw vf20, vi06 | ftoi4.xyzw vf12, vf12
|
||||
lq.xyw vf28, 0(vi02) | itof0.xyzw vf15, vf15
|
||||
div Q, vf01.x, vf14.w | mul.xyzw vf18, vf14, vf11
|
||||
ibeq vi05, vi06, L14 | miniz.w vf13, vf13, vf01
|
||||
sqi.xyzw vf12, vi06 | clipw.xyz vf17, vf17
|
||||
nop | subw.xyz vf24, vf28, vf25
|
||||
iaddi vi07, vi07, 0x1 | mulaw.xyzw ACC, vf09, vf00
|
||||
mtir vi04, vf28.w | maxy.w vf13, vf13, vf01
|
||||
fcand vi01, 0x3ffff | maddax.xyzw ACC, vf04, vf15
|
||||
ibne vi00, vi01, L21 | mul.xyz vf14, vf14, Q
|
||||
ilwr.y vi02, vi03 | mul.xyz vf26, vf26, Q
|
||||
L11:
|
||||
lq.xyzw vf12, 0(vi04) | madday.xyzw ACC, vf07, vf15
|
||||
lq.xyzw vf20, 1(vi04) | maddz.xyzw vf15, vf08, vf15
|
||||
sqi.xyzw vf25, vi06 | add.xyzw vf14, vf14, vf10
|
||||
sqi.xyzw vf21, vi06 | ftoi4.xyzw vf13, vf13
|
||||
lq.xyw vf28, 0(vi02) | itof0.xyzw vf12, vf12
|
||||
div Q, vf01.x, vf15.w | mul.xyzw vf19, vf15, vf11
|
||||
ibeq vi05, vi06, L15 | miniz.w vf14, vf14, vf01
|
||||
sqi.xyzw vf13, vi06 | clipw.xyz vf18, vf18
|
||||
nop | subw.xyz vf25, vf28, vf25
|
||||
iaddi vi07, vi07, 0x1 | mulaw.xyzw ACC, vf09, vf00
|
||||
mtir vi04, vf28.w | maxy.w vf14, vf14, vf01
|
||||
fcand vi01, 0x3ffff | maddax.xyzw ACC, vf04, vf12
|
||||
ibne vi00, vi01, L22 | mul.xyz vf15, vf15, Q
|
||||
ilwr.z vi02, vi03 | mul.xyz vf27, vf27, Q
|
||||
L12:
|
||||
lq.xyzw vf13, 0(vi04) | madday.xyzw ACC, vf07, vf12
|
||||
lq.xyzw vf21, 1(vi04) | maddz.xyzw vf12, vf08, vf12
|
||||
sqi.xyzw vf26, vi06 | add.xyzw vf15, vf15, vf10
|
||||
sqi.xyzw vf22, vi06 | ftoi4.xyzw vf14, vf14
|
||||
lq.xyw vf28, 0(vi02) | itof0.xyzw vf13, vf13
|
||||
div Q, vf01.x, vf12.w | mul.xyzw vf16, vf12, vf11
|
||||
ibeq vi05, vi06, L16 | miniz.w vf15, vf15, vf01
|
||||
sqi.xyzw vf14, vi06 | clipw.xyz vf19, vf19
|
||||
nop | subw.xyz vf26, vf28, vf25
|
||||
iaddi vi07, vi07, 0x1 | mulaw.xyzw ACC, vf09, vf00
|
||||
mtir vi04, vf28.w | maxy.w vf15, vf15, vf01
|
||||
fcand vi01, 0x3ffff | maddax.xyzw ACC, vf04, vf13
|
||||
ibne vi00, vi01, L23 | mul.xyz vf12, vf12, Q
|
||||
ilwr.w vi02, vi03 | mul.xyz vf24, vf24, Q
|
||||
L13:
|
||||
lq.xyzw vf14, 0(vi04) | madday.xyzw ACC, vf07, vf13
|
||||
lq.xyzw vf22, 1(vi04) | maddz.xyzw vf13, vf08, vf13
|
||||
sqi.xyzw vf27, vi06 | add.xyzw vf12, vf12, vf10
|
||||
sqi.xyzw vf23, vi06 | ftoi4.xyzw vf15, vf15
|
||||
lq.xyw vf28, 0(vi02) | itof0.xyzw vf14, vf14
|
||||
div Q, vf01.x, vf13.w | mul.xyzw vf17, vf13, vf11
|
||||
ibne vi05, vi06, L9 | miniz.w vf12, vf12, vf01
|
||||
sqi.xyzw vf15, vi06 | clipw.xyz vf16, vf16
|
||||
b L3 | nop
|
||||
iaddiu vi15, vi00, 0xb7 | nop
|
||||
L14:
|
||||
b L3 | nop
|
||||
iaddiu vi15, vi00, 0xc5 | nop
|
||||
L15:
|
||||
b L3 | nop
|
||||
iaddiu vi15, vi00, 0xd3 | nop
|
||||
L16:
|
||||
b L3 | nop
|
||||
iaddiu vi15, vi00, 0xe1 | nop
|
||||
L17:
|
||||
isw.y vi13, 1022(vi00) | nop
|
||||
isw.z vi05, 1021(vi00) | nop
|
||||
isw.x vi06, 1020(vi00) | nop
|
||||
isw.y vi07, 1020(vi00) | nop
|
||||
isw.z vi08, 1020(vi00) | nop
|
||||
isw.w vi09, 1020(vi00) | nop
|
||||
isw.x vi10, 1021(vi00) | nop
|
||||
isw.y vi12, 1021(vi00) | nop
|
||||
iaddi vi13, vi07, -0x2 | nop
|
||||
iaddiu vi14, vi00, 0x4000 | nop
|
||||
ibeq vi00, vi13, L18 | nop
|
||||
iaddiu vi14, vi14, 0x4000 | nop
|
||||
iadd vi14, vi14, vi07 | nop
|
||||
L18:
|
||||
iswr.x vi14, vi10 | nop
|
||||
lq.xyzw vf06, 659(vi00) | nop
|
||||
xgkick vi01 | nop
|
||||
mtir vi11, vf03.y | nop
|
||||
iaddiu vi01, vi00, 0x4000 | nop
|
||||
iaddiu vi01, vi01, 0x4000 | nop
|
||||
sq.xyzw vf06, 0(vi11) | nop
|
||||
jr vi15 | nop
|
||||
iswr.x vi01, vi11 | nop
|
||||
L19:
|
||||
ilw.y vi14, 1022(vi00) | nop
|
||||
ilw.z vi05, 1021(vi00) | nop
|
||||
ilw.x vi06, 1020(vi00) | nop
|
||||
ilw.y vi07, 1020(vi00) | nop
|
||||
ilw.z vi08, 1020(vi00) | nop
|
||||
ilw.w vi09, 1020(vi00) | nop
|
||||
ilw.x vi10, 1021(vi00) | nop
|
||||
ilw.y vi12, 1021(vi00) | nop
|
||||
lq.xyzw vf06, 658(vi00) | nop
|
||||
mtir vi11, vf03.y | nop
|
||||
iaddi vi01, vi06, -0x4 | nop
|
||||
isub vi14, vi14, vi07 | nop
|
||||
iaddi vi14, vi14, 0x1 | nop
|
||||
xgkick vi11 | nop
|
||||
mfir.w vf24, vi01 | nop
|
||||
ior vi10, vi01, vi00 | nop
|
||||
sq.xyzw vf06, 0(vi01) | nop
|
||||
iswr.x vi14, vi01 | nop
|
||||
jr vi15 | nop
|
||||
iaddi vi07, vi00, 0x1 | nop
|
||||
L20:
|
||||
iaddi vi01, vi07, -0x2 | mul.xyzw vf29, vf18, vf02
|
||||
isw.w vi15, 1021(vi00) | mul.xyzw vf30, vf19, vf02
|
||||
ibltz vi01, L10 | mul.xyzw vf31, vf16, vf02
|
||||
nop | addw.w vf12, vf12, vf01
|
||||
nop | clipw.xyz vf29, vf29
|
||||
nop | clipw.xyz vf30, vf30
|
||||
nop | clipw.xyz vf31, vf31
|
||||
iaddiu vi11, vi00, 0x3f | nop
|
||||
fcget vi01 | nop
|
||||
fcget vi13 | nop
|
||||
fcget vi14 | nop
|
||||
iand vi01, vi01, vi13 | clipw.xyz vf18, vf18
|
||||
iand vi01, vi01, vi14 | clipw.xyz vf19, vf19
|
||||
iand vi01, vi01, vi11 | clipw.xyz vf16, vf16
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
ibne vi00, vi01, L10 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
ilwr.x vi13, vi10 | nop
|
||||
bal vi15, L17 | nop
|
||||
mtir vi01, vf24.w | nop
|
||||
ilw.z vi14, -2(vi03) | nop
|
||||
sq.xyzw vf16, 28(vi11) | nop
|
||||
sq.xyzw vf20, 29(vi11) | nop
|
||||
sq.xyzw vf19, 31(vi11) | nop
|
||||
ilwr.w vi13, vi14 | nop
|
||||
sq.xyzw vf23, 32(vi11) | nop
|
||||
sq.xyzw vf18, 34(vi11) | nop
|
||||
ilw.x vi01, -1(vi03) | nop
|
||||
lq.xyzw vf29, 1(vi13) | nop
|
||||
bal vi15, L37 | nop
|
||||
ilw.w vi13, -2(vi03) | nop
|
||||
bal vi15, L19 | nop
|
||||
nop | nop
|
||||
ilw.w vi15, 1021(vi00) | nop
|
||||
mtir vi04, vf28.w | nop
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
b L10 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
L21:
|
||||
iaddi vi01, vi07, -0x2 | mul.xyzw vf29, vf19, vf02
|
||||
isw.w vi15, 1021(vi00) | mul.xyzw vf30, vf16, vf02
|
||||
ibltz vi01, L11 | mul.xyzw vf31, vf17, vf02
|
||||
nop | addw.w vf13, vf13, vf01
|
||||
nop | clipw.xyz vf29, vf29
|
||||
nop | clipw.xyz vf30, vf30
|
||||
nop | clipw.xyz vf31, vf31
|
||||
iaddiu vi11, vi00, 0x3f | nop
|
||||
fcget vi01 | nop
|
||||
fcget vi13 | nop
|
||||
fcget vi14 | nop
|
||||
iand vi01, vi01, vi13 | clipw.xyz vf19, vf19
|
||||
iand vi01, vi01, vi14 | clipw.xyz vf16, vf16
|
||||
iand vi01, vi01, vi11 | clipw.xyz vf17, vf17
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
ibne vi00, vi01, L11 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
ilwr.x vi13, vi10 | nop
|
||||
bal vi15, L17 | nop
|
||||
mtir vi01, vf24.w | nop
|
||||
ilw.w vi14, -2(vi03) | nop
|
||||
sq.xyzw vf17, 28(vi11) | nop
|
||||
sq.xyzw vf21, 29(vi11) | nop
|
||||
sq.xyzw vf16, 31(vi11) | nop
|
||||
ilwr.w vi13, vi14 | nop
|
||||
sq.xyzw vf20, 32(vi11) | nop
|
||||
sq.xyzw vf19, 34(vi11) | nop
|
||||
ilw.y vi01, -1(vi03) | nop
|
||||
lq.xyzw vf29, 1(vi13) | nop
|
||||
bal vi15, L37 | nop
|
||||
ilw.x vi13, -1(vi03) | nop
|
||||
bal vi15, L19 | nop
|
||||
nop | nop
|
||||
ilw.w vi15, 1021(vi00) | nop
|
||||
mtir vi04, vf28.w | nop
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
b L11 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
L22:
|
||||
iaddi vi01, vi07, -0x2 | mul.xyzw vf29, vf16, vf02
|
||||
isw.w vi15, 1021(vi00) | mul.xyzw vf30, vf17, vf02
|
||||
ibltz vi01, L12 | mul.xyzw vf31, vf18, vf02
|
||||
nop | addw.w vf14, vf14, vf01
|
||||
nop | clipw.xyz vf29, vf29
|
||||
nop | clipw.xyz vf30, vf30
|
||||
nop | clipw.xyz vf31, vf31
|
||||
iaddiu vi11, vi00, 0x3f | nop
|
||||
fcget vi01 | nop
|
||||
fcget vi13 | nop
|
||||
fcget vi14 | nop
|
||||
iand vi01, vi01, vi13 | clipw.xyz vf16, vf16
|
||||
iand vi01, vi01, vi14 | clipw.xyz vf17, vf17
|
||||
iand vi01, vi01, vi11 | clipw.xyz vf18, vf18
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
ibne vi00, vi01, L12 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
ilwr.x vi13, vi10 | nop
|
||||
bal vi15, L17 | nop
|
||||
mtir vi01, vf24.w | nop
|
||||
ilw.x vi14, -1(vi03) | nop
|
||||
sq.xyzw vf18, 28(vi11) | nop
|
||||
sq.xyzw vf22, 29(vi11) | nop
|
||||
sq.xyzw vf17, 31(vi11) | nop
|
||||
ilwr.w vi13, vi14 | nop
|
||||
sq.xyzw vf21, 32(vi11) | nop
|
||||
sq.xyzw vf16, 34(vi11) | nop
|
||||
ilw.z vi01, -1(vi03) | nop
|
||||
lq.xyzw vf29, 1(vi13) | nop
|
||||
bal vi15, L37 | nop
|
||||
ilw.y vi13, -1(vi03) | nop
|
||||
bal vi15, L19 | nop
|
||||
nop | nop
|
||||
ilw.w vi15, 1021(vi00) | nop
|
||||
mtir vi04, vf28.w | nop
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
b L12 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
L23:
|
||||
iaddi vi01, vi07, -0x2 | mul.xyzw vf29, vf17, vf02
|
||||
isw.w vi15, 1021(vi00) | mul.xyzw vf30, vf18, vf02
|
||||
ibltz vi01, L13 | mul.xyzw vf31, vf19, vf02
|
||||
nop | addw.w vf15, vf15, vf01
|
||||
nop | clipw.xyz vf29, vf29
|
||||
nop | clipw.xyz vf30, vf30
|
||||
nop | clipw.xyz vf31, vf31
|
||||
iaddiu vi11, vi00, 0x3f | nop
|
||||
fcget vi01 | nop
|
||||
fcget vi13 | nop
|
||||
fcget vi14 | nop
|
||||
iand vi01, vi01, vi13 | clipw.xyz vf17, vf17
|
||||
iand vi01, vi01, vi14 | clipw.xyz vf18, vf18
|
||||
iand vi01, vi01, vi11 | clipw.xyz vf19, vf19
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
ibne vi00, vi01, L13 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
ilwr.x vi13, vi10 | nop
|
||||
bal vi15, L17 | nop
|
||||
mtir vi01, vf24.w | nop
|
||||
ilw.y vi14, -1(vi03) | nop
|
||||
sq.xyzw vf19, 28(vi11) | nop
|
||||
sq.xyzw vf23, 29(vi11) | nop
|
||||
sq.xyzw vf18, 31(vi11) | nop
|
||||
ilwr.w vi13, vi14 | nop
|
||||
sq.xyzw vf22, 32(vi11) | nop
|
||||
sq.xyzw vf17, 34(vi11) | nop
|
||||
ilw.w vi01, -1(vi03) | nop
|
||||
lq.xyzw vf29, 1(vi13) | nop
|
||||
bal vi15, L37 | nop
|
||||
ilw.z vi13, -1(vi03) | nop
|
||||
bal vi15, L19 | nop
|
||||
nop | nop
|
||||
ilw.w vi15, 1021(vi00) | nop
|
||||
mtir vi04, vf28.w | nop
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
b L13 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | addw.w vf15, vf15, vf01
|
||||
L24:
|
||||
ilw.x vi02, 328(vi03) | nop
|
||||
lq.xyzw vf09, 8(vi14) | nop
|
||||
lq.xyzw vf01, 656(vi00) | nop
|
||||
iadd vi09, vi09, vi14 | nop
|
||||
lq.xyw vf28, 328(vi02) | nop
|
||||
mtir vi06, vf03.x | nop
|
||||
ilwr.x vi12, vi09 | nop
|
||||
ilwr.z vi13, vi09 | nop
|
||||
mtir vi04, vf28.w | subw.xyz vf24, vf28, vf25
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
ilw.y vi02, 328(vi03) | nop
|
||||
lq.xyzw vf12, 328(vi04) | nop
|
||||
lq.xyzw vf20, 329(vi04) | nop
|
||||
iaddiu vi12, vi12, 0x80 | nop
|
||||
iadd vi13, vi13, vi08 | nop
|
||||
lq.xyw vf28, 328(vi02) | itof0.xyzw vf12, vf12
|
||||
mfir.w vf24, vi06 | nop
|
||||
lqi.xyzw vf29, vi13 | nop
|
||||
lqi.xyzw vf30, vi13 | nop
|
||||
lqi.xyzw vf31, vi13 | nop
|
||||
sqi.xyzw vf05, vi06 | subw.xyz vf25, vf28, vf25
|
||||
sqi.xyzw vf29, vi06 | mulaw.xyzw ACC, vf09, vf00
|
||||
mtir vi04, vf28.w | nop
|
||||
sqi.xyzw vf30, vi06 | maddax.xyzw ACC, vf04, vf12
|
||||
sqi.xyzw vf31, vi06 | nop
|
||||
ilw.z vi02, 328(vi03) | nop
|
||||
lq.xyzw vf13, 328(vi04) | madday.xyzw ACC, vf07, vf12
|
||||
lq.xyzw vf21, 329(vi04) | maddz.xyzw vf12, vf08, vf12
|
||||
lqi.xyzw vf29, vi13 | nop
|
||||
lqi.xyzw vf30, vi13 | nop
|
||||
lq.xyw vf28, 328(vi02) | itof0.xyzw vf13, vf13
|
||||
div Q, vf01.x, vf12.w | mul.xyzw vf16, vf12, vf11
|
||||
sqi.xyzw vf29, vi06 | nop
|
||||
sqi.xyzw vf30, vi06 | nop
|
||||
iadd vi01, vi12, vi12 | subw.xyz vf26, vf28, vf25
|
||||
iadd vi01, vi01, vi12 | mulaw.xyzw ACC, vf09, vf00
|
||||
mtir vi04, vf28.w | nop
|
||||
iadd vi05, vi06, vi01 | maddax.xyzw ACC, vf04, vf13
|
||||
ior vi10, vi06, vi00 | mul.xyz vf12, vf12, Q
|
||||
ilw.w vi02, 328(vi03) | mul.xyz vf24, vf24, Q
|
||||
lq.xyzw vf14, 328(vi04) | madday.xyzw ACC, vf07, vf13
|
||||
lq.xyzw vf22, 329(vi04) | maddz.xyzw vf13, vf08, vf13
|
||||
sqi.xyzw vf06, vi06 | add.xyzw vf12, vf12, vf10
|
||||
isw.x vi12, -1(vi06) | nop
|
||||
lq.xyw vf28, 328(vi02) | itof0.xyzw vf14, vf14
|
||||
div Q, vf01.x, vf13.w | mul.xyzw vf17, vf13, vf11
|
||||
iaddi vi09, vi09, 0x1 | miniz.w vf12, vf12, vf01
|
||||
ilwr.x vi12, vi09 | clipw.xyz vf16, vf16
|
||||
L25:
|
||||
iaddi vi03, vi03, 0x1 | subw.xyz vf27, vf28, vf25
|
||||
iaddi vi07, vi07, 0x1 | mulaw.xyzw ACC, vf09, vf00
|
||||
mtir vi04, vf28.w | maxy.w vf12, vf12, vf01
|
||||
fcand vi01, 0x3ffff | maddax.xyzw ACC, vf04, vf14
|
||||
ibne vi00, vi01, L33 | mul.xyz vf13, vf13, Q
|
||||
ilw.x vi02, 328(vi03) | mul.xyz vf25, vf25, Q
|
||||
L26:
|
||||
lq.xyzw vf15, 328(vi04) | madday.xyzw ACC, vf07, vf14
|
||||
lq.xyzw vf23, 329(vi04) | maddz.xyzw vf14, vf08, vf14
|
||||
sqi.xyz vf24, vi06 | add.xyzw vf13, vf13, vf10
|
||||
sqi.xyzw vf20, vi06 | ftoi4.xyzw vf12, vf12
|
||||
lq.xyw vf28, 328(vi02) | itof0.xyzw vf15, vf15
|
||||
div Q, vf01.x, vf14.w | mul.xyzw vf18, vf14, vf11
|
||||
ibeq vi05, vi06, L30 | miniz.w vf13, vf13, vf01
|
||||
sqi.xyzw vf12, vi06 | clipw.xyz vf17, vf17
|
||||
nop | subw.xyz vf24, vf28, vf25
|
||||
iaddi vi07, vi07, 0x1 | mulaw.xyzw ACC, vf09, vf00
|
||||
mtir vi04, vf28.w | maxy.w vf13, vf13, vf01
|
||||
fcand vi01, 0x3ffff | maddax.xyzw ACC, vf04, vf15
|
||||
ibne vi00, vi01, L34 | mul.xyz vf14, vf14, Q
|
||||
ilw.y vi02, 328(vi03) | mul.xyz vf26, vf26, Q
|
||||
L27:
|
||||
lq.xyzw vf12, 328(vi04) | madday.xyzw ACC, vf07, vf15
|
||||
lq.xyzw vf20, 329(vi04) | maddz.xyzw vf15, vf08, vf15
|
||||
sqi.xyzw vf25, vi06 | add.xyzw vf14, vf14, vf10
|
||||
sqi.xyzw vf21, vi06 | ftoi4.xyzw vf13, vf13
|
||||
lq.xyw vf28, 328(vi02) | itof0.xyzw vf12, vf12
|
||||
div Q, vf01.x, vf15.w | mul.xyzw vf19, vf15, vf11
|
||||
ibeq vi05, vi06, L31 | miniz.w vf14, vf14, vf01
|
||||
sqi.xyzw vf13, vi06 | clipw.xyz vf18, vf18
|
||||
nop | subw.xyz vf25, vf28, vf25
|
||||
iaddi vi07, vi07, 0x1 | mulaw.xyzw ACC, vf09, vf00
|
||||
mtir vi04, vf28.w | maxy.w vf14, vf14, vf01
|
||||
fcand vi01, 0x3ffff | maddax.xyzw ACC, vf04, vf12
|
||||
ibne vi00, vi01, L35 | mul.xyz vf15, vf15, Q
|
||||
ilw.z vi02, 328(vi03) | mul.xyz vf27, vf27, Q
|
||||
L28:
|
||||
lq.xyzw vf13, 328(vi04) | madday.xyzw ACC, vf07, vf12
|
||||
lq.xyzw vf21, 329(vi04) | maddz.xyzw vf12, vf08, vf12
|
||||
sqi.xyzw vf26, vi06 | add.xyzw vf15, vf15, vf10
|
||||
sqi.xyzw vf22, vi06 | ftoi4.xyzw vf14, vf14
|
||||
lq.xyw vf28, 328(vi02) | itof0.xyzw vf13, vf13
|
||||
div Q, vf01.x, vf12.w | mul.xyzw vf16, vf12, vf11
|
||||
ibeq vi05, vi06, L32 | miniz.w vf15, vf15, vf01
|
||||
sqi.xyzw vf14, vi06 | clipw.xyz vf19, vf19
|
||||
nop | subw.xyz vf26, vf28, vf25
|
||||
iaddi vi07, vi07, 0x1 | mulaw.xyzw ACC, vf09, vf00
|
||||
mtir vi04, vf28.w | maxy.w vf15, vf15, vf01
|
||||
fcand vi01, 0x3ffff | maddax.xyzw ACC, vf04, vf13
|
||||
ibne vi00, vi01, L36 | mul.xyz vf12, vf12, Q
|
||||
ilw.w vi02, 328(vi03) | mul.xyz vf24, vf24, Q
|
||||
L29:
|
||||
lq.xyzw vf14, 328(vi04) | madday.xyzw ACC, vf07, vf13
|
||||
lq.xyzw vf22, 329(vi04) | maddz.xyzw vf13, vf08, vf13
|
||||
sqi.xyzw vf27, vi06 | add.xyzw vf12, vf12, vf10
|
||||
sqi.xyzw vf23, vi06 | ftoi4.xyzw vf15, vf15
|
||||
lq.xyw vf28, 328(vi02) | itof0.xyzw vf14, vf14
|
||||
div Q, vf01.x, vf13.w | mul.xyzw vf17, vf13, vf11
|
||||
ibne vi05, vi06, L25 | miniz.w vf12, vf12, vf01
|
||||
sqi.xyzw vf15, vi06 | clipw.xyz vf16, vf16
|
||||
b L3 | nop
|
||||
iaddiu vi15, vi00, 0x1ea | nop
|
||||
L30:
|
||||
b L3 | nop
|
||||
iaddiu vi15, vi00, 0x1f8 | nop
|
||||
L31:
|
||||
b L3 | nop
|
||||
iaddiu vi15, vi00, 0x206 | nop
|
||||
L32:
|
||||
b L3 | nop
|
||||
iaddiu vi15, vi00, 0x214 | nop
|
||||
L33:
|
||||
iaddi vi01, vi07, -0x2 | mul.xyzw vf29, vf18, vf02
|
||||
isw.w vi15, 1021(vi00) | mul.xyzw vf30, vf19, vf02
|
||||
ibltz vi01, L26 | mul.xyzw vf31, vf16, vf02
|
||||
nop | addw.w vf12, vf12, vf01
|
||||
nop | clipw.xyz vf29, vf29
|
||||
nop | clipw.xyz vf30, vf30
|
||||
nop | clipw.xyz vf31, vf31
|
||||
iaddiu vi11, vi00, 0x3f | nop
|
||||
fcget vi01 | nop
|
||||
fcget vi13 | nop
|
||||
fcget vi14 | nop
|
||||
iand vi01, vi01, vi13 | clipw.xyz vf18, vf18
|
||||
iand vi01, vi01, vi14 | clipw.xyz vf19, vf19
|
||||
iand vi01, vi01, vi11 | clipw.xyz vf16, vf16
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
ibne vi00, vi01, L26 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
ilwr.x vi13, vi10 | nop
|
||||
bal vi15, L17 | nop
|
||||
mtir vi01, vf24.w | nop
|
||||
ilw.z vi14, 326(vi03) | nop
|
||||
sq.xyzw vf16, 28(vi11) | nop
|
||||
sq.xyzw vf20, 29(vi11) | nop
|
||||
sq.xyzw vf19, 31(vi11) | nop
|
||||
ilw.w vi13, 328(vi14) | nop
|
||||
sq.xyzw vf23, 32(vi11) | nop
|
||||
sq.xyzw vf18, 34(vi11) | nop
|
||||
ilw.x vi01, 327(vi03) | nop
|
||||
lq.xyzw vf29, 329(vi13) | nop
|
||||
bal vi15, L38 | nop
|
||||
ilw.w vi13, 326(vi03) | nop
|
||||
bal vi15, L19 | nop
|
||||
nop | nop
|
||||
ilw.w vi15, 1021(vi00) | nop
|
||||
mtir vi04, vf28.w | nop
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
b L26 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
L34:
|
||||
iaddi vi01, vi07, -0x2 | mul.xyzw vf29, vf19, vf02
|
||||
isw.w vi15, 1021(vi00) | mul.xyzw vf30, vf16, vf02
|
||||
ibltz vi01, L27 | mul.xyzw vf31, vf17, vf02
|
||||
nop | addw.w vf13, vf13, vf01
|
||||
nop | clipw.xyz vf29, vf29
|
||||
nop | clipw.xyz vf30, vf30
|
||||
nop | clipw.xyz vf31, vf31
|
||||
iaddiu vi11, vi00, 0x3f | nop
|
||||
fcget vi01 | nop
|
||||
fcget vi13 | nop
|
||||
fcget vi14 | nop
|
||||
iand vi01, vi01, vi13 | clipw.xyz vf19, vf19
|
||||
iand vi01, vi01, vi14 | clipw.xyz vf16, vf16
|
||||
iand vi01, vi01, vi11 | clipw.xyz vf17, vf17
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
ibne vi00, vi01, L27 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
ilwr.x vi13, vi10 | nop
|
||||
bal vi15, L17 | nop
|
||||
mtir vi01, vf24.w | nop
|
||||
ilw.w vi14, 326(vi03) | nop
|
||||
sq.xyzw vf17, 28(vi11) | nop
|
||||
sq.xyzw vf21, 29(vi11) | nop
|
||||
sq.xyzw vf16, 31(vi11) | nop
|
||||
ilw.w vi13, 328(vi14) | nop
|
||||
sq.xyzw vf20, 32(vi11) | nop
|
||||
sq.xyzw vf19, 34(vi11) | nop
|
||||
ilw.y vi01, 327(vi03) | nop
|
||||
lq.xyzw vf29, 329(vi13) | nop
|
||||
bal vi15, L38 | nop
|
||||
ilw.x vi13, 327(vi03) | nop
|
||||
bal vi15, L19 | nop
|
||||
nop | nop
|
||||
ilw.w vi15, 1021(vi00) | nop
|
||||
mtir vi04, vf28.w | nop
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
b L27 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
L35:
|
||||
iaddi vi01, vi07, -0x2 | mul.xyzw vf29, vf16, vf02
|
||||
isw.w vi15, 1021(vi00) | mul.xyzw vf30, vf17, vf02
|
||||
ibltz vi01, L28 | mul.xyzw vf31, vf18, vf02
|
||||
nop | addw.w vf14, vf14, vf01
|
||||
nop | clipw.xyz vf29, vf29
|
||||
nop | clipw.xyz vf30, vf30
|
||||
nop | clipw.xyz vf31, vf31
|
||||
iaddiu vi11, vi00, 0x3f | nop
|
||||
fcget vi01 | nop
|
||||
fcget vi13 | nop
|
||||
fcget vi14 | nop
|
||||
iand vi01, vi01, vi13 | clipw.xyz vf16, vf16
|
||||
iand vi01, vi01, vi14 | clipw.xyz vf17, vf17
|
||||
iand vi01, vi01, vi11 | clipw.xyz vf18, vf18
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
ibne vi00, vi01, L28 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
ilwr.x vi13, vi10 | nop
|
||||
bal vi15, L17 | nop
|
||||
mtir vi01, vf24.w | nop
|
||||
ilw.x vi14, 327(vi03) | nop
|
||||
sq.xyzw vf18, 28(vi11) | nop
|
||||
sq.xyzw vf22, 29(vi11) | nop
|
||||
sq.xyzw vf17, 31(vi11) | nop
|
||||
ilw.w vi13, 328(vi14) | nop
|
||||
sq.xyzw vf21, 32(vi11) | nop
|
||||
sq.xyzw vf16, 34(vi11) | nop
|
||||
ilw.z vi01, 327(vi03) | nop
|
||||
lq.xyzw vf29, 329(vi13) | nop
|
||||
bal vi15, L38 | nop
|
||||
ilw.y vi13, 327(vi03) | nop
|
||||
bal vi15, L19 | nop
|
||||
nop | nop
|
||||
ilw.w vi15, 1021(vi00) | nop
|
||||
mtir vi04, vf28.w | nop
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
b L28 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
L36:
|
||||
iaddi vi01, vi07, -0x2 | mul.xyzw vf29, vf17, vf02
|
||||
isw.w vi15, 1021(vi00) | mul.xyzw vf30, vf18, vf02
|
||||
ibltz vi01, L29 | mul.xyzw vf31, vf19, vf02
|
||||
nop | addw.w vf15, vf15, vf01
|
||||
nop | clipw.xyz vf29, vf29
|
||||
nop | clipw.xyz vf30, vf30
|
||||
nop | clipw.xyz vf31, vf31
|
||||
iaddiu vi11, vi00, 0x3f | nop
|
||||
fcget vi01 | nop
|
||||
fcget vi13 | nop
|
||||
fcget vi14 | nop
|
||||
iand vi01, vi01, vi13 | clipw.xyz vf17, vf17
|
||||
iand vi01, vi01, vi14 | clipw.xyz vf18, vf18
|
||||
iand vi01, vi01, vi11 | clipw.xyz vf19, vf19
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
ibne vi00, vi01, L29 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
ilwr.x vi13, vi10 | nop
|
||||
bal vi15, L17 | nop
|
||||
mtir vi01, vf24.w | nop
|
||||
ilw.y vi14, 327(vi03) | nop
|
||||
sq.xyzw vf19, 28(vi11) | nop
|
||||
sq.xyzw vf23, 29(vi11) | nop
|
||||
sq.xyzw vf18, 31(vi11) | nop
|
||||
ilw.w vi13, 328(vi14) | nop
|
||||
sq.xyzw vf22, 32(vi11) | nop
|
||||
sq.xyzw vf17, 34(vi11) | nop
|
||||
ilw.w vi01, 327(vi03) | nop
|
||||
lq.xyzw vf29, 329(vi13) | nop
|
||||
bal vi15, L38 | nop
|
||||
ilw.z vi13, 327(vi03) | nop
|
||||
bal vi15, L19 | nop
|
||||
nop | nop
|
||||
ilw.w vi15, 1021(vi00) | nop
|
||||
mtir vi04, vf28.w | nop
|
||||
iaddiu vi11, vi00, 0x4000 | nop
|
||||
b L29 | nop
|
||||
iaddiu vi11, vi11, 0x4000 | nop
|
||||
L37:
|
||||
sq.xyzw vf16, 45(vi11) | nop
|
||||
sq.xyzw vf17, 46(vi11) | nop
|
||||
sq.xyzw vf18, 47(vi11) | nop
|
||||
lq.xy vf16, 0(vi01) | nop
|
||||
lq.xy vf17, 0(vi13) | addw.z vf16, vf00, vf00
|
||||
b L39 | addw.z vf17, vf00, vf00
|
||||
lq.xy vf18, 0(vi14) | nop
|
||||
L38:
|
||||
sq.xyzw vf16, 45(vi11) | nop
|
||||
sq.xyzw vf17, 46(vi11) | nop
|
||||
sq.xyzw vf18, 47(vi11) | nop
|
||||
lq.xy vf16, 328(vi01) | nop
|
||||
lq.xy vf17, 328(vi13) | addw.z vf16, vf00, vf00
|
||||
b L39 | addw.z vf17, vf00, vf00
|
||||
lq.xy vf18, 328(vi14) | nop
|
||||
L39:
|
||||
sq.xyzw vf20, 42(vi11) | addw.z vf18, vf00, vf00
|
||||
sq.xyzw vf21, 43(vi11) | subw.xy vf16, vf16, vf25
|
||||
sq.xyzw vf22, 44(vi11) | subw.xy vf17, vf17, vf25
|
||||
lq.xyzw vf20, 29(vi11) | itof0.xyzw vf22, vf29
|
||||
lq.xyzw vf21, 32(vi11) | subw.xy vf18, vf18, vf25
|
||||
sq.xyzw vf12, 39(vi11) | mini.xy vf29, vf16, vf17
|
||||
sq.xyzw vf13, 40(vi11) | max.xy vf30, vf16, vf17
|
||||
sq.xyzw vf16, 30(vi11) | itof0.xyzw vf20, vf20
|
||||
sq.xyzw vf17, 33(vi11) | itof0.xyzw vf21, vf21
|
||||
sq.xyzw vf18, 36(vi11) | mini.xy vf29, vf29, vf18
|
||||
sq.xyzw vf14, 41(vi11) | max.xy vf30, vf30, vf18
|
||||
sq.xyzw vf22, 35(vi11) | nop
|
||||
iaddi vi14, vi11, 0x1 | nop
|
||||
sq.xyzw vf20, 29(vi11) | nop
|
||||
sq.xyzw vf21, 32(vi11) | ftoi0.xy vf29, vf29
|
||||
lq.xyzw vf31, 663(vi00) | nop
|
||||
isw.x vi15, 1022(vi00) | nop
|
||||
iaddi vi04, vi00, 0x0 | nop
|
||||
bal vi15, L40 | itof0.xy vf29, vf29
|
||||
iaddiu vi06, vi11, 0x1c | nop
|
||||
bal vi15, L40 | nop
|
||||
iaddiu vi06, vi11, 0x1f | nop
|
||||
bal vi15, L40 | nop
|
||||
iaddiu vi06, vi11, 0x22 | nop
|
||||
b L49 | nop
|
||||
nop | nop
|
||||
L40:
|
||||
iaddiu vi08, vi00, 0x3ce | nop
|
||||
L41:
|
||||
iaddi vi09, vi00, 0x0 | nop
|
||||
L42:
|
||||
isubiu vi01, vi08, 0x3f8 | nop
|
||||
ilwr.y vi07, vi08 | nop
|
||||
ibeq vi00, vi01, L46 | nop
|
||||
ilwr.z vi05, vi08 | nop
|
||||
lq.xyzw vf13, 0(vi06) | nop
|
||||
lq.xyzw vf12, 0(vi07) | nop
|
||||
ibne vi00, vi07, L43 | nop
|
||||
iswr.y vi06, vi08 | nop
|
||||
jalr vi10, vi05 | nop
|
||||
iswr.x vi06, vi08 | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
nop | nop
|
||||
fsand vi13, 0x2 | nop
|
||||
ibne vi00, vi13, L47 | nop
|
||||
nop | nop
|
||||
b L42 | nop
|
||||
iaddi vi08, vi08, 0x7 | nop
|
||||
L43:
|
||||
jalr vi10, vi05 | nop
|
||||
lq.xyzw vf20, 1(vi07) | nop
|
||||
lq.xyzw vf21, 1(vi06) | nop
|
||||
lq.xyzw vf16, 2(vi07) | nop
|
||||
fsand vi01, 0x2 | nop
|
||||
fsand vi13, 0x2 | nop
|
||||
ibne vi00, vi01, L45 | nop
|
||||
lq.xyzw vf17, 2(vi06) | nop
|
||||
ibne vi00, vi13, L44 | nop
|
||||
nop | nop
|
||||
b L42 | nop
|
||||
iaddi vi08, vi08, 0x7 | nop
|
||||
L44:
|
||||
bal vi10, L55 | nop
|
||||
iaddi vi06, vi08, 0x1 | nop
|
||||
sq.xyzw vf14, 1(vi08) | nop
|
||||
sq.xyzw vf22, 2(vi08) | nop
|
||||
sq.xyzw vf18, 3(vi08) | nop
|
||||
b L42 | nop
|
||||
iaddi vi08, vi08, 0x7 | nop
|
||||
L45:
|
||||
ibne vi00, vi13, L47 | nop
|
||||
nop | nop
|
||||
bal vi10, L54 | nop
|
||||
nop | nop
|
||||
sq.xyzw vf14, 4(vi08) | nop
|
||||
sq.xyzw vf22, 5(vi08) | nop
|
||||
sq.xyzw vf18, 6(vi08) | nop
|
||||
iaddi vi08, vi08, 0x7 | nop
|
||||
isw.x vi08, 1016(vi09) | nop
|
||||
isw.y vi06, 1016(vi09) | nop
|
||||
iaddi vi09, vi09, 0x1 | nop
|
||||
b L42 | nop
|
||||
iaddi vi06, vi08, -0x3 | nop
|
||||
L46:
|
||||
lq.xyzw vf16, 2(vi06) | nop
|
||||
lq.xyzw vf12, 0(vi06) | nop
|
||||
lq.xyzw vf20, 1(vi06) | nop
|
||||
iaddi vi04, vi04, 0x1 | nop
|
||||
nop | sub.xy vf16, vf16, vf29
|
||||
div Q, vf00.w, vf12.w | mul.xyzw vf12, vf12, vf31
|
||||
nop | ftoi0.xyzw vf20, vf20
|
||||
nop | nop
|
||||
iaddi vi14, vi14, 0x3 | nop
|
||||
waitq | mul.xyz vf16, vf16, Q
|
||||
sq.xyzw vf20, -2(vi14) | mul.xyz vf12, vf12, Q
|
||||
nop | add.xyzw vf12, vf12, vf10
|
||||
nop | maxy.w vf12, vf12, vf01
|
||||
nop | miniz.w vf12, vf12, vf01
|
||||
sq.xyzw vf16, -3(vi14) | ftoi4.xyzw vf12, vf12
|
||||
sq.xyzw vf12, -1(vi14) | nop
|
||||
L47:
|
||||
iblez vi09, L48 | nop
|
||||
nop | nop
|
||||
ilw.x vi08, 1015(vi09) | nop
|
||||
ilw.y vi06, 1015(vi09) | nop
|
||||
b L42 | nop
|
||||
iaddi vi09, vi09, -0x1 | nop
|
||||
L48:
|
||||
jr vi15 | nop
|
||||
nop | nop
|
||||
L49:
|
||||
iaddiu vi08, vi00, 0x3ce | nop
|
||||
L50:
|
||||
ilwr.x vi07, vi08 | nop
|
||||
ilwr.y vi06, vi08 | nop
|
||||
ilwr.z vi05, vi08 | nop
|
||||
nop | nop
|
||||
ibeq vi00, vi07, L52 | nop
|
||||
lq.xyzw vf12, 0(vi06) | nop
|
||||
ibeq vi06, vi07, L52 | nop
|
||||
lq.xyzw vf13, 0(vi07) | nop
|
||||
jalr vi10, vi05 | nop
|
||||
lq.xyzw vf20, 1(vi06) | nop
|
||||
lq.xyzw vf21, 1(vi07) | nop
|
||||
lq.xyzw vf16, 2(vi06) | nop
|
||||
fsand vi01, 0x2 | nop
|
||||
fsand vi13, 0x2 | nop
|
||||
ibeq vi13, vi01, L52 | nop
|
||||
lq.xyzw vf17, 2(vi07) | nop
|
||||
ibeq vi00, vi01, L51 | nop
|
||||
nop | nop
|
||||
bal vi10, L54 | nop
|
||||
nop | nop
|
||||
sq.xyzw vf14, 4(vi08) | nop
|
||||
sq.xyzw vf22, 5(vi08) | nop
|
||||
sq.xyzw vf18, 6(vi08) | nop
|
||||
iaddi vi06, vi08, 0x4 | nop
|
||||
ior vi12, vi08, vi00 | nop
|
||||
bal vi15, L41 | nop
|
||||
iaddi vi08, vi08, 0x7 | nop
|
||||
b L52 | nop
|
||||
ior vi08, vi12, vi00 | nop
|
||||
L51:
|
||||
bal vi10, L55 | nop
|
||||
nop | nop
|
||||
sq.xyzw vf14, 1(vi08) | nop
|
||||
sq.xyzw vf22, 2(vi08) | nop
|
||||
sq.xyzw vf18, 3(vi08) | nop
|
||||
iaddi vi06, vi08, 0x1 | nop
|
||||
ior vi12, vi08, vi00 | nop
|
||||
bal vi15, L41 | nop
|
||||
iaddi vi08, vi08, 0x7 | nop
|
||||
ior vi08, vi12, vi00 | nop
|
||||
L52:
|
||||
isubiu vi01, vi08, 0x3f1 | nop
|
||||
iswr.x vi00, vi08 | nop
|
||||
iswr.y vi00, vi08 | nop
|
||||
ibltz vi01, L50 | nop
|
||||
iaddi vi08, vi08, 0x7 | nop
|
||||
iaddi vi01, vi04, -0x3 | nop
|
||||
iaddiu vi04, vi04, 0x4000 | nop
|
||||
ibltz vi01, L53 | nop
|
||||
iaddiu vi04, vi04, 0x4000 | nop
|
||||
iswr.x vi04, vi11 | nop
|
||||
L53:
|
||||
ilw.x vi15, 1022(vi00) | nop
|
||||
lq.xyzw vf29, 37(vi11) | nop
|
||||
lq.xyzw vf30, 38(vi11) | nop
|
||||
lq.xyzw vf12, 39(vi11) | nop
|
||||
lq.xyzw vf13, 40(vi11) | nop
|
||||
lq.xyzw vf14, 41(vi11) | nop
|
||||
lq.xyzw vf20, 42(vi11) | nop
|
||||
lq.xyzw vf21, 43(vi11) | nop
|
||||
lq.xyzw vf22, 44(vi11) | nop
|
||||
lq.xyzw vf16, 45(vi11) | nop
|
||||
lq.xyzw vf17, 46(vi11) | nop
|
||||
lq.xyzw vf18, 47(vi11) | nop
|
||||
jr vi15 | nop
|
||||
lq.xyzw vf31, 48(vi11) | nop
|
||||
jr vi10 | addx.w vf29, vf12, vf12
|
||||
nop | addx.w vf30, vf13, vf13
|
||||
jr vi10 | subx.w vf29, vf12, vf12
|
||||
nop | subx.w vf30, vf13, vf13
|
||||
jr vi10 | addy.w vf29, vf12, vf12
|
||||
nop | addy.w vf30, vf13, vf13
|
||||
jr vi10 | suby.w vf29, vf12, vf12
|
||||
nop | suby.w vf30, vf13, vf13
|
||||
jr vi10 | addz.w vf29, vf12, vf12
|
||||
nop | addz.w vf30, vf13, vf13
|
||||
jr vi10 | subz.w vf29, vf12, vf12
|
||||
nop | subz.w vf30, vf13, vf13
|
||||
L54:
|
||||
nop | subw.w vf30, vf29, vf30
|
||||
div Q, vf29.w, vf30.w | nop
|
||||
nop | sub.xyzw vf14, vf13, vf12
|
||||
nop | sub.xyzw vf22, vf21, vf20
|
||||
nop | sub.xyzw vf18, vf17, vf16
|
||||
waitq | mul.xyzw vf14, vf14, Q
|
||||
nop | mul.xyzw vf22, vf22, Q
|
||||
nop | mul.xyzw vf18, vf18, Q
|
||||
nop | add.xyzw vf14, vf12, vf14
|
||||
jr vi10 | add.xyzw vf22, vf20, vf22
|
||||
nop | add.xyzw vf18, vf16, vf18
|
||||
L55:
|
||||
nop | subw.w vf29, vf29, vf30
|
||||
div Q, vf30.w, vf29.w | nop
|
||||
nop | sub.xyzw vf14, vf12, vf13
|
||||
nop | sub.xyzw vf22, vf20, vf21
|
||||
nop | sub.xyzw vf18, vf16, vf17
|
||||
waitq | mul.xyzw vf14, vf14, Q
|
||||
nop | mul.xyzw vf22, vf22, Q
|
||||
nop | mul.xyzw vf18, vf18, Q
|
||||
nop | sub.xyzw vf14, vf13, vf14
|
||||
jr vi10 | sub.xyzw vf22, vf21, vf22
|
||||
nop | sub.xyzw vf18, vf17, vf18
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user