ld: Move the .note.build-id section to near the start of the memory map.
[binutils-gdb.git] / sim / testsuite / bfin / dsp_a7.s
blob075fbc7f89733c35433cf78f4b47bf38471536ac
1 /* ALU test program.
2 * Test instructions
3 * r7 = +/- (r0,r1);
4 * r7 = -/+ (r0,r1);
5 * r7 = -/- (r0,r1);
6 */
8 # mach: bfin
10 .include "testutils.inc"
11 start
13 // test subtraction
14 R0.L = 0x000f;
15 R0.H = 0x0010;
16 R1.L = 0x000f;
17 R1.H = 0x0010;
18 R7 = 0;
19 ASTAT = R7;
20 R7 = R0 +|- R1;
21 DBGA ( R7.L , 0x0000 );
22 DBGA ( R7.H , 0x0020 );
23 CC = AZ; R7 = CC; DBGA ( R7.L , 0x1 );
24 CC = AN; R7 = CC; DBGA ( R7.L , 0x0 );
25 CC = V; R7 = CC; DBGA ( R7.L , 0x0 );
26 CC = AC0; R7 = CC; DBGA ( R7.L , 0x1 );
28 // test overflow negative on subtraction
29 R0.L = 0x8000;
30 R0.H = 0x0010;
31 R1.L = 0x0001;
32 R1.H = 0x0010;
33 R7 = 0;
34 ASTAT = R7;
35 R7 = R0 +|- R1;
36 DBGA ( R7.L , 0x7fff );
37 DBGA ( R7.H , 0x0020 );
38 CC = AZ; R7 = CC; DBGA ( R7.L , 0x0 );
39 CC = AN; R7 = CC; DBGA ( R7.L , 0x0 );
40 CC = V; R7 = CC; DBGA ( R7.L , 0x1 );
41 CC = AC0; R7 = CC; DBGA ( R7.L , 0x1 );
43 // test saturate negative on subtraction +/-
44 R0.L = 0x8000;
45 R0.H = 0x0010;
46 R1.L = 0x0001;
47 R1.H = 0x0010;
48 R7 = 0;
49 ASTAT = R7;
50 R7 = R0 +|- R1 (S);
51 DBGA ( R7.L , 0x8000 );
52 DBGA ( R7.H , 0x0020 );
53 CC = AZ; R7 = CC; DBGA ( R7.L , 0x0 );
54 CC = AN; R7 = CC; DBGA ( R7.L , 0x1 );
55 CC = V; R7 = CC; DBGA ( R7.L , 0x1 );
56 CC = AC0; R7 = CC; DBGA ( R7.L , 0x1 );
58 // test saturate negative on subtraction -/+
59 R0.L = 0x8000;
60 R0.H = 0x8000;
61 R1.L = 0x0001;
62 R1.H = 0x0001;
63 R7 = 0;
64 ASTAT = R7;
65 R7 = R0 -|+ R1 (S);
66 DBGA ( R7.L , 0x8001 );
67 DBGA ( R7.H , 0x8000 );
68 CC = AZ; R5 = CC; DBGA ( R5.L , 0x0 );
69 CC = AN; R5 = CC; DBGA ( R5.L , 0x1 );
70 CC = V; R5 = CC; DBGA ( R5.L , 0x1 );
71 CC = AC0; R5 = CC; DBGA ( R5.L , 0x0 );
73 // test saturate negative on subtraction -/-
74 R0.L = 0x8000;
75 R0.H = 0x8000;
76 R1.L = 0x0001;
77 R1.H = 0x0001;
78 R7 = 0;
79 ASTAT = R7;
80 R7 = R0 -|- R1 (S);
81 DBGA ( R7.L , 0x8000 );
82 DBGA ( R7.H , 0x8000 );
83 CC = AZ; R7 = CC; DBGA ( R7.L , 0x0 );
84 CC = AN; R7 = CC; DBGA ( R7.L , 0x1 );
85 CC = V; R7 = CC; DBGA ( R7.L , 0x1 );
86 CC = AC0; R7 = CC; DBGA ( R7.L , 0x1 );
88 // test saturate positive on subtraction -/+
89 R0.L = 0x7fff;
90 R0.H = 0x7fff;
91 R1.L = 0xffff;
92 R1.H = 0xffff;
93 R7 = 0;
94 ASTAT = R7;
95 R7 = R0 -|+ R1 (S);
96 DBGA ( R7.L , 0x7ffe );
97 DBGA ( R7.H , 0x7fff );
98 CC = AZ; R7 = CC; DBGA ( R7.L , 0x0 );
99 CC = AN; R7 = CC; DBGA ( R7.L , 0x0 );
100 CC = V; R7 = CC; DBGA ( R7.L , 0x1 );
101 CC = AC0; R7 = CC; DBGA ( R7.L , 0x1 );
103 pass