summaryrefslogtreecommitdiff
path: root/reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-101.asm
diff options
context:
space:
mode:
Diffstat (limited to 'reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-101.asm')
-rw-r--r--reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-101.asm63
1 files changed, 25 insertions, 38 deletions
diff --git a/reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-101.asm b/reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-101.asm
index 7fd0d8e..85a697c 100644
--- a/reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-101.asm
+++ b/reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-101.asm
@@ -2,48 +2,38 @@
; FRAG: new compiler
@in(r0.z) in2
@in(r0.w) in3
-@out(r1.x) out0
-@out(r1.y) out1
-@out(r1.z) out2
-@out(r1.w) out3
+@out(r2.x) out0
+@out(r2.y) out1
+@out(r2.z) out2
+@out(r2.w) out3
+@const(c4.x) 0x3f000000, 0x00000000, 0x3f800000, 0x3fb8aa65
+@const(c5.x) 0x00000000, 0x3f800000, 0x43000000, 0x00000000
(sy)(ss)add.f r0.x, r0.w, c4.y
-mov.f32f32 r0.y, c0.w
-absneg.f r0.w, (neg)c2.x
+absneg.f r0.y, (neg)c2.x
+mov.f32f32 r2.w, c0.w
add.f r0.z, r0.z, c4.y
(rpt2)nop
rcp r0.x, r0.x
(ss)mul.f r0.x, r0.z, r0.x
-mov.f32f32 r1.w, r0.y
-mul.f r0.y, r0.w, c2.x
-nop
-mov.f32f32 r0.x, r0.x
+mul.f r0.y, r0.y, c2.x
(rpt2)nop
mul.f r0.y, r0.y, r0.x
-(rpt2)nop
-mov.f32f32 r0.y, r0.y
+mov.f32f32 r0.x, r0.x
(rpt2)nop
mul.f r0.x, r0.y, r0.x
(rpt2)nop
-mov.f32f32 r0.x, r0.x
-(rpt2)nop
mul.f r0.x, r0.x, c4.w
-(rpt2)nop
-mov.f32f32 r0.x, r0.x
(rpt5)nop
exp2 r0.x, r0.x
-(ss)mov.f32f32 r0.x, r0.x
-(rpt2)nop
-add.f r0.y, c5.y, (neg)r0.x
-mul.f r0.x, r0.x, c4.z
+(ss)mov.f32f32 r0.y, r0.x
+(ss)mul.f r0.x, r0.x, c4.z
(rpt1)nop
+add.f r0.y, c5.y, (neg)r0.y
+(rpt2)nop
mul.f r0.y, r0.y, c2.y
(rpt2)nop
add.f r0.x, r0.x, r0.y
(rpt2)nop
-mov.f32f32 r0.x, r0.x
-(rpt2)nop
-mov.f32f32 r0.x, r0.x
-(rpt2)nop
max.f r0.x, r0.x, c4.y
(rpt2)nop
min.f r0.x, r0.x, c4.z
@@ -51,25 +41,22 @@ min.f r0.x, r0.x, c4.z
add.f r0.y, c5.y, (neg)r0.x
add.f r0.z, c5.y, (neg)r0.x
add.f r0.w, c5.y, (neg)r0.x
-mul.f r2.x, r0.x, c0.z
+mul.f r1.x, r0.x, c0.z
mul.f r0.y, r0.y, c1.z
mul.f r0.z, r0.z, c1.y
mul.f r0.w, r0.w, c1.x
-mul.f r2.y, r0.x, c0.y
-add.f r0.y, r2.x, r0.y
+nop
+add.f r2.z, r1.x, r0.y
+mul.f r0.y, r0.x, c0.y
mul.f r0.x, r0.x, c0.x
(rpt1)nop
-mov.f32f32 r1.z, r0.y
-add.f r0.y, r2.y, r0.z
-add.f r0.x, r0.x, r0.w
-(rpt1)nop
-mov.f32f32 r1.y, r0.y
-mov.f32f32 r1.x, r0.x
+add.f r2.y, r0.y, r0.z
+add.f r2.x, r0.x, r0.w
end
-; FRAG: outputs: r1.x (1:0)
+nop
+nop
+nop
+; FRAG: outputs: r2.x (1:0)
; FRAG: inputs: r0.x (0:0,cm=f,il=8,b=0)
-; FRAG: 96 instructions, 0 half, 3 full
-; pos (bary): r1.x
-; color: r1.x
-; fragcoord: r0.x
+; FRAG: 70 instructions, 0 half, 3 full