jak-project/test/decompiler/vu_reference/shrub-result.txt
water111 a96710f0c5
VU micro mode disassembler (#517)
* wip

* more

* the rest of the disassembler
2021-05-23 16:59:09 -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