Commit | Line | Data |
---|---|---|
6f2750fe | 1 | # Copyright (C) 2012-2016 Free Software Foundation, Inc. |
5bf135a7 NC |
2 | |
3 | # This program is free software; you can redistribute it and/or modify | |
4 | # it under the terms of the GNU General Public License as published by | |
5 | # the Free Software Foundation; either version 3 of the License, or | |
6 | # (at your option) any later version. | |
7 | # | |
8 | # This program is distributed in the hope that it will be useful, | |
9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | # GNU General Public License for more details. | |
12 | # | |
13 | # You should have received a copy of the GNU General Public License | |
14 | # along with this program; if not, write to the Free Software | |
15 | # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. | |
16 | ||
fe8aec39 MS |
17 | # |
18 | # Some h8300sx tests -- t12_bit | |
19 | # | |
20 | ||
21 | proc do_t12_bit_test {} { | |
22 | set testname "t12_bit.s -- h8sx bit tests" | |
23 | ||
24 | gas_start "t12_bit.s" "-al" | |
25 | ||
26 | # Check each instruction bit pattern to verify it got assembled correctly. | |
27 | ||
28 | set x 0 | |
29 | expect { | |
30 | -re ".* 7 0000 7071" { set x [expr $x+1]; exp_continue; } | |
31 | -re ".* 8 0002 7D107070" { set x [expr $x+1]; exp_continue; } | |
32 | -re ".* 9 0006 7F127070" { set x [expr $x+1]; exp_continue; } | |
33 | -re ".* 10 000a 6A181234" { set x [expr $x+1]; exp_continue; } | |
34 | -re ".* 10 7070" { set x [expr $x+1]; exp_continue; } | |
35 | -re ".* 11 0010 6A381234" { set x [expr $x+1]; exp_continue; } | |
36 | -re ".* 11 56787070" { set x [expr $x+1]; exp_continue; } | |
37 | -re ".* 12 " { | |
38 | if [expr $x == 7] then { | |
39 | pass "$testname: bset #0x7, ..." | |
40 | } else { | |
41 | fail "$testname: bset #0x7, ... ($x)" | |
42 | } | |
43 | } | |
44 | default { fail "$testname: bset #0x7, ... ($x)" } | |
45 | } | |
46 | ||
47 | set x 0 | |
48 | expect { | |
49 | -re ".* 13 0018 6031" { set x [expr $x+1]; exp_continue; } | |
50 | -re ".* 14 001a 7D106030" { set x [expr $x+1]; exp_continue; } | |
51 | -re ".* 15 001e 7F126030" { set x [expr $x+1]; exp_continue; } | |
52 | -re ".* 16 0022 6A181234" { set x [expr $x+1]; exp_continue; } | |
53 | -re ".* 16 6030" { set x [expr $x+1]; exp_continue; } | |
54 | -re ".* 17 0028 6A381234" { set x [expr $x+1]; exp_continue; } | |
55 | -re ".* 17 56786030" { set x [expr $x+1]; exp_continue; } | |
56 | -re ".* 18 " { | |
57 | if [expr $x == 7] then { | |
58 | pass "$testname: bset r3h, ..." | |
59 | } else { | |
60 | fail "$testname: bset r3h, ... ($x)" | |
61 | } | |
62 | } | |
63 | default { fail "$testname: bset r3h, ... ($x)" } | |
64 | } | |
65 | ||
66 | set x 0 | |
67 | expect { | |
68 | -re ".* 19 0030 7D107077" { set x [expr $x+1]; exp_continue; } | |
69 | -re ".* 20 0034 7F127077" { set x [expr $x+1]; exp_continue; } | |
70 | -re ".* 21 0038 6A181234" { set x [expr $x+1]; exp_continue; } | |
71 | -re ".* 21 7077" { set x [expr $x+1]; exp_continue; } | |
72 | -re ".* 22 003e 6A381234" { set x [expr $x+1]; exp_continue; } | |
73 | -re ".* 22 56787077" { set x [expr $x+1]; exp_continue; } | |
74 | -re ".* 23 " { | |
75 | if [expr $x == 6] then { | |
76 | pass "$testname: bset/eq #0x7, ..." | |
77 | } else { | |
78 | fail "$testname: bset/eq #0x7, ... ($x)" | |
79 | } | |
80 | } | |
81 | default { fail "$testname: bset/eq #0x7, ... ($x)" } | |
82 | } | |
83 | ||
84 | set x 0 | |
85 | expect { | |
86 | -re ".* 24 0046 7D106037" { set x [expr $x+1]; exp_continue; } | |
87 | -re ".* 25 004a 7F126037" { set x [expr $x+1]; exp_continue; } | |
88 | -re ".* 26 004e 6A181234" { set x [expr $x+1]; exp_continue; } | |
89 | -re ".* 26 6037" { set x [expr $x+1]; exp_continue; } | |
90 | -re ".* 27 0054 6A381234" { set x [expr $x+1]; exp_continue; } | |
91 | -re ".* 27 56786037" { set x [expr $x+1]; exp_continue; } | |
92 | -re ".* 28 " { | |
93 | if [expr $x == 6] then { | |
94 | pass "$testname: bset/eq r3h, ..." | |
95 | } else { | |
96 | fail "$testname: bset/eq r3h, ... ($x)" | |
97 | } | |
98 | } | |
99 | default { fail "$testname: bset/eq r3h, ... ($x)" } | |
100 | } | |
101 | ||
102 | set x 0 | |
103 | expect { | |
104 | -re ".* 29 005c 7D107076" { set x [expr $x+1]; exp_continue; } | |
105 | -re ".* 30 0060 7F127076" { set x [expr $x+1]; exp_continue; } | |
106 | -re ".* 31 0064 6A181234" { set x [expr $x+1]; exp_continue; } | |
107 | -re ".* 31 7076" { set x [expr $x+1]; exp_continue; } | |
108 | -re ".* 32 006a 6A381234" { set x [expr $x+1]; exp_continue; } | |
109 | -re ".* 32 56787076" { set x [expr $x+1]; exp_continue; } | |
110 | -re ".* 33 " { | |
111 | if [expr $x == 6] then { | |
112 | pass "$testname: bset/ne #0x7, ..." | |
113 | } else { | |
114 | fail "$testname: bset/ne #0x7, ... ($x)" | |
115 | } | |
116 | } | |
117 | default { fail "$testname: bset/ne #0x7, ... ($x)" } | |
118 | } | |
119 | ||
120 | set x 0 | |
121 | expect { | |
122 | -re ".* 34 0072 7D106036" { set x [expr $x+1]; exp_continue; } | |
123 | -re ".* 35 0076 7F126036" { set x [expr $x+1]; exp_continue; } | |
124 | -re ".* 36 007a 6A181234" { set x [expr $x+1]; exp_continue; } | |
125 | -re ".* 36 6036" { set x [expr $x+1]; exp_continue; } | |
126 | -re ".* 37 0080 6A381234" { set x [expr $x+1]; exp_continue; } | |
127 | -re ".* 37 56786036" { set x [expr $x+1]; exp_continue; } | |
128 | -re ".* 38 " { | |
129 | if [expr $x == 6] then { | |
130 | pass "$testname: bset/ne r3h, ..." | |
131 | } else { | |
132 | fail "$testname: bset/ne r3h, ... ($x)" | |
133 | } | |
134 | } | |
135 | default { fail "$testname: bset/ne r3h, ... ($x)" } | |
136 | } | |
137 | ||
138 | set x 0 | |
139 | expect { | |
140 | -re ".* 39 0088 7171" { set x [expr $x+1]; exp_continue; } | |
141 | -re ".* 40 008a 7D107170" { set x [expr $x+1]; exp_continue; } | |
142 | -re ".* 41 008e 7F127170" { set x [expr $x+1]; exp_continue; } | |
143 | -re ".* 42 0092 6A181234" { set x [expr $x+1]; exp_continue; } | |
144 | -re ".* 42 7170" { set x [expr $x+1]; exp_continue; } | |
145 | -re ".* 43 0098 6A381234" { set x [expr $x+1]; exp_continue; } | |
146 | -re ".* 43 56787170" { set x [expr $x+1]; exp_continue; } | |
147 | -re ".* 44 " { | |
148 | if [expr $x == 7] then { | |
149 | pass "$testname: bnot #0x7, ..." | |
150 | } else { | |
151 | fail "$testname: bnot #0x7, ... ($x)" | |
152 | } | |
153 | } | |
154 | default { fail "$testname: bnot #0x7, ... ($x)" } | |
155 | } | |
156 | ||
157 | set x 0 | |
158 | expect { | |
159 | -re ".* 45 00a0 6131" { set x [expr $x+1]; exp_continue; } | |
160 | -re ".* 46 00a2 7D106130" { set x [expr $x+1]; exp_continue; } | |
161 | -re ".* 47 00a6 7F126130" { set x [expr $x+1]; exp_continue; } | |
162 | -re ".* 48 00aa 6A181234" { set x [expr $x+1]; exp_continue; } | |
163 | -re ".* 48 6130" { set x [expr $x+1]; exp_continue; } | |
164 | -re ".* 49 00b0 6A381234" { set x [expr $x+1]; exp_continue; } | |
165 | -re ".* 49 56786130" { set x [expr $x+1]; exp_continue; } | |
166 | -re ".* 50 " { | |
167 | if [expr $x == 7] then { | |
168 | pass "$testname: bnot r3h, ..." | |
169 | } else { | |
170 | fail "$testname: bnot r3h, ... ($x)" | |
171 | } | |
172 | } | |
173 | default { fail "$testname: bnot r3h, ... ($x)" } | |
174 | } | |
175 | ||
176 | set x 0 | |
177 | expect { | |
178 | -re ".* 51 00b8 7271" { set x [expr $x+1]; exp_continue; } | |
179 | -re ".* 52 00ba 7D107270" { set x [expr $x+1]; exp_continue; } | |
180 | -re ".* 53 00be 7F127270" { set x [expr $x+1]; exp_continue; } | |
181 | -re ".* 54 00c2 6A181234" { set x [expr $x+1]; exp_continue; } | |
182 | -re ".* 54 7270" { set x [expr $x+1]; exp_continue; } | |
183 | -re ".* 55 00c8 6A381234" { set x [expr $x+1]; exp_continue; } | |
184 | -re ".* 55 56787270" { set x [expr $x+1]; exp_continue; } | |
185 | -re ".* 56 " { | |
186 | if [expr $x == 7] then { | |
187 | pass "$testname: bclr #0x7, ..." | |
188 | } else { | |
189 | fail "$testname: bclr #0x7, ... ($x)" | |
190 | } | |
191 | } | |
192 | default { fail "$testname: bclr #0x7, ... ($x)" } | |
193 | } | |
194 | ||
195 | set x 0 | |
196 | expect { | |
197 | -re ".* 57 00d0 6231" { set x [expr $x+1]; exp_continue; } | |
198 | -re ".* 58 00d2 7D106230" { set x [expr $x+1]; exp_continue; } | |
199 | -re ".* 59 00d6 7F126230" { set x [expr $x+1]; exp_continue; } | |
200 | -re ".* 60 00da 6A181234" { set x [expr $x+1]; exp_continue; } | |
201 | -re ".* 60 6230" { set x [expr $x+1]; exp_continue; } | |
202 | -re ".* 61 00e0 6A381234" { set x [expr $x+1]; exp_continue; } | |
203 | -re ".* 61 56786230" { set x [expr $x+1]; exp_continue; } | |
204 | -re ".* 62 " { | |
205 | if [expr $x == 7] then { | |
206 | pass "$testname: bclr r3h, ..." | |
207 | } else { | |
208 | fail "$testname: bclr r3h, ... ($x)" | |
209 | } | |
210 | } | |
211 | default { fail "$testname: bclr r3h, ... ($x)" } | |
212 | } | |
213 | ||
214 | set x 0 | |
215 | expect { | |
216 | -re ".* 63 00e8 7D107277" { set x [expr $x+1]; exp_continue; } | |
217 | -re ".* 64 00ec 7F127277" { set x [expr $x+1]; exp_continue; } | |
218 | -re ".* 65 00f0 6A181234" { set x [expr $x+1]; exp_continue; } | |
219 | -re ".* 65 7277" { set x [expr $x+1]; exp_continue; } | |
220 | -re ".* 66 00f6 6A381234" { set x [expr $x+1]; exp_continue; } | |
221 | -re ".* 66 56787277" { set x [expr $x+1]; exp_continue; } | |
222 | -re ".* 67 " { | |
223 | if [expr $x == 6] then { | |
224 | pass "$testname: bclr/eq #0x7, ..." | |
225 | } else { | |
226 | fail "$testname: bclr/eq #0x7, ... ($x)" | |
227 | } | |
228 | } | |
229 | default { fail "$testname: bclr/eq #0x7, ... ($x)" } | |
230 | } | |
231 | ||
232 | set x 0 | |
233 | expect { | |
234 | -re ".* 68 00fe 7D106237" { set x [expr $x+1]; exp_continue; } | |
235 | -re ".* 69 0102 7F126237" { set x [expr $x+1]; exp_continue; } | |
236 | -re ".* 70 0106 6A181234" { set x [expr $x+1]; exp_continue; } | |
237 | -re ".* 70 6237" { set x [expr $x+1]; exp_continue; } | |
238 | -re ".* 71 010c 6A381234" { set x [expr $x+1]; exp_continue; } | |
239 | -re ".* 71 56786237" { set x [expr $x+1]; exp_continue; } | |
240 | -re ".* 72 " { | |
241 | if [expr $x == 6] then { | |
242 | pass "$testname: bclr/eq r3h, ..." | |
243 | } else { | |
244 | fail "$testname: bclr/eq r3h, ... ($x)" | |
245 | } | |
246 | } | |
247 | default { fail "$testname: bclr/eq r3h, ... ($x)" } | |
248 | } | |
249 | ||
250 | set x 0 | |
251 | expect { | |
252 | -re ".* 73 0114 7D107276" { set x [expr $x+1]; exp_continue; } | |
253 | -re ".* 74 0118 7F127276" { set x [expr $x+1]; exp_continue; } | |
254 | -re ".* 75 011c 6A181234" { set x [expr $x+1]; exp_continue; } | |
255 | -re ".* 75 7276" { set x [expr $x+1]; exp_continue; } | |
256 | -re ".* 76 0122 6A381234" { set x [expr $x+1]; exp_continue; } | |
257 | -re ".* 76 56787276" { set x [expr $x+1]; exp_continue; } | |
258 | -re ".* 77 " { | |
259 | if [expr $x == 6] then { | |
260 | pass "$testname: bclr/ne #0x7, ..." | |
261 | } else { | |
262 | fail "$testname: bclr/ne #0x7, ... ($x)" | |
263 | } | |
264 | } | |
265 | default { fail "$testname: bclr/ne #0x7, ... ($x)" } | |
266 | } | |
267 | ||
268 | set x 0 | |
269 | expect { | |
270 | -re ".* 78 012a 7D106236" { set x [expr $x+1]; exp_continue; } | |
271 | -re ".* 79 012e 7F126236" { set x [expr $x+1]; exp_continue; } | |
272 | -re ".* 80 0132 6A181234" { set x [expr $x+1]; exp_continue; } | |
273 | -re ".* 80 6236" { set x [expr $x+1]; exp_continue; } | |
274 | -re ".* 81 0138 6A381234" { set x [expr $x+1]; exp_continue; } | |
275 | -re ".* 81 56786236" { set x [expr $x+1]; exp_continue; } | |
276 | -re ".* 82 " { | |
277 | if [expr $x == 6] then { | |
278 | pass "$testname: bclr/ne r3h, ..." | |
279 | } else { | |
280 | fail "$testname: bclr/ne r3h, ... ($x)" | |
281 | } | |
282 | } | |
283 | default { fail "$testname: bclr/ne r3h, ... ($x)" } | |
284 | } | |
285 | ||
286 | set x 0 | |
287 | expect { | |
288 | -re ".* 83 0140 7371" { set x [expr $x+1]; exp_continue; } | |
289 | -re ".* 84 0142 7C107370" { set x [expr $x+1]; exp_continue; } | |
290 | -re ".* 85 0146 7E127370" { set x [expr $x+1]; exp_continue; } | |
291 | -re ".* 86 014a 6A101234" { set x [expr $x+1]; exp_continue; } | |
292 | -re ".* 86 7370" { set x [expr $x+1]; exp_continue; } | |
293 | -re ".* 87 0150 6A301234" { set x [expr $x+1]; exp_continue; } | |
294 | -re ".* 87 56787370" { set x [expr $x+1]; exp_continue; } | |
295 | -re ".* 88 " { | |
296 | if [expr $x == 7] then { | |
297 | pass "$testname: btst #0x7, ..." | |
298 | } else { | |
299 | fail "$testname: btst #0x7, ... ($x)" | |
300 | } | |
301 | } | |
302 | default { fail "$testname: btst #0x7, ... ($x)" } | |
303 | } | |
304 | ||
305 | set x 0 | |
306 | expect { | |
307 | -re ".* 89 0158 6331" { set x [expr $x+1]; exp_continue; } | |
308 | -re ".* 90 015a 7C106330" { set x [expr $x+1]; exp_continue; } | |
309 | -re ".* 91 015e 7E126330" { set x [expr $x+1]; exp_continue; } | |
310 | -re ".* 92 0162 6A101234" { set x [expr $x+1]; exp_continue; } | |
311 | -re ".* 92 6330" { set x [expr $x+1]; exp_continue; } | |
312 | -re ".* 93 0168 6A301234" { set x [expr $x+1]; exp_continue; } | |
313 | -re ".* 93 56786330" { set x [expr $x+1]; exp_continue; } | |
314 | -re ".* 94 " { | |
315 | if [expr $x == 7] then { | |
316 | pass "$testname: btst r3h, ..." | |
317 | } else { | |
318 | fail "$testname: btst r3h, ... ($x)" | |
319 | } | |
320 | } | |
321 | default { fail "$testname: btst r3h, ... ($x)" } | |
322 | } | |
323 | ||
324 | set x 0 | |
325 | expect { | |
326 | -re ".* 95 0170 7471" { set x [expr $x+1]; exp_continue; } | |
327 | -re ".* 96 0172 7C107470" { set x [expr $x+1]; exp_continue; } | |
328 | -re ".* 97 0176 7E127470" { set x [expr $x+1]; exp_continue; } | |
329 | -re ".* 98 017a 6A101234" { set x [expr $x+1]; exp_continue; } | |
330 | -re ".* 98 7470" { set x [expr $x+1]; exp_continue; } | |
331 | -re ".* 99 0180 6A301234" { set x [expr $x+1]; exp_continue; } | |
332 | -re ".* 99 56787470" { set x [expr $x+1]; exp_continue; } | |
333 | -re ".* 100 " { | |
334 | if [expr $x == 7] then { | |
335 | pass "$testname: bor #0x7, ..." | |
336 | } else { | |
337 | fail "$testname: bor #0x7, ... ($x)" | |
338 | } | |
339 | } | |
340 | default { fail "$testname: bor #0x7, ... ($x)" } | |
341 | } | |
342 | ||
343 | set x 0 | |
344 | expect { | |
345 | -re ".* 101 0188 74F1" { set x [expr $x+1]; exp_continue; } | |
346 | -re ".* 102 018a 7C1074F0" { set x [expr $x+1]; exp_continue; } | |
347 | -re ".* 103 018e 7E1274F0" { set x [expr $x+1]; exp_continue; } | |
348 | -re ".* 104 0192 6A101234" { set x [expr $x+1]; exp_continue; } | |
349 | -re ".* 104 74F0" { set x [expr $x+1]; exp_continue; } | |
350 | -re ".* 105 0198 6A301234" { set x [expr $x+1]; exp_continue; } | |
351 | -re ".* 105 567874F0" { set x [expr $x+1]; exp_continue; } | |
352 | -re ".* 106 " { | |
353 | if [expr $x == 7] then { | |
354 | pass "$testname: bior #0x7, ..." | |
355 | } else { | |
356 | fail "$testname: bior #0x7, ... ($x)" | |
357 | } | |
358 | } | |
359 | default { fail "$testname: bior #0x7, ... ($x)" } | |
360 | } | |
361 | ||
362 | set x 0 | |
363 | expect { | |
364 | -re ".* 107 01a0 7571" { set x [expr $x+1]; exp_continue; } | |
365 | -re ".* 108 01a2 7C107570" { set x [expr $x+1]; exp_continue; } | |
366 | -re ".* 109 01a6 7E127570" { set x [expr $x+1]; exp_continue; } | |
367 | -re ".* 110 01aa 6A101234" { set x [expr $x+1]; exp_continue; } | |
368 | -re ".* 110 7570" { set x [expr $x+1]; exp_continue; } | |
369 | -re ".* 111 01b0 6A301234" { set x [expr $x+1]; exp_continue; } | |
370 | -re ".* 111 56787570" { set x [expr $x+1]; exp_continue; } | |
371 | -re ".* 112 " { | |
372 | if [expr $x == 7] then { | |
373 | pass "$testname: bxor #0x7, ..." | |
374 | } else { | |
375 | fail "$testname: bxor #0x7, ... ($x)" | |
376 | } | |
377 | } | |
378 | default { fail "$testname: bxor #0x7, ... ($x)" } | |
379 | } | |
380 | ||
381 | set x 0 | |
382 | expect { | |
383 | -re ".* 113 01b8 75F1" { set x [expr $x+1]; exp_continue; } | |
384 | -re ".* 114 01ba 7C1075F0" { set x [expr $x+1]; exp_continue; } | |
385 | -re ".* 115 01be 7E1275F0" { set x [expr $x+1]; exp_continue; } | |
386 | -re ".* 116 01c2 6A101234" { set x [expr $x+1]; exp_continue; } | |
387 | -re ".* 116 75F0" { set x [expr $x+1]; exp_continue; } | |
388 | -re ".* 117 01c8 6A301234" { set x [expr $x+1]; exp_continue; } | |
389 | -re ".* 117 567875F0" { set x [expr $x+1]; exp_continue; } | |
390 | -re ".* 118 " { | |
391 | if [expr $x == 7] then { | |
392 | pass "$testname: bixor #0x7, ..." | |
393 | } else { | |
394 | fail "$testname: bixor #0x7, ... ($x)" | |
395 | } | |
396 | } | |
397 | default { fail "$testname: bixor #0x7, ... ($x)" } | |
398 | } | |
399 | ||
400 | set x 0 | |
401 | expect { | |
402 | -re ".* 119 01d0 7671" { set x [expr $x+1]; exp_continue; } | |
403 | -re ".* 120 01d2 7C107670" { set x [expr $x+1]; exp_continue; } | |
404 | -re ".* 121 01d6 7E127670" { set x [expr $x+1]; exp_continue; } | |
405 | -re ".* 122 01da 6A101234" { set x [expr $x+1]; exp_continue; } | |
406 | -re ".* 122 7670" { set x [expr $x+1]; exp_continue; } | |
407 | -re ".* 123 01e0 6A301234" { set x [expr $x+1]; exp_continue; } | |
408 | -re ".* 123 56787670" { set x [expr $x+1]; exp_continue; } | |
409 | -re ".* 124 " { | |
410 | if [expr $x == 7] then { | |
411 | pass "$testname: band #0x7, ..." | |
412 | } else { | |
413 | fail "$testname: band #0x7, ... ($x)" | |
414 | } | |
415 | } | |
416 | default { fail "$testname: band #0x7, ... ($x)" } | |
417 | } | |
418 | ||
419 | set x 0 | |
420 | expect { | |
421 | -re ".* 125 01e8 76F1" { set x [expr $x+1]; exp_continue; } | |
422 | -re ".* 126 01ea 7C1076F0" { set x [expr $x+1]; exp_continue; } | |
423 | -re ".* 127 01ee 7E1276F0" { set x [expr $x+1]; exp_continue; } | |
424 | -re ".* 128 01f2 6A101234" { set x [expr $x+1]; exp_continue; } | |
425 | -re ".* 128 76F0" { set x [expr $x+1]; exp_continue; } | |
426 | -re ".* 129 01f8 6A301234" { set x [expr $x+1]; exp_continue; } | |
427 | -re ".* 129 567876F0" { set x [expr $x+1]; exp_continue; } | |
428 | -re ".* 130 " { | |
429 | if [expr $x == 7] then { | |
430 | pass "$testname: biand #0x7, ..." | |
431 | } else { | |
432 | fail "$testname: biand #0x7, ... ($x)" | |
433 | } | |
434 | } | |
435 | default { fail "$testname: biand #0x7, ... ($x)" } | |
436 | } | |
437 | ||
438 | set x 0 | |
439 | expect { | |
440 | -re ".* 131 0200 7771" { set x [expr $x+1]; exp_continue; } | |
441 | -re ".* 132 0202 7C107770" { set x [expr $x+1]; exp_continue; } | |
442 | -re ".* 133 0206 7E127770" { set x [expr $x+1]; exp_continue; } | |
443 | -re ".* 134 020a 6A101234" { set x [expr $x+1]; exp_continue; } | |
444 | -re ".* 134 7770" { set x [expr $x+1]; exp_continue; } | |
445 | -re ".* 135 0210 6A301234" { set x [expr $x+1]; exp_continue; } | |
446 | -re ".* 135 56787770" { set x [expr $x+1]; exp_continue; } | |
447 | -re ".* 136 " { | |
448 | if [expr $x == 7] then { | |
449 | pass "$testname: bld #0x7, ..." | |
450 | } else { | |
451 | fail "$testname: bld #0x7, ... ($x)" | |
452 | } | |
453 | } | |
454 | default { fail "$testname: bld #0x7, ... ($x)" } | |
455 | } | |
456 | ||
457 | set x 0 | |
458 | expect { | |
459 | -re ".* 137 0218 77F1" { set x [expr $x+1]; exp_continue; } | |
460 | -re ".* 138 021a 7C1077F0" { set x [expr $x+1]; exp_continue; } | |
461 | -re ".* 139 021e 7E1277F0" { set x [expr $x+1]; exp_continue; } | |
462 | -re ".* 140 0222 6A101234" { set x [expr $x+1]; exp_continue; } | |
463 | -re ".* 140 77F0" { set x [expr $x+1]; exp_continue; } | |
464 | -re ".* 141 0228 6A301234" { set x [expr $x+1]; exp_continue; } | |
465 | -re ".* 141 567877F0" { set x [expr $x+1]; exp_continue; } | |
466 | -re ".* 142 " { | |
467 | if [expr $x == 7] then { | |
468 | pass "$testname: bild #0x7, ..." | |
469 | } else { | |
470 | fail "$testname: bild #0x7, ... ($x)" | |
471 | } | |
472 | } | |
473 | default { fail "$testname: bild #0x7, ... ($x)" } | |
474 | } | |
475 | ||
476 | set x 0 | |
477 | expect { | |
478 | -re ".* 143 0230 6771" { set x [expr $x+1]; exp_continue; } | |
479 | -re ".* 144 0232 7D106770" { set x [expr $x+1]; exp_continue; } | |
480 | -re ".* 145 0236 7F126770" { set x [expr $x+1]; exp_continue; } | |
481 | -re ".* 146 023a 6A181234" { set x [expr $x+1]; exp_continue; } | |
482 | -re ".* 146 6770" { set x [expr $x+1]; exp_continue; } | |
483 | -re ".* 147 0240 6A381234" { set x [expr $x+1]; exp_continue; } | |
484 | -re ".* 147 56786770" { set x [expr $x+1]; exp_continue; } | |
485 | -re ".* 148 " { | |
486 | if [expr $x == 7] then { | |
487 | pass "$testname: bst #0x7, ..." | |
488 | } else { | |
489 | fail "$testname: bst #0x7, ... ($x)" | |
490 | } | |
491 | } | |
492 | default { fail "$testname: bst #0x7, ... ($x)" } | |
493 | } | |
494 | ||
495 | set x 0 | |
496 | expect { | |
497 | -re ".* 149 0248 7D106777" { set x [expr $x+1]; exp_continue; } | |
498 | -re ".* 150 024c 7F126777" { set x [expr $x+1]; exp_continue; } | |
499 | -re ".* 151 0250 6A181234" { set x [expr $x+1]; exp_continue; } | |
500 | -re ".* 151 6777" { set x [expr $x+1]; exp_continue; } | |
501 | -re ".* 152 0256 6A381234" { set x [expr $x+1]; exp_continue; } | |
502 | -re ".* 152 56786777" { set x [expr $x+1]; exp_continue; } | |
503 | -re ".* 153 " { | |
504 | if [expr $x == 6] then { | |
505 | pass "$testname: bstz #0x7, ..." | |
506 | } else { | |
507 | fail "$testname: bstz #0x7, ... ($x)" | |
508 | } | |
509 | } | |
510 | default { fail "$testname: bstz #0x7, ... ($x)" } | |
511 | } | |
512 | ||
513 | set x 0 | |
514 | expect { | |
515 | -re ".* 154 025e 67F1" { set x [expr $x+1]; exp_continue; } | |
516 | -re ".* 155 0260 7D1067F0" { set x [expr $x+1]; exp_continue; } | |
517 | -re ".* 156 0264 7F1267F0" { set x [expr $x+1]; exp_continue; } | |
518 | -re ".* 157 0268 6A181234" { set x [expr $x+1]; exp_continue; } | |
519 | -re ".* 157 67F0" { set x [expr $x+1]; exp_continue; } | |
520 | -re ".* 158 026e 6A381234" { set x [expr $x+1]; exp_continue; } | |
521 | -re ".* 158 567867F0" { set x [expr $x+1]; exp_continue; } | |
522 | -re ".* 159 " { | |
523 | if [expr $x == 7] then { | |
524 | pass "$testname: bist #0x7, ..." | |
525 | } else { | |
526 | fail "$testname: bist #0x7, ... ($x)" | |
527 | } | |
528 | } | |
529 | default { fail "$testname: bist #0x7, ... ($x)" } | |
530 | } | |
531 | ||
532 | set x 0 | |
533 | expect { | |
534 | -re ".* 160 0276 7D1067F7" { set x [expr $x+1]; exp_continue; } | |
535 | -re ".* 161 027a 7F1267F7" { set x [expr $x+1]; exp_continue; } | |
536 | -re ".* 162 027e 6A181234" { set x [expr $x+1]; exp_continue; } | |
537 | -re ".* 162 67F7" { set x [expr $x+1]; exp_continue; } | |
538 | -re ".* 163 0284 6A381234" { set x [expr $x+1]; exp_continue; } | |
539 | -re ".* 163 567867F7" { set x [expr $x+1]; exp_continue; } | |
540 | -re ".* 164 " { | |
541 | if [expr $x == 6] then { | |
542 | pass "$testname: bistz #0x7, ..." | |
543 | } else { | |
544 | fail "$testname: bistz #0x7, ... ($x)" | |
545 | } | |
546 | } | |
547 | default { fail "$testname: bistz #0x7, ... ($x)" } | |
548 | } | |
549 | ||
550 | set x 0 | |
551 | expect { | |
552 | -re ".* 165 028c 7C10F334" { set x [expr $x+1]; exp_continue; } | |
553 | -re ".* 166 0290 7E12F334" { set x [expr $x+1]; exp_continue; } | |
554 | -re ".* 167 0294 6A101234" { set x [expr $x+1]; exp_continue; } | |
555 | -re ".* 167 F334" { set x [expr $x+1]; exp_continue; } | |
556 | -re ".* 168 029a 6A301234" { set x [expr $x+1]; exp_continue; } | |
557 | -re ".* 168 5678F334" { set x [expr $x+1]; exp_continue; } | |
558 | -re ".* 169 " { | |
559 | if [expr $x == 6] then { | |
560 | pass "$testname: bfld #0x34:8, ..., r3h" | |
561 | } else { | |
562 | fail "$testname: bfld #0x34:8, ..., r3h ($x)" | |
563 | } | |
564 | } | |
565 | default { fail "$testname: bfld #0x34:8, ..., r3h ($x)" } | |
566 | } | |
567 | ||
568 | set x 0 | |
569 | expect { | |
570 | -re ".* 170 02a2 7D10F334" { set x [expr $x+1]; exp_continue; } | |
571 | -re ".* 171 02a6 7F12F334" { set x [expr $x+1]; exp_continue; } | |
572 | -re ".* 172 02aa 6A181234" { set x [expr $x+1]; exp_continue; } | |
573 | -re ".* 172 F334" { set x [expr $x+1]; exp_continue; } | |
574 | -re ".* 173 02b0 6A381234" { set x [expr $x+1]; exp_continue; } | |
575 | -re ".* 173 5678F334" { set x [expr $x+1]; exp_continue; } | |
576 | -re ".* 174 " { | |
577 | if [expr $x == 6] then { | |
578 | pass "$testname: bfst r3h, #0x34:8, ..." | |
579 | } else { | |
580 | fail "$testname: bfst r3h, #0x34:8, ... ($x)" | |
581 | } | |
582 | } | |
583 | default { fail "$testname: bfst r3h, #0x34:8, ... ($x)" } | |
584 | } | |
585 | ||
586 | # This was intended to do any cleanup necessary. | |
587 | # It kinda looks like it isn't needed, but just | |
588 | # in case, please keep it in for now. | |
589 | ||
590 | gas_finish | |
591 | ||
592 | } | |
593 | ||
594 | if [istarget h8300*-*-elf] then { | |
595 | # Test advanced h8300sx instructions. | |
596 | do_t12_bit_test | |
597 | } | |
598 |