Files
jak-project/test/decompiler/vu_reference/jak1/shrub-result.txt
Tyler Wilding 6c719ae000 d/jx: Disassemble and compare VU programs, add reference tests, create a diff report (#4406)
All VU programs are unchanged except:

- `ocean-near-vu1` DIFFERENT
- `sparks-vu1` NEW
- `sprite-glow-vu1` DIFFERENT
- `tnear-vu1` DIFFERENT

And `hfrag`, `ocean` and `ocean-texture` have been removed.

A full breakdown:
```
================================================================================
Checking: background-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: bones-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: collide-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: emerc-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: etie-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: etn-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: foreground-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: generic-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: generic-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: merc-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: mercneric-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: ocean-mid-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: ocean-near-vu1.txt
================================================================================
!!! DIFFERENT !!!

--- ocean-near-vu1.txt
+++ ../jak3/ocean-near-vu1.txt
@@ -78,10 +78,20 @@
 .word 0x2ff
 .word 0x800206bc
 .word 0x2ff
+.word 0x903100a
+.word 0x2ff
+.word 0x884100a
+.word 0x2ff
 .word 0x80050032
 .word 0x2ff
 .word 0x800701f2
 .word 0x2ff
+.word 0x1fc1820
+.word 0x2ff
+.word 0x1fd1821
+.word 0x2ff
+.word 0x1fe2020
+.word 0x2ff
 .word 0x1f82922
 .word 0x2ff
 .word 0x1f92925
@@ -91,23 +101,23 @@
 .word 0x1fb292b
 .word 0x2ff
 .word 0x1ec292e
-.word 0x800601
+.word 0x9c0600
 .word 0x1ed2931
-.word 0x800641
+.word 0x9c0641
 .word 0x1ee2934
-.word 0x800681
+.word 0x9c0682
 .word 0x1ef2937
-.word 0x8006c1
+.word 0x9c06c3
 .word 0x1e8293a
-.word 0x800301
+.word 0x9d0300
 .word 0x3e5c122
-.word 0x800341
+.word 0x9d0341
 .word 0x3e5c925
-.word 0x800381
+.word 0x9d0382
 .word 0x3e5d128
-.word 0x8003c1
+.word 0x9d03c3
 .word 0x3e5d92b
-.word 0x800201
+.word 0x9e0200
 .word 0x3e5612e
 .word 0x2ff
 .word 0x3e56931
@@ -118,12 +128,26 @@
 .word 0x2ff
 .word 0x3e5413a
 .word 0x2ff
+.word 0x80031a32
+.word 0x2ff
+.word 0x80042232
+.word 0x2ff
 .word 0x1005281b
 .word 0x2ff
-.word 0x5a003fec
+.word 0x5a003fe7
 .word 0x2ff
 .word 0x80073ff2
 .word 0x2ff
+.word 0x843100a
+.word 0x2ff
+.word 0x824100a
+.word 0x2ff
+.word 0x1fc1820
+.word 0x2ff
+.word 0x1fd1821
+.word 0x2ff
+.word 0x1fe2020
+.word 0x2ff
 .word 0x1f82922
 .word 0x2ff
 .word 0x1f92925
@@ -133,23 +157,23 @@
 .word 0x1fb292b
 .word 0x2ff
 .word 0x1ec292e
-.word 0x800601
+.word 0x9c0600
 .word 0x1ed2931
-.word 0x800641
+.word 0x9c0641
 .word 0x1ee2934
-.word 0x800681
+.word 0x9c0682
 .word 0x1ef2937
-.word 0x8006c1
+.word 0x9c06c3
 .word 0x1e8293a
-.word 0x800301
+.word 0x9d0300
 .word 0x3e5c122
-.word 0x800341
+.word 0x9d0341
 .word 0x3e5c925
-.word 0x800381
+.word 0x9d0382
 .word 0x3e5d128
-.word 0x8003c1
+.word 0x9d03c3
 .word 0x3e5d92b
-.word 0x800201
+.word 0x9e0200
 .word 0x3e5612e
 .word 0x2ff
 .word 0x3e56931

================================================================================
Checking: shadow-vu0.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: shadow-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: shrub-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: sparks-vu1.txt
================================================================================
!!! MISSING: ../jak3/sparks-vu1.txt
!!! MISSING: sparks-vu1.txt does not exist in ../jak3

================================================================================
Checking: sprite-distort-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: sprite-glow-vu1.txt
================================================================================
!!! DIFFERENT !!!

--- sprite-glow-vu1.txt
+++ ../jak3/sprite-glow-vu1.txt
@@ -1,4 +1,4 @@
-.word 0x1005031e
+.word 0x10050320
 .word 0x2ff
 .word 0x1f903dc
 .word 0x2ff
@@ -66,17 +66,17 @@
 .word 0x2ff
 .word 0x1ed2004
 .word 0x1042101
-.word 0x3e54845
+.word 0x3e54844
 .word 0x5b1159
 .word 0x8025033c
 .word 0x410083
-.word 0x3e55046
+.word 0x3e55045
 .word 0x20025c
-.word 0x3e55847
-.word 0x2ff
-.word 0x3e56048
+.word 0x3e55846
+.word 0x2ff
+.word 0x3e56047
 .word 0x1002117
-.word 0x3e56849
+.word 0x3e56848
 .word 0x2ff
 .word 0x80000030
 .word 0x290247
@@ -178,7 +178,7 @@
 .word 0x18aa52f
 .word 0x80000030
 .word 0x1e5f1bf
-.word 0x3e5184c
+.word 0x3e5184b
 .word 0x1e5fc0a
 .word 0x3c5580b
 .word 0x191a46c
@@ -230,33 +230,33 @@
 .word 0x1ed697d
 .word 0x80000030
 .word 0x1ee717d
-.word 0x385583e
+.word 0x385583d
 .word 0x1f1897d
-.word 0x385603f
+.word 0x385603e
 .word 0x1f2917d
-.word 0x3856840
+.word 0x385683f
 .word 0x1f3997d
-.word 0x3857041
+.word 0x3857040
 .word 0x1f4a17d
-.word 0x3858819
-.word 0x2ff
-.word 0x385901b
+.word 0x3858818
+.word 0x2ff
+.word 0x385901a
 .word 0x2ff
 .word 0x3859808
 .word 0x2ff
 .word 0x385a009
 .word 0x2ff
-.word 0x385584e
-.word 0x2ff
-.word 0x3856050
-.word 0x2ff
-.word 0x3856852
-.word 0x2ff
-.word 0x3857054
+.word 0x385584d
+.word 0x2ff
+.word 0x385604f
+.word 0x2ff
+.word 0x3856851
+.word 0x2ff
+.word 0x3857053
 .word 0x2ff
 .word 0x80002efc
 .word 0x2ff
-.word 0x10010691
+.word 0x10010694
 .word 0x2ff
 .word 0x52001f8c
 .word 0x2ff

================================================================================
Checking: sprite-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: tfrag-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: tie-near-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: tie-vu1.txt
================================================================================
OK: Files are the same.

================================================================================
Checking: tnear-vu1.txt
================================================================================
!!! DIFFERENT !!!

--- tnear-vu1.txt
+++ ../jak3/tnear-vu1.txt
@@ -1421,9 +1421,9 @@
 .word 0x1916800
 .word 0x400403
 .word 0x40000008
+.word 0x2ff
+.word 0x1927000
 .word 0x400443
-.word 0x1927000
-.word 0x2ff
 .word 0x3eb802d
 .word 0x2ff
 .word 0x3eb882e
@@ -1435,39 +1435,39 @@
 .word 0x1916948
 .word 0x400403
 .word 0x40000001
+.word 0x2ff
+.word 0x1927148
 .word 0x400443
-.word 0x1927148
-.word 0x2ff
 .word 0x3eba02a
 .word 0x400483
 .word 0x3eba82b
+.word 0x2ff
+.word 0x3ebb02c
+.word 0x2ff
+.word 0x1f4581d
 .word 0x1998407
-.word 0x3ebb02c
+.word 0x1f55820
 .word 0x1998c47
-.word 0x1f4581d
-.word 0x1f6e93c
-.word 0x1f55820
+.word 0x3eb6027
 .word 0x1999487
-.word 0x3eb6027
-.word 0x191876f
 .word 0x3eb6828
-.word 0x19187ab
+.word 0x2ff
 .word 0x3eb801e
 .word 0x1f4a13c
 .word 0x3eb8821
 .word 0x1f5a93c
 .word 0x3eb9024
-.word 0x192ef6f
+.word 0x1f6e93c
 .word 0x3eb7029
-.word 0x192f7ab
+.word 0x2ff
+.word 0x3eba01d
+.word 0x2ff
+.word 0x3eba820
+.word 0x2ff
 .word 0x3ebb023
 .word 0x2ff
 .word 0x800e5872
 .word 0x2ff
-.word 0x3eba01d
-.word 0x2ff
-.word 0x3eba820
-.word 0x19de97c
 .word 0x1ff0297
 .word 0x2ff
 .word 0xb0f03fe
@@ -1475,7 +1475,7 @@
 .word 0x80040032
 .word 0x2ff
 .word 0x420f0007
-.word 0x19de93c
+.word 0x2ff
 .word 0x1006581c
 .word 0x2ff
 .word 0x420f0005
@@ -1541,20 +1541,20 @@
 .word 0x2c010002
 .word 0x2ff
 .word 0x2c0d0002
-.word 0x2ff
+.word 0x3eef87
 .word 0x5200080c
 .word 0x2ff
 .word 0x1f13002
 .word 0x2ff
 .word 0x52006803
 .word 0x2ff
-.word 0x80000030
+.word 0x81feebbc
 .word 0x2ff
 .word 0x400007e3
 .word 0x2ff
 .word 0x800841f2
 .word 0x2ff
-.word 0x420a0082
+.word 0x420a0077
 .word 0x2ff
 .word 0x80064072
 .word 0x2ff
@@ -1570,7 +1570,7 @@
 .word 0x2ff
 .word 0x5200681c
 .word 0x2ff
-.word 0x80000030
+.word 0x81feebbc
 .word 0x2ff
 .word 0x420a006e
 .word 0x2ff
@@ -1594,16 +1594,16 @@
 .word 0x2ff
 .word 0x80064772
 .word 0x2ff
+.word 0x1ec3000
+.word 0x2ff
+.word 0x1f43001
+.word 0x2ff
 .word 0x1f03002
 .word 0x2ff
-.word 0x1ec3000
-.word 0x2ff
-.word 0x1f43001
-.word 0x2ff
 .word 0x80042072
 .word 0x2ff
 .word 0x80000030
-.word 0x19d842c
+.word 0x2ff
 .word 0x81ec03bc
 .word 0x1ff632a
 .word 0x80000030
@@ -1671,14 +1671,14 @@
 .word 0x2c010002
 .word 0x2ff
 .word 0x2c0d0002
-.word 0x2ff
+.word 0x3eef87
 .word 0x500d0818
 .word 0x2ff
 .word 0x1f13802
 .word 0x2ff
 .word 0x5000080c
 .word 0x2ff
-.word 0x80000030
+.word 0x81feebbc
 .word 0x2ff
 .word 0x420a0038
 .word 0x2ff
@@ -1702,7 +1702,7 @@
 .word 0x2ff
 .word 0x80006235
 .word 0x2ff
-.word 0x420a0038
+.word 0x420a002d
 .word 0x2ff
 .word 0x80000030
 .word 0x2ff
@@ -1795,10 +1795,6 @@
 .word 0x80000030
 .word 0x2d6f86
 .word 0x80000030
-.word 0x3eef87
-.word 0x81feebbc
-.word 0x2ff
-.word 0x80000030
 .word 0x1ec6bac
 .word 0x80000030
 .word 0x1f4adac
@@ -1816,25 +1812,3 @@
 .word 0x1f6a5a8
 .word 0x80000030
 .word 0x1f284a8
-.word 0x80000030
-.word 0x3eef47
-.word 0x81fdf3bc
-.word 0x2ff
-.word 0x80000030
-.word 0x1ed63ac
-.word 0x80000030
-.word 0x1f5a5ac
-.word 0x80000030
-.word 0x1f184ac
-.word 0x800003bf
-.word 0x1e0739c
-.word 0x80000030
-.word 0x1e0b59c
-.word 0x80000030
-.word 0x1e0949c
-.word 0x80000030
-.word 0x1ee6bac
-.word 0x48005000
-.word 0x1f6adac
-.word 0x80000030
-.word 0x1f28cac
```
2026-09-04 23:01:17 -04:00

682 lines
36 KiB
Plaintext

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