summaryrefslogtreecommitdiff
path: root/reference/piglit-vs-temp-mat3-row-rd.asm
diff options
context:
space:
mode:
Diffstat (limited to 'reference/piglit-vs-temp-mat3-row-rd.asm')
-rw-r--r--reference/piglit-vs-temp-mat3-row-rd.asm57
1 files changed, 24 insertions, 33 deletions
diff --git a/reference/piglit-vs-temp-mat3-row-rd.asm b/reference/piglit-vs-temp-mat3-row-rd.asm
index f837f5f..89d1bbe 100644
--- a/reference/piglit-vs-temp-mat3-row-rd.asm
+++ b/reference/piglit-vs-temp-mat3-row-rd.asm
@@ -12,6 +12,9 @@
@out(r1.y) out5
@out(r1.z) out6
@out(r1.w) out7
+@const(c6.x) 0x00000000, 0x00000001, 0x00000002, 0x00000000
+@const(c7.x) 0x40800000, 0x40a00000, 0x40c00000, 0x3f800000
+@const(c8.x) 0x00000000, 0x3f800000, 0x00000000, 0x00000000
(sy)(ss)mov.f32f32 r0.x, c0.x
mov.f32f32 r0.y, c0.x
mul.f r0.z, c2.w, r1.x
@@ -23,56 +26,44 @@ mad.f32 r0.w, c3.z, r1.y, r0.w
absneg.s r0.x, (neg)r0.x
absneg.s r0.y, (neg)r0.y
mad.f32 r0.z, c4.w, r1.z, r0.z
-mad.f32 r0.w, c4.z, r1.z, r0.w
+mad.f32 r2.x, c4.z, r1.z, r0.w
cov.s32f32 r0.x, r0.x
cov.s32f32 r0.y, r0.y
-mad.f32 r0.z, c5.w, r1.w, r0.z
-mad.f32 r2.x, c5.z, r1.w, r0.w
-cmps.f.lt r0.x, r0.x, c6.x
-mov.f32f32 r0.y, r0.y
(rpt1)nop
-sel.b32 r0.x, c7.y, r0.x, c7.x
+cmps.f.lt r0.x, r0.x, c6.x
cmps.f.lt r0.y, r0.y, c6.x
-mov.f32f32 r0.w, r0.z
-mov.f32f32 r0.z, r2.x
-mov.f32f32 r0.x, r0.x
+mad.f32 r0.w, c5.w, r1.w, r0.z
+mad.f32 r0.z, c5.z, r1.w, r2.x
+sel.b32 r0.x, c7.y, r0.x, c7.x
mul.f r2.x, c2.y, r1.x
mul.f r1.x, c2.x, r1.x
mad.f32 r2.x, c3.y, r1.y, r2.x
sel.b32 r0.x, c7.z, r0.y, r0.x
mad.f32 r0.y, c4.y, r1.z, r2.x
mad.f32 r1.x, c3.x, r1.y, r1.x
-mad.f32 r0.y, c5.y, r1.w, r0.y
-mov.f32f32 r0.x, r0.x
-mad.f32 r1.x, c4.x, r1.z, r1.x
mov.f32f32 r1.y, c8.y
-mov.f32f32 r1.z, c8.y
cmps.f.eq r0.x, r0.x, c1.x
-mov.f32f32 r0.y, r0.y
-mad.f32 r2.x, c5.x, r1.w, r1.x
+mad.f32 r0.y, c5.y, r1.w, r0.y
+mad.f32 r1.x, c4.x, r1.z, r1.x
nop
-absneg.s r0.x, (neg)r0.x
-mov.f32f32 r1.x, c8.x
-mov.f32f32 r1.w, c8.x
-mov.f32f32 r2.y, c8.x
-cmps.u.ne r0.x, r0.x, c6.x
+absneg.s r1.z, (neg)r0.x
+mad.f32 r0.x, c5.x, r1.w, r1.x
+mov.f32f32 r1.x, c8.y
+mov.f32f32 r2.x, c8.x
+cmps.u.ne r2.y, r1.z, c6.x
+mov.f32f32 r1.z, c8.x
mov.f32f32 r2.z, c8.y
mov.f32f32 r2.w, c8.x
-mov.f32f32 r3.x, c8.y
-sel.b32 r1.y, r1.z, r0.x, r1.y
-sel.b32 r1.x, r1.w, r0.x, r1.x
-sel.b32 r2.y, r2.z, r0.x, r2.y
-sel.b32 r0.x, r2.w, r0.x, r3.x
-mov.f32f32 r1.w, r1.y
-mov.f32f32 r1.z, r1.x
-mov.f32f32 r1.y, r2.y
-mov.f32f32 r1.x, r0.x
-mov.f32f32 r0.x, r2.x
+sel.b32 r1.w, r1.x, r2.y, r1.y
+sel.b32 r1.z, r1.z, r2.y, r2.x
+mov.f32f32 r1.x, c8.x
+mov.f32f32 r2.x, c8.y
+(rpt1)nop
+sel.b32 r1.y, r2.z, r2.y, r1.x
+sel.b32 r1.x, r2.w, r2.y, r2.x
end
nop
-nop
-nop
; VERT: outputs: r0.x (0:0) r1.x (5:20)
; VERT: inputs: r1.x (0:0,cm=f,il=8,b=0)
-; VERT: 58 instructions, 0 half, 4 full
+; VERT: 49 instructions, 0 half, 3 full