summaryrefslogtreecommitdiff
path: root/reference/bump/bump-13.asm
blob: 3ae555a969d47a524df2f1ef357fee77f75538bc (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
; 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)	0x3a83126f, 0x00000000, 0x41500000, 0x42c80000
@const(c1.x)	0x3f4ccccd, 0x3f800000, 0x3f2aacda, 0x3eaaa64c
@const(c2.x)	0x3e23d70a, 0x3f800000, 0x3ed0ff97, 0x3f510625
@const(c3.x)	0x3dcccccd, 0x3f800000, 0x00000000, 0x00000000
@const(c4.x)	0x00000000, 0x3f800000, 0x43000000, 0x00000000
(sy)(ss)bary.f r0.z, 0, r0.x
bary.f r0.w, 1, r0.x
bary.f r1.x, 8, r0.x
bary.f r1.y, 5, r0.x
add.f r1.z, r0.z, c0.x
add.f r1.w, r0.w, c0.y
add.f r2.x, r0.z, c0.y
add.f r2.y, r0.w, c0.x
sam (f32)(x)r2.z, r0.z, s#0, t#0
(ss)bary.f r0.z, 2, r0.x
bary.f r0.w, 9, r0.x
bary.f r2.w, 6, r0.x
bary.f r3.x, 3, r0.x
sam (f32)(x)r3.y, r1.z, s#0, t#0
(sy)(ss)add.f r1.z, r3.y, (neg)r2.z
bary.f r1.w, 10, r0.x
bary.f r3.y, 7, r0.x
sam (f32)(x)r3.z, r2.x, s#0, t#0
(sy)(ss)add.f r2.x, r3.z, (neg)r2.z
mul.f r1.z, c0.z, r1.z
bary.f (ei)r0.x, 4, r0.x
(rpt1)nop
mov.f32f32 r0.y, r1.z
mul.f r1.z, r1.z, r3.y
mul.f r2.x, c0.z, r2.x
nop
mul.f r1.y, r0.y, r1.y
mul.f r0.y, r0.y, r2.w
add.f r0.x, r0.x, (neg)r1.z
mul.f r1.z, r2.x, r1.w
add.f r0.z, r0.z, (neg)r1.y
mov.f32f32 r1.y, r2.x
add.f r0.y, r3.x, (neg)r0.y
add.f r0.x, r0.x, (neg)r1.z
nop
mul.f r1.x, r1.y, r1.x
mul.f r0.w, r1.y, r0.w
mov.f32f32 r1.y, r0.x
nop
add.f r0.z, r0.z, (neg)r1.x
add.f r0.y, r0.y, (neg)r0.w
(rpt1)nop
mov.f32f32 r0.w, r0.z
mov.f32f32 r1.x, r0.y
(rpt1)nop
mul.f r0.z, r0.z, r0.w
nop
mad.f32 r0.y, r0.y, r1.x, r0.z
nop
mad.f32 r0.y, r1.y, r1.y, r0.y
(rpt5)nop
rsq r0.y, r0.y
(ss)mov.f32f32 r0.z, r0.y
mul.f r0.x, r0.x, r0.y
(rpt1)nop
(ss)mul.f r0.y, r0.w, r0.z
mul.f r0.z, r1.x, r0.z
mov.f32f32 r0.w, r0.x
nop
mov.f32f32 r1.x, r0.y
mul.f r0.y, r0.y, c1.z
mov.f32f32 r1.y, r0.z
nop
mul.f r1.x, r1.x, c2.z
mad.f32 r0.y, c1.z, r0.z, r0.y
mad.f32 r0.z, c2.z, r1.y, r1.x
mad.f32 r0.x, c1.w, r0.x, r0.y
mad.f32 r0.y, c2.w, r0.w, r0.z
(rpt2)nop
max.f r0.y, r0.y, c0.y
max.f r0.x, r0.x, c0.y
(rpt4)nop
log2 r0.y, r0.y
(ss)mul.f r0.y, c0.w, r0.y
mov.f32f32 r0.z, r0.x
(rpt4)nop
exp2 r0.y, r0.y
(ss)mad.f32 r0.w, c2.y, r0.y, c3.y
mad.f32 r1.x, c2.x, r0.y, c3.x
mad.f32 r1.w, c1.y, r0.z, r0.w
mad.f32 r1.z, c1.x, r0.z, r1.x
mad.f32 r0.w, c2.x, r0.y, c3.x
(ss)mad.f32 r0.y, c2.x, r0.y, c3.x
mad.f32 r1.y, c1.x, r0.z, r0.w
mad.f32 r1.x, c1.x, r0.x, r0.y
end
nop
nop
; FRAG: outputs: r1.x (1:0)
; FRAG: inputs: r2.y (5:20,cm=f,il=8,b=1) r2.z (5:21,cm=f,il=12,b=1) r2.x (5:22,cm=f,il=16,b=1)
; FRAG: 105 instructions, 0 half, 4 full