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

* more

* the rest of the disassembler
2021-05-23 16:59:09 -04:00

153 lines
8.3 KiB
Plaintext

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 vf25, 3(vi05) | mulw.xyzw vf21, vf15, vf00
lq.xyzw vf26, 5(vi05) | mulw.xyzw vf22, vf15, vf00
nop | mulw.xyzw vf23, vf15, vf00
nop | mulax.xyzw ACC, vf24, vf06
nop | madday.xyzw ACC, vf25, vf06
nop | maddz.xyzw vf27, vf26, vf06
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, vf25
lq.xyzw vf17, 2(vi05) | muly.y vf29, vf01, vf25
lq.xyzw vf18, 4(vi05) | mulz.y vf30, vf01, vf25
lq.xyzw vf19, 6(vi05) | mulw.y vf31, vf01, vf25
iaddi vi05, vi05, 0x8 | mulx.xy vf28, vf28, vf27
nop | muly.xy vf29, vf29, vf27
nop | mulz.xy vf30, vf30, vf27
nop | mulw.xy vf31, vf31, vf27
nop | mulw.xy vf28, vf28, vf16
nop | mulw.xy vf29, vf29, vf17
nop | mulw.xy vf30, vf30, vf18
nop | mulw.xy vf31, vf31, vf19
nop | ftoi0.xyzw vf16, vf16
nop | ftoi0.xyzw vf17, vf17
nop | ftoi0.xyzw vf18, vf18
iaddi vi01, vi01, -0x1 | ftoi0.xyzw vf19, vf19
mfir.w vf16, vi11 | add.xyzw vf28, vf28, vf06
mfir.w vf17, vi11 | add.xyzw vf29, vf29, vf06
mfir.w vf18, vi11 | add.xyzw vf30, vf30, vf06
mfir.w vf19, vi11 | add.xyzw vf31, vf31, vf06
nop | mulx.xyzw vf28, vf28, vf07
nop | mulx.xyzw vf29, vf29, vf07
nop | mulx.xyzw vf30, vf30, vf07
nop | mulx.xyzw vf31, vf31, vf07
nop | addy.xyzw vf28, vf28, vf07
nop | addy.xyzw vf29, vf29, vf07
nop | addy.xyzw vf30, vf30, vf07
nop | addy.xyzw vf31, vf31, vf07
sq.xyzw vf16, 1(vi06) | sub.zw vf28, vf01, vf00
sq.xyzw vf17, 4(vi06) | sub.zw vf29, vf01, vf00
sq.xyzw vf18, 7(vi06) | sub.zw vf30, vf01, vf00
sq.xyzw vf19, 10(vi06) | sub.zw vf31, vf01, vf00
lq.xyzw vf24, 1(vi05) | mulw.xyzw vf20, vf15, vf00
lq.xyzw vf25, 3(vi05) | mulw.xyzw vf21, vf15, vf00
lq.xyzw vf26, 5(vi05) | mulw.xyzw vf22, vf15, vf00
sq.xyzw vf28, 0(vi06) | mulw.xyzw vf23, vf15, vf00
sq.xyzw vf29, 3(vi06) | mulax.xyzw ACC, vf24, vf06
sq.xyzw vf30, 6(vi06) | madday.xyzw ACC, vf25, vf06
sq.xyzw vf31, 9(vi06) | maddz.xyzw vf27, vf26, vf06
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