sim: bfin: import testsuite
[deliverable/binutils-gdb.git] / sim / testsuite / sim / bfin / m1.S
1 // MAC test program.
2 // Test for positive and negative saturation using
3 // SIGNED FRACTIONAL mode.
4 # mach: bfin
5
6 #include "test.h"
7 .include "testutils.inc"
8 start
9
10 init_r_regs 0;
11 ASTAT = R0;
12
13 // load r0=0x00007fff
14 // load r1=0x00007fff
15 loadsym p0, data0
16 R0 = [ P0 ++ ];
17 R1 = [ P0 ++ ];
18
19 R5 = 0;
20 R4 = 0;
21 BITSET( R4 , 9 );
22 A1 = A0 = 0;
23
24 LOOP1:
25 A1 -= R0.L * R1.L, A0 += R0.L * R1.L;
26 //_DBG a1;
27 //_DBG a0;
28 R4 += -1;
29 CC = R4 == R5;
30 IF !CC JUMP LOOP1;
31 R3 = ASTAT;
32 CHECKREG R3, (_AV1S|_AV1|_AV0S|_AV0|_AC0|_AC0_COPY|_CC|_AZ);
33
34 _DBG A1;
35 _DBG A0;
36
37 R6 = A1.w;
38 _DBG ASTAT;
39 R7.L = A1.x;
40 R3 = ASTAT;
41 _DBG r3;
42 CHECKREG R3, (_AV1S|_AV1|_AV0S|_AV0|_AC0|_AC0_COPY|_CC|_AZ);
43
44 CHECKREG R6, 0;
45 CHECKREG R7, 0x0000FF80;
46 R6 = A0.w;
47 R7.L = A0.x;
48 CHECKREG R6, 0xffffffff;
49 CHECKREG R7, 0x7f;
50
51 pass
52
53 .data 0x1000;
54 data0:
55 .dw 0x7fff
56 .dw 0x0000
57 .dw 0x7fff
58 .dw 0x0000
This page took 0.040382 seconds and 4 git commands to generate.