diff options
Diffstat (limited to 'reference/es2gears-vert.asm')
-rw-r--r-- | reference/es2gears-vert.asm | 112 |
1 files changed, 43 insertions, 69 deletions
diff --git a/reference/es2gears-vert.asm b/reference/es2gears-vert.asm index bc04597..b3981b3 100644 --- a/reference/es2gears-vert.asm +++ b/reference/es2gears-vert.asm @@ -14,6 +14,8 @@ @out(r1.y) out5 @out(r1.z) out6 @out(r1.w) out7 +@const(c10.x) 0x00000000, 0x00000000, 0x00000000, 0x00000000 +@const(c11.x) 0x00000000, 0x3f800000, 0x43000000, 0x00000000 (sy)(ss)mul.f r0.w, c4.x, r0.x mov.f32f32 r1.w, c8.x mad.f32 r0.w, c5.x, r0.y, r0.w @@ -25,88 +27,60 @@ mad.f32 r2.x, c5.y, r0.y, r2.x add.f r0.w, r0.w, c7.x mad.f32 r2.x, c6.y, r0.z, r2.x mul.f r0.x, c4.z, r0.x -mul.f r2.z, c0.w, r1.x -mov.f32f32 r2.w, r0.w -mad.f32 r0.w, c8.y, r2.y, r1.w -add.f r1.w, r2.x, c7.y +mad.f32 r1.w, c8.y, r2.y, r1.w +mov.f32f32 r2.y, r0.w +mov.f32f32 r2.z, c8.z +add.f r2.x, r2.x, c7.y mad.f32 r0.x, c5.z, r0.y, r0.x -mul.f r0.y, r2.w, r2.w -mov.f32f32 r0.w, r0.w -mov.f32f32 r1.w, r1.w -mov.f32f32 r2.x, c8.z +mul.f r0.y, r0.w, r2.y +mad.f32 r0.w, c8.z, r2.z, r1.w +mov.f32f32 r1.w, r2.x mad.f32 r0.x, c6.z, r0.z, r0.x -mad.f32 r0.z, c1.w, r1.y, r2.z -mad.f32 r0.y, r1.w, r1.w, r0.y -mad.f32 r0.w, c8.z, r2.x, r0.w +mul.f r0.z, c0.w, r1.x +mul.f r2.z, c0.z, r1.x +mad.f32 r0.y, r2.x, r1.w, r0.y add.f r0.x, r0.x, c7.z -mad.f32 r0.z, c2.w, r1.z, r0.z -mov.f32f32 r0.y, r0.y -mul.f r2.x, c0.z, r1.x -mov.f32f32 r0.x, r0.x -add.f r0.z, r0.z, c3.w -mad.f32 r2.x, c1.z, r1.y, r2.x -mul.f r2.y, c0.y, r1.x -mad.f32 r0.y, r0.x, r0.x, r0.y rsq r0.w, r0.w -(ss)mov.f32f32 r2.z, r0.w -(ss)mov.f32f32 r0.w, r0.z -mad.f32 r0.z, c2.z, r1.z, r2.x -mad.f32 r2.x, c1.y, r1.y, r2.y +(ss)mov.f32f32 r2.x, r0.w +mul.f r2.w, c8.z, r0.w +mad.f32 r0.z, c1.w, r1.y, r0.z +(ss)mov.f32f32 r0.w, r0.x +mul.f r3.x, c8.x, r2.x +mul.f r2.x, c8.y, r2.x +mad.f32 r0.z, c2.w, r1.z, r0.z +mad.f32 r0.y, r0.w, r0.w, r0.y +mad.f32 r0.w, c1.z, r1.y, r2.z +mul.f r2.z, c0.y, r1.x mul.f r1.x, c0.x, r1.x -mul.f r2.y, c8.x, r2.z +mad.f32 r3.y, c2.z, r1.z, r0.w +mad.f32 r2.z, c1.y, r1.y, r2.z +mad.f32 r1.x, c1.x, r1.y, r1.x rsq r0.y, r0.y -(ss)mov.f32f32 r0.y, r0.y -mul.f r3.x, c8.y, r2.z -mul.f r2.z, c8.z, r2.z -nop -mul.f r2.w, r2.w, r0.y -mul.f r1.w, r1.w, r0.y +(ss)mov.f32f32 r1.y, r0.y mul.f r0.x, r0.x, r0.y -nop -mov.f32f32 r0.y, r2.w -mov.f32f32 r2.y, r2.y -mov.f32f32 r1.w, r1.w -mov.f32f32 r0.x, r0.x -mov.f32f32 r2.w, r3.x -mul.f r0.y, r0.y, r2.y -mov.f32f32 r2.y, r2.z -add.f r0.z, r0.z, c3.z -mad.f32 r0.y, r1.w, r2.w, r0.y -mad.f32 r1.w, c2.y, r1.z, r2.x -mad.f32 r1.x, c1.x, r1.y, r1.x -nop -mov.f32f32 r0.y, r0.y -mov.f32f32 r0.z, r0.z -mad.f32 r0.x, r0.x, r2.y, r0.y -add.f r0.y, r1.w, c3.y +add.f r0.w, r0.z, c3.w +add.f r0.z, r3.y, c3.z +(ss)mul.f r0.y, r2.y, r1.y +mul.f r1.y, r1.w, r1.y +mad.f32 r1.w, c2.y, r1.z, r2.z mad.f32 r1.x, c2.x, r1.z, r1.x +mul.f r0.y, r0.y, r3.x nop -mov.f32f32 r0.x, r0.x -mov.f32f32 r0.y, r0.y -add.f r1.x, r1.x, c3.x -nop -max.f r0.x, r0.x, c10.x +mad.f32 r1.y, r1.y, r2.x, r0.y +add.f r0.y, r1.w, c3.y +mad.f32 r1.y, r0.x, r2.w, r1.y +add.f r0.x, r1.x, c3.x +(rpt1)nop +max.f r1.x, r1.y, c10.x (rpt2)nop -mov.f32f32 r1.y, r0.x -mov.f32f32 r0.x, r1.x +mov.f32f32 r1.y, r1.x +mul.f r1.x, r1.x, c9.x (rpt1)nop -mul.f r1.x, r1.y, c9.w +mul.f r1.w, r1.y, c9.w mul.f r1.z, r1.y, c9.z -mul.f r1.w, r1.y, c9.y -mul.f r1.y, r1.y, c9.x -mov.f32f32 r1.x, r1.x -mov.f32f32 r1.z, r1.z -mov.f32f32 r2.x, r1.w -mov.f32f32 r2.y, r1.y -mov.f32f32 r1.w, r1.x -mov.f32f32 r1.z, r1.z -mov.f32f32 r1.y, r2.x -mov.f32f32 r1.x, r2.y +mul.f r1.y, r1.y, c9.y end -nop -nop -nop ; VERT: outputs: r0.x (0:0) r1.x (5:19) ; VERT: inputs: r1.x (0:0,cm=7,il=8,b=0) r0.x (0:0,cm=7,il=12,b=0) -; VERT: 92 instructions, 0 half, 4 full +; VERT: 68 instructions, 0 half, 4 full |