jak3: dump of all vu programs (#3340)

With the exception of `sprite` and the new `hfrag` renderer, everything
appears to be identical to Jak 2.
This commit is contained in:
Hat Kid
2024-01-27 11:38:03 +01:00
committed by GitHub
parent 9aa291313b
commit 17f5f74238
89 changed files with 94582 additions and 18 deletions
+2 -1
View File
@@ -93,7 +93,7 @@ VuDisassembler::VuDisassembler(VuKind kind) : m_kind(kind) {
// m_upper_op6_table[0b100011].set(VuInstrK::MADDi); // 35
// m_upper_op6_table[0b100100].set(VuInstrK::SUBq); // 36
// m_upper_op6_table[0b100101].set(VuInstrK::MSUBq); // 37
// m_upper_op6_table[0b100110].set(VuInstrK::SUBi); // 38
m_upper_op6_table[0b100110].set(VuInstrK::SUBi); // 38
// m_upper_op6_table[0b100111].set(VuInstrK::MSUBi); // 39
m_upper_op6_table[0b101000].set(VuInstrK::ADD); // 40
m_upper_op6_table[0b101001].set(VuInstrK::MADD); // 41
@@ -148,6 +148,7 @@ VuDisassembler::VuDisassembler(VuKind kind) : m_kind(kind) {
add_op(VuInstrK::MULi, "muli").iemdt().dst_mask().vft_zero().dst_vfd().src_vfs().src_i();
add_op(VuInstrK::ADDi, "addi").iemdt().dst_mask().vft_zero().dst_vfd().src_vfs().src_i();
add_op(VuInstrK::MULAq, "mula").iemdt().dst_mask().dst_acc().vft_zero().src_vfs().src_q();
add_op(VuInstrK::SUBi, "subi").iemdt().dst_mask().vft_zero().dst_vfd().src_vfs().src_i();
m_lower_op6_table[0b000000].set(VuInstrK::LQ);
m_lower_op6_table[0b000001].set(VuInstrK::SQ);
+1 -1
View File
@@ -20,7 +20,7 @@ enum class VuInstrK {
// ADDAq,
ADDAbc,
SUB,
// SUBi, // 10
SUBi, // 10
// SUBq,
SUBbc,
// SUBA,
+250 -16
View File
@@ -30,6 +30,240 @@ std::string get_expected(const std::string& name) {
}
} // namespace
// TEST(VuDisasm, DumpResults_Jak3) {
// struct VuData {
// std::string name;
// std::vector<u32> data;
// VuDisassembler::VuKind kind;
// std::string disasm;
//
// VuData(const std::string& name, VuDisassembler::VuKind kind)
// : name(name), data(get_test_data("jak3/" + name)), kind(kind) {
// VuDisassembler vu_disasm(kind);
// disasm = vu_disasm.to_string(vu_disasm.disassemble(data.data(), data.size() * 4, false));
// }
// };
// auto path = file_util::get_file_path({"test/decompiler/vu_reference/jak3"});
// for (const auto& entry : fs::directory_iterator(path)) {
// if (entry.is_regular_file() &&
// entry.path().filename().string().find("result") == std::string::npos) {
// auto name = entry.path().filename().stem().string();
// auto kind = name.find("vu0") != std::string::npos ? VuDisassembler::VuKind::VU0
// : VuDisassembler::VuKind::VU1;
// VuData prog(name, kind);
// file_util::write_text_file(path + "/" + prog.name + "-result.txt", prog.disasm);
// }
// }
// }
// TEST(VuDisasm, DumpResults_Jak2) {
// struct VuData {
// std::string name;
// std::vector<u32> data;
// VuDisassembler::VuKind kind;
// std::string disasm;
//
// VuData(const std::string& name, VuDisassembler::VuKind kind)
// : name(name), data(get_test_data("jak2/" + name)), kind(kind) {
// VuDisassembler vu_disasm(kind);
// disasm = vu_disasm.to_string(vu_disasm.disassemble(data.data(), data.size() * 4, false));
// }
// };
// auto path = file_util::get_file_path({"test/decompiler/vu_reference/jak2"});
// for (const auto& entry : fs::directory_iterator(path)) {
// if (entry.is_regular_file() &&
// entry.path().filename().string().find("result") == std::string::npos) {
// auto name = entry.path().filename().stem().string();
// auto kind = name.find("vu0") != std::string::npos ? VuDisassembler::VuKind::VU0
// : VuDisassembler::VuKind::VU1;
// VuData prog(name, kind);
// file_util::write_text_file(path + "/" + prog.name + "-result.txt", prog.disasm);
// }
// }
// }
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
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"));
}
TEST(VuDisasm, ShadowVu0_Jak2) {
auto data = get_test_data("jak2/shadow-vu0");
VuDisassembler disasm(VuDisassembler::VuKind::VU0);
@@ -45,24 +279,24 @@ TEST(VuDisasm, ShadowVu1_Jak2) {
}
TEST(VuDisasm, OceanTexture_Jak2) {
auto data = get_test_data("jak2/ocean-texture");
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"));
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/ocean-texture-vu1"));
}
TEST(VuDisasm, OceanMid_Jak2) {
auto data = get_test_data("jak2/ocean-mid");
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"));
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/ocean-mid-vu1"));
}
TEST(VuDisasm, OceanNear_Jak2) {
auto data = get_test_data("jak2/ocean-near");
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"));
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/ocean-near-vu1"));
}
TEST(VuDisasm, OceanVu0_Jak2) {
@@ -87,38 +321,38 @@ TEST(VuDisasm, Emerc) {
}
TEST(VuDisasm, Shrub_Jak2) {
auto data = get_test_data("jak2/shrub");
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"));
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/shrub-vu1"));
}
TEST(VuDisasm, Sprite_Jak2) {
auto data = get_test_data("jak2/sprite");
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"));
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/sprite-vu1"));
}
TEST(VuDisasm, SpriteDistort_Jak2) {
auto data = get_test_data("jak2/sprite-distort");
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"));
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/sprite-distort-vu1"));
}
TEST(VuDisasm, SpriteGlow_Jak2) {
auto data = get_test_data("jak2/sprite-glow");
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"));
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/sprite-glow-vu1"));
}
TEST(VuDisasm, Tie_Jak2) {
auto data = get_test_data("jak2/tie");
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"));
EXPECT_EQ(disasm.to_string(prog), get_expected("jak2/tie-vu1"));
}
TEST(VuDisasm, etie_Jak2) {
@@ -0,0 +1,59 @@
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,90 @@
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
@@ -0,0 +1,295 @@
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
@@ -0,0 +1,201 @@
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,961 @@
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 | nop
lq.xy vf18, 0(vi14) | addw.z vf17, vf00, vf00
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 | nop
lq.xy vf18, 328(vi14) | addw.z vf17, vf00, vf00
L39:
sq.xyzw vf20, 42(vi11) | addw.z vf18, vf00, vf00
sq.xyzw vf21, 43(vi11) | nop
sq.xyzw vf22, 44(vi11) | nop
lq.xyzw vf20, 29(vi11) | subw.xy vf16, vf16, vf25
lq.xyzw vf21, 32(vi11) | subw.xy vf17, vf17, vf25
sq.xyzw vf12, 39(vi11) | subw.xy vf18, vf18, vf25
sq.xyzw vf13, 40(vi11) | nop
sq.xyzw vf16, 30(vi11) | itof0.xyzw vf20, vf20
sq.xyzw vf17, 33(vi11) | itof0.xyzw vf21, vf21
sq.xyzw vf18, 36(vi11) | itof0.xyzw vf22, vf29
sq.xyzw vf14, 41(vi11) | nop
sq.xyzw vf20, 29(vi11) | nop
sq.xyzw vf21, 32(vi11) | nop
sq.xyzw vf22, 35(vi11) | nop
iaddi vi14, vi11, 0x1 | nop
lq.xyzw vf31, 663(vi00) | nop
isw.x vi15, 1022(vi00) | nop
iaddi vi04, vi00, 0x0 | nop
bal vi15, L40 | nop
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 | subw.w vf30, vf29, vf30
ibne vi00, vi01, L45 | nop
lq.xyzw vf17, 2(vi06) | nop
ibne vi00, vi13, L44 | nop
div Q, vf29.w, vf30.w | nop
b L42 | nop
iaddi vi08, vi08, 0x7 | nop
L44:
bal vi10, L54 | 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
div Q, vf29.w, vf30.w | 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 vf12, 0(vi06) | nop
lq.xyzw vf20, 1(vi06) | nop
lq.xyzw vf16, 2(vi06) | nop
iaddi vi04, vi04, 0x1 | nop
nop | nop
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 | subw.w vf30, vf29, vf30
ibeq vi13, vi01, L52 | nop
lq.xyzw vf17, 2(vi07) | nop
ibeq vi00, vi01, L51 | nop
div Q, vf29.w, vf30.w | 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, L54 | 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 | 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
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,59 @@
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,54 @@
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,90 @@
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,9 @@
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,295 @@
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
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,201 @@
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,130 @@
b L1 | nop
nop | nop
b L2 | nop
nop | nop
nop | nop :e
nop | nop
L1:
lq.xyzw vf14, 988(vi00) | maxw.xyzw vf01, vf00, vf00
lq.xyzw vf02, 989(vi00) | nop
lq.xyzw vf03, 986(vi00) | nop
lq.xyzw vf04, 987(vi00) | nop
lq.xyzw vf05, 985(vi00) | nop
lq.xyzw vf06, 991(vi00) | nop
lq.xyzw vf07, 990(vi00) | nop
iaddiu vi11, vi00, 0x80 | nop
mtir vi08, vf03.x | nop
mtir vi09, vf03.x | nop
mr32.xyzw vf03, vf03 | nop
xtop vi05 | nop
mtir vi06, vf04.x | nop
bal vi12, L3 | nop
mr32.xyzw vf04, vf04 | nop
mtir vi06, vf04.x | nop
bal vi12, L3 | nop
mr32.xyzw vf04, vf04 | nop
mtir vi03, vf04.x | nop
bal vi12, L5 | nop
mtir vi04, vf04.y | nop
mtir vi06, vf04.x | nop
bal vi12, L3 | nop
mr32.xyzw vf04, vf04 | nop
mtir vi03, vf04.x | nop
bal vi12, L5 | nop
mtir vi04, vf04.y | nop
nop | nop :e
nop | nop
L2:
xtop vi05 | nop
mtir vi06, vf04.x | nop
bal vi12, L3 | nop
mr32.xyzw vf04, vf04 | nop
mtir vi03, vf04.x | nop
bal vi12, L5 | nop
mtir vi04, vf04.y | nop
mtir vi06, vf04.x | nop
bal vi12, L3 | nop
mr32.xyzw vf04, vf04 | nop
mtir vi03, vf04.x | nop
bal vi12, L5 | nop
mtir vi04, vf04.y | nop
mtir vi06, vf04.x | nop
bal vi12, L3 | nop
mr32.xyzw vf04, vf04 | nop
mtir vi03, vf04.x | nop
bal vi12, L5 | nop
mtir vi04, vf04.y | nop
nop | nop :e
nop | nop
L3:
ior vi07, vi06, vi00 | nop
move.xyzw vf15, vf14 | nop
iaddi vi01, vi00, 0x8 | nop
lq.xyzw vf24, 1(vi05) | mulw.xyzw vf20, vf15, vf00
lq.xyzw vf26, 5(vi05) | mulw.xyzw vf21, vf15, vf00
nop | mulw.xyzw vf22, vf15, vf00
nop | mulw.xyzw vf23, vf15, vf00
nop | addx.x vf21, vf21, vf02
nop | addy.x vf22, vf22, vf02
L4:
nop | addz.x vf23, vf23, vf02
nop | addw.x vf15, vf15, vf02
sq.xyzw vf20, 2(vi06) | mulx.x vf28, vf01, vf24
sq.xyzw vf21, 5(vi06) | muly.x vf29, vf01, vf24
sq.xyzw vf22, 8(vi06) | mulz.x vf30, vf01, vf24
sq.xyzw vf23, 11(vi06) | mulw.x vf31, vf01, vf24
lq.xyzw vf16, 0(vi05) | mulx.y vf28, vf01, vf26
lq.xyzw vf17, 2(vi05) | muly.y vf29, vf01, vf26
lq.xyzw vf18, 4(vi05) | mulz.y vf30, vf01, vf26
lq.xyzw vf19, 6(vi05) | mulw.y vf31, vf01, vf26
iaddi vi05, vi05, 0x8 | ftoi0.xyzw vf16, vf16
nop | ftoi0.xyzw vf17, vf17
nop | ftoi0.xyzw vf18, vf18
iaddi vi01, vi01, -0x1 | ftoi0.xyzw vf19, vf19
sq.xyzw vf16, 1(vi06) | add.xyzw vf28, vf28, vf07
sq.xyzw vf17, 4(vi06) | add.xyzw vf29, vf29, vf07
sq.xyzw vf18, 7(vi06) | add.xyzw vf30, vf30, vf07
sq.xyzw vf19, 10(vi06) | add.xyzw vf31, vf31, vf07
lq.xyzw vf24, 1(vi05) | sub.zw vf28, vf01, vf00
lq.xyzw vf26, 5(vi05) | sub.zw vf29, vf01, vf00
nop | sub.zw vf30, vf01, vf00
nop | sub.zw vf31, vf01, vf00
sq.xyzw vf28, 0(vi06) | mulw.xyzw vf20, vf15, vf00
sq.xyzw vf29, 3(vi06) | mulw.xyzw vf21, vf15, vf00
sq.xyzw vf30, 6(vi06) | mulw.xyzw vf22, vf15, vf00
sq.xyzw vf31, 9(vi06) | mulw.xyzw vf23, vf15, vf00
ibgtz vi01, L4 | addx.x vf21, vf21, vf02
iaddi vi06, vi06, 0xc | addy.x vf22, vf22, vf02
lq.xyzw vf28, 0(vi07) | addx.y vf14, vf14, vf02
lq.xyzw vf16, 1(vi07) | nop
sq.xyzw vf20, 2(vi06) | nop
sq.xyzw vf28, 0(vi06) | nop
jr vi12 | nop
sq.xyzw vf16, 1(vi06) | nop
L5:
iaddiu vi01, vi00, 0x21 | nop
sq.xyzw vf05, 0(vi08) | nop
iaddi vi08, vi08, 0x1 | nop
L6:
iaddi vi01, vi01, -0x1 | nop
lq.xyzw vf20, 2(vi03) | nop
lq.xyzw vf21, 2(vi04) | nop
lq.xyzw vf28, 0(vi03) | nop
lq.xyzw vf16, 1(vi03) | nop
lq.xyzw vf29, 0(vi04) | ftoi4.xyzw vf20, vf20
lq.xyzw vf17, 1(vi04) | ftoi4.xyzw vf21, vf21
sq.xyzw vf28, 0(vi08) | nop
sq.xyzw vf16, 1(vi08) | nop
sq.xyzw vf20, 2(vi08) | nop
sq.xyzw vf29, 3(vi08) | nop
sq.xyzw vf17, 4(vi08) | nop
sq.xyzw vf21, 5(vi08) | nop
iaddi vi03, vi03, 0x3 | nop
iaddi vi04, vi04, 0x3 | nop
ibgtz vi01, L6 | nop
iaddi vi08, vi08, 0x6 | nop
xgkick vi09 | nop
mtir vi08, vf03.x | nop
mtir vi09, vf03.x | nop
jr vi12 | nop
mr32.xyzw vf03, vf03 | nop
@@ -0,0 +1,248 @@
.word 0x40000005
.word 0x2ff
.word 0x80000030
.word 0x2ff
.word 0x40000020
.word 0x2ff
.word 0x80000030
.word 0x2ff
.word 0x80000030
.word 0x400002ff
.word 0x80000030
.word 0x2ff
.word 0x1ee03dc
.word 0x1e00053
.word 0x1e203dd
.word 0x2ff
.word 0x1e303da
.word 0x2ff
.word 0x1e403db
.word 0x2ff
.word 0x1e503d9
.word 0x2ff
.word 0x1e603df
.word 0x2ff
.word 0x1e703de
.word 0x2ff
.word 0x100b0080
.word 0x2ff
.word 0x80081bfc
.word 0x2ff
.word 0x80091bfc
.word 0x2ff
.word 0x81e31b3d
.word 0x2ff
.word 0x800506bc
.word 0x2ff
.word 0x800623fc
.word 0x2ff
.word 0x420c0024
.word 0x2ff
.word 0x81e4233d
.word 0x2ff
.word 0x800623fc
.word 0x2ff
.word 0x420c0021
.word 0x2ff
.word 0x81e4233d
.word 0x2ff
.word 0x800323fc
.word 0x2ff
.word 0x420c0049
.word 0x2ff
.word 0x802423fc
.word 0x2ff
.word 0x800623fc
.word 0x2ff
.word 0x420c001b
.word 0x2ff
.word 0x81e4233d
.word 0x2ff
.word 0x800323fc
.word 0x2ff
.word 0x420c0043
.word 0x2ff
.word 0x802423fc
.word 0x2ff
.word 0x80000030
.word 0x400002ff
.word 0x80000030
.word 0x2ff
.word 0x800506bc
.word 0x2ff
.word 0x800623fc
.word 0x2ff
.word 0x420c0012
.word 0x2ff
.word 0x81e4233d
.word 0x2ff
.word 0x800323fc
.word 0x2ff
.word 0x420c003a
.word 0x2ff
.word 0x802423fc
.word 0x2ff
.word 0x800623fc
.word 0x2ff
.word 0x420c000c
.word 0x2ff
.word 0x81e4233d
.word 0x2ff
.word 0x800323fc
.word 0x2ff
.word 0x420c0034
.word 0x2ff
.word 0x802423fc
.word 0x2ff
.word 0x800623fc
.word 0x2ff
.word 0x420c0006
.word 0x2ff
.word 0x81e4233d
.word 0x2ff
.word 0x800323fc
.word 0x2ff
.word 0x420c002e
.word 0x2ff
.word 0x802423fc
.word 0x2ff
.word 0x80000030
.word 0x400002ff
.word 0x80000030
.word 0x2ff
.word 0x800031f5
.word 0x2ff
.word 0x81ef733c
.word 0x2ff
.word 0x80010232
.word 0x2ff
.word 0x1f82801
.word 0x1e07d1b
.word 0x1fa2805
.word 0x1e07d5b
.word 0x80000030
.word 0x1e07d9b
.word 0x80000030
.word 0x1e07ddb
.word 0x80000030
.word 0x102ad40
.word 0x80000030
.word 0x102b581
.word 0x80000030
.word 0x102bdc2
.word 0x80000030
.word 0x1027bc3
.word 0x3e6a002
.word 0x1180f18
.word 0x3e6a805
.word 0x1180f59
.word 0x3e6b008
.word 0x1180f9a
.word 0x3e6b80b
.word 0x1180fdb
.word 0x1f02800
.word 0x9a0f18
.word 0x1f12802
.word 0x9a0f59
.word 0x1f22804
.word 0x9a0f9a
.word 0x1f32806
.word 0x9a0fdb
.word 0x80052a32
.word 0x1f0817c
.word 0x80000030
.word 0x1f1897c
.word 0x80000030
.word 0x1f2917c
.word 0x80010ff2
.word 0x1f3997c
.word 0x3e68001
.word 0x1e7e728
.word 0x3e68804
.word 0x1e7ef68
.word 0x3e69007
.word 0x1e7f7a8
.word 0x3e6980a
.word 0x1e7ffe8
.word 0x1f82801
.word 0x600f2c
.word 0x1fa2805
.word 0x600f6c
.word 0x80000030
.word 0x600fac
.word 0x80000030
.word 0x600fec
.word 0x3e6e000
.word 0x1e07d1b
.word 0x3e6e803
.word 0x1e07d5b
.word 0x3e6f006
.word 0x1e07d9b
.word 0x3e6f809
.word 0x1e07ddb
.word 0x5a000fe5
.word 0x102ad40
.word 0x80063332
.word 0x102b581
.word 0x1fc3800
.word 0x827380
.word 0x1f03801
.word 0x2ff
.word 0x3e6a002
.word 0x2ff
.word 0x3e6e000
.word 0x2ff
.word 0x48006000
.word 0x2ff
.word 0x3e68001
.word 0x2ff
.word 0x10010021
.word 0x2ff
.word 0x3e82800
.word 0x2ff
.word 0x80084072
.word 0x2ff
.word 0x80010ff2
.word 0x2ff
.word 0x1f41802
.word 0x2ff
.word 0x1f52002
.word 0x2ff
.word 0x1fc1800
.word 0x2ff
.word 0x1f01801
.word 0x2ff
.word 0x1fd2000
.word 0x1f4a17d
.word 0x1f12001
.word 0x1f5a97d
.word 0x3e8e000
.word 0x2ff
.word 0x3e88001
.word 0x2ff
.word 0x3e8a002
.word 0x2ff
.word 0x3e8e803
.word 0x2ff
.word 0x3e88804
.word 0x2ff
.word 0x3e8a805
.word 0x2ff
.word 0x800318f2
.word 0x2ff
.word 0x800420f2
.word 0x2ff
.word 0x5a000ff0
.word 0x2ff
.word 0x800841b2
.word 0x2ff
.word 0x80004efc
.word 0x2ff
.word 0x80081bfc
.word 0x2ff
.word 0x80091bfc
.word 0x2ff
.word 0x48006000
.word 0x2ff
.word 0x81e31b3d
.word 0x2ff
@@ -0,0 +1,64 @@
nop | mulay.x ACC, vf12, vf02
nop | mulax.z ACC, vf12, vf03
nop | msubx.xz vf24, vf12, vf02
nop | mulaz.x ACC, vf12, vf02
nop | mulay.z ACC, vf12, vf03
nop | msuby.xz vf25, vf12, vf02
nop | mulaw.x ACC, vf12, vf02
nop | mulaz.z ACC, vf12, vf03
nop | msubz.xz vf26, vf12, vf02
nop | mulax.x ACC, vf12, vf04
nop | mulaw.z ACC, vf12, vf03
nop | msubw.xz vf27, vf12, vf02
nop | mul.xz vf28, vf24, vf24
nop | mul.xz vf29, vf25, vf25
nop | mul.xz vf30, vf26, vf26
nop | mul.xz vf31, vf27, vf27
nop | subx.y vf24, vf01, vf28
nop | subx.y vf25, vf01, vf29
nop | subx.y vf26, vf01, vf30
nop | subx.y vf27, vf01, vf31
nop | subz.y vf24, vf24, vf28
nop | subz.y vf25, vf25, vf29
nop | subz.y vf26, vf26, vf30
nop | subz.y vf27, vf27, vf31
nop | mulx.w vf24, vf01, vf02
nop | muly.w vf25, vf01, vf02
nop | mulz.w vf26, vf01, vf02
nop | mulw.w vf27, vf01, vf02
nop | mulax.xyzw ACC, vf05, vf24
nop | madday.xyzw ACC, vf06, vf24
nop | maddz.xyz vf16, vf07, vf24
nop | mulax.xyzw ACC, vf05, vf25
nop | madday.xyzw ACC, vf06, vf25
nop | maddz.xyz vf17, vf07, vf25
nop | mulax.xyzw ACC, vf05, vf26
nop | madday.xyzw ACC, vf06, vf26
nop | maddz.xyz vf18, vf07, vf26
nop | mulax.xyzw ACC, vf05, vf27
nop | madday.xyzw ACC, vf06, vf27
nop | maddz.xyz vf19, vf07, vf27
nop | maxx.xyz vf16, vf16, vf00
nop | maxx.xyz vf17, vf17, vf00
nop | maxx.xyz vf18, vf18, vf00
nop | maxx.xyz vf19, vf19, vf00
nop | mula.xyzw ACC, vf01, vf11
nop | maddax.xyzw ACC, vf08, vf16
nop | madday.xyzw ACC, vf09, vf16
nop | maddz.xyzw vf20, vf10, vf16
nop | mula.xyzw ACC, vf01, vf11
nop | maddax.xyzw ACC, vf08, vf17
nop | madday.xyzw ACC, vf09, vf17
nop | maddz.xyzw vf21, vf10, vf17
nop | mula.xyzw ACC, vf01, vf11
nop | maddax.xyzw ACC, vf08, vf18
nop | madday.xyzw ACC, vf09, vf18
nop | maddz.xyzw vf22, vf10, vf18
nop | mula.xyzw ACC, vf01, vf11
nop | maddax.xyzw ACC, vf08, vf19
nop | madday.xyzw ACC, vf09, vf19
nop | maddz.xyzw vf23, vf10, vf19
nop | miniy.xyzw vf20, vf20, vf12
nop | miniy.xyzw vf21, vf21, vf12
nop | miniy.xyzw vf22, vf22, vf12 :e
nop | miniy.xyzw vf23, vf23, vf12
@@ -0,0 +1,128 @@
.word 0x80000030
.word 0x10261bd
.word 0x80000030
.word 0x4361bc
.word 0x80000030
.word 0x142660c
.word 0x80000030
.word 0x10261be
.word 0x80000030
.word 0x4361bd
.word 0x80000030
.word 0x142664d
.word 0x80000030
.word 0x10261bf
.word 0x80000030
.word 0x4361be
.word 0x80000030
.word 0x142668e
.word 0x80000030
.word 0x10461bc
.word 0x80000030
.word 0x4361bf
.word 0x80000030
.word 0x14266cf
.word 0x80000030
.word 0x158c72a
.word 0x80000030
.word 0x159cf6a
.word 0x80000030
.word 0x15ad7aa
.word 0x80000030
.word 0x15bdfea
.word 0x80000030
.word 0x9c0e04
.word 0x80000030
.word 0x9d0e44
.word 0x80000030
.word 0x9e0e84
.word 0x80000030
.word 0x9f0ec4
.word 0x80000030
.word 0x9cc606
.word 0x80000030
.word 0x9dce46
.word 0x80000030
.word 0x9ed686
.word 0x80000030
.word 0x9fdec6
.word 0x80000030
.word 0x220e18
.word 0x80000030
.word 0x220e59
.word 0x80000030
.word 0x220e9a
.word 0x80000030
.word 0x220edb
.word 0x80000030
.word 0x1f829bc
.word 0x80000030
.word 0x1f830bd
.word 0x80000030
.word 0x1d83c0a
.word 0x80000030
.word 0x1f929bc
.word 0x80000030
.word 0x1f930bd
.word 0x80000030
.word 0x1d93c4a
.word 0x80000030
.word 0x1fa29bc
.word 0x80000030
.word 0x1fa30bd
.word 0x80000030
.word 0x1da3c8a
.word 0x80000030
.word 0x1fb29bc
.word 0x80000030
.word 0x1fb30bd
.word 0x80000030
.word 0x1db3cca
.word 0x80000030
.word 0x1c08410
.word 0x80000030
.word 0x1c08c50
.word 0x80000030
.word 0x1c09490
.word 0x80000030
.word 0x1c09cd0
.word 0x80000030
.word 0x1eb0abe
.word 0x80000030
.word 0x1f040bc
.word 0x80000030
.word 0x1f048bd
.word 0x80000030
.word 0x1f0550a
.word 0x80000030
.word 0x1eb0abe
.word 0x80000030
.word 0x1f140bc
.word 0x80000030
.word 0x1f148bd
.word 0x80000030
.word 0x1f1554a
.word 0x80000030
.word 0x1eb0abe
.word 0x80000030
.word 0x1f240bc
.word 0x80000030
.word 0x1f248bd
.word 0x80000030
.word 0x1f2558a
.word 0x80000030
.word 0x1eb0abe
.word 0x80000030
.word 0x1f340bc
.word 0x80000030
.word 0x1f348bd
.word 0x80000030
.word 0x1f355ca
.word 0x80000030
.word 0x1eca515
.word 0x80000030
.word 0x1ecad55
.word 0x80000030
.word 0x41ecb595
.word 0x80000030
.word 0x1ecbdd5
@@ -0,0 +1,88 @@
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,799 @@
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,681 @@
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,66 @@
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,136 @@
iaddiu vi05, vi00, 0x320 | 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, 68(vi05) | muly.z vf05, vf02, vf27
move.w vf05, vf00 | addw.z vf02, vf00, vf01
sq.xyzw vf10, 69(vi05) | mul.w vf09, vf00, Q
sq.xyzw vf11, 70(vi05) | nop
sq.xyzw vf12, 71(vi05) | miniw.x vf04, vf04, vf00
sq.xyzw vf13, 72(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, 75(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, 61(vi05) | ftoi4.xyzw vf17, vf17
sq.xy vf12, 62(vi05) | ftoi4.xyzw vf18, vf18
sq.xy vf13, 63(vi05) | ftoi4.xyzw vf19, vf19
sq.xy vf14, 64(vi05) | ftoi4.xyzw vf20, vf20
sq.xy vf17, 24(vi05) | nop
sq.xy vf18, 26(vi05) | nop
sq.xy vf19, 8(vi05) | nop
sq.xy vf20, 9(vi05) | nop
sq.xy vf11, 77(vi05) | nop
sq.xy vf12, 79(vi05) | nop
sq.xy vf13, 81(vi05) | nop
sq.xy vf14, 83(vi05) | nop
xgkick vi05 | nop
L2:
iaddiu vi01, vi00, 0x694 | nop
ibne vi00, vi03, L1 | nop
isub vi05, vi01, vi05 | nop
nop | nop :e
nop | nop
@@ -0,0 +1,268 @@
.word 0x10050320
.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 0x3e54844
.word 0x5b1159
.word 0x8025033c
.word 0x410083
.word 0x3e55045
.word 0x20025c
.word 0x3e55846
.word 0x2ff
.word 0x3e56047
.word 0x1002117
.word 0x3e56848
.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 0x3e5184b
.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 0x385583d
.word 0x1f1897d
.word 0x385603e
.word 0x1f2917d
.word 0x385683f
.word 0x1f3997d
.word 0x3857040
.word 0x1f4a17d
.word 0x3858818
.word 0x2ff
.word 0x385901a
.word 0x2ff
.word 0x3859808
.word 0x2ff
.word 0x385a009
.word 0x2ff
.word 0x385584d
.word 0x2ff
.word 0x385604f
.word 0x2ff
.word 0x3856851
.word 0x2ff
.word 0x3857053
.word 0x2ff
.word 0x80002efc
.word 0x2ff
.word 0x10010694
.word 0x2ff
.word 0x52001f8c
.word 0x2ff
.word 0x80050971
.word 0x2ff
.word 0x80000030
.word 0x400002ff
.word 0x80000030
.word 0x2ff
@@ -0,0 +1,940 @@
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,961 @@
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 | nop
lq.xy vf18, 0(vi14) | addw.z vf17, vf00, vf00
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 | nop
lq.xy vf18, 328(vi14) | addw.z vf17, vf00, vf00
L39:
sq.xyzw vf20, 42(vi11) | addw.z vf18, vf00, vf00
sq.xyzw vf21, 43(vi11) | nop
sq.xyzw vf22, 44(vi11) | nop
lq.xyzw vf20, 29(vi11) | subw.xy vf16, vf16, vf25
lq.xyzw vf21, 32(vi11) | subw.xy vf17, vf17, vf25
sq.xyzw vf12, 39(vi11) | subw.xy vf18, vf18, vf25
sq.xyzw vf13, 40(vi11) | nop
sq.xyzw vf16, 30(vi11) | itof0.xyzw vf20, vf20
sq.xyzw vf17, 33(vi11) | itof0.xyzw vf21, vf21
sq.xyzw vf18, 36(vi11) | itof0.xyzw vf22, vf29
sq.xyzw vf14, 41(vi11) | nop
sq.xyzw vf20, 29(vi11) | nop
sq.xyzw vf21, 32(vi11) | nop
sq.xyzw vf22, 35(vi11) | nop
iaddi vi14, vi11, 0x1 | nop
lq.xyzw vf31, 663(vi00) | nop
isw.x vi15, 1022(vi00) | nop
iaddi vi04, vi00, 0x0 | nop
bal vi15, L40 | nop
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 | subw.w vf30, vf29, vf30
ibne vi00, vi01, L45 | nop
lq.xyzw vf17, 2(vi06) | nop
ibne vi00, vi13, L44 | nop
div Q, vf29.w, vf30.w | nop
b L42 | nop
iaddi vi08, vi08, 0x7 | nop
L44:
bal vi10, L54 | 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
div Q, vf29.w, vf30.w | 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 vf12, 0(vi06) | nop
lq.xyzw vf20, 1(vi06) | nop
lq.xyzw vf16, 2(vi06) | nop
iaddi vi04, vi04, 0x1 | nop
nop | nop
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 | subw.w vf30, vf29, vf30
ibeq vi13, vi01, L52 | nop
lq.xyzw vf17, 2(vi07) | nop
ibeq vi00, vi01, L51 | nop
div Q, vf29.w, vf30.w | 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, L54 | 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 | 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
File diff suppressed because it is too large Load Diff