summaryrefslogtreecommitdiff
path: root/reference/xonotic/xonotic14.asm
blob: 19481895d5d83e8ec37ebe7525e70bba1c239703 (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
; 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(c6.x)	0x40800000, 0x3f800000, 0x00000000, 0x00000000
(sy)(ss)bary.f r0.z, 0, r0.x
bary.f r0.w, 1, r0.x
bary.f r1.x, 3, r0.x
bary.f r1.y, 4, r0.x
bary.f r1.z, 5, r0.x
bary.f (ei)r1.w, 7, r0.x
mov.f32f32 r0.x, c5.w
(rpt1)nop
sam.p (f32)(xyzw)r0.y, r0.z, s#1, t#1
(sy)(ss)mul.f r0.w, r0.w, c5.z
mul.f r0.z, r0.z, c5.y
mul.f r0.y, r0.y, c5.x
sam.p (f32)(xyzw)r1.x, r1.y, s#0, t#0
(sy)mul.f r0.x, r1.w, r0.x
mul.f r0.w, r1.z, r0.w
mul.f r0.z, r1.y, r0.z
mul.f r0.y, r1.x, r0.y
mul.f r0.x, r0.x, c6.y
mul.f r0.w, r0.w, c6.x
mul.f r0.z, r0.z, c6.x
mul.f r0.y, r0.y, c6.x
max.f r0.x, r0.x, c6.z
max.f r0.w, r0.w, c6.z
max.f r0.z, r0.z, c6.z
max.f r0.y, r0.y, c6.z
(ss)min.f r1.w, r0.x, c6.y
min.f r1.z, r0.w, c6.y
min.f r1.y, r0.z, c6.y
min.f r1.x, r0.y, c6.y
end
nop
nop
; FRAG: outputs: r1.x (1:0)
; FRAG: inputs: r0.y (5:0,cm=f,il=8,b=1) r1.x (5:1,cm=f,il=12,b=1)
; FRAG: 31 instructions, 0 half, 2 full