diff options
Diffstat (limited to 'reference/twoside-vert.asm')
-rw-r--r-- | reference/twoside-vert.asm | 109 |
1 files changed, 39 insertions, 70 deletions
diff --git a/reference/twoside-vert.asm b/reference/twoside-vert.asm index a3e6d93..9eebb41 100644 --- a/reference/twoside-vert.asm +++ b/reference/twoside-vert.asm @@ -8,10 +8,10 @@ @in(r4.y) in5 @in(r4.z) in6 @in(r4.w) in7 -@in(r0.x) in8 -@in(r0.y) in9 -@in(r0.z) in10 -@in(r0.w) in11 +@in(r2.x) in8 +@in(r2.y) in9 +@in(r2.z) in10 +@in(r2.w) in11 @out(r0.x) out0 @out(r0.y) out1 @out(r0.z) out2 @@ -28,83 +28,52 @@ @out(r3.y) out13 @out(r3.z) out14 @out(r3.w) out15 -(sy)(ss)mov.f32f32 r2.x, r0.w -mov.f32f32 r2.y, r0.z -mov.f32f32 r2.z, r0.y -mov.f32f32 r2.w, r0.x -mov.f32f32 r2.x, r2.x -mov.f32f32 r2.y, r2.y -mov.f32f32 r2.z, r2.z -mov.f32f32 r2.w, r2.w -mov.f32f32 r2.x, r2.x -mov.f32f32 r2.y, r2.y -mov.f32f32 r2.z, r2.z -mov.f32f32 r2.w, r2.w -max.f r2.x, r2.x, c5.x -max.f r2.y, r2.y, c5.x -max.f r2.z, r2.z, c5.x -max.f r2.w, r2.w, c5.x -min.f r3.w, r2.x, c5.y -min.f r3.z, r2.y, c5.y -min.f r3.y, r2.z, c5.y -min.f r3.x, r2.w, c5.y -mov.f32f32 r0.w, r0.w -mov.f32f32 r0.z, r0.z -mov.f32f32 r0.y, r0.y -mov.f32f32 r0.x, r0.x -mov.f32f32 r0.w, r0.w -mov.f32f32 r0.z, r0.z -mov.f32f32 r0.y, r0.y -mov.f32f32 r0.x, r0.x -mov.f32f32 r0.w, r0.w -mov.f32f32 r0.z, r0.z -mov.f32f32 r0.y, r0.y -mov.f32f32 r0.x, r0.x -max.f r0.w, r0.w, c5.x -max.f r0.z, r0.z, c5.x -max.f r0.y, r0.y, c5.x -max.f r0.x, r0.x, c5.x -min.f r2.w, r0.w, c5.y -min.f r2.z, r0.z, c5.y -min.f r2.y, r0.y, c5.y -min.f r2.x, r0.x, c5.y -mul.f r0.x, c1.w, r1.x +@const(c5.x) 0x00000000, 0x3f800000, 0x00000000, 0x00000000 +(sy)(ss)mul.f r0.x, c1.w, r1.x mul.f r0.y, c1.z, r1.x mad.f32 r0.x, c2.w, r1.y, r0.x mad.f32 r0.y, c2.z, r1.y, r0.y mad.f32 r0.x, c3.w, r1.z, r0.x mad.f32 r0.y, c3.z, r1.z, r0.y -mad.f32 r0.x, c4.w, r1.w, r0.x -mad.f32 r0.y, c4.z, r1.w, r0.y -mul.f r5.x, c1.y, r1.x -mul.f r1.x, c1.x, r1.x -mov.f32f32 r0.w, r0.x -mov.f32f32 r0.z, r0.y -mad.f32 r0.x, c2.y, r1.y, r5.x -mad.f32 r0.y, c2.x, r1.y, r1.x +mad.f32 r0.w, c4.w, r1.w, r0.x +mad.f32 r0.z, c4.z, r1.w, r0.y +mul.f r0.x, c1.y, r1.x +mul.f r0.y, c1.x, r1.x +mad.f32 r0.x, c2.y, r1.y, r0.x +mad.f32 r0.y, c2.x, r1.y, r0.y mad.f32 r0.x, c3.y, r1.z, r0.x -mad.f32 r0.y, c3.x, r1.z, r0.y -mad.f32 r0.x, c4.y, r1.w, r0.x -mad.f32 r1.x, c4.x, r1.w, r0.y -mov.f32f32 r1.y, r4.w -mov.f32f32 r1.z, r4.z -mov.f32f32 r0.y, r0.x -mov.f32f32 r0.x, r1.x -max.f r1.x, r1.y, c5.x -max.f r1.y, r1.z, c5.x -mov.f32f32 r4.y, r4.y -mov.f32f32 r4.x, r4.x +mad.f32 r1.x, c3.x, r1.z, r0.y +mad.f32 r0.y, c4.y, r1.w, r0.x +mad.f32 r0.x, c4.x, r1.w, r1.x +max.f r1.x, r2.w, c5.x +max.f r1.y, r2.z, c5.x +max.f r1.z, r2.y, c5.x +max.f r1.w, r2.x, c5.x +min.f r3.w, r1.x, c5.y +min.f r3.z, r1.y, c5.y +min.f r3.y, r1.z, c5.y +min.f r3.x, r1.w, c5.y +max.f r1.x, r2.w, c5.x +max.f r1.y, r2.z, c5.x +max.f r1.z, r2.y, c5.x +max.f r1.w, r2.x, c5.x +min.f r2.w, r1.x, c5.y +min.f r2.z, r1.y, c5.y +min.f r2.y, r1.z, c5.y +min.f r2.x, r1.w, c5.y +max.f r1.x, r4.w, c5.x +max.f r1.y, r4.z, c5.x +max.f r4.y, r4.y, c5.x +max.f r4.x, r4.x, c5.x min.f r1.w, r1.x, c5.y min.f r1.z, r1.y, c5.y -max.f r1.x, r4.y, c5.x -max.f r4.x, r4.x, c5.x -(rpt1)nop -min.f r1.y, r1.x, c5.y +min.f r1.y, r4.y, c5.y min.f r1.x, r4.x, c5.y end nop nop +nop ; VERT: outputs: r0.x (0:0) r1.x (1:0) r2.x (1:1) r3.x (2:0) -; VERT: inputs: r1.x (0:0,cm=f,il=8,b=0) r4.x (0:0,cm=f,il=12,b=0) r0.x (0:0,cm=f,il=16,b=0) -; VERT: 75 instructions, 0 half, 6 full +; VERT: inputs: r1.x (0:0,cm=f,il=8,b=0) r4.x (0:0,cm=f,il=12,b=0) r2.x (0:0,cm=f,il=16,b=0) +; VERT: 41 instructions, 0 half, 5 full |