1//Original:/testcases/core/c_dsp32alu_disalnexcpt/c_dsp32alu_disalnexcpt.dsp
2// Spec Reference: c_dsp32alu_disalgnexcpt
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8	INIT_R_REGS 0;
9
10	loadsym P0, DATA1;
11	P0 += 1; I0 = P0;
12	loadsym P0, DATA2;
13	P0 += 1; I1 = P0;
14	loadsym P0, DATA3;
15	P0 += 1; I2 = P0;
16	loadsym P0, DATA4;
17	P0 += 1; I3 = P0;
18
19	DISALGNEXCPT || NOP || R0 = [ I0 ++ ];
20	DISALGNEXCPT || NOP || R1 = [ I1 ++ ];
21	DISALGNEXCPT || NOP || R2 = [ I2 ++ ];
22	DISALGNEXCPT || NOP || R3 = [ I3 ++ ];
23	DISALGNEXCPT || NOP || R4 = [ I0 ++ ];
24	DISALGNEXCPT || NOP || R5 = [ I1 ++ ];
25	DISALGNEXCPT || NOP || R6 = [ I2 ++ ];
26	DISALGNEXCPT || NOP || R7 = [ I3 ++ ];
27	CHECKREG r0, 0x00010203;
28	CHECKREG r1, 0x20212223;
29	CHECKREG r2, 0x40414243;
30	CHECKREG r3, 0x60616263;
31	CHECKREG r4, 0x04050607;
32	CHECKREG r5, 0x24252627;
33	CHECKREG r6, 0x44454647;
34	CHECKREG r7, 0x64656667;
35
36// reverse to minus mninus i--
37	DISALGNEXCPT || NOP || R0 = [ I0 -- ];
38	DISALGNEXCPT || NOP || R1 = [ I1 -- ];
39	DISALGNEXCPT || NOP || R2 = [ I2 -- ];
40	DISALGNEXCPT || NOP || R3 = [ I3 -- ];
41	DISALGNEXCPT || NOP || R4 = [ I0 -- ];
42	DISALGNEXCPT || NOP || R5 = [ I1 -- ];
43	DISALGNEXCPT || NOP || R6 = [ I2 -- ];
44	DISALGNEXCPT || NOP || R7 = [ I3 -- ];
45	CHECKREG r0, 0x08090A0B;
46	CHECKREG r1, 0x28292A2B;
47	CHECKREG r2, 0x48494A4B;
48	CHECKREG r3, 0x68696A6B;
49	CHECKREG r4, 0x04050607;
50	CHECKREG r5, 0x24252627;
51	CHECKREG r6, 0x44454647;
52	CHECKREG r7, 0x64656667;
53
54	pass
55
56// Pre-load memory with known data
57// More data is defined than will actually be used
58
59	.data
60DATA1:
61	.dd 0x00010203
62	.dd 0x04050607
63	.dd 0x08090A0B
64	.dd 0x0C0D0E0F
65	.dd 0x10111213
66	.dd 0x14151617
67	.dd 0x18191A1B
68	.dd 0x1C1D1E1F
69	.dd 0x11223344
70	.dd 0x55667788
71	.dd 0x99717273
72	.dd 0x74757677
73	.dd 0x82838485
74	.dd 0x86878889
75	.dd 0x80818283
76	.dd 0x84858687
77	.dd 0x01020304
78	.dd 0x05060708
79	.dd 0x09101112
80	.dd 0x14151617
81	.dd 0x18192021
82	.dd 0x22232425
83	.dd 0x26272829
84	.dd 0x30313233
85	.dd 0x34353637
86	.dd 0x38394041
87	.dd 0x42434445
88	.dd 0x46474849
89	.dd 0x50515253
90	.dd 0x54555657
91	.dd 0x58596061
92	.dd 0x62636465
93	.dd 0x66676869
94
95DATA2:
96	.dd 0x20212223
97	.dd 0x24252627
98	.dd 0x28292A2B
99	.dd 0x2C2D2E2F
100	.dd 0x30313233
101	.dd 0x34353637
102	.dd 0x38393A3B
103	.dd 0x3C3D3E3F
104	.dd 0x91929394
105	.dd 0x95969798
106	.dd 0x99A1A2A3
107	.dd 0xA5A6A7A8
108	.dd 0xA9B0B1B2
109	.dd 0xB3B4B5B6
110	.dd 0xB7B8B9C0
111	.dd 0x70717273
112	.dd 0x74757677
113	.dd 0x78798081
114	.dd 0x82838485
115	.dd 0x86C283C4
116	.dd 0x81C283C4
117	.dd 0x82C283C4
118	.dd 0x83C283C4
119	.dd 0x84C283C4
120	.dd 0x85C283C4
121	.dd 0x86C283C4
122	.dd 0x87C288C4
123	.dd 0x88C283C4
124	.dd 0x89C283C4
125	.dd 0x80C283C4
126	.dd 0x81C283C4
127	.dd 0x82C288C4
128
129DATA3:
130	.dd 0x40414243
131	.dd 0x44454647
132	.dd 0x48494A4B
133	.dd 0x4C4D4E4F
134	.dd 0x50515253
135	.dd 0x54555657
136	.dd 0x58595A5B
137	.dd 0xC5C6C7C8
138	.dd 0xC9CACBCD
139	.dd 0xCFD0D1D2
140	.dd 0xD3D4D5D6
141	.dd 0xD7D8D9DA
142	.dd 0xDBDCDDDE
143	.dd 0xDFE0E1E2
144	.dd 0xE3E4E5E6
145	.dd 0x91E899EA
146	.dd 0x92E899EA
147	.dd 0x93E899EA
148	.dd 0x94E899EA
149	.dd 0x95E899EA
150	.dd 0x96E899EA
151	.dd 0x97E899EA
152	.dd 0x98E899EA
153	.dd 0x99E899EA
154	.dd 0x91E899EA
155	.dd 0x92E899EA
156	.dd 0x93E899EA
157	.dd 0x94E899EA
158	.dd 0x95E899EA
159	.dd 0x96E899EA
160	.dd 0x977899EA
161
162DATA4:
163	.dd 0x60616263
164	.dd 0x64656667
165	.dd 0x68696A6B
166	.dd 0x6C6D6E6F
167	.dd 0x70717273
168	.dd 0x74757677
169	.dd 0x78797A7B
170	.dd 0x7C7D7E7F
171	.dd 0xEBECEDEE
172	.dd 0xF3F4F5F6
173	.dd 0xF7F8F9FA
174	.dd 0xFBFCFDFE
175	.dd 0xFF000102
176	.dd 0x03040506
177	.dd 0x0708090A
178	.dd 0x0B0CAD0E
179	.dd 0xAB0CAD01
180	.dd 0xAB0CAD02
181	.dd 0xAB0CAD03
182	.dd 0xAB0CAD04
183	.dd 0xAB0CAD05
184	.dd 0xAB0CAD06
185	.dd 0xAB0CAA07
186	.dd 0xAB0CAD08
187	.dd 0xAB0CAD09
188	.dd 0xAB0CAD0E
189	.dd 0xAB0CAD0E
190	.dd 0xAB0CAD0E
191	.dd 0xAB0CAD0E
192	.dd 0xAB0CAD0E
193	.dd 0xAB0CAD0E
194	.dd 0xAB0CAD0E
195
196DATA5:
197	.dd 0x80818283
198	.dd 0x84858687
199	.dd 0x88898A8B
200	.dd 0x8C8D8E8F
201	.dd 0x90919293
202	.dd 0x94959697
203	.dd 0x98999A9B
204	.dd 0x9C9D9E9F
205	.dd 0x0F101213
206	.dd 0x14151617
207	.dd 0x18191A1B
208	.dd 0x1C1D1E1F
209	.dd 0x20212223
210	.dd 0x24252627
211	.dd 0x28292A2B
212	.dd 0x2C2D2E2F
213	.dd 0xBC0DBE21
214	.dd 0xBC1DBE22
215	.dd 0xBC2DBE23
216	.dd 0xBC3DBE24
217	.dd 0xBC4DBE65
218	.dd 0xBC5DBE27
219	.dd 0xBC6DBE28
220	.dd 0xBC7DBE29
221	.dd 0xBC8DBE2F
222	.dd 0xBC9DBE20
223	.dd 0xBCADBE21
224	.dd 0xBCBDBE2F
225	.dd 0xBCCDBE23
226	.dd 0xBCDDBE24
227	.dd 0xBCFDBE25
228	.dd 0xBC0DBE26
229
230DATA6:
231	.dd 0xA0A1A2A3
232	.dd 0xA4A5A6A7
233	.dd 0xA8A9AAAB
234	.dd 0xACADAEAF
235	.dd 0xB0B1B2B3
236	.dd 0xB4B5B6B7
237	.dd 0xB8B9BABB
238	.dd 0xBCBDBEBF
239
240	.dd 0xC0C1C2C3
241	.dd 0xC4C5C6C7
242	.dd 0xC8C9CACB
243	.dd 0xCCCDCECF
244	.dd 0xD0D1D2D3
245	.dd 0xD4D5D6D7
246	.dd 0xD8D9DADB
247	.dd 0xDCDDDEDF
248	.dd 0xE0E1E2E3
249	.dd 0xE4E5E6E7
250	.dd 0xE8E9EAEB
251	.dd 0xECEDEEEF
252	.dd 0xF0F1F2F3
253	.dd 0xF4F5F6F7
254	.dd 0xF8F9FAFB
255	.dd 0xFCFDFEFF
256