summaryrefslogtreecommitdiff
path: root/reference/glmark2.asm
blob: 6f1a27b983677de63ffd3a0ff9c521f8f37b120d (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
; 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(c3.x)	0x3d4ccccd, 0x3d2acd9f, 0x3ccccccd, 0x3caa64c3
@const(c4.x)	0x40000000, 0xbe99999a, 0x00000000, 0x00000000
@const(c5.x)	0x00000000, 0x3f800000, 0x43000000, 0x00000000
(sy)(ss)bary.f r0.z, 12, r0.x
bary.f r0.w, 2, r0.x
bary.f r1.x, 1, r0.x
bary.f r1.y, 0, r0.x
bary.f r1.z, 4, r0.x
bary.f r1.w, 5, r0.x
bary.f r2.x, 11, r0.x
log2 r0.z, r0.z
(ss)mul.f r0.z, c4.x, r0.z
add.f r0.w, r0.w, (neg)r1.x
mul.f r1.x, r1.y, c3.y
bary.f r1.y, 8, r0.x
bary.f r2.y, 10, r0.x
sam (f32)(xyzw)r2.z, r1.z, s#0, t#0
mul.f r0.w, r0.w, c3.w
(ss)mov.f32f32 r1.z, c3.z
exp2 r0.z, r0.z
(sy)(ss)add.f r0.z, r3.y, r0.z
mov.f32f32 r3.y, c3.x
add.f r1.y, r2.x, r1.y
mad.f32 r3.w, c2.x, r1.z, r0.w
add.f r1.w, r0.z, c4.y
mad.f32 r3.z, c2.x, r3.y, r1.x
bary.f r0.z, 7, r0.x
bary.f r0.w, 9, r0.x
bary.f (ei)r0.x, 6, r0.x
(rpt2)nop
sam (f32)(xyz)r3.y, r3.z, s#1, t#1
(sy)add.f r0.y, r1.y, r3.w
add.f r0.z, r2.y, r0.z
add.f r0.x, r0.w, r0.x
nop
mul.f r1.z, r0.y, r3.x
add.f r0.y, r0.z, r3.z
add.f r0.x, r0.x, r3.y
(rpt1)nop
mul.f r1.y, r0.y, r2.w
mul.f r1.x, r0.x, r2.z
end
nop
; FRAG: outputs: r1.x (1:0)
; FRAG: inputs: r0.x (5:20,cm=f,il=8,b=1) r63.w (5:21,cm=f,il=12,b=1) r1.y (5:22,cm=f,il=16,b=1) r3.x (5:23,cm=f,il=20,b=1)
; FRAG: 42 instructions, 0 half, 4 full