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

* more

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

202 lines
11 KiB
Plaintext

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