Commit | Line | Data |
---|---|---|
c83c4371 JE |
1 | // A larger dual-mode test, from the programmer's reference manual. |
2 | // This uses Intel syntax, as in the manual. | |
3 | ||
4 | // Single-precision vector sum | |
5 | fld.d r0(r16),f20 | |
6 | mov -2,r21 | |
7 | d.pfadd.ss f0,f0,f0 | |
8 | adds -6,r17,r17 | |
9 | d.pfadd.ss f0,f0,f0 | |
10 | bla r21,r17,L1 | |
11 | d.pfadd.ss f0,f0,f0 | |
12 | fld.d 8(r16)++,f22 | |
13 | L1: | |
14 | d.pfadd.ss f20,f30,f30 | |
15 | bla r21,r17,L2 | |
16 | d.pfadd.ss f21,f31,f31 | |
17 | fld.d 8(r16)++,f20 | |
18 | d.pfadd.ss f20,f30,f30 | |
19 | br S | |
20 | d.pfadd.ss f21,f31,f31 | |
21 | nop | |
22 | L2: | |
23 | d.pfadd.ss f22,f30,f30 | |
24 | bla r21,r17,L1 | |
25 | d.pfadd.ss f23,f31,f31 | |
26 | fld.d 8(r16)++,f22 | |
27 | d.pfadd.ss f20,f30,f30 | |
28 | nop | |
29 | d.pfadd.ss f21,f31,f31 | |
30 | nop | |
31 | S: | |
32 | pfadd.ss f22,f30,f30 | |
33 | mov -4,r21 | |
34 | pfadd.ss f23,f31,f31 | |
35 | bte r21,r17,DONE | |
36 | fld.l 8(r16)++,f20 | |
37 | pfadd.ss f20,f30,f30 | |
38 | DONE: | |
39 | pfadd.ss f0,f0,f30 | |
40 | pfadd.ss f30,f31,f31 | |
41 | pfadd.ss f0,f0,f30 | |
42 | pfadd.ss f0,f0,f0 | |
43 | pfadd.ss f0,f0,f31 | |
44 | fadd.ss f30,f31,f16 | |
45 | ||
46 |