summaryrefslogtreecommitdiff
path: root/reference/simple-if.asm
blob: eb97ce7a054489a428b42e135b40cc0d20a6b884 (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
; options:
; VERT: new compiler
@in(r0.x)	in0
@in(r0.y)	in1
@in(r0.z)	in2
@in(r0.w)	in4
@in(r1.x)	in5
@in(r1.y)	in6
@in(r1.z)	in7
@out(r0.x)	out0
@out(r0.y)	out1
@out(r0.z)	out2
@out(r0.w)	out3
@const(c10.x)	0x00000000, 0x00000000, 0x00000000, 0x00000000
(sy)(ss)mul.f r1.w, c4.z, r0.z
mul.f r0.z, c4.z, r0.z
mul.f r0.y, c4.y, r0.y
mul.f r0.x, c4.x, r0.x
add.f r1.z, r1.w, r1.z
add.f r1.y, r0.z, r1.y
add.f r1.x, r0.y, r1.x
cmps.f.ne r2.x, r0.x, c10.x
add.f r2.y, r0.x, r0.w
(rpt1)nop
sel.b32 r0.w, r1.z, r2.x, r1.w
sel.b32 r0.z, r1.y, r2.x, r0.z
sel.b32 r0.y, r1.x, r2.x, r0.y
sel.b32 r0.x, r2.y, r2.x, r0.x
end
nop
; VERT: outputs: r0.x (0:0)
; VERT: inputs: r0.x (0:0,cm=7,il=8,b=0) r0.w (0:0,cm=f,il=12,b=0)
; VERT: 16 instructions, 0 half, 3 full