sim: bfin: unify se_all helpers more
[deliverable/binutils-gdb.git] / sim / testsuite / sim / bfin / dsp_a8.s
CommitLineData
1d7b4a70
MF
1/* ALU test program.
2 * Test instructions
3 * (r7,r6) = +/- (r0,r1);
4 * (r7,r6) = +/- (r0,r1)s;
5 */
6# mach: bfin
7
8.include "testutils.inc"
9 start
10
11
12// test positive overflow
13 R0.L = 0xffff;
14 R0.H = 0x7fff;
15 R1.L = 0x0001;
16 R1.H = 0x0000;
17 R7 = 0;
18 ASTAT = R7;
19 R6 = R0 + R1, R7 = R0 - R1 (NS);
20 DBGA ( R6.L , 0x0000 );
21 DBGA ( R6.H , 0x8000 );
22 DBGA ( R7.L , 0xfffe );
23 DBGA ( R7.H , 0x7fff );
24 CC = AZ; R7 = CC; DBGA ( R7.L , 0x0 );
25 CC = AN; R7 = CC; DBGA ( R7.L , 0x1 );
26 CC = V; R7 = CC; DBGA ( R7.L , 0x1 );
27 CC = AC0; R7 = CC; DBGA ( R7.L , 0x1 );
28
29// test positive overflow
30 R0.L = 0xffff;
31 R0.H = 0x7fff;
32 R1.L = 0x0001;
33 R1.H = 0x0000;
34 R7 = 0;
35 ASTAT = R7;
36 R7 = R0 + R1, R6 = R0 - R1 (NS);
37 DBGA ( R6.L , 0xfffe );
38 DBGA ( R6.H , 0x7fff );
39 DBGA ( R7.L , 0x0000 );
40 DBGA ( R7.H , 0x8000 );
41 CC = AZ; R7 = CC; DBGA ( R7.L , 0x0 );
42 CC = AN; R7 = CC; DBGA ( R7.L , 0x1 );
43 CC = V; R7 = CC; DBGA ( R7.L , 0x1 );
44 CC = AC0; R7 = CC; DBGA ( R7.L , 0x1 );
45
46// test positive sat
47 R0.L = 0xffff;
48 R0.H = 0x7fff;
49 R1.L = 0x0001;
50 R1.H = 0x0000;
51 R7 = 0;
52 ASTAT = R7;
53 R6 = R0 + R1, R7 = R0 - R1 (S);
54 DBGA ( R6.L , 0xffff );
55 DBGA ( R6.H , 0x7fff );
56 DBGA ( R7.L , 0xfffe );
57 DBGA ( R7.H , 0x7fff );
58 CC = AZ; R7 = CC; DBGA ( R7.L , 0x0 );
59 CC = AN; R7 = CC; DBGA ( R7.L , 0x0 );
60 CC = V; R7 = CC; DBGA ( R7.L , 0x1 );
61 CC = AC0; R7 = CC; DBGA ( R7.L , 0x1 );
62
63// test positive sat
64 R0.L = 0xffff;
65 R0.H = 0x7fff;
66 R1.L = 0x0001;
67 R1.H = 0x0000;
68 R7 = 0;
69 ASTAT = R7;
70 R7 = R0 + R1, R6 = R0 - R1 (S);
71 DBGA ( R6.L , 0xfffe );
72 DBGA ( R6.H , 0x7fff );
73 DBGA ( R7.L , 0xffff );
74 DBGA ( R7.H , 0x7fff );
75 CC = AZ; R7 = CC; DBGA ( R7.L , 0x0 );
76 CC = AN; R7 = CC; DBGA ( R7.L , 0x0 );
77 CC = V; R7 = CC; DBGA ( R7.L , 0x1 );
78 CC = AC0; R7 = CC; DBGA ( R7.L , 0x1 );
79
80 pass
This page took 0.056245 seconds and 4 git commands to generate.