jak-project/test/decompiler/vu_reference/jak3/tnear-vu1-result.txt
Hat Kid 17f5f74238
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.
2024-01-27 11:38:03 +01:00

962 lines
52 KiB
Plaintext

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