.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 VI01, VI00, 8 NOP IADDIU VI02, VI00, 22 NOP IADDIU VI03, VI00, 12 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 VI04, VI00, 4 NOP NOP NOP NOP NOP NOP NOP LQI.xyzw VF08, (VI04++) NOP LQI.xyzw VF09, (VI04++) NOP LQI.xyzw VF10, (VI04++) NOP LQI.xyzw VF11, (VI04++) NOP IADDIU VI04, VI00, 12 NOP NOP NOP NOP NOP NOP NOP LQI.xyzw VF12, (VI04++) NOP LQI.xyzw VF13, (VI04++) NOP LQI.xyzw VF14, (VI04++) NOP LQI.xyzw VF15, (VI04++) NOP IADDIU VI04, VI00, 17 NOP NOP NOP NOP NOP NOP NOP LQI.xyzw VF01, (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, 500 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 NOP NOP NOP NOP NOP NOP IADD VI07, VI06, VI11 NOP NOP NOP NOP NOP NOP NOP IADDIU VI10, VI12, 0 NOP IADDI VI13, VI12, -1 START: NOP MOVE.w VF26, VF00 NOP LQI.xyzw VF25, (VI07++) NOP LQI.xyzw VF30, (VI06++) NOP LQI.xyzw VF02, (VI08++) NOP NOP MULAx.xyz ACC, VF12, VF25x NOP MADDAy.xyz ACC, VF13, VF25y NOP MADDz.xyz VF26, VF14, VF25z NOP MULAx.xyzw ACC, VF04, VF30x NOP MADDAy.xyzw ACC, VF05, VF30y NOP MADDAz.xyzw ACC, VF06, VF30z NOP MADDw.xyzw VF31, VF07, VF30w NOP MAXx.xyzw VF26, VF26, VF00x NOP NOP NOP NOP NOP LOOP: MULw.xyzw VF29, VF31, VF00w DIV Q, VF00w, VF31w MULAx.xyzw ACC, VF08, VF26x LQI.xyzw VF25, (VI07++) MADDAy.xyzw ACC, VF09, VF26y LQI.xyzw VF30, (VI06++) MADDAz.xyzw ACC, VF10, VF26z NOP MADDw.xyzw VF24, VF11, VF26w IADDI VI11, VI11, -1 MULAx.xyz ACC, VF12, VF25x IADDIU VI12, VI12, 2 MADDAy.xyz ACC, VF13, VF25y SQ.xyzw VF23, 0(VI13) MULq.xyzw VF28, VF29, Q IADDIU VI13, VI13, 2 MUL.xyzw VF24, VF24, VF02 NOP MADDz.xyz VF26, VF14, VF25z LQI.xyzw VF02, (VI08++) MULAx.xyzw ACC, VF04, VF30x NOP FTOI4.xyzw VF27, VF28 NOP MINI.xyzw VF24, VF24, VF01 NOP MADDAy.xyzw ACC, VF05, VF30y NOP MADDAz.xyzw ACC, VF06, VF30z NOP MADDw.xyzw VF31, VF07, VF30w SQ.xyzw VF27, 0(VI12) MAXx.xyzw VF26, VF26, VF00x NOP FTOI0.xyzw VF23, VF24 IBNE VI11, VI00, LOOP NOP NOP MULw.xyzw VF29, VF31, VF00w DIV Q, VF00w, VF31w MULAx.xyzw ACC, VF08, VF26x IADDIU VI12, VI12, 2 MADDAy.xyzw ACC, VF09, VF26y SQ.xyzw VF23, 0(VI13) MADDAz.xyzw ACC, VF10, VF26z IADDIU VI13, VI13, 2 MADDw.xyzw VF24, VF11, VF26w LQ.xyzw VF20, 0(VI05) NOP NOP NOP NOP MULq.xyzw VF28, VF29, Q NOP MUL.xyzw VF24, VF24, VF02 SQ.xyzw VF20, 0(VI10) NOP NOP NOP NOP FTOI4.xyzw VF27, VF28 NOP MINI.xyzw VF24, VF24, VF01 NOP NOP NOP NOP NOP NOP SQ.xyzw VF27, 0(VI12) FTOI0.xyzw VF23, VF24 NOP NOP NOP NOP NOP NOP NOP NOP SQ.xyzw VF23, 0(VI13) NOP NOP NOP NOP NOP NOP NOP XGKICK VI10 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