summaryrefslogtreecommitdiff
path: root/reference/crazy-frag.asm
blob: 5ef02482fa83f313f6c56260409360391ae1c072 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
; options:
; FRAG: new compiler
@in(r0.x)	in0
@in(r0.y)	in1
@out(r1.x)	out0
@out(r1.y)	out1
@out(r1.z)	out2
@out(r1.w)	out3
@const(c0.x)	0x00000000, 0x00000000, 0x00000000, 0x00000000
(sy)(ss)bary.f r0.z, 4, r0.x
bary.f r0.w, 5, r0.x
bary.f r1.x, 7, r0.x
bary.f r1.y, 3, r0.x
bary.f r1.z, 2, r0.x
bary.f r2.x, 1, r0.x
mov.f32f32 r1.w, r1.x
bary.f (ei)r0.x, 0, r0.x
nop
sam.p (f32)(xyz)r0.y, r0.z, s#0, t#0
(sy)mov.f32f32 r2.y, r0.y
mov.f32f32 r2.z, r0.z
mov.f32f32 r2.w, r0.w
mul.f r1.w, r1.w, r1.y
(rpt4)nop
(ss)nop
sam.p (f32)(xyz)r0.y, r2.y, s#0, t#0
(sy)mul.f r1.z, r0.w, r1.z
mul.f r1.y, r0.z, r2.x
mul.f r1.x, r0.y, r0.x
end
nop
nop
nop
; FRAG: outputs: r1.x (1:0)
; FRAG: inputs: r0.z (1:0,cm=f,il=8,b=1) r0.y (5:0,cm=f,il=12,b=1)
; FRAG: 25 instructions, 0 half, 3 full