150 lines
14 KiB
Plaintext
150 lines
14 KiB
Plaintext
;-------------------------
|
|
;-------------------------
|
|
;-----VCL CODE------------
|
|
;-------------------------
|
|
;-------------------------
|
|
; =================================================
|
|
; flowMon::Emit() vcl 1.4beta7 produced this code:
|
|
.vu
|
|
.align 4
|
|
.global VU1Draw3D_CodeStart
|
|
.global VU1Draw3D_CodeEnd
|
|
VU1Draw3D_CodeStart:
|
|
__v_draw3D_vcl_4:
|
|
; _LNOPT_w=[ normal2 ] 27 [27 0] 27 [__v_draw3D_vcl_4]
|
|
NOP xtop VI06
|
|
NOP lq VF02,1(VI00)
|
|
NOP lq VF01,0(VI00)
|
|
NOP ilw.x VI01,4(VI06)
|
|
NOP ilw.y VI08,4(VI06)
|
|
NOP lq VF03,0(VI06)
|
|
NOP lq VF04,1(VI06)
|
|
NOP lq VF08,5(VI06)
|
|
NOP lq VF10,6(VI06)
|
|
NOP lq VF05,2(VI06)
|
|
NOP lq VF06,3(VI06)
|
|
NOP iaddiu VI04,VI06,0x00000009
|
|
NOP iadd VI05,VI04,VI08
|
|
NOP ilw.z VI02,4(VI06)
|
|
NOP iadd VI07,VI05,VI08
|
|
NOP loi 0x44fff000
|
|
NOP ilw.w VI03,4(VI06)
|
|
NOP lq VF07,7(VI06)
|
|
NOP sqi VF02,(VI07++)
|
|
NOP sqi VF08,(VI07++)
|
|
NOP sqi VF02,(VI07++)
|
|
NOP lq VF08,8(VI06)
|
|
NOP iadd VI06,VI05,VI08
|
|
addi.xy VF09,VF00,I loi 0x492aaaaa
|
|
NOP fcset 0
|
|
NOP iblez VI01,prim_tag_l
|
|
addi.z VF09,VF00,I sqi VF10,(VI07++)
|
|
; _LNOPT_w=[ normal2 ] 2 [2 0] 2 [__v_draw3D_vcl_5]
|
|
NOP sqi VF02,(VI07++)
|
|
NOP sqi VF01,(VI07++)
|
|
prim_tag_l:
|
|
; _LNOPT_w=[ normal2 ] 4 [4 0] 4 [prim_tag_l]
|
|
NOP iaddiu VI08,VI00,0x00007fff
|
|
NOP sqi VF07,(VI07++)
|
|
NOP iaddiu VI08,VI08,0x00000001
|
|
NOP iaddiu VI09,VI00,0
|
|
triangle_loop:
|
|
; _LNOPT_w=[ normal2 ] 11 [27 0] 27 [triangle_loop]
|
|
NOP lq VF02,0(VI04)
|
|
mulax ACC,VF03,VF02x mfir.w VF01,VI08 ; STALL_LATENCY ?3
|
|
madday ACC,VF04,VF02y NOP
|
|
maddaz ACC,VF05,VF02z NOP
|
|
maddw VF02,VF06,VF02w NOP
|
|
clipw.xyz VF02xyz,VF02w div Q,VF00w,VF02w ; STALL_LATENCY ?3
|
|
mulq.xyz VF02,VF02,Q waitq ; STALL_LATENCY ?6
|
|
mulaw.xyz ACC,VF09,VF00w NOP
|
|
madd.xyz VF02,VF02,VF09 NOP ; STALL_LATENCY ?2
|
|
NOP ibgtz VI03,vec_1_rgba
|
|
ftoi4.xyz VF01,VF02 NOP ; STALL_LATENCY ?2
|
|
; _LNOPT_w=[ normal2 ] 5 [9 0] 9 [vec_1_stq_rgba]
|
|
NOP lq VF02,0(VI05)
|
|
mulq VF01,VF02,Q sq VF01,2(VI07) ; STALL_LATENCY ?3
|
|
NOP sq VF08,1(VI07)
|
|
NOP b vec2
|
|
NOP sq VF01,0(VI07) ; STALL_LATENCY ?1
|
|
vec_1_rgba:
|
|
; _LNOPT_w=[ normal2 ] 4 [2 0] 4 [vec_1_rgba]
|
|
NOP NOP
|
|
NOP NOP
|
|
NOP sq VF08,0(VI07)
|
|
NOP sq VF01,1(VI07)
|
|
vec2:
|
|
; _LNOPT_w=[ normal2 ] 11 [27 0] 27 [vec2]
|
|
NOP lq VF02,1(VI04)
|
|
mulax ACC,VF03,VF02x mfir.w VF01,VI08 ; STALL_LATENCY ?3
|
|
madday ACC,VF04,VF02y NOP
|
|
maddaz ACC,VF05,VF02z NOP
|
|
maddw VF02,VF06,VF02w NOP
|
|
clipw.xyz VF02xyz,VF02w div Q,VF00w,VF02w ; STALL_LATENCY ?3
|
|
mulq.xyz VF02,VF02,Q waitq ; STALL_LATENCY ?6
|
|
mulaw.xyz ACC,VF09,VF00w NOP
|
|
madd.xyz VF02,VF02,VF09 NOP ; STALL_LATENCY ?2
|
|
NOP ibgtz VI03,vec_2_rgba
|
|
ftoi4.xyz VF01,VF02 NOP ; STALL_LATENCY ?2
|
|
; _LNOPT_w=[ normal2 ] 5 [9 0] 9 [vec_2_stq_rgba]
|
|
NOP lq VF02,1(VI05)
|
|
mulq VF01,VF02,Q sq VF01,5(VI07) ; STALL_LATENCY ?3
|
|
NOP sq VF08,4(VI07)
|
|
NOP b vec3
|
|
NOP sq VF01,3(VI07) ; STALL_LATENCY ?1
|
|
vec_2_rgba:
|
|
; _LNOPT_w=[ normal2 ] 4 [2 0] 4 [vec_2_rgba]
|
|
NOP NOP
|
|
NOP NOP
|
|
NOP sq VF08,2(VI07)
|
|
NOP sq VF01,3(VI07)
|
|
vec3:
|
|
; _LNOPT_w=[ normal2 ] 13 [27 0] 27 [vec3]
|
|
NOP lq VF01,2(VI04)
|
|
mulax ACC,VF03,VF01x NOP ; STALL_LATENCY ?3
|
|
madday ACC,VF04,VF01y NOP
|
|
maddaz ACC,VF05,VF01z NOP
|
|
maddw VF01,VF06,VF01w NOP
|
|
clipw.xyz VF01xyz,VF01w div Q,VF00w,VF01w ; STALL_LATENCY ?3
|
|
mulq.xyz VF01,VF01,Q waitq ; STALL_LATENCY ?6
|
|
mulaw.xyz ACC,VF09,VF00w NOP
|
|
madd.xyz VF01,VF01,VF09 fcand VI01,262143 ; STALL_LATENCY ?2
|
|
NOP iaddiu VI01,VI01,0x00007fff
|
|
NOP mfir.w VF01,VI01
|
|
NOP ibgtz VI03,vec_3_rgba
|
|
ftoi4.xyz VF01,VF01 NOP
|
|
; _LNOPT_w=[ normal2 ] 6 [9 0] 9 [vec_3_stq_rgba]
|
|
NOP lq VF02,2(VI05)
|
|
mulq VF01,VF02,Q sq VF01,8(VI07) ; STALL_LATENCY ?3
|
|
NOP sq VF08,7(VI07)
|
|
NOP iaddiu VI07,VI07,0x00000009
|
|
NOP b loop_ctrl
|
|
NOP sq VF01,-3(VI07)
|
|
vec_3_rgba:
|
|
; _LNOPT_w=[ normal2 ] 4 [3 0] 4 [vec_3_rgba]
|
|
NOP NOP
|
|
NOP sq VF08,4(VI07)
|
|
NOP iaddiu VI07,VI07,0x00000006
|
|
NOP sq VF01,-1(VI07)
|
|
loop_ctrl:
|
|
; _LNOPT_w=[ normal2 ] 4 [4 0] 4 [loop_ctrl]
|
|
NOP iaddiu VI09,VI09,0x00000001
|
|
NOP iaddiu VI04,VI04,0x00000003
|
|
NOP ibne VI09,VI02,triangle_loop
|
|
NOP iaddiu VI05,VI05,0x00000003
|
|
; _LNOPT_w=[ normal2 ] 3 [1 0] 3 [__v_draw3D_vcl_21]
|
|
NOP xgkick VI06
|
|
NOP[E] NOP
|
|
NOP NOP
|
|
.align 4
|
|
VU1Draw3D_CodeEnd:
|
|
; iCount=103
|
|
; register stats:
|
|
; 10 VU User integer
|
|
; 11 VU User floating point
|
|
;-------------------------
|
|
;-------------------------
|
|
;-------------------------
|
|
;-------------------------
|
|
;-------------------------
|