sim: bfin: import testsuite
[external/binutils.git] / sim / testsuite / sim / bfin / pr.s
1 # mach: bfin
2
3 .include "testutils.inc"
4         start
5
6         loadsym R3, foo;
7         I1 = R3;
8
9         R4 = 0x10
10         R4 = R4 + R3;
11         P0 = R4;
12
13         R4 = 0x14;
14         R4 = R4 + R3;
15         I0 = R4;
16
17         r0 = 0x22;
18         loadsym P1, bar;
19
20         [i0] = r0;
21         [i1] = r0;
22
23 doItAgain:
24
25         p2 = 4;
26         r5=0;
27
28         LSETUP ( lstart , lend) LC0 = P2;
29 lstart:
30
31         MNOP  || R2 = [ I0 ++ ]  || R1 = [ I1 ++ ];
32         CC = R1 == R2;
33         IF CC JUMP lend;
34         R1 = [ P1 + 0x0 ];
35         R1 = R1 + R0;
36         [ P1 + 0x0 ] = R1;
37
38 lend:
39         NOP;
40
41         if !cc jump _halt0;
42         cc = r5 == 0;
43         if !cc jump _halt0;
44
45         r4=1;
46         r5=r5+r4;
47         r1=i0;
48         R4 = 0x24;
49         R4 = R3 + R4
50         CC = R1 == R4
51         if !CC JUMP _fail;
52
53         i2=i0;
54         r2=0x1234;
55         [i2++]=r2;
56         [i2++]=r2;
57         [i2++]=r2;
58         [i2++]=r2;
59         [i2++]=r2;
60         [i2++]=r2;
61         [i2++]=r2;
62         jump doItAgain;
63
64 _halt0:
65         r0=i0;
66         R4 = 0x34;
67         R4 = R4 + R3;
68         CC = R0 == R4;
69         IF !CC JUMP _fail;
70
71         pass;
72
73 _fail:
74         fail;
75
76         .data
77 foo:
78         .space (0x100);
79
80 bar:
81         .space (0x1000);