diff options
Diffstat (limited to 'reference/0ad-alpine-valley/0ad-40.asm')
-rw-r--r-- | reference/0ad-alpine-valley/0ad-40.asm | 71 |
1 files changed, 22 insertions, 49 deletions
diff --git a/reference/0ad-alpine-valley/0ad-40.asm b/reference/0ad-alpine-valley/0ad-40.asm index c9ec6ed..df4bfc0 100644 --- a/reference/0ad-alpine-valley/0ad-40.asm +++ b/reference/0ad-alpine-valley/0ad-40.asm @@ -6,59 +6,32 @@ @out(r1.y) out1 @out(r1.z) out2 @out(r1.w) out3 -(sy)(ss)bary.f r0.z, 1, r0.x -bary.f r0.w, 0, r0.x -bary.f (ei)r0.x, 2, r0.x +@const(c0.x) 0x3e800000, 0x40800000, 0x00000000, 0x00000000 +(sy)(ss)bary.f r0.w, 1, r0.x +bary.f r0.z, 0, r0.x +bary.f (ei)r1.x, 2, r0.x nop -add.f r0.y, c0.x, (neg)r0.z -mov.f32f32 r0.w, r0.w -cmps.f.lt r1.x, c0.z, r0.z -mov.f32f32 r0.x, r0.x -mul.f r0.y, r0.y, c0.y -mov.f32f32 r1.y, r0.w -mov.f32f32 r0.z, r0.z -cov.u32f32 r0.w, r1.x -mov.f32f32 r0.y, r0.y -mov.f32f32 r1.w, r0.x -mov.f32f32 r1.z, r0.z +add.f r0.x, c0.x, (neg)r0.w +cmps.f.lt r0.y, c0.z, r0.w +(rpt1)nop +mul.f r0.x, r0.x, c0.y +sam.3d (f32)(xyzw)r2.x, r0.z, s#0, t#0 +cov.u32f32 r0.y, r0.y +(rpt1)nop +(ss)mov.f32f32 r0.z, r0.x +(sy)mul.f r0.x, r2.x, r0.x +cmps.f.ne r0.y, r0.y, c0.z nop -mov.f32f32 r0.x, r0.y -mov.f32f32 r0.z, r0.y -mov.f32f32 r1.x, r0.y -mov.f32f32 r0.y, r0.y -cmps.f.ne r0.w, r0.w, c0.z -sam.3d (f32)(xyzw)r1.y, r1.y, s#0, t#0 -(sy)mov.f32f32 r2.y, r2.x -mov.f32f32 r2.z, r1.w -mov.f32f32 r2.w, r1.z -mov.f32f32 r3.x, r1.y -mul.f r0.x, r2.y, r0.x -mul.f r0.z, r2.z, r0.z -mul.f r1.x, r2.w, r1.x -mul.f r0.y, r3.x, r0.y -mov.f32f32 r0.x, r0.x -mov.f32f32 r2.x, r2.x -mov.f32f32 r0.z, r0.z -mov.f32f32 r1.x, r1.x -mov.f32f32 r0.y, r0.y -mov.f32f32 r2.x, r2.x -(ss)mov.f32f32 r1.w, r1.w -mov.f32f32 r1.z, r1.z -mov.f32f32 r1.y, r1.y -sel.b32 r0.x, r0.x, r0.w, r2.x -mov.f32f32 r2.x, r1.w -mov.f32f32 r1.z, r1.z -mov.f32f32 r1.y, r1.y -mov.f32f32 r1.w, r0.x -sel.b32 r0.x, r0.z, r0.w, r2.x -sel.b32 r0.z, r1.x, r0.w, r1.z -sel.b32 r0.y, r0.y, r0.w, r1.y +mul.f r0.w, r2.w, r0.z +mul.f r1.x, r2.z, r0.z +mul.f r0.z, r2.y, r0.z nop -mov.f32f32 r1.z, r0.x -mov.f32f32 r1.y, r0.z -mov.f32f32 r1.x, r0.y +sel.b32 r1.w, r0.w, r0.y, r2.w +sel.b32 r1.z, r1.x, r0.y, r2.z +sel.b32 r1.y, r0.z, r0.y, r2.y +sel.b32 r1.x, r0.x, r0.y, r2.x end ; FRAG: outputs: r1.x (1:0) ; FRAG: inputs: r0.x (5:9,cm=f,il=8,b=1) -; FRAG: 52 instructions, 0 half, 4 full +; FRAG: 26 instructions, 0 half, 3 full |