sim: bfin: import testsuite
[external/binutils.git] / sim / testsuite / sim / bfin / c_cactrl_iflush_pr.s
1 //Original:/proj/frio/dv/testcases/core/c_cactrl_iflush_pr/c_cactrl_iflush_pr.dsp
2 // Spec Reference: c_cactrl iflush_pr
3 # mach: bfin
4
5 .include "testutils.inc"
6         start
7
8 // initial values
9 //p1=0x448;
10 //imm32 p1, CODE_ADDR_1;
11         loadsym p1, SUBR1;
12 // set all regs
13
14         imm32 r0, 0x13545abd;
15         imm32 r1, 0xadbcfec7;
16         imm32 r2, 0xa1245679;
17         imm32 r3, 0x00060007;
18         imm32 r4, 0xefbc4569;
19         imm32 r5, 0x1235000b;
20         imm32 r6, 0x000c000d;
21         imm32 r7, 0x678e000f;
22 // The result accumulated in A0 and A1, and stored to a reg half
23         R2.H = ( A1 = R1.L * R0.H ), A0 = R1.H * R0.L;
24         R3.H = A1 , A0 = R7.H * R6.L (T);
25 // begin of iflush
26         IFLUSH [ P1 ];  // p1 = 0xf00
27         R7 = 0;
28         ASTAT = R7;
29         IF !CC JUMP SUBR1;
30 JBACK:
31         R6 = 0;
32
33 //r4  = (a1 = l*h) M,  a0  = h*l  (r3,r2);
34 //r5     a1 = l*h, =  (a0  = h*l) (r1,r0) IS;
35         CHECKREG r2, 0xFFD15679;
36         CHECKREG r3, 0xFFD00007;
37         CHECKREG r4, 0x00074569;
38         CHECKREG r5, 0x12358000;
39
40         pass
41
42 //.code 0x448
43 //.code CODE_ADDR_1
44 SUBR1:
45         R4.H = ( A1 = R3.L * R2.H ) (M), A0 = R3.H * R2.L;
46         A1 = R1.L * R0.H, R5.L = ( A0 = R1.H * R0.L ) (ISS2);
47         IF !CC JUMP JBACK;
48         NOP;    NOP; NOP; NOP; NOP;
49
50 // Pre-load memory with known data
51 // More data is defined than will actually be used
52
53         .data
54 DATA_ADDR_1:
55         .dd 0x00010203
56         .dd 0x04050607
57         .dd 0x08090A0B
58         .dd 0x0C0D0E0F
59         .dd 0x10111213
60         .dd 0x14151617
61         .dd 0x18191A1B
62         .dd 0x1C1D1E1F
63
64 DATA_ADDR_2:
65         .dd 0x20212223
66         .dd 0x24252627
67         .dd 0x28292A2B
68         .dd 0x2C2D2E2F
69         .dd 0x30313233
70         .dd 0x34353637
71         .dd 0x38393A3B
72         .dd 0x3C3D3E3F
73
74 DATA_ADDR_3:
75         .dd 0x40414243
76         .dd 0x44454647
77         .dd 0x48494A4B
78         .dd 0x4C4D4E4F
79         .dd 0x50515253
80         .dd 0x54555657
81         .dd 0x58595A5B
82         .dd 0x5C5D5E5F
83
84 DATA_ADDR_4:
85         .dd 0x60616263
86         .dd 0x64656667
87         .dd 0x68696A6B
88         .dd 0x6C6D6E6F
89         .dd 0x70717273
90         .dd 0x74757677
91         .dd 0x78797A7B
92         .dd 0x7C7D7E7F
93
94 DATA_ADDR_5:
95         .dd 0x80818283
96         .dd 0x84858687
97         .dd 0x88898A8B
98         .dd 0x8C8D8E8F
99         .dd 0x90919293
100         .dd 0x94959697
101         .dd 0x98999A9B
102         .dd 0x9C9D9E9F