diff options
author | Rob Clark <robdclark@gmail.com> | 2015-01-23 13:30:58 -0500 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2015-01-23 13:30:58 -0500 |
commit | 053af66b4937816d90491e4019a497f66286ea81 (patch) | |
tree | 3197f2ef0335bdca1f1158165f2d54088b4ea78f /reference | |
parent | 7ce893b6307558b519aab79bba4fa6662fabb206 (diff) |
add relative dest test
Diffstat (limited to 'reference')
-rw-r--r-- | reference/relative-temp/fs-temp-mat3-col-row-wr.asm | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/reference/relative-temp/fs-temp-mat3-col-row-wr.asm b/reference/relative-temp/fs-temp-mat3-col-row-wr.asm new file mode 100644 index 0000000..9486eec --- /dev/null +++ b/reference/relative-temp/fs-temp-mat3-col-row-wr.asm @@ -0,0 +1,207 @@ +; options: +ir3/ir3_cmdline.c:213:reset_variant: error: new compiler failed, trying without copy propagation! +ir3/ir3_cmdline.c:213:reset_variant: error: new compiler failed, trying fallback! + +; FRAG: old compiler +@out(r1.x) out0 +@out(r1.y) out1 +@out(r1.z) out2 +@out(r1.w) out3 +(sy)(ss)mov.f32f32 r2.x, c0.x +mov.f32f32 r2.y, c0.y +mov.f32f32 r2.z, c0.z +mov.f32f32 r2.w, c0.z +mov.f32f32 r3.x, c1.x +mov.f32f32 r3.y, c1.y +mov.f32f32 r3.z, c1.z +mov.f32f32 r3.w, c1.z +mov.f32f32 r4.x, c2.x +mov.f32f32 r4.y, c2.y +mov.f32f32 r4.z, c2.z +mov.f32f32 r4.w, c2.z +cov.f32s16 hr2.x, c6.x +nop +nop +nop +shl.b hr2.x, hr2.x, 2 +nop +nop +nop +mova a0.x, hr2.x +nop +nop +nop +nop +nop +nop +mov.f32f32 r5.x, c<a0.x> +mov.f32f32 r5.y, c<a0.x + 1> +(ul)mov.f32f32 r5.z, c<a0.x + 2> +nop +mov.f32f32 r9.x, c8.x +mov.f32f32 r9.y, c8.x +mov.f32f32 r9.z, c8.x +mov.f32f32 r9.w, c8.x +cmps.f.eq r8.x, r9.x, c5.x +cmps.f.eq r8.y, r9.y, c5.x +cmps.f.eq r8.z, r9.z, c5.x +cmps.f.eq r8.w, r9.w, c5.x +cov.u32f32 r6.x, r8.x +nop +nop +nop +cmps.f.eq p0.x, r6.x, c8.x +br p0.x, #5 +mov.f32f32 r5.x, c7.x +nop +nop +nop +(jp)nop +mov.f32f32 r9.x, c8.y +mov.f32f32 r9.y, c8.y +mov.f32f32 r9.z, c8.y +mov.f32f32 r9.w, c8.y +cmps.f.eq r8.x, r9.x, c5.x +cmps.f.eq r8.y, r9.y, c5.x +cmps.f.eq r8.z, r9.z, c5.x +cmps.f.eq r8.w, r9.w, c5.x +cov.u32f32 r6.x, r8.x +nop +nop +nop +cmps.f.eq p0.x, r6.x, c8.x +br p0.x, #5 +nop +mov.f32f32 r5.y, c7.x +nop +nop +(jp)nop +mov.f32f32 r9.x, c8.z +mov.f32f32 r9.y, c8.z +mov.f32f32 r9.z, c8.z +mov.f32f32 r9.w, c8.z +cmps.f.eq r8.x, r9.x, c5.x +cmps.f.eq r8.y, r9.y, c5.x +cmps.f.eq r8.z, r9.z, c5.x +cmps.f.eq r8.w, r9.w, c5.x +cov.u32f32 r6.x, r8.x +nop +nop +nop +cmps.f.eq p0.x, r6.x, c8.x +br p0.x, #5 +nop +nop +mov.f32f32 r5.z, c7.x +nop +(jp)nop +cov.f32s16 hr2.x, c6.x +nop +nop +nop +shl.b hr2.x, hr2.x, 2 +nop +nop +nop +mova a0.x, hr2.x +nop +nop +nop +nop +nop +nop +mov.f32f32 r<a0.x + 8>, r5.x +mov.f32f32 r<a0.x + 9>, r5.y +(ul)mov.f32f32 r<a0.x + 10>, r5.z +nop +mul.f r5.x, r2.x, c3.x +mul.f r5.y, r2.y, c3.x +mul.f r5.z, r2.z, c3.x +nop +mad.f32 r8.x, c3.y, r3.x, r5.x +mad.f32 r8.y, c3.y, r3.y, r5.y +mad.f32 r8.z, c3.y, r3.z, r5.z +nop +mov.f32f32 r5.x, r8.x +mov.f32f32 r5.y, r8.y +mov.f32f32 r5.z, r8.z +nop +mad.f32 r8.x, c3.z, r4.x, r5.x +mad.f32 r8.y, c3.z, r4.y, r5.y +mad.f32 r8.z, c3.z, r4.z, r5.z +nop +mov.f32f32 r5.x, r8.x +mov.f32f32 r5.y, r8.y +mov.f32f32 r5.z, r8.z +nop +add.f r8.x, r5.x, (neg)c4.x +add.f r8.y, r5.y, (neg)c4.y +add.f r8.z, r5.z, (neg)c4.z +nop +mov.f32f32 r5.x, r8.x +mov.f32f32 r5.y, r8.y +mov.f32f32 r5.z, r8.z +nop +mul.f r7.x, r5.x, r5.x +nop +nop +nop +mad.f32 r8.x, r5.y, r5.y, r7.x +nop +nop +nop +mov.f32f32 r7.x, r8.x +nop +nop +nop +mad.f32 r8.x, r5.z, r5.z, r7.x +nop +nop +nop +mov.f32f32 r5.x, r8.x +nop +nop +nop +cmps.f.ge r9.x, r5.x, c8.w +cmps.f.ge r9.y, r5.x, c8.w +cmps.f.ge r9.z, r5.x, c8.w +cmps.f.ge r9.w, r5.x, c8.w +add.s r9.x, r9.x, -1 +add.s r9.y, r9.y, -1 +add.s r9.z, r9.z, -1 +add.s r9.w, r9.w, -1 +sel.f32 r8.x, c8.x, r9.x, c8.y +nop +nop +nop +mov.f32f32 r5.x, r8.x +nop +nop +nop +cmps.f.eq p0.x, r5.x, c8.x +br p0.x, #6 +mov.f32f32 r5.x, c8.x +mov.f32f32 r5.y, c8.y +mov.f32f32 r5.z, c8.x +mov.f32f32 r5.w, c8.y +jump #6 +(jp)nop +mov.f32f32 r5.x, c8.y +mov.f32f32 r5.y, c8.x +mov.f32f32 r5.z, c8.x +mov.f32f32 r5.w, c8.y +(jp)nop +mov.f32f32 r1.x, r5.x +mov.f32f32 r1.y, r5.y +mov.f32f32 r1.z, r5.z +mov.f32f32 r1.w, r5.w +end +nop +nop +nop +; FRAG: outputs: r1.x (1:0) +; FRAG: inputs: +; FRAG: 189 instructions, 3 half, 10 full +; pos (bary): r0.x +; color: r1.x + |