.set noreorder .set noat .globl text_label .text text_label: # VU Macromode instruction set vabs.xyzw $vf0xyzw,$vf31xyzw vadd.xyzw $vf10xyzw,$vf31xyzw,$vf0xyzw vaddi.xyzw $vf10xyzw,$vf31xyzw,$I vaddq.xyzw $vf10xyzw,$vf31xyzw,$Q vaddw.xyzw $vf10xyzw,$vf31xyzw,$vf1w vaddx.xyzw $vf10xyzw,$vf31xyzw,$vf1x vaddy.xyzw $vf10xyzw,$vf31xyzw,$vf1y vaddz.xyzw $vf10xyzw,$vf31xyzw,$vf1z vadda.xyzw $ACCxyzw,$vf0xyzw,$vf31xyzw vaddai.xyzw $ACCxyzw,$vf31xyzw,$I vaddaq.xyzw $ACCxyzw,$vf31xyzw,$Q vaddaw.xyzw $ACCxyzw,$vf31xyzw,$vf1w vaddax.xyzw $ACCxyzw,$vf31xyzw,$vf1x vadday.xyzw $ACCxyzw,$vf31xyzw,$vf1y vaddaz.xyzw $ACCxyzw,$vf31xyzw,$vf1z vcallms 0x0 vcallms 0x340 vcallms 0xff8 vcallmsr $vi27 vclipw.xyz $vf31xyz,$vf1w vclipw $vf31xyz,$vf1w vdiv $Q,$vf1y,$vf11x vftoi0.xyzw $vf0xyzw,$vf31xyzw vftoi4.xyzw $vf0xyzw,$vf31xyzw vftoi12.xyzw $vf0xyzw,$vf31xyzw vftoi15.xyzw $vf0xyzw,$vf31xyzw viadd $vi1,$vi15,$vi0 viaddi $vi0,$vi15,-1 viand $vi1,$vi15,$vi0 vilwr.w $vi0,($vi15) vilwr.x $vi0,($vi15) vilwr.y $vi0,($vi15) vilwr.z $vi0,($vi15) vior $vi1,$vi15,$vi0 viswr.w $vi0,($vi15) viswr.x $vi0,($vi15) viswr.y $vi0,($vi15) viswr.z $vi0,($vi15) visub $vi1,$vi15,$vi0 vitof0.xyzw $vf0xyzw,$vf31xyzw vitof4.xyzw $vf0xyzw,$vf31xyzw vitof12.xyzw $vf0xyzw,$vf31xyzw vitof15.xyzw $vf0xyzw,$vf31xyzw vlqd.xyzw $vf0xyzw,(--$vi15) vlqi.xyzw $vf0xyzw,($vi15++) vmadd.xyzw $vf10xyzw,$vf31xyzw,$vf0xyzw vmaddi.xyzw $vf10xyzw,$vf31xyzw,$I vmaddq.xyzw $vf10xyzw,$vf31xyzw,$Q vmaddw.xyzw $vf10xyzw,$vf31xyzw,$vf1w vmaddx.xyzw $vf10xyzw,$vf31xyzw,$vf1x vmaddy.xyzw $vf10xyzw,$vf31xyzw,$vf1y vmaddz.xyzw $vf10xyzw,$vf31xyzw,$vf1z vmaddz $vf6, $vf3, $vf5 vmadda.xyzw $ACCxyzw,$vf31xyzw,$vf0xyzw vmaddai.xyzw $ACCxyzw,$vf31xyzw,$I vmaddaq.xyzw $ACCxyzw,$vf31xyzw,$Q vmaddaw.xyzw $ACCxyzw,$vf31xyzw,$vf1w vmaddax.xyzw $ACCxyzw,$vf31xyzw,$vf1x vmaddax $ACC, $vf1, $vf5 vmadday.xyzw $ACCxyzw,$vf31xyzw,$vf1y vmadday $ACC, $vf2, $vf5 vmaddaz.xyzw $ACCxyzw,$vf31xyzw,$vf1z vmax.xyzw $vf10xyzw,$vf31xyzw,$vf0xyzw vmaxi.xyzw $vf10xyzw,$vf31xyzw,$I vmaxw.xyzw $vf10xyzw,$vf31xyzw,$vf1w vmaxx.xyzw $vf10xyzw,$vf31xyzw,$vf1x vmaxy.xyzw $vf10xyzw,$vf31xyzw,$vf1y vmaxz.xyzw $vf10xyzw,$vf31xyzw,$vf1z vmfir.xyzw $vf0xyzw,$vi15 vmini.xyzw $vf10xyzw,$vf31xyzw,$vf0xyzw vminii.xyzw $vf10xyzw,$vf31xyzw,$I vminiw.xyzw $vf10xyzw,$vf31xyzw,$vf1w vminix.xyzw $vf10xyzw,$vf31xyzw,$vf1x vminiy.xyzw $vf10xyzw,$vf31xyzw,$vf1y vminiz.xyzw $vf10xyzw,$vf31xyzw,$vf1z vmove.xyzw $vf0xyzw,$vf31xyzw vmr32.xyzw $vf0xyzw,$vf31xyzw vmsub.xyzw $vf10xyzw,$vf31xyzw,$vf0xyzw vmsubi.xyzw $vf10xyzw,$vf31xyzw,$I vmsubq.xyzw $vf10xyzw,$vf31xyzw,$Q vmsubw.xyzw $vf10xyzw,$vf31xyzw,$vf1w vmsubx.xyzw $vf10xyzw,$vf31xyzw,$vf1x vmsuby.xyzw $vf10xyzw,$vf31xyzw,$vf1y vmsubz.xyzw $vf10xyzw,$vf31xyzw,$vf1z vmsuba.xyzw $ACCxyzw,$vf0xyzw,$vf31xyzw vmsubai.xyzw $ACCxyzw,$vf31xyzw,$I vmsubaq.xyzw $ACCxyzw,$vf31xyzw,$Q vmsubaw.xyzw $ACCxyzw,$vf31xyzw,$vf1w vmsubax.xyzw $ACCxyzw,$vf31xyzw,$vf1x vmsubay.xyzw $ACCxyzw,$vf31xyzw,$vf1y vmsubaz.xyzw $ACCxyzw,$vf31xyzw,$vf1z vmtir $vi0,$vf1z vmul.xyzw $vf10xyzw,$vf31xyzw,$vf0xyzw vmuli.xyzw $vf10xyzw,$vf31xyzw,$I vmulq.xyzw $vf10xyzw,$vf31xyzw,$Q vmulw.xyzw $vf10xyzw,$vf31xyzw,$vf1w vmulx.xyzw $vf10xyzw,$vf31xyzw,$vf1x vmuly.xyzw $vf10xyzw,$vf31xyzw,$vf1y vmulz.xyzw $vf10xyzw,$vf31xyzw,$vf1z vmula.xyzw $ACCxyzw,$vf31xyzw,$vf0xyzw vmulai.xyzw $ACCxyzw,$vf31xyzw,$I vmulaq.xyzw $ACCxyzw,$vf31xyzw,$Q vmulaw.xyzw $ACCxyzw,$vf31xyzw,$vf1w vmulaw $ACC, $vf4, $vf0 vmulax.xyzw $ACCxyzw,$vf31xyzw,$vf1x vmulay.xyzw $ACCxyzw,$vf31xyzw,$vf1y vmulaz.xyzw $ACCxyzw,$vf31xyzw,$vf1z vnop vopmula.xyz $ACCxyz,$vf31xyz,$vf0xyz vopmsub.xyz $vf10xyz,$vf31xyz,$vf0xyz vrget.xyzw $vf0xyzw,$R vrinit $R,$vf1w vrnext.xyzw $vf0xyzw,$R vrsqrt $Q,$vf1w,$vf11x vrxor $R,$vf1x vsqd.xyzw $vf31xyzw,(--$vi0) vsqi.xyzw $vf31xyzw,($vi0++) vsqrt $Q,$vf11z vsub.xyzw $vf10xyzw,$vf31xyzw,$vf0xyzw vsubi.xyzw $vf10xyzw,$vf31xyzw,$I vsubq.xyzw $vf10xyzw,$vf31xyzw,$Q vsubw.xyzw $vf10xyzw,$vf31xyzw,$vf1w vsubx.xyzw $vf10xyzw,$vf31xyzw,$vf1x vsuby.xyzw $vf10xyzw,$vf31xyzw,$vf1y vsubz.xyzw $vf10xyzw,$vf31xyzw,$vf1z vsuba.xyzw $ACCxyzw,$vf31xyzw,$vf0xyzw vsubai.xyzw $ACCxyzw,$vf31xyzw,$I vsubaq.xyzw $ACCxyzw,$vf31xyzw,$Q vsubaw.xyzw $ACCxyzw,$vf31xyzw,$vf1w vsubax.xyzw $ACCxyzw,$vf31xyzw,$vf1x vsubay.xyzw $ACCxyzw,$vf31xyzw,$vf1y vsubaz.xyzw $ACCxyzw,$vf31xyzw,$vf1z vwaitq # Implicit suffixes vadd.xyzw $vf10,$vf31,$vf0 vadd.xy $vf10,$vf31,$vf0 vadd.xyzw $vf10,$vf31,$vf0 vlqi.xy $vf0,($vi15++) # VU floating point registers vadd.xyzw $vf0,$vf1,$vf2 vadd.xyzw $vf3,$vf4,$vf5 vadd.xyzw $vf6,$vf7,$vf8 vadd.xyzw $vf9,$vf10,$vf11 vadd.xyzw $vf12,$vf13,$vf14 vadd.xyzw $vf15,$vf16,$vf17 vadd.xyzw $vf18,$vf19,$vf20 vadd.xyzw $vf21,$vf22,$vf23 vadd.xyzw $vf24,$vf25,$vf26 vadd.xyzw $vf27,$vf28,$vf29 vadd.xyzw $vf30,$vf31,$vf0 # VU integer registers viadd $vi0,$vi1,$vi2 viadd $vi3,$vi4,$vi5 viadd $vi6,$vi7,$vi8 viadd $vi9,$vi10,$vi11 viadd $vi12,$vi13,$vi14 viadd $vi15,$vi16,$vi17 viadd $vi18,$vi19,$vi20 viadd $vi21,$vi22,$vi23 viadd $vi24,$vi25,$vi26 viadd $vi27,$vi28,$vi29 viadd $vi30,$vi31,$vi0 # Floating point transfer to VU lqc2 $0,0($0) lqc2 $1, 0x7fff($1) lqc2 $8, -0x8000($8) lqc2 $31, -1($31) # Floating point transfer from VU sqc2 $0,0($0) sqc2 $1, 0x7fff($1) sqc2 $8, -0x8000($8) sqc2 $31, -1($31) # Integer transfer from VU cfc2 $0,$0 cfc2 $0,$31 cfc2.i $0,$0 cfc2.i $0,$31 cfc2.ni $0,$0 cfc2.ni $0,$31 # Integer transfer to VU ctc2 $0,$0 ctc2 $0,$31 ctc2.i $0,$0 ctc2.i $0,$31 ctc2.ni $0,$0 ctc2.ni $0,$31 # Floating point transfer from VU qmfc2 $0,$0 qmfc2 $0,$31 qmfc2.i $0,$0 qmfc2.i $0,$31 qmfc2.ni $0,$0 qmfc2.ni $0,$31 # Floating point transfer to VU qmtc2 $0,$0 qmtc2 $0,$31 qmtc2.i $0,$0 qmtc2.i $0,$31 qmtc2.ni $0,$0 qmtc2.ni $0,$31 # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... .space 8