Do not set prms_id/bug_id anymore.
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.disasm / am33.exp
CommitLineData
c2d11a7d 1
4c38e0a4 2# Copyright 1997, 1998, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
c2d11a7d
JM
3
4# This program is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by
e22f8b7c 6# the Free Software Foundation; either version 3 of the License, or
c2d11a7d 7# (at your option) any later version.
e22f8b7c 8#
c2d11a7d
JM
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU General Public License for more details.
e22f8b7c 13#
c2d11a7d 14# You should have received a copy of the GNU General Public License
e22f8b7c 15# along with this program. If not, see <http://www.gnu.org/licenses/>.
c2d11a7d 16
c2d11a7d
JM
17# This file was written by Jeff Law. (law@cygnus.com)
18
19if $tracelevel then {
20 strace $tracelevel
21}
22
23if ![istarget "mn10300*-*-*"] {
24 verbose "Tests ignored for all but mn10300 based targets."
25 return
26}
27
28global exec_output
c2d11a7d
JM
29
30set testfile "am33"
31set srcfile ${srcdir}/${subdir}/${testfile}.s
32set binfile ${objdir}/${subdir}/${testfile}
33if { [gdb_compile "${srcfile}" "${binfile}" object ""] != "" } {
b60f0898
JB
34 untested am33.exp
35 return -1
c2d11a7d
JM
36}
37
38proc call_tests { } {
39 global gdb_prompt
40 global hex
41 global decimal
42
43 send_gdb "x/8i call_tests\n"
44 gdb_expect {
45 -re "
46.*call .*,.a2,a3,exreg0.,9.*
47.*call .*,.a2,a3,exreg1.,9.*
48.*call .*,.a2,a3,exother.,9.*
49.*call .*,.d2,d3,a2,a3,other,exreg0,exreg1,exother.,9.*
50.*call .*,.a2,a3,exreg0.,9.*
51.*call .*,.a2,a3,exreg1.,9.*
52.*call .*,.a2,a3,exother.,9.*
53.*call .*,.d2,d3,a2,a3,other,exreg0,exreg1,exother.,9.*
54.*$gdb_prompt $" { pass "call tests" }
55 -re "$gdb_prompt $" { fail "call tests" }
56 timeout { fail "(timeout) call tests" }
57 }
58}
59
60proc movm_tests { } {
61 global gdb_prompt
62 global hex
63 global decimal
64
65 send_gdb "x/16i movm_tests\n"
66 gdb_expect {
67 -re "
68.*movm \\(sp\\),.a2,a3,exreg0.*
69.*movm \\(sp\\),.a2,a3,exreg1.*
70.*movm \\(sp\\),.a2,a3,exother.*
71.*movm \\(sp\\),.d2,d3,a2,a3,other,exreg0,exreg1,exother.*
72.*movm .a2,a3,exreg0.,\\(sp\\).*
73.*movm .a2,a3,exreg1.,\\(sp\\).*
74.*movm .a2,a3,exother.,\\(sp\\).*
75.*movm .d2,d3,a2,a3,other,exreg0,exreg1,exother.,\\(sp\\).*
76.*movm \\(usp\\),.a2,a3,exreg0.*
77.*movm \\(usp\\),.a2,a3,exreg1.*
78.*movm \\(usp\\),.a2,a3,exother.*
79.*movm \\(usp\\),.d2,d3,a2,a3,other,exreg0,exreg1,exother.*
80.*movm .a2,a3,exreg0.,\\(usp\\).*
81.*movm .a2,a3,exreg1.,\\(usp\\).*
82.*movm .a2,a3,exother.,\\(usp\\).*
83.*movm .d2,d3,a2,a3,other,exreg0,exreg1,exother.,\\(usp\\).*
84.*$gdb_prompt $" { pass "movm tests" }
85 -re "$gdb_prompt $" { fail "movm tests" }
86 timeout { fail "(timeout) movm tests" }
87 }
88}
89
90proc misc_tests { } {
91 global gdb_prompt
92 global hex
93 global decimal
94
95 send_gdb "x/11i misc_tests\n"
96 gdb_expect {
97 -re "
98.*syscall 4.*
99.*mcst9 d0.*
100.*mcst48 d1.*
101.*getchx d0.*
102.*getclx d1.*
103.*clr a1.*
104.*sat16 a1,a0.*
105.*mcste r7,r6.*
106.*swap r5,r4.*
107.*swaph r3,r2.*
108.*swhw r1,r0.*
109.*$gdb_prompt $" { pass "misc tests" }
110 -re "$gdb_prompt $" { fail "misc tests" }
111 timeout { fail "(timeout) misc tests" }
112 }
113}
114
115proc mov_tests { } {
116 global gdb_prompt
117 global hex
118 global decimal
119
120 send_gdb "x/45i mov_tests\n"
121 gdb_expect {
122 -re "
123.*mov r0,r1.*
124.*mov sp,r1.*
125.*mov r1,xr2.*
126.*mov \\(r1\\),r2.*
127.*mov r3,\\(r4\\).*
128.*mov \\(sp\\),r5.*
129.*mov r6,\\(sp\\).*
130.*mov 16,r1.*
131.*mov 16,xr1.*
132.*mov \\(16,r1\\),r2.*
133.*mov r2,\\(16,r1\\).*
134.*mov \\(16,sp\\),r2.*
135.*mov r2,\\(16,sp\\).*
136.*mov 2096895,r2.*
137.*mov 2096895,xr2.*
138.*mov \\(2096895,r1\\),r2.*
139.*mov r2,\\(2096895,r1\\).*
140.*mov \\(2096895,sp\\),r2.*
141.*mov r2,\\(2096895,sp\\).*
142.*mov \\(0x1ffeff\\),r2.*
143.*mov r2,\\(0x1ffeff\\).*
144.*mov 2147417596,r2.*
145.*mov 2147417596,xr2.*
146.*mov \\(2147417596,r1\\),r2.*
147.*mov r2,\\(2147417596,r1\\).*
148.*mov \\(2147417596,sp\\),r2.*
149.*mov r2,\\(2147417596,sp\\).*
150.*mov \\(0x7ffefdfc\\),r2.*
151.*mov r2,\\(0x7ffefdfc\\).*
152.*movu 16,r1.*
153.*movu 2096895,r2.*
154.*movu 2147417596,r2.*
155.*mov usp,a0.*
156.*mov ssp,a1.*
157.*mov msp,a2.*
158.*mov pc,a3.*
159.*mov a0,usp.*
160.*mov a1,ssp.*
161.*mov a2,msp.*
162.*mov epsw,d0.*
163.*mov d1,epsw.*
164.*mov a0,r1.*
165.*mov d2,r3.*
166.*mov r5,a1.*
167.*mov r7,d3.*
168.*$gdb_prompt $" { pass "mov tests" }
169 -re "$gdb_prompt $" { fail "mov tests" }
170 timeout { fail "(timeout) mov tests" }
171 }
172}
173
174proc ext_tests { } {
175 global gdb_prompt
176 global hex
177 global decimal
178
179 send_gdb "x/5i ext_tests\n"
180 gdb_expect {
181 -re "
182.*ext r2.*
183.*extb r3,r4.*
184.*extbu r4,r5.*
185.*exth r6,r7.*
186.*exthu r7,a0.*
187.*$gdb_prompt $" { pass "ext tests" }
188 -re "$gdb_prompt $" { fail "ext tests" }
189 timeout { fail "(timeout) ext tests" }
190 }
191}
192
193proc add_tests { } {
194 global gdb_prompt
195 global hex
196 global decimal
197
198 send_gdb "x/11i add_tests\n"
199 gdb_expect {
200 -re "
201.*add a2,a3.*
202.*add 16,r1.*
203.*add 2096895,r2.*
204.*add 2147417596,r2.*
205.*add r1,r2,r3.*
206.*addc d0,d1.*
207.*addc 16,r1.*
208.*addc 2096895,r2.*
209.*addc 2147417596,r2.*
210.*inc d1.*
211.*inc4 d0.*
212.*$gdb_prompt $" { pass "add tests" }
213 -re "$gdb_prompt $" { fail "add tests" }
214 timeout { fail "(timeout) add tests" }
215 }
216}
217
218proc sub_tests { } {
219 global gdb_prompt
220 global hex
221 global decimal
222
223 send_gdb "x/8i sub_tests\n"
224 gdb_expect {
225 -re "
226.*sub d2,d3.*
227.*sub 16,r1.*
228.*sub 2096895,r2.*
229.*sub 2147417596,r2.*
230.*subc d3,d2.*
231.*subc 16,r1.*
232.*subc 2096895,r2.*
233.*subc 2147417596,r2.*
234.*$gdb_prompt $" { pass "sub tests" }
235 -re "$gdb_prompt $" { fail "sub tests" }
236 timeout { fail "(timeout) sub tests" }
237 }
238}
239
240proc cmp_tests { } {
241 global gdb_prompt
242 global hex
243 global decimal
244
245 send_gdb "x/4i cmp_tests\n"
246 gdb_expect {
247 -re "
248.*cmp a3,a2.*
249.*cmp 16,r1.*
250.*cmp 2096895,r2.*
251.*cmp 2147417596,r2.*
252.*$gdb_prompt $" { pass "cmp tests" }
253 -re "$gdb_prompt $" { fail "cmp tests" }
254 timeout { fail "(timeout) cmp tests" }
255 }
256}
257
258proc logical_tests { } {
259 global gdb_prompt
260 global hex
261 global decimal
262
263 send_gdb "x/15i logical_tests\n"
264 gdb_expect {
265 -re "
266.*and r0,r1.*
267.*or r2,r3.*
268.*xor r4,r5.*
269.*not r6.*
270.*and 16,r1.*
271.*or 16,r1.*
272.*xor 16,r1.*
273.*and 2096895,r2.*
274.*or 2096895,r2.*
275.*xor 2096895,r2.*
276.*and 2147417596,r2.*
277.*or 2147417596,r2.*
278.*xor 2147417596,r2.*
279.*and 131072,epsw.*
280.*or 65535,epsw.*
281.*$gdb_prompt $" { pass "logical tests" }
282 -re "$gdb_prompt $" { fail "logical tests" }
283 timeout { fail "(timeout) logical tests" }
284 }
285}
286
287proc shift_tests { } {
288 global gdb_prompt
289 global hex
290 global decimal
291
292 send_gdb "x/15i shift_tests\n"
293 gdb_expect {
294 -re "
295.*asr r7,a0.*
296.*lsr a1,a2.*
297.*asl a3,d0.*
298.*asl2 d1.*
299.*ror d2.*
300.*rol d3.*
301.*asr 16,r1.*
302.*lsr 16,r1.*
303.*asl 16,r1.*
304.*asr 2096895,r2.*
305.*lsr 2096895,r2.*
306.*asl 2096895,r2.*
307.*asr 2147417596,r2.*
308.*lsr 2147417596,r2.*
309.*asl 2147417596,r2.*
310.*$gdb_prompt $" { pass "shift tests" }
311 -re "$gdb_prompt $" { fail "shift tests" }
312 timeout { fail "(timeout) shift tests" }
313 }
314}
315
316proc muldiv_tests { } {
317 global gdb_prompt
318 global hex
319 global decimal
320
321 send_gdb "x/16i muldiv_tests\n"
322 gdb_expect {
323 -re "
324.*mul r1,r2.*
325.*mulu r3,r4.*
326.*mul 16,r1.*
327.*mulu 16,r1.*
328.*mul 2096895,r2.*
329.*mulu 2096895,r2.*
330.*mul 2147417596,r2.*
331.*mulu 2147417596,r2.*
332.*div r5,r6.*
333.*divu r7,a0.*
334.*dmulh d1,d0.*
335.*dmulhu a3,a2.*
336.*dmulh 2147417596,r2.*
337.*dmulhu 2147417596,r2.*
338.*mul r1,r2,r3,r4.*
339.*mulu r1,r2,r3,r4.*
340.*$gdb_prompt $" { pass "muldiv tests" }
341 -re "$gdb_prompt $" { fail "muldiv tests" }
342 timeout { fail "(timeout) muldiv tests" }
343 }
344}
345
346proc movbu_tests { } {
347 global gdb_prompt
348 global hex
349 global decimal
350
351 send_gdb "x/20i movbu_tests\n"
352 gdb_expect {
353 -re "
354.*movbu \\(r5\\),r6.*
355.*movbu r7,\\(a0\\).*
356.*movbu \\(sp\\),r7.*
357.*movbu a0,\\(sp\\).*
358.*movbu \\(16,r1\\),r2.*
359.*movbu r2,\\(16,r1\\).*
360.*movbu \\(16,sp\\),r2.*
361.*movbu r2,\\(16,sp\\).*
362.*movbu \\(2096895,r1\\),r2.*
363.*movbu r2,\\(2096895,r1\\).*
364.*movbu \\(2096895,sp\\),r2.*
365.*movbu r2,\\(2096895,sp\\).*
366.*movbu \\(0x1ffeff\\),r2.*
367.*movbu r2,\\(0x1ffeff\\).*
368.*movbu \\(2147417596,r1\\),r2.*
369.*movbu r2,\\(2147417596,r1\\).*
370.*movbu \\(2147417596,sp\\),r2.*
371.*movbu r2,\\(2147417596,sp\\).*
372.*movbu \\(0x7ffefdfc\\),r2.*
373.*movbu r2,\\(0x7ffefdfc\\).*
374.*$gdb_prompt $" { pass "movbu tests" }
375 -re "$gdb_prompt $" { fail "movbu tests" }
376 timeout { fail "(timeout) movbu tests" }
377 }
378}
379
380proc movhu_tests { } {
381 global gdb_prompt
382 global hex
383 global decimal
384
385 send_gdb "x/20i movhu_tests\n"
386 gdb_expect {
387 -re "
388.*movhu \\(a1\\),a2.*
389.*movhu a3,\\(d0\\).*
390.*movhu \\(sp\\),a1.*
391.*movhu a2,\\(sp\\).*
392.*movhu \\(16,r1\\),r2.*
393.*movhu r2,\\(16,r1\\).*
394.*movhu \\(16,sp\\),r2.*
395.*movhu r2,\\(16,sp\\).*
396.*movhu \\(2096895,r1\\),r2.*
397.*movhu r2,\\(2096895,r1\\).*
398.*movhu \\(2096895,sp\\),r2.*
399.*movhu r2,\\(2096895,sp\\).*
400.*movhu \\(0x1ffeff\\),r2.*
401.*movhu r2,\\(0x1ffeff\\).*
402.*movhu \\(2147417596,r1\\),r2.*
403.*movhu r2,\\(2147417596,r1\\).*
404.*movhu \\(2147417596,sp\\),r2.*
405.*movhu r2,\\(2147417596,sp\\).*
406.*movhu \\(0x7ffefdfc\\),r2.*
407.*movhu r2,\\(0x7ffefdfc\\).*
408.*$gdb_prompt $" { pass "movhu tests" }
409 -re "$gdb_prompt $" { fail "movhu tests" }
410 timeout { fail "(timeout) movhu tests" }
411 }
412}
413
414proc mac_tests { } {
415 global gdb_prompt
416 global hex
417 global decimal
418
419 send_gdb "x/28i mac_tests\n"
420 gdb_expect {
421 -re "
422.*mac r1,r2.*
423.*macu r3,r4.*
424.*macb r5,r6.*
425.*macbu r7,a0.*
426.*mach a1,a2.*
427.*machu a3,d0.*
428.*dmach d1,d2.*
429.*dmachu d3,d2.*
430.*mac 16,r1.*
431.*macu 16,r1.*
432.*macb 16,r1.*
433.*macbu 16,r1.*
434.*mach 16,r1.*
435.*machu 16,r1.*
436.*mac 2096895,r2.*
437.*macu 2096895,r2.*
438.*macb 2096895,r2.*
439.*macbu 2096895,r2.*
440.*mach 2096895,r2.*
441.*machu 2096895,r2.*
442.*mac 2147417596,r2.*
443.*macu 2147417596,r2.*
444.*macb 2147417596,r2.*
445.*macbu 2147417596,r2.*
446.*mach 2147417596,r2.*
447.*machu 2147417596,r2.*
448.*dmach 2147417596,r2.*
449.*dmachu 2147417596,r2.*
450.*$gdb_prompt $" { pass "mac tests" }
451 -re "$gdb_prompt $" { fail "mac tests" }
452 timeout { fail "(timeout) mac tests" }
453 }
454}
455
456proc bit_tests { } {
457 global gdb_prompt
458 global hex
459 global decimal
460
461 send_gdb "x/4i bit_tests\n"
462 gdb_expect {
463 -re "
464.*bsch r1,r2.*
465.*btst 16,r1.*
466.*btst 2096895,r2.*
467.*btst 2147417596,r2.*
468.*$gdb_prompt $" { pass "bit tests" }
469 -re "$gdb_prompt $" { fail "bit tests" }
470 timeout { fail "(timeout) bit tests" }
471 }
472}
473
474proc dsp_add_tests { } {
475 global gdb_prompt
476 global hex
477 global decimal
478
479 send_gdb "x/28i dsp_add_tests\n"
480 gdb_expect {
481 -re "
482.*add_add r4,r1,r2,r3.*
483.*add_add r4,r1,2,r3.*
484.*add_sub r4,r1,r2,r3.*
485.*add_sub r4,r1,2,r3.*
486.*add_cmp r4,r1,r2,r3.*
487.*add_cmp r4,r1,2,r3.*
488.*add_mov r4,r1,r2,r3.*
489.*add_mov r4,r1,2,r3.*
490.*add_asr r4,r1,r2,r3.*
491.*add_asr r4,r1,2,r3.*
492.*add_lsr r4,r1,r2,r3.*
493.*add_lsr r4,r1,2,r3.*
494.*add_asl r4,r1,r2,r3.*
495.*add_asl r4,r1,2,r3.*
496.*add_add 4,r1,r2,r3.*
497.*add_add 4,r1,2,r3.*
498.*add_sub 4,r1,r2,r3.*
499.*add_sub 4,r1,2,r3.*
500.*add_cmp 4,r1,r2,r3.*
501.*add_cmp 4,r1,2,r3.*
502.*add_mov 4,r1,r2,r3.*
503.*add_mov 4,r1,2,r3.*
504.*add_asr 4,r1,r2,r3.*
505.*add_asr 4,r1,2,r3.*
506.*add_lsr 4,r1,r2,r3.*
507.*add_lsr 4,r1,2,r3.*
508.*add_asl 4,r1,r2,r3.*
509.*add_asl 4,r1,2,r3.*
510.*$gdb_prompt $" { pass "dsp_add tests" }
511 -re "$gdb_prompt $" { fail "dsp_add tests" }
512 timeout { fail "(timeout) dsp_add tests" }
513 }
514}
515
516proc dsp_cmp_tests { } {
517 global gdb_prompt
518 global hex
519 global decimal
520
521 send_gdb "x/24i dsp_cmp_tests\n"
522 gdb_expect {
523 -re "
524.*cmp_add r4,r1,r2,r3.*
525.*cmp_add r4,r1,2,r3.*
526.*cmp_sub r4,r1,r2,r3.*
527.*cmp_sub r4,r1,2,r3.*
528.*cmp_mov r4,r1,r2,r3.*
529.*cmp_mov r4,r1,2,r3.*
530.*cmp_asr r4,r1,r2,r3.*
531.*cmp_asr r4,r1,2,r3.*
532.*cmp_lsr r4,r1,r2,r3.*
533.*cmp_lsr r4,r1,2,r3.*
534.*cmp_asl r4,r1,r2,r3.*
535.*cmp_asl r4,r1,2,r3.*
536.*cmp_add 4,r1,r2,r3.*
537.*cmp_add 4,r1,2,r3.*
538.*cmp_sub 4,r1,r2,r3.*
539.*cmp_sub 4,r1,2,r3.*
540.*cmp_mov 4,r1,r2,r3.*
541.*cmp_mov 4,r1,2,r3.*
542.*cmp_asr 4,r1,r2,r3.*
543.*cmp_asr 4,r1,2,r3.*
544.*cmp_lsr 4,r1,r2,r3.*
545.*cmp_lsr 4,r1,2,r3.*
546.*cmp_asl 4,r1,r2,r3.*
547.*cmp_asl 4,r1,2,r3.*
548.*$gdb_prompt $" { pass "dsp_cmp tests" }
549 -re "$gdb_prompt $" { fail "dsp_cmp tests" }
550 timeout { fail "(timeout) dsp_cmp tests" }
551 }
552}
553
554proc dsp_sub_tests { } {
555 global gdb_prompt
556 global hex
557 global decimal
558
559 send_gdb "x/28i dsp_sub_tests\n"
560 gdb_expect {
561 -re "
562.*sub_add r4,r1,r2,r3.*
563.*sub_add r4,r1,2,r3.*
564.*sub_sub r4,r1,r2,r3.*
565.*sub_sub r4,r1,2,r3.*
566.*sub_cmp r4,r1,r2,r3.*
567.*sub_cmp r4,r1,2,r3.*
568.*sub_mov r4,r1,r2,r3.*
569.*sub_mov r4,r1,2,r3.*
570.*sub_asr r4,r1,r2,r3.*
571.*sub_asr r4,r1,2,r3.*
572.*sub_lsr r4,r1,r2,r3.*
573.*sub_lsr r4,r1,2,r3.*
574.*sub_asl r4,r1,r2,r3.*
575.*sub_asl r4,r1,2,r3.*
576.*sub_add 4,r1,r2,r3.*
577.*sub_add 4,r1,2,r3.*
578.*sub_sub 4,r1,r2,r3.*
579.*sub_sub 4,r1,2,r3.*
580.*sub_cmp 4,r1,r2,r3.*
581.*sub_cmp 4,r1,2,r3.*
582.*sub_mov 4,r1,r2,r3.*
583.*sub_mov 4,r1,2,r3.*
584.*sub_asr 4,r1,r2,r3.*
585.*sub_asr 4,r1,2,r3.*
586.*sub_lsr 4,r1,r2,r3.*
587.*sub_lsr 4,r1,2,r3.*
588.*sub_asl 4,r1,r2,r3.*
589.*sub_asl 4,r1,2,r3.*
590.*$gdb_prompt $" { pass "dsp_sub tests" }
591 -re "$gdb_prompt $" { fail "dsp_sub tests" }
592 timeout { fail "(timeout) dsp_sub tests" }
593 }
594}
595
596proc dsp_mov_tests { } {
597 global gdb_prompt
598 global hex
599 global decimal
600
601 send_gdb "x/28i dsp_mov_tests\n"
602 gdb_expect {
603 -re "
604.*mov_add r4,r1,r2,r3.*
605.*mov_add r4,r1,2,r3.*
606.*mov_sub r4,r1,r2,r3.*
607.*mov_sub r4,r1,2,r3.*
608.*mov_cmp r4,r1,r2,r3.*
609.*mov_cmp r4,r1,2,r3.*
610.*mov_mov r4,r1,r2,r3.*
611.*mov_mov r4,r1,2,r3.*
612.*mov_asr r4,r1,r2,r3.*
613.*mov_asr r4,r1,2,r3.*
614.*mov_lsr r4,r1,r2,r3.*
615.*mov_lsr r4,r1,2,r3.*
616.*mov_asl r4,r1,r2,r3.*
617.*mov_asl r4,r1,2,r3.*
618.*mov_add 4,r1,r2,r3.*
619.*mov_add 4,r1,2,r3.*
620.*mov_sub 4,r1,r2,r3.*
621.*mov_sub 4,r1,2,r3.*
622.*mov_cmp 4,r1,r2,r3.*
623.*mov_cmp 4,r1,2,r3.*
624.*mov_mov 4,r1,r2,r3.*
625.*mov_mov 4,r1,2,r3.*
626.*mov_asr 4,r1,r2,r3.*
627.*mov_asr 4,r1,2,r3.*
628.*mov_lsr 4,r1,r2,r3.*
629.*mov_lsr 4,r1,2,r3.*
630.*mov_asl 4,r1,r2,r3.*
631.*mov_asl 4,r1,2,r3.*
632.*$gdb_prompt $" { pass "dsp_mov tests" }
633 -re "$gdb_prompt $" { fail "dsp_mov tests" }
634 timeout { fail "(timeout) dsp_mov tests" }
635 }
636}
637
638proc dsp_logical_tests { } {
639 global gdb_prompt
640 global hex
641 global decimal
642
643 send_gdb "x/42i dsp_logical_tests\n"
644 gdb_expect {
645 -re "
646.*and_add r4,r1,r2,r3.*
647.*and_add r4,r1,2,r3.*
648.*and_sub r4,r1,r2,r3.*
649.*and_sub r4,r1,2,r3.*
650.*and_cmp r4,r1,r2,r3.*
651.*and_cmp r4,r1,2,r3.*
652.*and_mov r4,r1,r2,r3.*
653.*and_mov r4,r1,2,r3.*
654.*and_asr r4,r1,r2,r3.*
655.*and_asr r4,r1,2,r3.*
656.*and_lsr r4,r1,r2,r3.*
657.*and_lsr r4,r1,2,r3.*
658.*and_asl r4,r1,r2,r3.*
659.*and_asl r4,r1,2,r3.*
660.*xor_add r4,r1,r2,r3.*
661.*xor_add r4,r1,2,r3.*
662.*xor_sub r4,r1,r2,r3.*
663.*xor_sub r4,r1,2,r3.*
664.*xor_cmp r4,r1,r2,r3.*
665.*xor_cmp r4,r1,2,r3.*
666.*xor_mov r4,r1,r2,r3.*
667.*xor_mov r4,r1,2,r3.*
668.*xor_asr r4,r1,r2,r3.*
669.*xor_asr r4,r1,2,r3.*
670.*xor_lsr r4,r1,r2,r3.*
671.*xor_lsr r4,r1,2,r3.*
672.*xor_asl r4,r1,r2,r3.*
673.*xor_asl r4,r1,2,r3.*
674.*or_add r4,r1,r2,r3.*
675.*or_add r4,r1,2,r3.*
676.*or_sub r4,r1,r2,r3.*
677.*or_sub r4,r1,2,r3.*
678.*or_cmp r4,r1,r2,r3.*
679.*or_cmp r4,r1,2,r3.*
680.*or_mov r4,r1,r2,r3.*
681.*or_mov r4,r1,2,r3.*
682.*or_asr r4,r1,r2,r3.*
683.*or_asr r4,r1,2,r3.*
684.*or_lsr r4,r1,r2,r3.*
685.*or_lsr r4,r1,2,r3.*
686.*or_asl r4,r1,r2,r3.*
687.*or_asl r4,r1,2,r3.*
688.*$gdb_prompt $" { pass "dsp_logical tests" }
689 -re "$gdb_prompt $" { fail "dsp_logical tests" }
690 timeout { fail "(timeout) dsp_logical tests" }
691 }
692}
693
694proc dsp_misc_tests { } {
695 global gdb_prompt
696 global hex
697 global decimal
698
699 send_gdb "x/42i dsp_misc_tests\n"
700 gdb_expect {
701 -re "
702.*dmach_add r4,r1,r2,r3.*
703.*dmach_add r4,r1,2,r3.*
704.*dmach_sub r4,r1,r2,r3.*
705.*dmach_sub r4,r1,2,r3.*
706.*dmach_cmp r4,r1,r2,r3.*
707.*dmach_cmp r4,r1,2,r3.*
708.*dmach_mov r4,r1,r2,r3.*
709.*dmach_mov r4,r1,2,r3.*
710.*dmach_asr r4,r1,r2,r3.*
711.*dmach_asr r4,r1,2,r3.*
712.*dmach_lsr r4,r1,r2,r3.*
713.*dmach_lsr r4,r1,2,r3.*
714.*dmach_asl r4,r1,r2,r3.*
715.*dmach_asl r4,r1,2,r3.*
716.*swhw_add r4,r1,r2,r3.*
717.*swhw_add r4,r1,2,r3.*
718.*swhw_sub r4,r1,r2,r3.*
719.*swhw_sub r4,r1,2,r3.*
720.*swhw_cmp r4,r1,r2,r3.*
721.*swhw_cmp r4,r1,2,r3.*
722.*swhw_mov r4,r1,r2,r3.*
723.*swhw_mov r4,r1,2,r3.*
724.*swhw_asr r4,r1,r2,r3.*
725.*swhw_asr r4,r1,2,r3.*
726.*swhw_lsr r4,r1,r2,r3.*
727.*swhw_lsr r4,r1,2,r3.*
728.*swhw_asl r4,r1,r2,r3.*
729.*swhw_asl r4,r1,2,r3.*
730.*sat16_add r4,r1,r2,r3.*
731.*sat16_add r4,r1,2,r3.*
732.*sat16_sub r4,r1,r2,r3.*
733.*sat16_sub r4,r1,2,r3.*
734.*sat16_cmp r4,r1,r2,r3.*
735.*sat16_cmp r4,r1,2,r3.*
736.*sat16_mov r4,r1,r2,r3.*
737.*sat16_mov r4,r1,2,r3.*
738.*sat16_asr r4,r1,r2,r3.*
739.*sat16_asr r4,r1,2,r3.*
740.*sat16_lsr r4,r1,r2,r3.*
741.*sat16_lsr r4,r1,2,r3.*
742.*sat16_asl r4,r1,r2,r3.*
743.*sat16_asl r4,r1,2,r3.*
744.*$gdb_prompt $" { pass "dsp_misc tests" }
745 -re "$gdb_prompt $" { fail "dsp_misc tests" }
746 timeout { fail "(timeout) dsp_misc tests" }
747 }
748}
749
750proc autoincrement_tests { } {
751 global gdb_prompt
752 global hex
753 global decimal
754
755 send_gdb "x/16i autoincrement_tests\n"
756 gdb_expect {
757 -re "
758.*mov \\(r1\\+\\),r2.*
759.*mov r3,\\(r4\\+\\).*
760.*movhu \\(r6\\+\\),r7.*
761.*movhu a0,\\(a1\\+\\).*
762.*mov \\(r1\\+,64\\),r2.*
763.*mov r1,\\(r2\\+,64\\).*
764.*movhu \\(r1\\+,64\\),r2.*
765.*movhu r1,\\(r2\\+,64\\).*
766.*mov \\(r1\\+,131055\\),r2.*
767.*mov r1,\\(r2\\+,131055\\).*
768.*movhu \\(r1\\+,131055\\),r2.*
769.*movhu r1,\\(r2\\+,131055\\).*
770.*mov \\(r1\\+,2147417596\\),r2.*
771.*mov r1,\\(r2\\+,2147417596\\).*
772.*movhu \\(r1\\+,2147417596\\),r2.*
773.*movhu r1,\\(r2\\+,2147417596\\).*
774.*$gdb_prompt $" { pass "autoincrement tests" }
775 -re "$gdb_prompt $" { fail "autoincrement tests" }
776 timeout { fail "(timeout) autoincrement tests" }
777 }
778}
779
780proc dsp_autoincrement_tests { } {
781 global gdb_prompt
782 global hex
783 global decimal
784
785 send_gdb "x/11i dsp_autoincrement_tests\n"
786 gdb_expect {
787 -re "
788.*mov_llt \\(r1\\+,4\\),r2.*
789.*mov_lgt \\(r1\\+,4\\),r2.*
790.*mov_lge \\(r1\\+,4\\),r2.*
791.*mov_lle \\(r1\\+,4\\),r2.*
792.*mov_lcs \\(r1\\+,4\\),r2.*
793.*mov_lhi \\(r1\\+,4\\),r2.*
794.*mov_lcc \\(r1\\+,4\\),r2.*
795.*mov_lls \\(r1\\+,4\\),r2.*
796.*mov_leq \\(r1\\+,4\\),r2.*
797.*mov_lne \\(r1\\+,4\\),r2.*
798.*mov_lra \\(r1\\+,4\\),r2.*
799.*$gdb_prompt $" { pass "autoincrement tests" }
800 -re "$gdb_prompt $" { fail "autoincrement tests" }
801 timeout { fail "(timeout) autoincrement tests" }
802 }
803}
804
805# Start with a fresh gdb.
806
807gdb_exit
808gdb_start
809gdb_reinitialize_dir $srcdir/$subdir
810gdb_load $binfile
811
812call_tests
813movm_tests
814misc_tests
815mov_tests
816ext_tests
817add_tests
818sub_tests
819cmp_tests
820logical_tests
821shift_tests
822muldiv_tests
823movbu_tests
824movhu_tests
825mac_tests
826bit_tests
827dsp_add_tests
828dsp_cmp_tests
829dsp_sub_tests
830dsp_mov_tests
831dsp_logical_tests
832autoincrement_tests
833dsp_autoincrement_tests
This page took 0.956761 seconds and 4 git commands to generate.