* gdb.disasm/hppa.s (addib_tests): Fix typo.
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.disasm / hppa.exp
CommitLineData
47882638
JK
1# Copyright (C) 1992 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 2 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
16
17# Please email any bugs, comments, and/or additions to this file to:
18# bug-gdb@prep.ai.mit.edu
19
20# This file was written by Jeff Law. (law@cs.utah.edu)
21
22if $tracelevel then {
23 strace $tracelevel
24}
25
26set prms_id 0
27set bug_id 0
28
29set binfile "hppa"
30set srcfile $binfile.s
31
47882638
JK
32proc all_integer_memory_tests { } {
33 global prompt
34 global hex
35 global decimal
36
37 send "x/8i integer_memory_tests\n"
38 expect {
39 -re ".*
40.*ldw 0\(sr0,r4\),arg0\r\n\
41.*ldh 0\(sr0,r4\),arg0\r\n\
42.*ldb 0\(sr0,r4\),arg0\r\n\
43.*stw arg0,0\(sr0,r4\)\r\n\
44.*sth arg0,0\(sr0,r4\)\r\n\
45.*stb arg0,0\(sr0,r4\)\r\n\
46.*ldwm 0\(sr0,r4\),arg0\r\n\
47.*stwm arg0,0\(sr0,r4\)\r\n\
48.*$prompt $" { pass "integer_memory_tests" }
49 -re "$prompt $" { fail "integer_memory_tests" }
50 timeout { fail "(timeout) integer memory_tests" }
51 }
52
53 send "x/20i integer_indexing_load\n"
54 expect {
55 -re ".*
56.*ldwx r5\(sr0,r4\),arg0\r\n\
57.*ldwx,s r5\(sr0,r4\),arg0\r\n\
58.*ldwx,m r5\(sr0,r4\),arg0\r\n\
59.*ldwx,sm r5\(sr0,r4\),arg0\r\n\
60.*ldhx r5\(sr0,r4\),arg0\r\n\
61.*ldhx,s r5\(sr0,r4\),arg0\r\n\
62.*ldhx,m r5\(sr0,r4\),arg0\r\n\
63.*ldhx,sm r5\(sr0,r4\),arg0\r\n\
64.*ldbx r5\(sr0,r4\),arg0\r\n\
65.*ldbx,s r5\(sr0,r4\),arg0\r\n\
66.*ldbx,m r5\(sr0,r4\),arg0\r\n\
67.*ldbx,sm r5\(sr0,r4\),arg0\r\n\
68.*ldwax r5\(r4\),arg0\r\n\
69.*ldwax,s r5\(r4\),arg0\r\n\
70.*ldwax,m r5\(r4\),arg0\r\n\
71.*ldwax,sm r5\(r4\),arg0\r\n\
72.*ldcwx r5\(sr0,r4\),arg0\r\n\
73.*ldcwx,s r5\(sr0,r4\),arg0\r\n\
74.*ldcwx,m r5\(sr0,r4\),arg0\r\n\
75.*ldcwx,sm r5\(sr0,r4\),arg0\r\n\
76.*$prompt $" { pass "integer_indexing_load" }
77 -re "$prompt $" { fail "integer_indexing_load" }
78 timeout { fail "(timeout) integer_indexing" }
79 }
80
81 send "x/15i integer_load_short_memory\n"
82 expect {
83 -re ".*
84.*ldws 0\(sr0,r4\),arg0\r\n\
85.*ldws,mb 0\(sr0,r4\),arg0\r\n\
86.*ldws,ma 0\(sr0,r4\),arg0\r\n\
87.*ldhs 0\(sr0,r4\),arg0\r\n\
88.*ldhs,mb 0\(sr0,r4\),arg0\r\n\
89.*ldhs,ma 0\(sr0,r4\),arg0\r\n\
90.*ldbs 0\(sr0,r4\),arg0\r\n\
91.*ldbs,mb 0\(sr0,r4\),arg0\r\n\
92.*ldbs,ma 0\(sr0,r4\),arg0\r\n\
93.*ldwas 0\(r4\),arg0\r\n\
94.*ldwas,mb 0\(r4\),arg0\r\n\
95.*ldwas,ma 0\(r4\),arg0\r\n\
96.*ldcws 0\(sr0,r4\),arg0\r\n\
97.*ldcws,mb 0\(sr0,r4\),arg0\r\n\
98.*ldcws,ma 0\(sr0,r4\),arg0\r\n\
99.*$prompt $" { pass "integer_load_short_memory" }
100 -re "$prompt $" { fail "integer_load_short_memory" }
101 timeout { fail "(timeout) integer_load_short_memory " }
102 }
103
104
105 send "x/17i integer_store_short_memory\n"
106 expect {
107 -re ".*
108.*stws arg0,0\(sr0,r4\)\r\n\
109.*stws,mb arg0,0\(sr0,r4\)\r\n\
110.*stws,ma arg0,0\(sr0,r4\)\r\n\
111.*sths arg0,0\(sr0,r4\)\r\n\
112.*sths,mb arg0,0\(sr0,r4\)\r\n\
113.*sths,ma arg0,0\(sr0,r4\)\r\n\
114.*stbs arg0,0\(sr0,r4\)\r\n\
115.*stbs,mb arg0,0\(sr0,r4\)\r\n\
116.*stbs,ma arg0,0\(sr0,r4\)\r\n\
117.*stwas arg0,0\(r4\)\r\n\
118.*stwas,mb arg0,0\(r4\)\r\n\
119.*stwas,ma arg0,0\(r4\)\r\n\
120.*stbys arg0,0\(sr0,r4\)\r\n\
121.*stbys arg0,0\(sr0,r4\)\r\n\
122.*stbys,e arg0,0\(sr0,r4\)\r\n\
123.*stbys,b,m arg0,0\(sr0,r4\)\r\n\
124.*stbys,e,m arg0,0\(sr0,r4\)\r\n\
125.*$prompt $" { pass "integer_store_short_memory" }
126 -re "$prompt $" { fail "integer_store_short_memory" }
127 timeout { fail "(timeout) integer_short_memory " }
128 }
129}
130
131proc all_immediate_tests { } {
132 global prompt
133 global hex
134 global decimal
135
136 send "x/3i immediate_tests\n"
137 expect {
138 -re ".*
139.*ldo 5\(arg0\),arg0\r\n\
140.*ldil -21524800,arg0\r\n\
141.*addil -21524800,r5\r\n\
142.*$prompt $" { pass "immedate_tests" }
143 -re "$prompt $" { fail "immedate_tests" }
144 timeout { fail "(timeout) immedate_tests " }
145 }
146}
147
148proc all_branch_tests { } {
149 global prompt
150 global hex
151 global decimal
152
153 send "x/16i branch_tests\n"
154 expect {
155 -re ".*
156.*bl.*<main>,rp\r\n\
157.*bl,n.*<main>,rp\r\n\
158.*b.*<main>\r\n\
159.*b,n.*<main>\r\n\
160.*gate.*<main>,rp\r\n\
161.*gate,n.*<main>,rp\r\n\
162.*blr r4,rp\r\n\
163.*blr,n r4,rp\r\n\
164.*blr r4,r0\r\n\
165.*blr,n r4,r0\r\n\
166.*bv r0\(rp\)\r\n\
167.*bv,n r0\(rp\)\r\n\
168.*be 1234\(sr1,rp\)\r\n\
169.*be,n 1234\(sr1,rp\)\r\n\
170.*ble 1234\(sr1,rp\)\r\n\
171.*ble,n 1234\(sr1,rp\)\r\n\
172.*$prompt $" { pass "branch_tests" }
173 -re "$prompt $" { fail "branch_tests" }
174 timeout { fail "(timeout) branch_tests " }
175 }
176
177
178 send "x/8i movb_tests\n"
179 expect {
180 -re ".*
181.*movb r4,arg0,.* <movb_tests>\r\n\
182.*movb,= r4,arg0,.* <movb_tests>\r\n\
183.*movb,< r4,arg0,.* <movb_tests>\r\n\
184.*movb,od r4,arg0,.* <movb_tests>\r\n\
185.*movb,tr r4,arg0,.* <movb_tests>\r\n\
186.*movb,<> r4,arg0,.* <movb_tests>\r\n\
187.*movb,>= r4,arg0,.* <movb_tests>\r\n\
188.*movb,ev r4,arg0,.* <movb_tests>\r\n\
189.*$prompt $" { pass "movb_tests" }
190 -re "$prompt $" { fail "movb_tests" }
191 timeout { fail "(timeout) movb_tests " }
192 }
193
194 send "x/8i movb_nullified_tests\n"
195 expect {
196 -re ".*
197.*movb,n.*r4,arg0,.* <movb_tests>\r\n\
198.*movb,=,n.*r4,arg0,.* <movb_tests>\r\n\
199.*movb,<,n.*r4,arg0,.* <movb_tests>\r\n\
200.*movb,od,n.*r4,arg0,.* <movb_tests>\r\n\
201.*movb,tr,n.*r4,arg0,.* <movb_tests>\r\n\
202.*movb,<>,n.*r4,arg0,.* <movb_tests>\r\n\
203.*movb,>=,n.*r4,arg0,.* <movb_tests>\r\n\
204.*movb,ev,n.*r4,arg0,.* <movb_tests>\r\n\
205.*$prompt $" { pass "movb_nullified_tests" }
206 -re "$prompt $" { fail "movb_nullified_tests" }
207 timeout { fail "(timeout) movb_nullified_tests " }
208 }
209
210 send "x/8i movib_tests\n"
211 expect {
212 -re ".*
213.*movib 5,arg0,.* <movib_tests>\r\n\
214.*movib,= 5,arg0,.* <movib_tests>\r\n\
215.*movib,< 5,arg0,.* <movib_tests>\r\n\
216.*movib,od 5,arg0,.* <movib_tests>\r\n\
217.*movib,tr 5,arg0,.* <movib_tests>\r\n\
218.*movib,<> 5,arg0,.* <movib_tests>\r\n\
219.*movib,>= 5,arg0,.* <movib_tests>\r\n\
220.*movib,ev 5,arg0,.* <movib_tests>\r\n\
221.*$prompt $" { pass "movib_tests" }
222 -re "$prompt $" { fail "movib_tests" }
223 timeout { fail "(timeout) movib_tests " }
224 }
225
226 send "x/8i movib_nullified_tests\n"
227 expect {
228 -re ".*
229.*movib,n.*5,arg0,.* <movib_tests>\r\n\
230.*movib,=,n.*5,arg0,.* <movib_tests>\r\n\
231.*movib,<,n.*5,arg0,.* <movib_tests>\r\n\
232.*movib,od,n.*5,arg0,.* <movib_tests>\r\n\
233.*movib,tr,n.*5,arg0,.* <movib_tests>\r\n\
234.*movib,<>,n.*5,arg0,.* <movib_tests>\r\n\
235.*movib,>=,n.*5,arg0,.* <movib_tests>\r\n\
236.*movib,ev,n.*5,arg0,.* <movib_tests>\r\n\
237.*$prompt $" { pass "movib_nullified_tests" }
238 -re "$prompt $" { fail "movib_nullified_tests" }
239 timeout { fail "(timeout) movib_nullified_tests " }
240 }
241
242 # Fails because of true-false usage and polarity of conditions.
243 setup_xfail "hppa*-*-*"
244 send "x/16i comb_tests\n"
245 expect {
246 -re ".*
247.*combt r0,arg0,.* <comb_tests>\r\n\
248.*combt,= r0,arg0,.* <comb_tests>\r\n\
249.*combt,< r0,arg0,.* <comb_tests>\r\n\
250.*combt,<= r0,arg0,.* <comb_tests>\r\n\
251.*combt,<< r0,arg0,.* <comb_tests>\r\n\
252.*combt,<<= r0,arg0,.* <comb_tests>\r\n\
253.*combt,sv r0,arg0,.* <comb_tests>\r\n\
254.*combt,od r0,arg0,.* <comb_tests>\r\n\
255.*combf r0,arg0,.* <comb_tests>\r\n\
256.*combf,= r0,arg0,.* <comb_tests>\r\n\
257.*combf,< r0,arg0,.* <comb_tests>\r\n\
258.*combf,<= r0,arg0,.* <comb_tests>\r\n\
259.*combf,<< r0,arg0,.* <comb_tests>\r\n\
260.*combf,<<= r0,arg0,.* <comb_tests>\r\n\
261.*combf,sv r0,arg0,.* <comb_tests>\r\n\
262.*combf,od r0,arg0,.* <comb_tests>\r\n\
263.*$prompt $" { pass "comb_tests" }
264 -re "$prompt $" { fail "comb_tests" }
265 timeout { fail "(timeout) comb_tests " }
266 }
267
268 # Fails because of true-false usage and polarity of conditions.
269 setup_xfail "hppa*-*-*"
270 send "x/16i comb_nullified_tests\n"
271 expect {
272 -re ".*
273.*combt,n r0,arg0,.* <comb_tests>\r\n\
274.*combt,=,n r0,arg0,.* <comb_tests>\r\n\
275.*combt,<,n r0,arg0,.* <comb_tests>\r\n\
276.*combt,<=,n r0,arg0,.* <comb_tests>\r\n\
277.*combt,<<,n r0,arg0,.* <comb_tests>\r\n\
278.*combt,<<=,n r0,arg0,.* <comb_tests>\r\n\
279.*combt,sv,n r0,arg0,.* <comb_tests>\r\n\
280.*combt,od,n r0,arg0,.* <comb_tests>\r\n\
281.*combf,n r0,arg0,.* <comb_tests>\r\n\
282.*combf,=,n r0,arg0,.* <comb_tests>\r\n\
283.*combf,<,n r0,arg0,.* <comb_tests>\r\n\
284.*combf,<=,n r0,arg0,.* <comb_tests>\r\n\
285.*combf,<<,n r0,arg0,.* <comb_tests>\r\n\
286.*combf,<<=,n r0,arg0,.* <comb_tests>\r\n\
287.*combf,sv,n r0,arg0,.* <comb_tests>\r\n\
288.*combf,od,n r0,arg0,.* <comb_tests>\r\n\
289.*$prompt $" { pass "comb_nullified_tests" }
290 -re "$prompt $" { fail "comb_nullified_tests" }
291 timeout { fail "(timeout) comb_nullified_tests " }
292 }
293
294 # Fails because of true-false usage and polarity of conditions.
295 setup_xfail "hppa*-*-*"
296 send "x/16i comib_tests\n"
297 expect {
298 -re ".*
299.*comib 0,arg0,.* <comib_tests>\r\n\
300.*comib,= 0,arg0,.* <comib_tests>\r\n\
301.*comib,< 0,arg0,.* <comib_tests>\r\n\
302.*comib,<= 0,arg0,.* <comib_tests>\r\n\
303.*comib,<< 0,arg0,.* <comib_tests>\r\n\
304.*comib,<<= 0,arg0,.* <comib_tests>\r\n\
305.*comibt,sv 0,arg0,.* <comib_tests>\r\n\
306.*comibt,od 0,arg0,.* <comib_tests>\r\n\
307.*comibt 0,arg0,.* <comib_tests>\r\n\
308.*comibt,= 0,arg0,.* <comib_tests>\r\n\
309.*comibt,< 0,arg0,.* <comib_tests>\r\n\
310.*comibt,<= 0,arg0,.* <comib_tests>\r\n\
311.*comibt,<< 0,arg0,.* <comib_tests>\r\n\
312.*comibt,<<= 0,arg0,.* <comib_tests>\r\n\
313.*comibf,sv 0,arg0,.* <comib_tests>\r\n\
314.*comibf,od 0,arg0,.* <comib_tests>\r\n\
315.*$prompt $" { pass "comib_tests" }
316 -re "$prompt $" { fail "comib_tests" }
317 timeout { fail "(timeout) comib_tests " }
318 }
319
320 # Fails because of true-false usage and polarity of conditions.
321 setup_xfail "hppa*-*-*"
322 send "x/16i comib_nullified_tests\n"
323 expect {
324 -re ".*
325.*comibt,n 0,arg0,.* <comib_tests>\r\n\
326.*comibt,=,n 0,arg0,.* <comib_tests>\r\n\
327.*comibt,<,n 0,arg0,.* <comib_tests>\r\n\
328.*comibt,<=,n 0,arg0,.* <comib_tests>\r\n\
329.*comibt,<<,n 0,arg0,.* <comib_tests>\r\n\
330.*comibt,<<=,n 0,arg0,.* <comib_tests>\r\n\
331.*comibt,sv,n 0,arg0,.* <comib_tests>\r\n\
332.*comibt,od,n 0,arg0,.* <comib_tests>\r\n\
333.*comibf,n 0,arg0,.* <comib_tests>\r\n\
334.*comibf,=,n 0,arg0,.* <comib_tests>\r\n\
335.*comibf,<,n 0,arg0,.* <comib_tests>\r\n\
336.*comibf,<=,n 0,arg0,.* <comib_tests>\r\n\
337.*comibf,<<,n 0,arg0,.* <comib_tests>\r\n\
338.*comibf,<<=,n 0,arg0,.* <comib_tests>\r\n\
339.*comibf,sv,n 0,arg0,.* <comib_tests>\r\n\
340.*comibf,od,n 0,arg0,.* <comib_tests>\r\n\
341.*$prompt $" { pass "comib_nullified_tests" }
342 -re "$prompt $" { fail "comib_nullified_tests" }
343 timeout { fail "(timeout) comib_nullified_tests " }
344 }
345
47882638
JK
346 send "x/16i addb_tests\n"
347 expect {
348 -re ".*
8a1f1fba
JL
349.*addb r1,r4,.* <addb_tests>\r\n\
350.*addb,= r1,r4,.* <addb_tests>\r\n\
351.*addb,< r1,r4,.* <addb_tests>\r\n\
352.*addb,<= r1,r4,.* <addb_tests>\r\n\
353.*addb,nuv r1,r4,.* <addb_tests>\r\n\
354.*addb,znv r1,r4,.* <addb_tests>\r\n\
355.*addb,sv r1,r4,.* <addb_tests>\r\n\
356.*addb,od r1,r4,.* <addb_tests>\r\n\
357.*addbf r1,r4,.* <addb_tests>\r\n\
358.*addbf,= r1,r4,.* <addb_tests>\r\n\
359.*addbf,< r1,r4,.* <addb_tests>\r\n\
360.*addbf,<= r1,r4,.* <addb_tests>\r\n\
361.*addbf,nuv r1,r4,.* <addb_tests>\r\n\
362.*addbf,znv r1,r4,.* <addb_tests>\r\n\
363.*addbf,sv r1,r4,.* <addb_tests>\r\n\
364.*addbf,od r1,r4,.* <addb_tests>\r\n\
47882638
JK
365.*$prompt $" { pass "addb_tests" }
366 -re "$prompt $" { fail "addb_tests" }
367 timeout { fail "(timeout) addb_tests " }
368 }
369
47882638
JK
370 send "x/16i addb_nullified_tests\n"
371 expect {
372 -re ".*
8a1f1fba
JL
373.*addb,n r1,r4,.* <addb_tests>\r\n\
374.*addb,=,n r1,r4,.* <addb_tests>\r\n\
375.*addb,<,n r1,r4,.* <addb_tests>\r\n\
376.*addb,<=,n r1,r4,.* <addb_tests>\r\n\
377.*addb,nuv,n r1,r4,.* <addb_tests>\r\n\
378.*addb,znv,n r1,r4,.* <addb_tests>\r\n\
379.*addb,sv,n r1,r4,.* <addb_tests>\r\n\
380.*addb,od,n r1,r4,.* <addb_tests>\r\n\
381.*addbf,n r1,r4,.* <addb_tests>\r\n\
382.*addbf,=,n r1,r4,.* <addb_tests>\r\n\
383.*addbf,<,n r1,r4,.* <addb_tests>\r\n\
384.*addbf,<=,n r1,r4,.* <addb_tests>\r\n\
385.*addbf,nuv,n r1,r4,.* <addb_tests>\r\n\
386.*addbf,znv,n r1,r4,.* <addb_tests>\r\n\
387.*addbf,sv,n r1,r4,.* <addb_tests>\r\n\
388.*addbf,od,n r1,r4,.* <addb_tests>\r\n\
47882638
JK
389.*$prompt $" { pass "addb_nullified_tests" }
390 -re "$prompt $" { fail "addb_nullified_tests" }
391 timeout { fail "(timeout) addb_nullified_tests " }
392 }
393
47882638
JK
394 send "x/16i addib_tests\n"
395 expect {
396 -re ".*
8a1f1fba
JL
397.*addib -1,r4,.* <addib_tests>\r\n\
398.*addib,= -1,r4,.* <addib_tests>\r\n\
399.*addib,< -1,r4,.* <addib_tests>\r\n\
400.*addib,<= -1,r4,.* <addib_tests>\r\n\
401.*addib,nuv -1,r4,.* <addib_tests>\r\n\
402.*addib,znv -1,r4,.* <addib_tests>\r\n\
403.*addib,sv -1,r4,.* <addib_tests>\r\n\
404.*addib,od -1,r4,.* <addib_tests>\r\n\
405.*addibf -1,r4,.* <addib_tests>\r\n\
406.*addibf,= -1,r4,.* <addib_tests>\r\n\
407.*addibf,< -1,r4,.* <addib_tests>\r\n\
408.*addibf,<= -1,r4,.* <addib_tests>\r\n\
409.*addibf,nuv -1,r4,.* <addib_tests>\r\n\
410.*addibf,znv -1,r4,.* <addib_tests>\r\n\
411.*addibf,sv -1,r4,.* <addib_tests>\r\n\
412.*addibf,od -1,r4,.* <addib_tests>\r\n\
47882638
JK
413.*$prompt $" { pass "addib_tests" }
414 -re "$prompt $" { fail "addib_tests" }
415 timeout { fail "(timeout) addib_tests " }
416 }
417
47882638
JK
418 send "x/16i addib_nullified_tests\n"
419 expect {
420 -re ".*
8a1f1fba
JL
421.*addib,n -1,r4,.* <addib_tests>\r\n\
422.*addib,=,n -1,r4,.* <addib_tests>\r\n\
423.*addib,<,n -1,r4,.* <addib_tests>\r\n\
424.*addib,<=,n -1,r4,.* <addib_tests>\r\n\
425.*addib,nuv,n -1,r4,.* <addib_tests>\r\n\
426.*addib,znv,n -1,r4,.* <addib_tests>\r\n\
427.*addib,sv,n -1,r4,.* <addib_tests>\r\n\
428.*addib,od,n -1,r4,.* <addib_tests>\r\n\
429.*addibf,n -1,r4,.* <addib_tests>\r\n\
430.*addibf,=,n -1,r4,.* <addib_tests>\r\n\
431.*addibf,<,n -1,r4,.* <addib_tests>\r\n\
432.*addibf,<=,n -1,r4,.* <addib_tests>\r\n\
433.*addibf,nuv,n -1,r4,.* <addib_tests>\r\n\
434.*addibf,znv,n -1,r4,.* <addib_tests>\r\n\
435.*addibf,sv,n -1,r4,.* <addib_tests>\r\n\
436.*addibf,od,n -1,r4,.* <addib_tests>\r\n\
47882638
JK
437.*$prompt $" { pass "addb_nullified_tests" }
438 -re "$prompt $" { fail "addb_nullified_tests" }
439 timeout { fail "(timeout) addb_nullified_tests " }
440 }
441
442 send "x/8i bb_tests\n"
443 expect {
444 -re ".*
445.*bvb,< r4,.* <bb_tests>\r\n\
446.*bvb,>= r4,.* <bb_tests>\r\n\
447.*bvb,<,n r4,.* <bb_tests>\r\n\
448.*bvb,>=,n r4,.* <bb_tests>\r\n\
449.*bb,< r4,5,.* <bb_tests>\r\n\
450.*bb,>= r4,5,.* <bb_tests>\r\n\
451.*bb,<,n r4,5,.* <bb_tests>\r\n\
452.*bb,>=,n r4,5,.* <bb_tests>\r\n\
453.*$prompt $" { pass "bb_tests" }
454 -re "$prompt $" { fail "bb_tests" }
455 timeout { fail "(timeout) bb_tests " }
456 }
457}
458
459proc all_integer_computational_tests { } {
460 global prompt
461 global hex
462 global decimal
463
464 set add_insns [list {add} {addl} {addo} {addc} {addco} \
465 {sh1add} {sh1addl} {sh1addo} \
466 {sh2add} {sh2addl} {sh2addo} \
467 {sh3add} {sh3addl} {sh3addo} ]
468
469 foreach i $add_insns {
470 send "x/16i $i"; send "_tests\n"
471 expect {
472 -re ".*
473.*$i r4,r5,r6\r\n\
474.*$i,= r4,r5,r6\r\n\
475.*$i,< r4,r5,r6\r\n\
476.*$i,<= r4,r5,r6\r\n\
477.*$i,nuv r4,r5,r6\r\n\
478.*$i,znv r4,r5,r6\r\n\
479.*$i,sv r4,r5,r6\r\n\
480.*$i,od r4,r5,r6\r\n\
481.*$i,tr r4,r5,r6\r\n\
482.*$i,<> r4,r5,r6\r\n\
483.*$i,>= r4,r5,r6\r\n\
484.*$i,> r4,r5,r6\r\n\
485.*$i,uv r4,r5,r6\r\n\
486.*$i,vnz r4,r5,r6\r\n\
487.*$i,nsv r4,r5,r6\r\n\
488.*$i,ev r4,r5,r6\r\n\
489.*$prompt $" { pass "$i tests" }
490 -re "$prompt $" { fail "$i tests" }
491 timeout { fail "(timeout) $i tests" }
492 }
493 }
494
495 set sub_insns [list {sub} {subo} {subb} {subbo} {subt} {subto} \
496 {ds} {comclr} ]
497
498 foreach i $sub_insns {
499 send "x/16i $i"; send "_tests\n"
500 expect {
501 -re ".*
502.*$i r4,r5,r6\r\n\
503.*$i,= r4,r5,r6\r\n\
504.*$i,< r4,r5,r6\r\n\
505.*$i,<= r4,r5,r6\r\n\
506.*$i,<< r4,r5,r6\r\n\
507.*$i,<<= r4,r5,r6\r\n\
508.*$i,sv r4,r5,r6\r\n\
509.*$i,od r4,r5,r6\r\n\
510.*$i,tr r4,r5,r6\r\n\
511.*$i,<> r4,r5,r6\r\n\
512.*$i,>= r4,r5,r6\r\n\
513.*$i,> r4,r5,r6\r\n\
514.*$i,>>= r4,r5,r6\r\n\
515.*$i,>> r4,r5,r6\r\n\
516.*$i,nsv r4,r5,r6\r\n\
517.*$i,ev r4,r5,r6\r\n\
518.*$prompt $" { pass "$i tests" }
519 -re "$prompt $" { fail "$i tests" }
520 timeout { fail "(timeout) $i tests" }
521 }
522 }
523
524 set logical_insns [list {or} {xor} {and} {andcm} ]
525
526 foreach i $logical_insns {
527 send "x/10i $i"; send "_tests\n"
528 expect {
529 -re ".*
530.*$i r4,r5,r6\r\n\
531.*$i,= r4,r5,r6\r\n\
532.*$i,< r4,r5,r6\r\n\
533.*$i,<= r4,r5,r6\r\n\
534.*$i,od r4,r5,r6\r\n\
535.*$i,tr r4,r5,r6\r\n\
536.*$i,<> r4,r5,r6\r\n\
537.*$i,>= r4,r5,r6\r\n\
538.*$i,> r4,r5,r6\r\n\
539.*$i,ev r4,r5,r6\r\n\
540.*$prompt $" { pass "$i tests" }
541 -re "$prompt $" { fail "$i tests" }
542 timeout { fail "(timeout) $i tests" }
543 }
544 }
545
546 set unit_insns1 [list {uxor} {uaddcm} {uaddcmt} ]
547
548 foreach i $unit_insns1 {
549 send "x/12i $i"; send "_tests\n"
550 expect {
551 -re ".*
552.*$i r4,r5,r6\r\n\
553.*$i,sbz r4,r5,r6\r\n\
554.*$i,shz r4,r5,r6\r\n\
555.*$i,sdc r4,r5,r6\r\n\
556.*$i,sbc r4,r5,r6\r\n\
557.*$i,shc r4,r5,r6\r\n\
558.*$i,tr r4,r5,r6\r\n\
559.*$i,nbz r4,r5,r6\r\n\
560.*$i,nhz r4,r5,r6\r\n\
561.*$i,ndc r4,r5,r6\r\n\
562.*$i,nbc r4,r5,r6\r\n\
563.*$i,nhc r4,r5,r6\r\n\
564.*$prompt $" { pass "$i tests" }
565 -re "$prompt $" { fail "$i tests" }
566 timeout { fail "(timeout) $i tests" }
567 }
568 }
569
570 set unit_insns2 [list {dcor} {idcor} ]
571
572 foreach i $unit_insns2 {
573 send "x/12i $i"; send "_tests\n"
574 expect {
575 -re ".*
576.*$i r4,r5\r\n\
577.*$i,sbz r4,r5\r\n\
578.*$i,shz r4,r5\r\n\
579.*$i,sdc r4,r5\r\n\
580.*$i,sbc r4,r5\r\n\
581.*$i,shc r4,r5\r\n\
582.*$i,tr r4,r5\r\n\
583.*$i,nbz r4,r5\r\n\
584.*$i,nhz r4,r5\r\n\
585.*$i,ndc r4,r5\r\n\
586.*$i,nbc r4,r5\r\n\
587.*$i,nhc r4,r5\r\n\
588.*$prompt $" { pass "$i tests" }
589 -re "$prompt $" { fail "$i tests" }
590 timeout { fail "(timeout) $i tests" }
591 }
592 }
593
594 set addi_insns [list {addi} {addio} {addit} {addito} ]
595
596 foreach i $addi_insns {
597 send "x/16i $i"; send "_tests\n"
598 expect {
599 -re ".*
600.*$i 7b,r5,r6\r\n\
601.*$i,= 7b,r5,r6\r\n\
602.*$i,< 7b,r5,r6\r\n\
603.*$i,<= 7b,r5,r6\r\n\
604.*$i,nuv 7b,r5,r6\r\n\
605.*$i,znv 7b,r5,r6\r\n\
606.*$i,sv 7b,r5,r6\r\n\
607.*$i,od 7b,r5,r6\r\n\
608.*$i,tr 7b,r5,r6\r\n\
609.*$i,<> 7b,r5,r6\r\n\
610.*$i,>= 7b,r5,r6\r\n\
611.*$i,> 7b,r5,r6\r\n\
612.*$i,uv 7b,r5,r6\r\n\
613.*$i,vnz 7b,r5,r6\r\n\
614.*$i,nsv 7b,r5,r6\r\n\
615.*$i,ev 7b,r5,r6\r\n\
616.*$prompt $" { pass "$i tests" }
617 -re "$prompt $" { fail "$i tests" }
618 timeout { fail "(timeout) $i tests" }
619 }
620 }
621
622 set subi_insns [list {subi} {subio} {comiclr} ]
623
624 foreach i $subi_insns {
625 send "x/16i $i"; send "_tests\n"
626 expect {
627 -re ".*
628.*$i 7b,r5,r6\r\n\
629.*$i,= 7b,r5,r6\r\n\
630.*$i,< 7b,r5,r6\r\n\
631.*$i,<= 7b,r5,r6\r\n\
632.*$i,<< 7b,r5,r6\r\n\
633.*$i,<<= 7b,r5,r6\r\n\
634.*$i,sv 7b,r5,r6\r\n\
635.*$i,od 7b,r5,r6\r\n\
636.*$i,tr 7b,r5,r6\r\n\
637.*$i,<> 7b,r5,r6\r\n\
638.*$i,>= 7b,r5,r6\r\n\
639.*$i,> 7b,r5,r6\r\n\
640.*$i,>>= 7b,r5,r6\r\n\
641.*$i,>> 7b,r5,r6\r\n\
642.*$i,nsv 7b,r5,r6\r\n\
643.*$i,ev 7b,r5,r6\r\n\
644.*$prompt $" { pass "$i tests" }
645 -re "$prompt $" { fail "$i tests" }
646 timeout { fail "(timeout) $i tests" }
647 }
648 }
649
650 send "x/8i vshd_tests\n"
651 expect {
652 -re ".*
653.*vshd r4,r5,r6\r\n\
654.*vshd,= r4,r5,r6\r\n\
655.*vshd,< r4,r5,r6\r\n\
656.*vshd,od r4,r5,r6\r\n\
657.*vshd,tr r4,r5,r6\r\n\
658.*vshd,<> r4,r5,r6\r\n\
659.*vshd,>= r4,r5,r6\r\n\
660.*vshd,ev r4,r5,r6\r\n\
661.*$prompt $" { pass "vshd tests" }
662 -re "$prompt $" { fail "vshd tests" }
663 timeout { fail "(timeout) "vshd tests" }
664 }
665
666 send "x/8i shd_tests\n"
667 expect {
668 -re ".*
669.*shd r4,r5,5,r6\r\n\
670.*shd,= r4,r5,5,r6\r\n\
671.*shd,< r4,r5,5,r6\r\n\
672.*shd,od r4,r5,5,r6\r\n\
673.*shd,tr r4,r5,5,r6\r\n\
674.*shd,<> r4,r5,5,r6\r\n\
675.*shd,>= r4,r5,5,r6\r\n\
676.*shd,ev r4,r5,5,r6\r\n\
677.*$prompt $" { pass "shd tests" }
678 -re "$prompt $" { fail "shd tests" }
679 timeout { fail "(timeout) "shd tests" }
680 }
681
682 set extract_insns1 [list {extru} {extrs} {zdep} {dep} ]
683
684 foreach i $extract_insns1 {
685 send "x/8i $i"; send "_tests\n"
686 expect {
687 -re ".*
688.*$i r4,5,10,r6\r\n\
689.*$i,= r4,5,10,r6\r\n\
690.*$i,< r4,5,10,r6\r\n\
691.*$i,od r4,5,10,r6\r\n\
692.*$i,tr r4,5,10,r6\r\n\
693.*$i,<> r4,5,10,r6\r\n\
694.*$i,>= r4,5,10,r6\r\n\
695.*$i,ev r4,5,10,r6\r\n\
696.*$prompt $" { pass "$i tests" }
697 -re "$prompt $" { fail "$i tests" }
698 timeout { fail "(timeout) $i tests" }
699 }
700 }
701
702 set extract_insns2 [list {vextru} {vextrs} {zvdep} {vdep} ]
703
704 foreach i $extract_insns2 {
705 send "x/8i $i"; send "_tests\n"
706 expect {
707 -re ".*
708.*$i r4,5,r6\r\n\
709.*$i,= r4,5,r6\r\n\
710.*$i,< r4,5,r6\r\n\
711.*$i,od r4,5,r6\r\n\
712.*$i,tr r4,5,r6\r\n\
713.*$i,<> r4,5,r6\r\n\
714.*$i,>= r4,5,r6\r\n\
715.*$i,ev r4,5,r6\r\n\
716.*$prompt $" { pass "$i tests" }
717 -re "$prompt $" { fail "$i tests" }
718 timeout { fail "(timeout) $i tests" }
719 }
720 }
721
722 set extract_insns3 [list {vdepi} {zvdepi} ]
723
724 foreach i $extract_insns3 {
725 send "x/8i $i"; send "_tests\n"
726 expect {
727 -re ".*
728.*$i -1,5,r6\r\n\
729.*$i,= -1,5,r6\r\n\
730.*$i,< -1,5,r6\r\n\
731.*$i,od -1,5,r6\r\n\
732.*$i,tr -1,5,r6\r\n\
733.*$i,<> -1,5,r6\r\n\
734.*$i,>= -1,5,r6\r\n\
735.*$i,ev -1,5,r6\r\n\
736.*$prompt $" { pass "$i tests" }
737 -re "$prompt $" { fail "$i tests" }
738 timeout { fail "(timeout) $i tests" }
739 }
740 }
741
742 set extract_insns4 [list {depi} {zdepi} ]
743
744 foreach i $extract_insns4 {
745 send "x/8i $i"; send "_tests\n"
746 expect {
747 -re ".*
748.*$i -1,4,10,r6\r\n\
749.*$i,= -1,4,10,r6\r\n\
750.*$i,< -1,4,10,r6\r\n\
751.*$i,od -1,4,10,r6\r\n\
752.*$i,tr -1,4,10,r6\r\n\
753.*$i,<> -1,4,10,r6\r\n\
754.*$i,>= -1,4,10,r6\r\n\
755.*$i,ev -1,4,10,r6\r\n\
756.*$prompt $" { pass "$i tests" }
757 -re "$prompt $" { fail "$i tests" }
758 timeout { fail "(timeout) $i tests" }
759 }
760 }
761}
762
763proc all_system_control_tests { } {
764 global prompt
765 global hex
766 global decimal
767
768 send "x/13i system_control_tests\n"
769 expect {
770 -re ".*
771.*break 5,c\r\n\
772.*rfi\r\n\
773.*rfir\r\n\
774.*ssm 5,r4\r\n\
775.*rsm 5,r4\r\n\
776.*mtsm r4\r\n\
777.*ldsid \(sr0,r5\),r4\r\n\
778.*mtsp r4,sr0\r\n\
779.*mtctl r4,ccr\r\n\
780.*mfsp sr0,r4\r\n\
781.*mfctl ccr,r4\r\n\
782.*sync\r\n\
783.*diag 9a4\r\n\
784.*$prompt $" { pass "system_constrol_tests" }
785 -re "$prompt $" { fail "system_control_tests" }
786 timeout { file "(timeout) system_control_tests" }
787 }
788
789 send "x/4i probe_tests\n"
790 expect {
791 -re ".*
792.*prober \(sr0,r5\),r6,r7\r\n\
793.*proberi \(sr0,r5\),1,r7\r\n\
794.*probew \(sr0,r5\),r6,r7\r\n\
795.*probewi \(sr0,r5\),1,r7\r\n\
796.*$prompt $" { pass "probe_tests" }
797 -re "$prompt $" { fail "probe_tests" }
798 timeout { file "(timeout) probe_tests" }
799 }
800
801 send "x/4i lpa_tests\n"
802 expect {
803 -re ".*
804.*lpa r4\(sr0,r5\),r6\r\n\
805.*lpa,m r4\(sr0,r5\),r6\r\n\
806.*lha r4\(sr0,r5\),r6\r\n\
807.*lha,m r4\(sr0,r5\),r6\r\n\
808.*$prompt $" { pass "lpa_tests" }
809 -re "$prompt $" { fail "lpa_tests" }
810 timeout { file "(timeout) lpa_tests" }
811 }
812
813 send "x/18i purge_tests\n"
814 expect {
815 -re ".*
816.*pdtlb r4\(sr0,r5\)\r\n\
817.*pdtlb,m r4\(sr0,r5\)\r\n\
818.*pitlb r4\(sr0,r5\)\r\n\
819.*pitlb,m r4\(sr0,r5\)\r\n\
820.*pdtlbe r4\(sr0,r5\)\r\n\
821.*pdtlbe,m r4\(sr0,r5\)\r\n\
822.*pitlbe r4\(sr0,r5\)\r\n\
823.*pitlbe,m r4\(sr0,r5\)\r\n\
824.*pdc r4\(sr0,r5\)\r\n\
825.*pdc,m r4\(sr0,r5\)\r\n\
826.*fdc r4\(sr0,r5\)\r\n\
827.*fdc,m r4\(sr0,r5\)\r\n\
828.*fic r4\(sr0,r5\)\r\n\
829.*fic,m r4\(sr0,r5\)\r\n\
830.*fdce r4\(sr0,r5\)\r\n\
831.*fdce,m r4\(sr0,r5\)\r\n\
832.*fice r4\(sr0,r5\)\r\n\
833.*fice,m r4\(sr0,r5\)\r\n\
834.*$prompt $" { pass "purge_tests" }
835 -re "$prompt $" { fail "purge_tests" }
836 timeout { file "(timeout) purge_tests" }
837 }
838
839 send "x/4i insert_tests\n"
840 expect {
841 -re ".*
842.*idtlba r4,\(sr0,r5\)\r\n\
843.*iitlba r4,\(sr0,r5\)\r\n\
844.*idtlbp r4,\(sr0,r5\)\r\n\
845.*iitlbp r4,\(sr0,r5\)\r\n\
846.*$prompt $" { pass "insert_tests" }
847 -re "$prompt $" { fail "insert_tests" }
848 timeout { file "(timeout) insert_tests" }
849 }
850
851}
852
853proc all_fpu_memory_tests { } {
854 global prompt
855 global hex
856 global decimal
857
6b4eae93 858 send "x/20i fpu_memory_indexing_tests\n"
47882638
JK
859 expect {
860 -re ".*
861.*fldwx r4\(sr0,r5\),fr6\r\n\
862.*fldwx,s r4\(sr0,r5\),fr6\r\n\
863.*fldwx,m r4\(sr0,r5\),fr6\r\n\
864.*fldwx,sm r4\(sr0,r5\),fr6\r\n\
865.*flddx r4\(sr0,r5\),fr6\r\n\
866.*flddx,s r4\(sr0,r5\),fr6\r\n\
867.*flddx,m r4\(sr0,r5\),fr6\r\n\
868.*flddx,sm r4\(sr0,r5\),fr6\r\n\
869.*fstwx fr6,r4\(sr0,r5\)\r\n\
870.*fstwx,s fr6,r4\(sr0,r5\)\r\n\
871.*fstwx,m fr6,r4\(sr0,r5\)\r\n\
872.*fstwx,sm fr6,r4\(sr0,r5\)\r\n\
873.*fstdx fr6,r4\(sr0,r5\)\r\n\
874.*fstdx,s fr6,r4\(sr0,r5\)\r\n\
875.*fstdx,m fr6,r4\(sr0,r5\)\r\n\
876.*fstdx,sm fr6,r4\(sr0,r5\)\r\n\
6b4eae93
JL
877.*fstqx fr6,r4\(sr0,r5\)\r\n\
878.*fstqx,s fr6,r4\(sr0,r5\)\r\n\
879.*fstqx,m fr6,r4\(sr0,r5\)\r\n\
880.*fstqx,sm fr6,r4\(sr0,r5\)\r\n\
47882638
JK
881.*$prompt $" { pass "fpu_memory_indexing_tests" }
882 -re "$prompt $" { fail "fpu_memory_indexing_tests" }
883 timeout { file "(timeout) fpu_memory_indexing_tests" }
884 }
885
6b4eae93 886 send "x/15i fpu_short_memory_tests\n"
47882638
JK
887 expect {
888 -re ".*
889.*fldws 0\(sr0,r5\),fr6\r\n\
890.*fldws,mb 0\(sr0,r5\),fr6\r\n\
891.*fldws,ma 0\(sr0,r5\),fr6\r\n\
892.*fldds 0\(sr0,r5\),fr6\r\n\
893.*fldds,mb 0\(sr0,r5\),fr6\r\n\
894.*fldds,ma 0\(sr0,r5\),fr6\r\n\
895.*fstws fr6,0\(sr0,r5\)\r\n\
896.*fstws,mb fr6,0\(sr0,r5\)\r\n\
897.*fstws,ma fr6,0\(sr0,r5\)\r\n\
898.*fstds fr6,0\(sr0,r5\)\r\n\
899.*fstds,mb fr6,0\(sr0,r5\)\r\n\
900.*fstds,ma fr6,0\(sr0,r5\)\r\n\
6b4eae93
JL
901.*fstqs fr6,0\(sr0,r5\)\r\n\
902.*fstqs,mb fr6,0\(sr0,r5\)\r\n\
903.*fstqs,ma fr6,0\(sr0,r5\)\r\n\
47882638
JK
904.*$prompt $" { pass "fpu_short_memory_tests" }
905 -re "$prompt $" { fail "fpu_short_memory_tests" }
906 timeout { file "(timeout) fpu_short_memory_tests" }
907 }
908
909}
910
911proc all_fpu_computational_tests { } {
912 global prompt
913 global hex
914 global decimal
915
6b4eae93 916 send "x/1i fpu_misc_tests\n"
47882638
JK
917 expect {
918 -re ".*
47882638
JK
919.*ftest\r\n\
920.*$prompt $" { pass "fpu_misc_tests" }
921 -re "$prompt $" { fail "fpu_misc_tests" }
922 timeout { file "(timeout) fpu_misc_tests" }
923 }
924
925 set fpu_two_op_insns [list {fcpy} {fabs} {fsqrt} {frnd} ]
926
927 foreach i $fpu_two_op_insns {
928 send "x/5i $i"; send "_tests\n"
929 expect {
930 -re ".*
931.*$i,sgl fr5,fr10\r\n\
932.*$i,dbl fr5,fr10\r\n\
933.*$i,quad fr5,fr10\r\n\
934.*$i,sgl fr20,fr24\r\n\
935.*$i,dbl fr20,fr24\r\n\
936.*$prompt $" { pass "$i tests" }
937 -re "$prompt $" { fail "$i tests" }
938 timeout { fail "(timeout) $i tests" }
939 }
940 }
941
942 set fpu_conversions [list {fcnvff} {fcnvxf} {fcnvfx} {fcnvfxt} ]
943
944 foreach i $fpu_conversions {
945 send "x/18i $i"; send "_tests\n"
946 expect {
947 -re ".*
948.*$i,sgl,sgl fr5,fr10\r\n\
949.*$i,sgl,dbl fr5,fr10\r\n\
950.*$i,sgl,quad fr5,fr10\r\n\
951.*$i,dbl,sgl fr5,fr10\r\n\
952.*$i,dbl,dbl fr5,fr10\r\n\
953.*$i,dbl,quad fr5,fr10\r\n\
954.*$i,quad,sgl fr5,fr10\r\n\
955.*$i,quad,dbl fr5,fr10\r\n\
956.*$i,quad,quad fr5,fr10\r\n\
957.*$i,sgl,sgl fr20,fr24\r\n\
958.*$i,sgl,dbl fr20,fr24\r\n\
959.*$i,sgl,quad fr20,fr24\r\n\
960.*$i,dbl,sgl fr20,fr24\r\n\
961.*$i,dbl,dbl fr20,fr24\r\n\
962.*$i,dbl,quad fr20,fr24\r\n\
963.*$i,quad,sgl fr20,fr24\r\n\
964.*$i,quad,dbl fr20,fr24\r\n\
965.*$i,quad,quad fr20,fr24\r\n\
966.*$prompt $" { pass "$i tests" }
967 -re "$prompt $" { fail "$i tests" }
968 timeout { fail "(timeout) $i tests" }
969 }
970 }
971
972 set fpu_three_op_insns [list {fadd} {fsub} {fmpy} {fdiv} {frem} ]
973
974 foreach i $fpu_three_op_insns {
975 send "x/6i $i"; send "_tests\n"
976 expect {
977 -re ".*
978.*$i,sgl fr4,fr8,fr12\r\n\
979.*$i,dbl fr4,fr8,fr12\r\n\
980.*$i,quad fr4,fr8,fr12\r\n\
981.*$i,sgl fr20,fr24,fr28\r\n\
982.*$i,dbl fr20,fr24,fr28\r\n\
983.*$i,quad fr20,fr24,fr28\r\n\
984.*$prompt $" { pass "$i tests" }
985 -re "$prompt $" { fail "$i tests" }
986 timeout { fail "(timeout) $i tests" }
987 }
988 }
989
47882638
JK
990 send "x/4i fmpy_addsub_tests\n"
991 expect {
992 -re ".*
ddb01977
JL
993.*fmpyadd,sgl fr16,fr17,fr18,fr19,fr20\r\n\
994.*fmpyadd,dbl fr16,fr17,fr18,fr19,fr20\r\n\
995.*fmpysub,sgl fr16,fr17,fr18,fr19,fr20\r\n\
996.*fmpysub,dbl fr16,fr17,fr18,fr19,fr20\r\n\
47882638
JK
997.*$prompt $" { pass "fmpy_addsub_tests" }
998 -re "$prompt $" { fail "fmpy_addsub_tests" }
999 timeout { fail "(timeout) fmpy_addsub_tests" }
1000 }
1001
47882638
JK
1002 send "x/i xmpyu_tests\n"
1003 expect {
1004 -re ".*
6b4eae93 1005.*xmpyu fr4,fr5,fr6\r\n\
47882638
JK
1006.*$prompt $" {pass "xmpyu_tests" }
1007 -re "$prompt $" {fail "xmpyu_tests" }
1008 timeout { fail "(timeout) xmpyu_tests" }
1009 }
1010
1011}
1012
1013proc all_fpu_comparison_tests { } {
1014 global prompt
1015 global hex
1016 global decimal
1017
1018 set fpu_comparison_formats [list {sgl} {dbl} {quad} ]
1019
47882638 1020 foreach i $fpu_comparison_formats {
47882638
JK
1021 send "x/32i fcmp_$i"; send "_tests\n"
1022 expect {
1023 -re ".*
647d688b
JL
1024.*fcmp,$i,false\? fr4,fr5\r\n\
1025.*fcmp,$i,false fr4,fr5\r\n\
1026.*fcmp,$i,\? fr4,fr5\r\n\
1027.*fcmp,$i,!<=> fr4,fr5\r\n\
1028.*fcmp,$i,= fr4,fr5\r\n\
1029.*fcmp,$i,=t fr4,fr5\r\n\
1030.*fcmp,$i,\?= fr4,fr5\r\n\
1031.*fcmp,$i,!<> fr4,fr5\r\n\
1032.*fcmp,$i,!\?>= fr4,fr5\r\n\
1033.*fcmp,$i,< fr4,fr5\r\n\
1034.*fcmp,$i,\?< fr4,fr5\r\n\
1035.*fcmp,$i,!>= fr4,fr5\r\n\
1036.*fcmp,$i,!\?> fr4,fr5\r\n\
1037.*fcmp,$i,<= fr4,fr5\r\n\
1038.*fcmp,$i,\?<= fr4,fr5\r\n\
1039.*fcmp,$i,!> fr4,fr5\r\n\
1040.*fcmp,$i,!\?<= fr4,fr5\r\n\
1041.*fcmp,$i,> fr4,fr5\r\n\
1042.*fcmp,$i,\?> fr4,fr5\r\n\
1043.*fcmp,$i,!<= fr4,fr5\r\n\
1044.*fcmp,$i,!\?< fr4,fr5\r\n\
1045.*fcmp,$i,>= fr4,fr5\r\n\
1046.*fcmp,$i,\?>= fr4,fr5\r\n\
1047.*fcmp,$i,!< fr4,fr5\r\n\
1048.*fcmp,$i,!\?= fr4,fr5\r\n\
1049.*fcmp,$i,<> fr4,fr5\r\n\
1050.*fcmp,$i,!= fr4,fr5\r\n\
1051.*fcmp,$i,!=t fr4,fr5\r\n\
1052.*fcmp,$i,!\? fr4,fr5\r\n\
1053.*fcmp,$i,<=> fr4,fr5\r\n\
1054.*fcmp,$i,true\? fr4,fr5\r\n\
1055.*fcmp,$i,true fr4,fr5\r\n\
47882638
JK
1056.*$prompt $" { pass "$i tests" }
1057 -re "$prompt $" { fail "fcmp_$i tests" }
1058 timeout { fail "(timeout) fcmp_$i tests" }
1059 }
1060 }
1061}
1062
1063proc all_special_tests { } {
1064 global prompt
1065 global hex
1066 global decimal
1067
1068 send "x/4i special_tests\n"
1069 expect {
1070 -re ".*
1071.*gfw r4\(sr0,r5\)\r\n\
1072.*gfw,m r4\(sr0,r5\)\r\n\
1073.*gfr r4\(sr0,r5\)\r\n\
1074.*gfr,m r4\(sr0,r5\)\r\n\
1075.*$prompt $" { pass "special tests" }
1076 -re "$prompt $" { fail "special tests" }
1077 timeout { fail "(timeout) special tests " }
1078 }
1079
1080}
1081
6b4eae93
JL
1082proc all_sfu_tests { } {
1083 global prompt
1084 global hex
1085 global decimal
1086
1087 send "x/16i sfu_tests\n"
1088 expect {
1089 -re ".*
1090.*spop0,4,5\r\n\
1091.*spop0,4,73\r\n\
1092.*spop0,4,5,n\r\n\
1093.*spop0,4,73,n\r\n\
1094.*spop1,4,5 r5\r\n\
1095.*spop1,4,73 r5\r\n\
1096.*spop1,4,5,n r5\r\n\
1097.*spop1,4,73,n r5\r\n\
1098.*spop2,4,5 r5\r\n\
1099.*spop2,4,73 r5\r\n\
1100.*spop2,4,5,n r5\r\n\
1101.*spop2,4,73,n r5\r\n\
1102.*spop3,4,5 r5,r6\r\n\
1103.*spop3,4,73 r5,r6\r\n\
1104.*spop3,4,5,n r5,r6\r\n\
1105.*spop3,4,73,n r5,r6\r\n\
1106.*$prompt $" { pass "sfu tests" }
1107 -re "$prompt $" { fail "sfu tests" }
1108 timeout { fail "(timeout) sfu tests " }
1109 }
1110}
1111
1112proc all_copr_tests { } {
1113 global prompt
1114 global hex
1115 global decimal
1116
1117 send "x/4i copr_tests\n"
1118 expect {
1119 -re ".*
1120.*copr,4,5\r\n\
1121.*copr,4,73\r\n\
1122.*copr,4,5,n\r\n\
1123.*copr,4,73,n\r\n\
1124.*$prompt $" { pass "copr tests" }
1125 -re "$prompt $" { fail "copr tests" }
1126 timeout { fail "(timeout) copr tests " }
1127 }
1128}
1129
1130proc all_copr_mem_tests { } {
1131 global prompt
1132 global hex
1133 global decimal
1134
1135 send "x/8i copr_indexing_load\n"
1136 expect {
1137 -re ".*
1138.*cldwx,4 r5\(sr0,r4\),arg0\r\n\
1139.*cldwx,4,s r5\(sr0,r4\),arg0\r\n\
1140.*cldwx,4,m r5\(sr0,r4\),arg0\r\n\
1141.*cldwx,4,sm r5\(sr0,r4\),arg0\r\n\
1142.*clddx,4 r5\(sr0,r4\),arg0\r\n\
1143.*clddx,4,s r5\(sr0,r4\),arg0\r\n\
1144.*clddx,4,m r5\(sr0,r4\),arg0\r\n\
1145.*clddx,4,sm r5\(sr0,r4\),arg0\r\n\
1146.*$prompt $" { pass "copr indexed load tests" }
1147 -re "$prompt $" { fail "copr indexed load tests" }
1148 timeout { fail "(timeout) copr indexed load tests " }
1149 }
1150
1151 send "x/8i copr_indexing_store\n"
1152 expect {
1153 -re ".*
1154.*cstwx,4 arg0,r5\(sr0,r4\)\r\n\
1155.*cstwx,4,s arg0,r5\(sr0,r4\)\r\n\
1156.*cstwx,4,m arg0,r5\(sr0,r4\)\r\n\
1157.*cstwx,4,sm arg0,r5\(sr0,r4\)\r\n\
1158.*cstdx,4 arg0,r5\(sr0,r4\)\r\n\
1159.*cstdx,4,s arg0,r5\(sr0,r4\)\r\n\
1160.*cstdx,4,m arg0,r5\(sr0,r4\)\r\n\
1161.*cstdx,4,sm arg0,r5\(sr0,r4\)\r\n\
1162.*$prompt $" { pass "copr indexed store tests" }
1163 -re "$prompt $" { fail "copr indexed store tests" }
1164 timeout { fail "(timeout) copr indexed load tests " }
1165 }
1166
1167 send "x/12i copr_short_memory\n"
1168 expect {
1169 -re ".*
1170.*cldws,4 0\(sr0,r4\),arg0\r\n\
1171.*cldws,4,mb 0\(sr0,r4\),arg0\r\n\
1172.*cldws,4,ma 0\(sr0,r4\),arg0\r\n\
1173.*cldds,4 0\(sr0,r4\),arg0\r\n\
1174.*cldds,4,mb 0\(sr0,r4\),arg0\r\n\
1175.*cldds,4,ma 0\(sr0,r4\),arg0\r\n\
1176.*cstws,4 arg0,0\(sr0,r4\)\r\n\
1177.*cstws,4,mb arg0,0\(sr0,r4\)\r\n\
1178.*cstws,4,ma arg0,0\(sr0,r4\)\r\n\
1179.*cstds,4 arg0,0\(sr0,r4\)\r\n\
1180.*cstds,4,mb arg0,0\(sr0,r4\)\r\n\
1181.*cstds,4,ma arg0,0\(sr0,r4\)\r\n\
1182.*$prompt $" { pass "copr short memory tests" }
1183 -re "$prompt $" { fail "copr short memory tests" }
1184 timeout { fail "(timeout) copr short memory tests " }
1185 }
1186}
1187
1188if ![file exists $objdir/$subdir/$binfile] then {
1189 if $all_flag then {
1190 warning "$objdir/$subdir/$binfile does not exist; tests suppressed"
1191 }
1192} else {
1193 # Start with a fresh gdb.
47882638 1194
6b4eae93
JL
1195 gdb_exit
1196 gdb_start
1197 gdb_reinitialize_dir $srcdir/$subdir
1198 gdb_load $objdir/$subdir/$binfile
47882638 1199
8092225e
JK
1200 all_integer_memory_tests
1201 all_immediate_tests
1202 all_branch_tests
1203 all_integer_computational_tests
1204 all_system_control_tests
1205 all_fpu_memory_tests
1206 all_fpu_computational_tests
1207 all_fpu_comparison_tests
47882638 1208 all_special_tests
6b4eae93
JL
1209 all_sfu_tests
1210 all_copr_tests
1211 all_copr_mem_tests
47882638 1212}
This page took 0.090207 seconds and 4 git commands to generate.