]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.disasm/h8300s.exp
Do not set prms_id/bug_id anymore.
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.disasm / h8300s.exp
1 # Copyright (C) 2000, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
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, see <http://www.gnu.org/licenses/>.
15
16 # This file was written by Kazu Hirata. (kazu@hxi.com)
17
18 if $tracelevel then {
19 strace $tracelevel
20 }
21
22 if ![istarget "h8300*-*-*"] {
23 verbose "Tests ignored for all but h8300s based targets."
24 return
25 }
26
27
28 set testfile "h8300s"
29 set srcfile ${srcdir}/${subdir}/${testfile}.s
30 set binfile ${objdir}/${subdir}/${testfile}
31 if { [gdb_compile "${srcfile}" "${binfile}" executable {debug additional_flags=-ms}] != "" } {
32 untested h8300s.exp
33 return -1
34 }
35
36 proc all_set_machine_h8300s { } {
37 global gdb_prompt
38 global hex
39 global decimal
40
41 send_gdb "set machine h8300s\n"
42 gdb_expect {
43 -re "$gdb_prompt $" {}
44 }
45 }
46
47 proc all_movb_tests { } {
48 global gdb_prompt
49 global hex
50 global decimal
51
52 send_gdb "x/9i movb_tests\n"
53 gdb_expect {
54 -re "
55 .*mov.b\tr0l,r0h.*
56 .*mov.b\t#0x12,r1l.*
57 .*mov.b\t@er0,r1h.*
58 .*mov.b\t@\\(0x1234:16,er0\\),r2l.*
59 .*mov.b\t@\\(0x12345678:32,er0\\),r2h.*
60 .*mov.b\t@er0\\+,r3l.*
61 .*mov.b\t@0x12:8,r3h.*
62 .*mov.b\t@0x1234:16,r4l.*
63 .*mov.b\t@0x12345678:32,r4h.*
64 .*$gdb_prompt $" { pass "movb_tests" }
65 -re "$gdb_prompt $" { fail "movb_tests" }
66 timeout { fail "(timeout) movb_tests" }
67 }
68 }
69
70 proc all_movw_tests { } {
71 global gdb_prompt
72 global hex
73 global decimal
74
75 send_gdb "x/8i movw_tests\n"
76 gdb_expect {
77 -re "
78 .*mov.w\te0,r0.*
79 .*mov.w\t#0x1234,r1.*
80 .*mov.w\t@er0,r2.*
81 .*mov.w\t@\\(0x1234:16,er0\\),r3.*
82 .*mov.w\t@\\(0x12345678:32,er0\\),r4.*
83 .*mov.w\t@er0\\+,r5.*
84 .*mov.w\t@0x1234:16,r6.*
85 .*mov.w\t@0x12345678:32,r7.*
86 .*$gdb_prompt $" { pass "movw_tests" }
87 -re "$gdb_prompt $" { fail "movw_tests" }
88 timeout { fail "(timeout) movw_tests" }
89 }
90 }
91
92 proc all_movl_tests { } {
93 global gdb_prompt
94 global hex
95 global decimal
96
97 send_gdb "x/8i movl_tests\n"
98 gdb_expect {
99 -re "
100 .*mov.l\ter0,er1.*
101 .*mov.l\t#0x12345678,er1.*
102 .*mov.l\t@er0,er2.*
103 .*mov.l\t@\\(0x1234:16,er0\\),er3.*
104 .*mov.l\t@\\(0x12345678:32,er0\\),er4.*
105 .*mov.l\t@er0\\+,er5.*
106 .*mov.l\t@0x1234:16,er6.*
107 .*mov.l\t@0x12345678:32,er7.*
108 .*$gdb_prompt $" { pass "movl_tests" }
109 -re "$gdb_prompt $" { fail "movl_tests" }
110 timeout { fail "(timeout) movl_tests" }
111 }
112 }
113
114 proc all_ldm_stm_tests { } {
115 global gdb_prompt
116 global hex
117 global decimal
118
119 send_gdb "x/6i ldm_stm_tests\n"
120 gdb_expect {
121 -re "
122 .*ldm.l\t@sp\\+,er0-er1.*
123 .*ldm.l\t@sp\\+,er0-er2.*
124 .*ldm.l\t@sp\\+,er0-er3.*
125 .*stm.l\ter0\\-er1,@-sp.*
126 .*stm.l\ter0\\-er2,@-sp.*
127 .*stm.l\ter0\\-er3,@-sp.*
128 .*$gdb_prompt $" { pass "ldm_stm_tests" }
129 -re "$gdb_prompt $" { fail "ldm_stm_tests" }
130 timeout { fail "(timeout) ldm_stm_tests" }
131 }
132 }
133
134 proc all_movfpe_movtpe_tests { } {
135 global gdb_prompt
136 global hex
137 global decimal
138
139 send_gdb "x/2i movfpe_movtpe_tests\n"
140 gdb_expect {
141 -re "
142 .*movfpe\t@0x1234:16,r2l.*
143 .*movtpe\tr2l,@0x1234:16.*
144 .*$gdb_prompt $" { pass "movfpe_movtpe_tests" }
145 -re "$gdb_prompt $" { fail "movfpe_movtpe_tests" }
146 timeout { fail "(timeout) movfpe_movtpe_tests" }
147 }
148 }
149
150 proc all_add_sub_addx_subx_tests { } {
151 global gdb_prompt
152 global hex
153 global decimal
154
155 send_gdb "x/15i add_sub_addx_subx_tests\n"
156 gdb_expect {
157 -re "
158 .*add.b\t#0x12,r0l.*
159 .*add.b\tr1l,r1h.*
160 .*add.w\t#0x1234,r2.*
161 .*add.w\tr3,r4.*
162 .*add.l\t#0x12345678,er5.*
163 .*add.l\ter6,er7.*
164 .*sub.b\tr1l,r1h.*
165 .*sub.w\t#0x1234,r2.*
166 .*sub.w\tr3,r4.*
167 .*sub.l\t#0x12345678,er5.*
168 .*sub.l\ter6,er7.*
169 .*addx\t#0x12,r0l.*
170 .*addx\tr1l,r1h.*
171 .*subx\t#0x12,r0l.*
172 .*subx\tr1l,r1h.*
173 .*$gdb_prompt $" { pass "add_sub_addx_subx_tests" }
174 -re "$gdb_prompt $" { fail "add_sub_addx_subx_tests" }
175 timeout { fail "(timeout) add_sub_addx_subx_tests" }
176 }
177 }
178
179 proc all_inc_dec_adds_subs_tests { } {
180 global gdb_prompt
181 global hex
182 global decimal
183
184 send_gdb "x/16i inc_dec_adds_subs_tests\n"
185 gdb_expect {
186 -re "
187 .*inc(.b|)\tr0l.*
188 .*inc.w\t#(0x|)1,r4.*
189 .*inc.w\t#(0x|)2,r3.*
190 .*inc.l\t#(0x|)1,er2.*
191 .*inc.l\t#(0x|)2,er1.*
192 .*dec.b\tr0l.*
193 .*dec.w\t#(0x|)1,r4.*
194 .*dec.w\t#(0x|)2,r3.*
195 .*dec.l\t#(0x|)1,er2.*
196 .*dec.l\t#(0x|)2,er1.*
197 .*adds\t#(0x|)1,er7.*
198 .*adds\t#(0x|)2,er6.*
199 .*adds\t#(0x|)4,er5.*
200 .*subs\t#(0x|)1,er7.*
201 .*subs\t#(0x|)2,er6.*
202 .*subs\t#(0x|)4,er5.*
203 .*$gdb_prompt $" { pass "inc_dec_adds_subs_tests" }
204 -re "$gdb_prompt $" { fail "inc_dec_adds_subs_tests" }
205 timeout { fail "(timeout) inc_dec_adds_subs_tests" }
206 }
207 }
208
209 proc all_daa_das_tests { } {
210 global gdb_prompt
211 global hex
212 global decimal
213
214 send_gdb "x/2i daa_das_tests\n"
215 gdb_expect {
216 -re "
217 .*daa\tr0l.*
218 .*das\tr0h.*
219 .*$gdb_prompt $" { pass "daa_das_tests" }
220 -re "$gdb_prompt $" { fail "daa_das_tests" }
221 timeout { fail "(timeout) daa_das_tests" }
222 }
223 }
224
225 proc all_mul_div_tests { } {
226 global gdb_prompt
227 global hex
228 global decimal
229
230 send_gdb "x/8i mul_div_tests\n"
231 gdb_expect {
232 -re "
233 .*mulxs.b\tr0l,r1.*
234 .*mulxs.w\tr2,er3.*
235 .*mulxu.b\tr0l,e1.*
236 .*mulxu.w\te2,er3.*
237 .*divxs.b\tr0l,r1.*
238 .*divxs.w\tr2,er3.*
239 .*divxu.b\tr0l,e1.*
240 .*divxu.w\te2,er3.*
241 .*$gdb_prompt $" { pass "mul_div_tests" }
242 -re "$gdb_prompt $" { fail "mul_div_tests" }
243 timeout { fail "(timeout) mul_div_tests" }
244 }
245 }
246
247 proc all_cmp_tests { } {
248 global gdb_prompt
249 global hex
250 global decimal
251
252 send_gdb "x/8i cmp_tests\n"
253 gdb_expect {
254 -re "
255 .*cmp.b\t#0x12,r0l.*
256 .*cmp.b\tr1l,r1h.*
257 .*cmp.w\t#0x1234,r2.*
258 .*cmp.w\tr3,e3.*
259 .*cmp.l\t#0x12345678,er4.*
260 .*cmp.l\ter5,er6.*
261 .*$gdb_prompt $" { pass "cmp_tests" }
262 -re "$gdb_prompt $" { fail "cmp_tests" }
263 timeout { fail "(timeout) cmp_tests" }
264 }
265 }
266
267 proc all_neg_tests { } {
268 global gdb_prompt
269 global hex
270 global decimal
271
272 send_gdb "x/3i neg_tests\n"
273 gdb_expect {
274 -re "
275 .*neg.b\tr0l.*
276 .*neg.w\tr2.*
277 .*neg.l\ter3.*
278 .*$gdb_prompt $" { pass "neg_tests" }
279 -re "$gdb_prompt $" { fail "neg_tests" }
280 timeout { fail "(timeout) neg_tests" }
281 }
282 }
283
284 proc all_ext_tests { } {
285 global gdb_prompt
286 global hex
287 global decimal
288
289 send_gdb "x/4i ext_tests\n"
290 gdb_expect {
291 -re "
292 .*exts.w\tr0.*
293 .*exts.l\ter1.*
294 .*extu.w\tr2.*
295 .*extu.l\ter3.*
296 .*$gdb_prompt $" { pass "ext_tests" }
297 -re "$gdb_prompt $" { fail "ext_tests" }
298 timeout { fail "(timeout) ext_tests" }
299 }
300 }
301
302 proc all_tas_mac_tests { } {
303 global gdb_prompt
304 global hex
305 global decimal
306
307 send_gdb "x/7i tas_mac_tests\n"
308 gdb_expect {
309 -re "
310 .*tas\t@er0.*
311 .*mac\t@er1\\+,@er2\\+.*
312 .*clrmac.*
313 .*ldmac\ter4,mach.*
314 .*ldmac\ter5,macl.*
315 .*stmac\tmach,er6.*
316 .*stmac\tmacl,er7.*
317 .*$gdb_prompt $" { pass "tas_mac_tests" }
318 -re "$gdb_prompt $" { fail "tas_mac_tests" }
319 timeout { fail "(timeout) tas_mac_tests" }
320 }
321 }
322
323 proc all_logic_operations_tests { } {
324 global gdb_prompt
325 global hex
326 global decimal
327
328 send_gdb "x/21i logic_operations_tests\n"
329 gdb_expect {
330 -re "
331 .*and.b\t#0x12,r0l.*
332 .*and.b\tr1l,r2h.*
333 .*and.w\t#0x1234,r0.*
334 .*and.w\tr1,r2.*
335 .*and.l\t#0x12345678,er0.*
336 .*and.l\ter1,er2.*
337 .*or.b\t#0x12,r0l.*
338 .*or.b\tr1l,r2h.*
339 .*or.w\t#0x1234,r0.*
340 .*or.w\tr1,r2.*
341 .*or.l\t#0x12345678,er0.*
342 .*or.l\ter1,er2.*
343 .*xor(.b|)\t#0x12,r0l.*
344 .*xor(.b|)\tr1l,r2h.*
345 .*xor.w\t#0x1234,r0.*
346 .*xor.w\tr1,r2.*
347 .*xor.l\t#0x12345678,er0.*
348 .*xor.l\ter1,er2.*
349 .*not.b\tr0l.*
350 .*not.w\tr1.*
351 .*not.l\ter2.*
352 .*$gdb_prompt $" { pass "logic_operations_tests" }
353 -re "$gdb_prompt $" { fail "logic_operations_tests" }
354 timeout { fail "(timeout) logic_operations_tests" }
355 }
356 }
357
358 proc all_sha_shl_tests { } {
359 global gdb_prompt
360 global hex
361 global decimal
362
363 send_gdb "x/12i sha_shl_tests\n"
364 gdb_expect {
365 -re "
366 .*shal(.b|)\tr0l.*
367 .*shal(.w|)\tr1.*
368 .*shal(.l|)\ter2.*
369 .*shar(.b|)\tr3l.*
370 .*shar(.w|)\tr4.*
371 .*shar(.l|)\ter5.*
372 .*shll(.b|)\tr0l.*
373 .*shll(.w|)\tr1.*
374 .*shll(.l|)\ter2.*
375 .*shlr(.b|)\tr3l.*
376 .*shlr(.w|)\tr4.*
377 .*shlr(.l|)\ter5.*
378 .*$gdb_prompt $" { pass "sha_shl_tests" }
379 -re "$gdb_prompt $" { fail "sha_shl_tests" }
380 timeout { fail "(timeout) sha_shl_tests" }
381 }
382 }
383
384 proc all_rot_rotx_tests { } {
385 global gdb_prompt
386 global hex
387 global decimal
388
389 send_gdb "x/12i rot_rotx_tests\n"
390 gdb_expect {
391 -re "
392 .*rotl(.b|)\tr0l.*
393 .*rotl(.w|)\tr1.*
394 .*rotl(.l|)\ter2.*
395 .*rotr(.b|)\tr3l.*
396 .*rotr(.w|)\tr4.*
397 .*rotr(.l|)\ter5.*
398 .*rotxl(.b|)\tr0l.*
399 .*rotxl(.w|)\tr1.*
400 .*rotxl(.l|)\ter2.*
401 .*rotxr(.b|)\tr3l.*
402 .*rotxr(.w|)\tr4.*
403 .*rotxr(.l|)\ter5.*
404 .*$gdb_prompt $" { pass "rot_rotx_tests" }
405 -re "$gdb_prompt $" { fail "rot_rotx_tests" }
406 timeout { fail "(timeout) rot_rotx_tests" }
407 }
408 }
409
410 proc all_bset_bclr_tests { } {
411 global gdb_prompt
412 global hex
413 global decimal
414
415 send_gdb "x/20i bset_bclr_tests\n"
416 gdb_expect {
417 -re "
418 .*bset\t#0x7,r0l.*
419 .*bset\t#0x6,@er1.*
420 .*bset\t#0x5,@0x12:8.*
421 .*bset\t#0x4,@0x1234:16.*
422 .*bset\t#0x3,@0x12345678:32.*
423 .*bset\tr7l,r0h.*
424 .*bset\tr6l,@er1.*
425 .*bset\tr5l,@0x12:8.*
426 .*bset\tr4l,@0x1234:16.*
427 .*bset\tr3l,@0x12345678:32.*
428 .*bclr\t#0x7,r0l.*
429 .*bclr\t#0x6,@er1.*
430 .*bclr\t#0x5,@0x12:8.*
431 .*bclr\t#0x4,@0x1234:16.*
432 .*bclr\t#0x3,@0x12345678:32.*
433 .*bclr\tr7h,r0h.*
434 .*bclr\tr6h,@er1.*
435 .*bclr\tr5h,@0x12:8.*
436 .*bclr\tr4h,@0x1234:16.*
437 .*bclr\tr3h,@0x12345678:32.*
438 .*$gdb_prompt $" { pass "bset_bclr_tests" }
439 -re "$gdb_prompt $" { fail "bset_bclr_tests" }
440 timeout { fail "(timeout) bset_bclr_tests" }
441 }
442 }
443
444 proc all_bnot_btst_tests { } {
445 global gdb_prompt
446 global hex
447 global decimal
448
449 send_gdb "x/20i bnot_btst_tests\n"
450 gdb_expect {
451 -re "
452 .*bnot\t#0x7,r0l.*
453 .*bnot\t#0x6,@er1.*
454 .*bnot\t#0x5,@0x12:8.*
455 .*bnot\t#0x4,@0x1234:16.*
456 .*bnot\t#0x3,@0x12345678:32.*
457 .*bnot\tr7l,r0h.*
458 .*bnot\tr6l,@er1.*
459 .*bnot\tr5l,@0x12:8.*
460 .*bnot\tr4l,@0x1234:16.*
461 .*bnot\tr3l,@0x12345678:32.*
462 .*btst\t#0x7,r0l.*
463 .*btst\t#0x6,@er1.*
464 .*btst\t#0x5,@0x12:8.*
465 .*btst\t#0x4,@0x1234:16.*
466 .*btst\t#0x3,@0x12345678:32.*
467 .*btst\tr7h,r0h.*
468 .*btst\tr6h,@er1.*
469 .*btst\tr5h,@0x12:8.*
470 .*btst\tr4h,@0x1234:16.*
471 .*btst\tr3h,@0x12345678:32.*
472 .*$gdb_prompt $" { pass "bnot_btst_tests" }
473 -re "$gdb_prompt $" { fail "bnot_btst_tests" }
474 timeout { fail "(timeout) bnot_btst_tests" }
475 }
476 }
477
478 proc all_band_bor_bxor_tests { } {
479 global gdb_prompt
480 global hex
481 global decimal
482
483 send_gdb "x/15i band_bor_bxor_tests\n"
484 gdb_expect {
485 -re "
486 .*band\t#0x7,r0l.*
487 .*band\t#0x6,@er1.*
488 .*band\t#0x5,@0x12:8.*
489 .*band\t#0x4,@0x1234:16.*
490 .*band\t#0x3,@0x12345678:32.*
491 .*bor\t#0x7,r0l.*
492 .*bor\t#0x6,@er1.*
493 .*bor\t#0x5,@0x12:8.*
494 .*bor\t#0x4,@0x1234:16.*
495 .*bor\t#0x3,@0x12345678:32.*
496 .*bxor\t#0x7,r0l.*
497 .*bxor\t#0x6,@er1.*
498 .*bxor\t#0x5,@0x12:8.*
499 .*bxor\t#0x4,@0x1234:16.*
500 .*bxor\t#0x3,@0x12345678:32.*
501 .*$gdb_prompt $" { pass "band_bor_bxor_tests" }
502 -re "$gdb_prompt $" { fail "band_bor_bxor_tests" }
503 timeout { fail "(timeout) band_bor_bxor_tests" }
504 }
505 }
506
507 proc all_bld_bst_tests { } {
508 global gdb_prompt
509 global hex
510 global decimal
511
512 send_gdb "x/20i bld_bst_tests\n"
513 gdb_expect {
514 -re "
515 .*bld\t#0x7,r0l.*
516 .*bld\t#0x6,@er1.*
517 .*bld\t#0x5,@0x12:8.*
518 .*bld\t#0x4,@0x1234:16.*
519 .*bld\t#0x3,@0x12345678:32.*
520 .*bild\t#0x7,r0l.*
521 .*bild\t#0x6,@er1.*
522 .*bild\t#0x5,@0x12:8.*
523 .*bild\t#0x4,@0x1234:16.*
524 .*bild\t#0x3,@0x12345678:32.*
525 .*bst\t#0x7,r0l.*
526 .*bst\t#0x6,@er1.*
527 .*bst\t#0x5,@0x12:8.*
528 .*bst\t#0x4,@0x1234:16.*
529 .*bst\t#0x3,@0x12345678:32.*
530 .*bist\t#0x7,r0l.*
531 .*bist\t#0x6,@er1.*
532 .*bist\t#0x5,@0x12:8.*
533 .*bist\t#0x4,@0x1234:16.*
534 .*bist\t#0x3,@0x12345678:32.*
535 .*$gdb_prompt $" { pass "bld_bst_tests" }
536 -re "$gdb_prompt $" { fail "bld_bst_tests" }
537 timeout { fail "(timeout) bld_bst_tests" }
538 }
539 }
540
541 proc all_branch_tests { } {
542 global gdb_prompt
543 global hex
544 global decimal
545
546 send_gdb "x/25i branch_tests\n"
547 gdb_expect {
548 -re "
549 .*bra\t(branch_tests|.-2 ).*
550 .*brn\t(branch_tests|.-4 ).*
551 .*bhi\t(branch_tests|.-6 ).*
552 .*bls\t(branch_tests|.-8 ).*
553 .*bcc\t(branch_tests|.-10 ).*
554 .*bcs\t(branch_tests|.-12 ).*
555 .*bne\t(branch_tests|.-14 ).*
556 .*beq\t(branch_tests|.-16 ).*
557 .*bvc\t(branch_tests|.-18 ).*
558 .*bvs\t(branch_tests|.-20 ).*
559 .*bpl\t(branch_tests|.-22 ).*
560 .*bmi\t(branch_tests|.-24 ).*
561 .*bge\t(branch_tests|.-26 ).*
562 .*blt\t(branch_tests|.-28 ).*
563 .*bgt\t(branch_tests|.-30 ).*
564 .*ble\t(branch_tests|.-32 ).*
565 .*jmp\t@er0.*
566 .*jmp\t@(branch_tests|0x).*
567 .*jmp\t@@0 \\((0x|)0\\).*
568 .*bsr\t(branch_tests|.-42 ).*
569 .*bsr\t(branch_tests|.-46 ).*
570 .*jsr\t@er0.*
571 .*jsr\t@(branch_tests|0x).*
572 .*jsr\t@@0 \\((0x|)0\\).*
573 .*rts.*
574 .*$gdb_prompt $" { pass "branch_tests" }
575 -re "$gdb_prompt $" { fail "branch_tests" }
576 timeout { fail "(timeout) branch_tests" }
577 }
578 }
579
580 proc all_system_control_tests { } {
581 global gdb_prompt
582 global hex
583 global decimal
584
585 send_gdb "x/40i system_control_tests\n"
586 gdb_expect {
587 -re "
588 .*trapa\t#0x2.*
589 .*rte.*
590 .*sleep.*
591 .*ldc\t#0x12,ccr*.
592 .*ldc\tr3l,ccr.*
593 .*ldc\t@er0,ccr.*
594 .*ldc\t@\\(0x1234:16,er0\\),ccr.*
595 .*ldc\t@\\(0x12345678:32,er0\\),ccr.*
596 .*ldc\t@er1\\+,ccr.*
597 .*ldc\t@0x1234:16,ccr.*
598 .*ldc\t@0x12345678:32,ccr.*
599 .*stc\tccr,r3l.*
600 .*stc\tccr,@er0.*
601 .*stc\tccr,@\\(0x1234:16,er0\\).*
602 .*stc\tccr,@\\(0x12345678:32,er0\\).*
603 .*stc\tccr,@\\-er1.*
604 .*stc\tccr,@0x1234:16.*
605 .*stc\tccr,@0x12345678:32.*
606 .*andc\t#0x12,ccr.*
607 .*orc\t#0x34,ccr.*
608 .*xorc\t#0x56,ccr.*
609 .*ldc\t#0x12,exr*.
610 .*ldc\tr3l,exr.*
611 .*ldc\t@er0,exr.*
612 .*ldc\t@\\(0x1234:16,er0\\),exr.*
613 .*ldc\t@\\(0x12345678:32,er0\\),exr.*
614 .*ldc\t@er1\\+,exr.*
615 .*ldc\t@0x1234:16,exr.*
616 .*ldc\t@0x12345678:32,exr.*
617 .*stc\texr,r3l.*
618 .*stc\texr,@er0.*
619 .*stc\texr,@\\(0x1234:16,er0\\).*
620 .*stc\texr,@\\(0x12345678:32,er0\\).*
621 .*stc\texr,@\\-er1.*
622 .*stc\texr,@0x1234:16.*
623 .*stc\texr,@0x12345678:32.*
624 .*andc\t#0x12,exr.*
625 .*orc\t#0x34,exr.*
626 .*xorc\t#0x56,exr.*
627 .*nop.*
628 .*$gdb_prompt $" { pass "system_control_tests" }
629 -re "$gdb_prompt $" { fail "system_control_tests" }
630 timeout { fail "(timeout) system_control_tests" }
631 }
632 }
633
634 proc all_block_data_transfer_tests { } {
635 global gdb_prompt
636 global hex
637 global decimal
638
639 send_gdb "x/2i block_data_transfer_tests\n"
640 gdb_expect {
641 -re "
642 .*eepmov.b.*
643 .*eepmov.w.*
644 .*$gdb_prompt $" { pass "block_data_transfer_tests" }
645 -re "$gdb_prompt $" { fail "block_data_transfer_tests" }
646 timeout { fail "(timeout) block_data_transfer_tests" }
647 }
648 }
649
650 gdb_exit
651 gdb_start
652 gdb_reinitialize_dir $srcdir/$subdir
653 all_set_machine_h8300s
654 gdb_load $binfile
655
656 # Data transfer
657 all_movb_tests
658 all_movw_tests
659 all_movl_tests
660 all_ldm_stm_tests
661 all_movfpe_movtpe_tests
662
663 # Arithmetic operations
664 all_add_sub_addx_subx_tests
665 all_inc_dec_adds_subs_tests
666 all_daa_das_tests
667 all_mul_div_tests
668 all_cmp_tests
669 all_neg_tests
670 all_ext_tests
671 all_tas_mac_tests
672
673 # Logic operations
674 all_logic_operations_tests
675
676 # Shift
677 all_sha_shl_tests
678 all_rot_rotx_tests
679
680 # Bit manipulation
681 all_bset_bclr_tests
682 all_bnot_btst_tests
683 all_band_bor_bxor_tests
684 all_bld_bst_tests
685
686 # Branch
687 all_branch_tests
688
689 # System control
690 all_system_control_tests
691
692 # Block data transfer
693 all_block_data_transfer_tests