197 lines
5.7 KiB
Text
197 lines
5.7 KiB
Text
|
.vu
|
||
|
main: NOP IADDIU VI01, VI00, 0
|
||
|
NOP IADDIU VI02, VI00, 22
|
||
|
NOP NOP
|
||
|
NOP BAL VI15, RotMatrix
|
||
|
NOP NOP
|
||
|
NOP IADDIU VI01, VI00, 26
|
||
|
NOP IADDIU VI02, VI00, 22
|
||
|
NOP IADDIU VI03, VI00, 30
|
||
|
NOP NOP
|
||
|
NOP BAL VI15, MulMatrix
|
||
|
NOP NOP
|
||
|
NOP IADDIU VI04, VI00, 30
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP LQI.xyzw VF04, (VI04++)
|
||
|
NOP LQI.xyzw VF05, (VI04++)
|
||
|
NOP LQI.xyzw VF06, (VI04++)
|
||
|
NOP LQI.xyzw VF07, (VI04++)
|
||
|
NOP IADDIU VI01, VI00, 0x7fff
|
||
|
NOP IADDIU VI03, VI00, 1
|
||
|
NOP IADDIU VI09, VI00, 0
|
||
|
NOP NOP
|
||
|
NOP[e] NOP
|
||
|
NOP NOP
|
||
|
LOOPE: NOP IBNE VI09, VI00, CONT
|
||
|
NOP XTOP VI05
|
||
|
NOP IADDIU VI12, VI00, 95
|
||
|
CONT: NOP NOP
|
||
|
NOP NOP
|
||
|
NOP ILW.x VI11, 0(VI05)
|
||
|
NOP IADDIU VI08, VI05, 1
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP IAND VI11, VI11, VI01
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP IADD VI06, VI08, VI11
|
||
|
NOP IADD VI02, VI11, VI00
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP LQI.xyzw VF30, (VI06++)
|
||
|
NOP IADDIU VI07, VI12, 4
|
||
|
NOP IADDIU VI13, VI12, 5
|
||
|
LOOP0: NOP LQI.xyzw VF21, (VI08++)
|
||
|
NOP IADDI VI11, VI11, -1
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
FTOI0.xyzw VF22, VF21 NOP
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP SQ.xyzw VF22, 0(VI13)
|
||
|
NOP IBNE VI11, VI00, LOOP0
|
||
|
NOP IADDIU VI13, VI13, 2
|
||
|
NOP IADD VI11, VI02, VI00
|
||
|
NOP NOP
|
||
|
LOOP1: MULw.xyzw VF29, VF31, VF00w DIV Q, VF00w, VF31w
|
||
|
MULAx.xyzw ACC, VF04, VF30x SQ.xyzw VF27, 0(VI12)
|
||
|
MADDAy.xyzw ACC, VF05, VF30y IADDI VI11, VI11, -1
|
||
|
MADDAz.xyzw ACC, VF06, VF30z IADDI VI12, VI12, 2
|
||
|
MADDw.xyzw VF31, VF07, VF30w NOP
|
||
|
FTOI4.xyzw VF27, VF28 LQI.xyzw VF30, (VI06++)
|
||
|
NOP IBNE VI11, VI00, LOOP1
|
||
|
MULq.xyzw VF28, VF29, Q NOP
|
||
|
NOP DIV Q, VF00w, VF31w
|
||
|
NOP SQ.xyzw VF27, 0(VI12)
|
||
|
NOP IADDI VI12, VI12, 2
|
||
|
NOP LQ.xyzw VF20, 0(VI05)
|
||
|
NOP NOP
|
||
|
FTOI4.xyzw VF27, VF28 NOP
|
||
|
NOP NOP
|
||
|
MULq.xyzw VF28, VF31, Q SQ.xyzw VF20, 0(VI07)
|
||
|
NOP NOP
|
||
|
NOP SQ.xyzw VF27, 0(VI12)
|
||
|
NOP IADDI VI12, VI12, 2
|
||
|
FTOI4.xyzw VF27, VF28 NOP
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP SQ.xyzw VF27, 0(VI12)
|
||
|
NOP IADDI VI12, VI12, 2
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP XGKICK VI07
|
||
|
NOP ISUB VI09, VI03, VI09
|
||
|
NOP NOP
|
||
|
NOP[e] NOP
|
||
|
NOP NOP
|
||
|
NOP B LOOPE
|
||
|
NOP NOP
|
||
|
MulMatrix: NOP LQI.xyzw VF08, (VI02++)
|
||
|
NOP LQI.xyzw VF04, (VI01++)
|
||
|
NOP LQI.xyzw VF05, (VI01++)
|
||
|
NOP LQI.xyzw VF06, (VI01++)
|
||
|
NOP LQI.xyzw VF07, (VI01++)
|
||
|
MULAx.xyzw ACC, VF04, VF08x LQI.xyzw VF09, (VI02++)
|
||
|
MADDAy.xyzw ACC, VF05, VF08y NOP
|
||
|
MADDAz.xyzw ACC, VF06, VF08z NOP
|
||
|
MADDw.xyzw VF12, VF07, VF08w NOP
|
||
|
MULAx.xyzw ACC, VF04, VF09x LQI.xyzw VF10, (VI02++)
|
||
|
MADDAy.xyzw ACC, VF05, VF09y NOP
|
||
|
MADDAz.xyzw ACC, VF06, VF09z NOP
|
||
|
MADDw.xyzw VF13, VF07, VF09w SQI.xyzw VF12, (VI03++)
|
||
|
MULAx.xyzw ACC, VF04, VF10x LQI.xyzw VF11, (VI02++)
|
||
|
MADDAy.xyzw ACC, VF05, VF10y NOP
|
||
|
MADDAz.xyzw ACC, VF06, VF10z NOP
|
||
|
MADDw.xyzw VF14, VF07, VF10w SQI.xyzw VF13, (VI03++)
|
||
|
MULAx.xyzw ACC, VF04, VF11x NOP
|
||
|
MADDAy.xyzw ACC, VF05, VF11y NOP
|
||
|
MADDAz.xyzw ACC, VF06, VF11z NOP
|
||
|
MADDw.xyzw VF15, VF07, VF11w SQI.xyzw VF14, (VI03++)
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
NOP SQI.xyzw VF15, (VI03++)
|
||
|
NOP NOP
|
||
|
NOP JR VI15
|
||
|
NOP NOP
|
||
|
RotMatrix: MULx.xyzw VF04, VF00, VF00x LQI.xyzw VF01, (VI01++)
|
||
|
MULx.xyzw VF05, VF00, VF00x LQI.xyzw VF02, (VI01++)
|
||
|
MULx.xyzw VF06, VF00, VF00x LQI.xyzw VF03, (VI01++)
|
||
|
NOP LOI 1.5707963
|
||
|
ADDw.x VF04, VF04, VF00w ESIN P, VF01x
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
ADDi.xyzw VF02, VF02, I NOP
|
||
|
NOP WAITP
|
||
|
NOP MFP.z VF05z, P
|
||
|
NOP MFP.y VF06y, P
|
||
|
NOP ESIN P, VF02x
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
MULz.xyzw VF06, VF06, VF00z NOP
|
||
|
NOP WAITP
|
||
|
NOP MFP.y VF05y, P
|
||
|
NOP MFP.z VF06z, P
|
||
|
MULx.xyzw VF07, VF00, VF00x ESIN P, VF01y
|
||
|
MULx.xyzw VF08, VF00, VF00x NOP
|
||
|
MULx.xyzw VF09, VF00, VF00x NOP
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
ADDw.y VF08, VF08, VF00w NOP
|
||
|
NOP WAITP
|
||
|
NOP MFP.z VF07z, P
|
||
|
NOP MFP.x VF09x, P
|
||
|
NOP ESIN P, VF02y
|
||
|
NOP NOP
|
||
|
MULz.xyzw VF07, VF07, VF00z NOP
|
||
|
NOP WAITP
|
||
|
NOP MFP.x VF07x, P
|
||
|
NOP MFP.z VF09z, P
|
||
|
MULx.xyzw VF10, VF00, VF00x ESIN P, VF01z
|
||
|
MULx.xyzw VF11, VF00, VF00x NOP
|
||
|
MULx.xyzw VF12, VF00, VF00x NOP
|
||
|
MULAx.xyz ACC, VF04, VF07x NOP
|
||
|
MADDAy.xyz ACC, VF05, VF07y NOP
|
||
|
MADDz.xyz VF07, VF06, VF07z NOP
|
||
|
ADDw.z VF12, VF12, VF00w NOP
|
||
|
MULAx.xyz ACC, VF04, VF08x NOP
|
||
|
MADDAy.xyz ACC, VF05, VF08y NOP
|
||
|
MADDz.xyz VF08, VF06, VF08z NOP
|
||
|
MULAx.xyz ACC, VF04, VF09x NOP
|
||
|
MADDAy.xyz ACC, VF05, VF09y NOP
|
||
|
MADDz.xyz VF09, VF06, VF09z NOP
|
||
|
NOP WAITP
|
||
|
NOP MFP.y VF10y, P
|
||
|
NOP MFP.x VF11x, P
|
||
|
NOP ESIN P, VF02z
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
MULz.xyzw VF11, VF11, VF00z NOP
|
||
|
NOP WAITP
|
||
|
NOP MFP.x VF10x, P
|
||
|
NOP MFP.y VF11y, P
|
||
|
NOP NOP
|
||
|
NOP NOP
|
||
|
MULAx.xyz ACC, VF07, VF10x NOP
|
||
|
MADDAy.xyz ACC, VF08, VF10y NOP
|
||
|
MADDz.xyz VF10, VF09, VF10z NOP
|
||
|
MULAx.xyz ACC, VF07, VF11x NOP
|
||
|
MADDAy.xyz ACC, VF08, VF11y NOP
|
||
|
MADDz.xyz VF11, VF09, VF11z NOP
|
||
|
MULAx.xyz ACC, VF07, VF12x NOP
|
||
|
MADDAy.xyz ACC, VF08, VF12y NOP
|
||
|
MADDz.xyz VF12, VF09, VF12z NOP
|
||
|
NOP NOP
|
||
|
NOP SQI.xyz VF10, (VI02++)
|
||
|
NOP SQI.xyz VF11, (VI02++)
|
||
|
NOP SQI.xyz VF12, (VI02++)
|
||
|
NOP SQI.xyz VF03, (VI02++)
|
||
|
NOP NOP
|
||
|
NOP JR VI15
|
||
|
NOP NOP
|