Commit | Line | Data |
---|---|---|
9d49699b JL |
1 | # Copyright (C) 1996 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | |
16 | ||
17 | # Please email any bugs, comments, and/or additions to this file to: | |
18 | # DejaGnu@cygnus.com | |
19 | ||
20 | # Written by Cygnus Support. | |
21 | ||
22 | proc do_add {} { | |
23 | set testname "add.s: Add operations" | |
24 | set x 0 | |
25 | ||
26 | gas_start "add.s" "-al" | |
27 | ||
28 | # Instead of having a variable for each match string just increment the | |
29 | # total number of matches seen. That's simpler when testing large numbers | |
30 | # of instructions (as these tests to). | |
31 | while 1 { | |
32 | expect { | |
33 | -re "^ +\[0-9\]+ 0000 96\[^\n\]*\n" { set x [expr $x+1] } | |
34 | -re "^ +\[0-9\]+ 0001 F20B\[^\n\]*\n" { set x [expr $x+1] } | |
35 | -re "^ +\[0-9\]+ 0003 F2C9\[^\n\]*\n" { set x [expr $x+1] } | |
36 | -re "^ +\[0-9\]+ 0005 F24E\[^\n\]*\n" { set x [expr $x+1] } | |
37 | -re "^ +\[0-9\]+ 0007 D510\[^\n\]*\n" { set x [expr $x+1] } | |
38 | -re "^ +\[0-9\]+ 0009 F71A0001\[^\n\]*\n" { set x [expr $x+1] } | |
39 | -re "^ +\[0-9\]+ 000d F463FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
40 | -re "^ +8 +01\[^\n\]*\n" { set x [expr $x+1] } | |
41 | -re "^ +\[0-9\]+ 0012 D110\[^\n\]*\n" { set x [expr $x+1] } | |
42 | -re "^ +\[0-9\]+ 0014 F70A0001\[^\n\]*\n" { set x [expr $x+1] } | |
43 | -re "^ +\[0-9\]+ 0018 F467FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
44 | -re "^ +11 +01\[^\n\]*\n" { set x [expr $x+1] } | |
45 | -re "^ +\[0-9\]+ 001d F286\[^\n\]*\n" { set x [expr $x+1] } | |
46 | -re "^ +\[0-9\]+ 001f F50E10\[^\n\]*\n" { set x [expr $x+1] } | |
47 | -re "\[^\n\]*\n" { } | |
48 | timeout { perror "timeout\n"; break } | |
49 | eof { break } | |
50 | } | |
51 | } | |
52 | ||
53 | # This was intended to do any cleanup necessary. It kinda looks like it | |
54 | # isn't needed, but just in case, please keep it in for now. | |
55 | gas_finish | |
56 | ||
57 | # Did we find what we were looking for? If not, flunk it. | |
58 | if [expr $x==14] then { pass $testname } else { fail $testname } | |
59 | } | |
60 | ||
61 | proc do_bcc {} { | |
62 | set testname "bcc.s: Bcc tests" | |
63 | set x 0 | |
64 | ||
65 | gas_start "bcc.s" "-al" | |
66 | ||
67 | # Instead of having a variable for each match string just increment the | |
68 | # total number of matches seen. That's simpler when testing large numbers | |
69 | # of instructions (as these tests to). | |
70 | while 1 { | |
71 | expect { | |
72 | -re "^ +\[0-9\]+ 0000 E800\[^\n\]*\n" { set x [expr $x+1] } | |
73 | -re "^ +\[0-9\]+ 0002 E900\[^\n\]*\n" { set x [expr $x+1] } | |
74 | -re "^ +\[0-9\]+ 0004 E100\[^\n\]*\n" { set x [expr $x+1] } | |
75 | -re "^ +\[0-9\]+ 0006 E200\[^\n\]*\n" { set x [expr $x+1] } | |
76 | -re "^ +\[0-9\]+ 0008 E300\[^\n\]*\n" { set x [expr $x+1] } | |
77 | -re "^ +\[0-9\]+ 000a E000\[^\n\]*\n" { set x [expr $x+1] } | |
78 | -re "^ +\[0-9\]+ 000c E500\[^\n\]*\n" { set x [expr $x+1] } | |
79 | -re "^ +\[0-9\]+ 000e E600\[^\n\]*\n" { set x [expr $x+1] } | |
80 | -re "^ +\[0-9\]+ 0010 E700\[^\n\]*\n" { set x [expr $x+1] } | |
81 | -re "^ +\[0-9\]+ 0012 E400\[^\n\]*\n" { set x [expr $x+1] } | |
82 | -re "^ +\[0-9\]+ 0014 F5FC00\[^\n\]*\n" { set x [expr $x+1] } | |
83 | -re "^ +\[0-9\]+ 0017 F5FD00\[^\n\]*\n" { set x [expr $x+1] } | |
84 | -re "^ +\[0-9\]+ 001a F5FE00\[^\n\]*\n" { set x [expr $x+1] } | |
85 | -re "^ +\[0-9\]+ 001d F5FF00\[^\n\]*\n" { set x [expr $x+1] } | |
86 | -re "^ +\[0-9\]+ 0020 EA00\[^\n\]*\n" { set x [expr $x+1] } | |
87 | -re "\[^\n\]*\n" { } | |
88 | timeout { perror "timeout\n"; break } | |
89 | eof { break } | |
90 | } | |
91 | } | |
92 | ||
93 | # This was intended to do any cleanup necessary. It kinda looks like it | |
94 | # isn't needed, but just in case, please keep it in for now. | |
95 | gas_finish | |
96 | ||
97 | # Did we find what we were looking for? If not, flunk it. | |
98 | if [expr $x==15] then { pass $testname } else { fail $testname } | |
99 | } | |
100 | ||
101 | proc do_bccx {} { | |
102 | set testname "bccx.s: Bccx tests" | |
103 | set x 0 | |
104 | ||
105 | gas_start "bccx.s" "-al" | |
106 | ||
107 | # Instead of having a variable for each match string just increment the | |
108 | # total number of matches seen. That's simpler when testing large numbers | |
109 | # of instructions (as these tests to). | |
110 | while 1 { | |
111 | expect { | |
112 | -re "^ +\[0-9\]+ 0000 F5E800\[^\n\]*\n" { set x [expr $x+1] } | |
113 | -re "^ +\[0-9\]+ 0003 F5E900\[^\n\]*\n" { set x [expr $x+1] } | |
114 | -re "^ +\[0-9\]+ 0006 F5E100\[^\n\]*\n" { set x [expr $x+1] } | |
115 | -re "^ +\[0-9\]+ 0009 F5E200\[^\n\]*\n" { set x [expr $x+1] } | |
116 | -re "^ +\[0-9\]+ 000c F5E300\[^\n\]*\n" { set x [expr $x+1] } | |
117 | -re "^ +\[0-9\]+ 000f F5E000\[^\n\]*\n" { set x [expr $x+1] } | |
118 | -re "^ +\[0-9\]+ 0012 F5E500\[^\n\]*\n" { set x [expr $x+1] } | |
119 | -re "^ +\[0-9\]+ 0015 F5E600\[^\n\]*\n" { set x [expr $x+1] } | |
120 | -re "^ +\[0-9\]+ 0018 F5E700\[^\n\]*\n" { set x [expr $x+1] } | |
121 | -re "^ +\[0-9\]+ 001b F5E400\[^\n\]*\n" { set x [expr $x+1] } | |
122 | -re "^ +\[0-9\]+ 001e F5EC00\[^\n\]*\n" { set x [expr $x+1] } | |
123 | -re "^ +\[0-9\]+ 0021 F5ED00\[^\n\]*\n" { set x [expr $x+1] } | |
124 | -re "^ +\[0-9\]+ 0024 F5EE00\[^\n\]*\n" { set x [expr $x+1] } | |
125 | -re "^ +\[0-9\]+ 0027 F5EF00\[^\n\]*\n" { set x [expr $x+1] } | |
126 | -re "\[^\n\]*\n" { } | |
127 | timeout { perror "timeout\n"; break } | |
128 | eof { break } | |
129 | } | |
130 | } | |
131 | ||
132 | # This was intended to do any cleanup necessary. It kinda looks like it | |
133 | # isn't needed, but just in case, please keep it in for now. | |
134 | gas_finish | |
135 | ||
136 | # Did we find what we were looking for? If not, flunk it. | |
137 | if [expr $x==14] then { pass $testname } else { fail $testname } | |
138 | } | |
139 | ||
140 | proc do_bit {} { | |
141 | set testname "bit.s: bit tests" | |
142 | set x 0 | |
143 | ||
144 | gas_start "bit.s" "-al" | |
145 | ||
146 | # Instead of having a variable for each match string just increment the | |
147 | # total number of matches seen. That's simpler when testing large numbers | |
148 | # of instructions (as these tests to). | |
149 | while 1 { | |
150 | expect { | |
151 | -re "^ +\[0-9\]+ 0000 F50540\[^\n\]*\n" { set x [expr $x+1] } | |
152 | -re "^ +\[0-9\]+ 0003 F7060020\[^\n\]*\n" { set x [expr $x+1] } | |
153 | -re "^ +\[0-9\]+ 0007 F029\[^\n\]*\n" { set x [expr $x+1] } | |
154 | -re "^ +\[0-9\]+ 0009 F039\[^\n\]*\n" { set x [expr $x+1] } | |
155 | -re "^ +12 +FFFF40\[^\n\]*\n" { set x [expr $x+1] } | |
156 | -re "\[^\n\]*\n" { } | |
157 | timeout { perror "timeout\n"; break } | |
158 | eof { break } | |
159 | } | |
160 | } | |
161 | ||
162 | # This was intended to do any cleanup necessary. It kinda looks like it | |
163 | # isn't needed, but just in case, please keep it in for now. | |
164 | gas_finish | |
165 | ||
166 | # Did we find what we were looking for? If not, flunk it. | |
167 | if [expr $x==4] then { pass $testname } else { fail $testname } | |
168 | } | |
169 | ||
170 | ||
171 | proc do_cmp {} { | |
172 | set testname "cmp.s: cmp tests" | |
173 | set x 0 | |
174 | ||
175 | gas_start "cmp.s" "-al" | |
176 | ||
177 | # Instead of having a variable for each match string just increment the | |
178 | # total number of matches seen. That's simpler when testing large numbers | |
179 | # of instructions (as these tests to). | |
180 | while 1 { | |
181 | expect { | |
182 | -re "^ +\[0-9\]+ 0000 F396\[^\n\]*\n" { set x [expr $x+1] } | |
183 | -re "^ +\[0-9\]+ 0002 F22B\[^\n\]*\n" { set x [expr $x+1] } | |
184 | -re "^ +\[0-9\]+ 0004 F2EF\[^\n\]*\n" { set x [expr $x+1] } | |
185 | -re "^ +\[0-9\]+ 0006 F26E\[^\n\]*\n" { set x [expr $x+1] } | |
186 | -re "^ +\[0-9\]+ 0008 DB10\[^\n\]*\n" { set x [expr $x+1] } | |
187 | -re "^ +\[0-9\]+ 000a F74A0001\[^\n\]*\n" { set x [expr $x+1] } | |
188 | -re "^ +\[0-9\]+ 000e F479FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
189 | -re "^ +8 +01\[^\n\]*\n" { set x [expr $x+1] } | |
190 | -re "^ +\[0-9\]+ 0013 EE0001\[^\n\]*\n" { set x [expr $x+1] } | |
191 | -re "^ +\[0-9\]+ 0016 F47DFFFF\[^\n\]*\n" { set x [expr $x+1] } | |
192 | -re "^ +10 +01\[^\n\]*\n" { set x [expr $x+1] } | |
193 | -re "\[^\n\]*\n" { } | |
194 | timeout { perror "timeout\n"; break } | |
195 | eof { break } | |
196 | } | |
197 | } | |
198 | ||
199 | # This was intended to do any cleanup necessary. It kinda looks like it | |
200 | # isn't needed, but just in case, please keep it in for now. | |
201 | gas_finish | |
202 | ||
203 | # Did we find what we were looking for? If not, flunk it. | |
204 | if [expr $x==11] then { pass $testname } else { fail $testname } | |
205 | } | |
206 | ||
207 | proc do_ext {} { | |
208 | set testname "ext.s: ext tests" | |
209 | set x 0 | |
210 | ||
211 | gas_start "ext.s" "-al" | |
212 | ||
213 | # Instead of having a variable for each match string just increment the | |
214 | # total number of matches seen. That's simpler when testing large numbers | |
215 | # of instructions (as these tests to). | |
216 | while 1 { | |
217 | expect { | |
218 | -re "^ +\[0-9\]+ 0000 F3C5\[^\n\]*\n" { set x [expr $x+1] } | |
219 | -re "^ +\[0-9\]+ 0002 B2\[^\n\]*\n" { set x [expr $x+1] } | |
220 | -re "^ +\[0-9\]+ 0003 B7\[^\n\]*\n" { set x [expr $x+1] } | |
221 | -re "^ +\[0-9\]+ 0004 BA\[^\n\]*\n" { set x [expr $x+1] } | |
222 | -re "^ +\[0-9\]+ 0005 BD\[^\n\]*\n" { set x [expr $x+1] } | |
223 | -re "\[^\n\]*\n" { } | |
224 | timeout { perror "timeout\n"; break } | |
225 | eof { break } | |
226 | } | |
227 | } | |
228 | ||
229 | # This was intended to do any cleanup necessary. It kinda looks like it | |
230 | # isn't needed, but just in case, please keep it in for now. | |
231 | gas_finish | |
232 | ||
233 | # Did we find what we were looking for? If not, flunk it. | |
234 | if [expr $x==5] then { pass $testname } else { fail $testname } | |
235 | } | |
236 | ||
237 | proc do_extend {} { | |
238 | set testname "extend.s: extended instruction tests" | |
239 | set x 0 | |
240 | ||
241 | gas_start "extend.s" "-al" | |
242 | ||
243 | # Instead of having a variable for each match string just increment the | |
244 | # total number of matches seen. That's simpler when testing large numbers | |
245 | # of instructions (as these tests to). | |
246 | while 1 { | |
247 | expect { | |
248 | -re "^ +\[0-9\]+ 0000 F505\[^\n\]*\n" { set x [expr $x+1] } | |
249 | -re "^ +\[0-9\]+ 0002 F6FA\[^\n\]*\n" { set x [expr $x+1] } | |
250 | -re "^ +\[0-9\]+ 0004 F606\[^\n\]*\n" { set x [expr $x+1] } | |
251 | -re "^ +\[0-9\]+ 0006 F90210\[^\n\]*\n" { set x [expr $x+1] } | |
252 | -re "^ +\[0-9\]+ 0009 FB030100\[^\n\]*\n" { set x [expr $x+1] } | |
253 | -re "^ +\[0-9\]+ 000d FD030001\[^\n\]*\n" { set x [expr $x+1] } | |
254 | -re "^ +7 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
255 | -re "^ +\[0-9\]+ 0013 F616\[^\n\]*\n" { set x [expr $x+1] } | |
256 | -re "^ +\[0-9\]+ 0015 F91610\[^\n\]*\n" { set x [expr $x+1] } | |
257 | -re "^ +\[0-9\]+ 0018 FB170100\[^\n\]*\n" { set x [expr $x+1] } | |
258 | -re "^ +\[0-9\]+ 001c FD170001\[^\n\]*\n" { set x [expr $x+1] } | |
259 | -re "^ +11 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
260 | -re "^ +\[0-9\]+ 0022 F64B\[^\n\]*\n" { set x [expr $x+1] } | |
261 | -re "^ +\[0-9\]+ 0024 F65E\[^\n\]*\n" { set x [expr $x+1] } | |
262 | -re "^ +\[0-9\]+ 0026 F676\[^\n\]*\n" { set x [expr $x+1] } | |
263 | -re "\[^\n\]*\n" { } | |
264 | timeout { perror "timeout\n"; break } | |
265 | eof { break } | |
266 | } | |
267 | } | |
268 | ||
269 | # This was intended to do any cleanup necessary. It kinda looks like it | |
270 | # isn't needed, but just in case, please keep it in for now. | |
271 | gas_finish | |
272 | ||
273 | # Did we find what we were looking for? If not, flunk it. | |
274 | if [expr $x==15] then { pass $testname } else { fail $testname } | |
275 | } | |
276 | ||
277 | proc do_logical {} { | |
278 | set testname "logical.s: logical tests" | |
279 | set x 0 | |
280 | ||
281 | gas_start "logical.s" "-al" | |
282 | ||
283 | # Instead of having a variable for each match string just increment the | |
284 | # total number of matches seen. That's simpler when testing large numbers | |
285 | # of instructions (as these tests to). | |
286 | while 1 { | |
287 | expect { | |
288 | -re "^ +\[0-9\]+ 0000 F306\[^\n\]*\n" { set x [expr $x+1] } | |
289 | -re "^ +\[0-9\]+ 0002 F5027F\[^\n\]*\n" { set x [expr $x+1] } | |
290 | -re "^ +\[0-9\]+ 0005 F703FF7F\[^\n\]*\n" { set x [expr $x+1] } | |
291 | -re "^ +\[0-9\]+ 0009 F710FF7F\[^\n\]*\n" { set x [expr $x+1] } | |
292 | -re "^ +\[0-9\]+ 000d F316\[^\n\]*\n" { set x [expr $x+1] } | |
293 | -re "^ +\[0-9\]+ 000f F50A7F\[^\n\]*\n" { set x [expr $x+1] } | |
294 | -re "^ +\[0-9\]+ 0012 F743FF7F\[^\n\]*\n" { set x [expr $x+1] } | |
295 | -re "^ +\[0-9\]+ 0016 F714FF7F\[^\n\]*\n" { set x [expr $x+1] } | |
296 | -re "^ +\[0-9\]+ 001a F326\[^\n\]*\n" { set x [expr $x+1] } | |
297 | -re "^ +\[0-9\]+ 001c F74FFF7F\[^\n\]*\n" { set x [expr $x+1] } | |
298 | -re "^ +\[0-9\]+ 0020 F3E7\[^\n\]*\n" { set x [expr $x+1] } | |
299 | -re "^\[^\n\]*\n" { } | |
300 | timeout { perror "timeout\n"; break } | |
301 | eof { break } | |
302 | } | |
303 | } | |
304 | ||
305 | # This was intended to do any cleanup necessary. It kinda looks like it | |
306 | # isn't needed, but just in case, please keep it in for now. | |
307 | gas_finish | |
308 | ||
309 | # Did we find what we were looking for? If not, flunk it. | |
310 | if [expr $x==11] then { pass $testname } else { fail $testname } | |
311 | } | |
312 | ||
313 | proc do_loop {} { | |
314 | set testname "loop.s: loop tests" | |
315 | set x 0 | |
316 | ||
317 | gas_start "loop.s" "-al" | |
318 | ||
319 | # Instead of having a variable for each match string just increment the | |
320 | # total number of matches seen. That's simpler when testing large numbers | |
321 | # of instructions (as these tests to). | |
322 | while 1 { | |
323 | expect { | |
324 | -re "^ +\[0-9\]+ 0000 D8\[^\n\]*\n" { set x [expr $x+1] } | |
325 | -re "^ +\[0-9\]+ 0001 D9\[^\n\]*\n" { set x [expr $x+1] } | |
326 | -re "^ +\[0-9\]+ 0002 D1\[^\n\]*\n" { set x [expr $x+1] } | |
327 | -re "^ +\[0-9\]+ 0003 D2\[^\n\]*\n" { set x [expr $x+1] } | |
328 | -re "^ +\[0-9\]+ 0004 D3\[^\n\]*\n" { set x [expr $x+1] } | |
329 | -re "^ +\[0-9\]+ 0005 D0\[^\n\]*\n" { set x [expr $x+1] } | |
330 | -re "^ +\[0-9\]+ 0006 D5\[^\n\]*\n" { set x [expr $x+1] } | |
331 | -re "^ +\[0-9\]+ 0007 D6\[^\n\]*\n" { set x [expr $x+1] } | |
332 | -re "^ +\[0-9\]+ 0008 D7\[^\n\]*\n" { set x [expr $x+1] } | |
333 | -re "^ +\[0-9\]+ 0009 D4\[^\n\]*\n" { set x [expr $x+1] } | |
334 | -re "^ +\[0-9\]+ 000a DA\[^\n\]*\n" { set x [expr $x+1] } | |
335 | -re "^ +\[0-9\]+ 000b DB\[^\n\]*\n" { set x [expr $x+1] } | |
336 | -re "\[^\n\]*\n" { } | |
337 | timeout { perror "timeout\n"; break } | |
338 | eof { break } | |
339 | } | |
340 | } | |
341 | ||
342 | # This was intended to do any cleanup necessary. It kinda looks like it | |
343 | # isn't needed, but just in case, please keep it in for now. | |
344 | gas_finish | |
345 | ||
346 | # Did we find what we were looking for? If not, flunk it. | |
347 | if [expr $x==12] then { pass $testname } else { fail $testname } | |
348 | } | |
349 | ||
350 | proc do_mov1 {} { | |
351 | set testname "mov1.s: mov1 tests" | |
352 | set x 0 | |
353 | ||
354 | gas_start "mov1.s" "-al" | |
355 | ||
356 | # Instead of having a variable for each match string just increment the | |
357 | # total number of matches seen. That's simpler when testing large numbers | |
358 | # of instructions (as these tests to). | |
359 | while 1 { | |
360 | expect { | |
361 | -re "^ +\[0-9\]+ 0000 86\[^\n\]*\n" { set x [expr $x+1] } | |
362 | -re "^ +\[0-9\]+ 0001 F1E6\[^\n\]*\n" { set x [expr $x+1] } | |
363 | -re "^ +\[0-9\]+ 0003 F1D9\[^\n\]*\n" { set x [expr $x+1] } | |
364 | -re "^ +\[0-9\]+ 0005 99\[^\n\]*\n" { set x [expr $x+1] } | |
365 | -re "^ +\[0-9\]+ 0006 3E\[^\n\]*\n" { set x [expr $x+1] } | |
366 | -re "^ +\[0-9\]+ 0007 F2F4\[^\n\]*\n" { set x [expr $x+1] } | |
367 | -re "^ +\[0-9\]+ 0009 F2FB\[^\n\]*\n" { set x [expr $x+1] } | |
368 | -re "^ +\[0-9\]+ 000b F2E1\[^\n\]*\n" { set x [expr $x+1] } | |
369 | -re "^ +\[0-9\]+ 000d F2FA\[^\n\]*\n" { set x [expr $x+1] } | |
370 | -re "^ +\[0-9\]+ 000f 76\[^\n\]*\n" { set x [expr $x+1] } | |
371 | -re "^ +\[0-9\]+ 0010 F80608\[^\n\]*\n" { set x [expr $x+1] } | |
372 | -re "^ +\[0-9\]+ 0013 FA060100\[^\n\]*\n" { set x [expr $x+1] } | |
373 | -re "^ +\[0-9\]+ 0017 FC060001\[^\n\]*\n" { set x [expr $x+1] } | |
374 | -re "^ +14 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
375 | -re "^ +\[0-9\]+ 001d 5908\[^\n\]*\n" { set x [expr $x+1] } | |
376 | -re "^ +\[0-9\]+ 001f FAB50100\[^\n\]*\n" { set x [expr $x+1] } | |
377 | -re "^ +\[0-9\]+ 0023 F2E7\[^\n\]*\n" { set x [expr $x+1] } | |
378 | -re "\[^\n\]*\n" { } | |
379 | timeout { perror "timeout\n"; break } | |
380 | eof { break } | |
381 | } | |
382 | } | |
383 | ||
384 | # This was intended to do any cleanup necessary. It kinda looks like it | |
385 | # isn't needed, but just in case, please keep it in for now. | |
386 | gas_finish | |
387 | ||
388 | # Did we find what we were looking for? If not, flunk it. | |
389 | if [expr $x==17] then { pass $testname } else { fail $testname } | |
390 | } | |
391 | ||
392 | proc do_mov2 {} { | |
393 | set testname "mov2.s: mov2 tests" | |
394 | set x 0 | |
395 | ||
396 | gas_start "mov2.s" "-al" | |
397 | ||
398 | # Instead of having a variable for each match string just increment the | |
399 | # total number of matches seen. That's simpler when testing large numbers | |
400 | # of instructions (as these tests to). | |
401 | while 1 { | |
402 | expect { | |
403 | -re "^ +\[0-9\]+ 0000 FCB50001\[^\n\]*\n" { set x [expr $x+1] } | |
404 | -re "^ +2 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
405 | -re "^ +\[0-9\]+ 0006 F325\[^\n\]*\n" { set x [expr $x+1] } | |
406 | -re "^ +\[0-9\]+ 0008 318000\[^\n\]*\n" { set x [expr $x+1] } | |
407 | -re "^ +\[0-9\]+ 000b FCA50001\[^\n\]*\n" { set x [expr $x+1] } | |
408 | -re "^ +5 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
409 | -re "^ +\[0-9\]+ 0011 F006\[^\n\]*\n" { set x [expr $x+1] } | |
410 | -re "^ +\[0-9\]+ 0013 F82608\[^\n\]*\n" { set x [expr $x+1] } | |
411 | -re "^ +\[0-9\]+ 0016 FA260100 \[^\n\]*\n" { set x [expr $x+1] } | |
412 | -re "^ +\[0-9\]+ 001a FC260001\[^\n\]*\n" { set x [expr $x+1] } | |
413 | -re "^ +9 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
414 | -re "^ +\[0-9\]+ 0020 5D08\[^\n\]*\n" { set x [expr $x+1] } | |
415 | -re "^ +\[0-9\]+ 0022 FAB10100\[^\n\]*\n" { set x [expr $x+1] } | |
416 | -re "^ +\[0-9\]+ 0026 FCB10001\[^\n\]*\n" { set x [expr $x+1] } | |
417 | -re "^ +12 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
418 | -re "^ +\[0-9\]+ 002c F3A5\[^\n\]*\n" { set x [expr $x+1] } | |
419 | -re "^ +\[0-9\]+ 002e FAA18000\[^\n\]*\n" { set x [expr $x+1] } | |
420 | -re "^ +\[0-9\]+ 0032 FCA10001\[^\n\]*\n" { set x [expr $x+1] } | |
421 | -re "^ +15 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
422 | -re "^ +\[0-9\]+ 0038 F8F120\[^\n\]*\n" { set x [expr $x+1] } | |
423 | -re "\[^\n\]*\n" { } | |
424 | timeout { perror "timeout\n"; break } | |
425 | eof { break } | |
426 | } | |
427 | } | |
428 | ||
429 | # This was intended to do any cleanup necessary. It kinda looks like it | |
430 | # isn't needed, but just in case, please keep it in for now. | |
431 | gas_finish | |
432 | ||
433 | # Did we find what we were looking for? If not, flunk it. | |
434 | if [expr $x==20] then { pass $testname } else { fail $testname } | |
435 | } | |
436 | ||
437 | proc do_mov3 {} { | |
438 | set testname "mov3.s: mov3 tests" | |
439 | set x 0 | |
440 | ||
441 | gas_start "mov3.s" "-al" | |
442 | ||
443 | # Instead of having a variable for each match string just increment the | |
444 | # total number of matches seen. That's simpler when testing large numbers | |
445 | # of instructions (as these tests to). | |
446 | while 1 { | |
447 | expect { | |
448 | -re "^ +\[0-9\]+ 0000 66\[^\n\]*\n" { set x [expr $x+1] } | |
449 | -re "^ +\[0-9\]+ 0001 F81620\[^\n\]*\n" { set x [expr $x+1] } | |
450 | -re "^ +\[0-9\]+ 0004 FA160100\[^\n\]*\n" { set x [expr $x+1] } | |
451 | -re "^ +\[0-9\]+ 0008 FC160001\[^\n\]*\n" { set x [expr $x+1] } | |
452 | -re "^ +5 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
453 | -re "^ +\[0-9\]+ 000e 4620\[^\n\]*\n" { set x [expr $x+1] } | |
454 | -re "^ +\[0-9\]+ 0010 FA958000\[^\n\]*\n" { set x [expr $x+1] } | |
455 | -re "^ +\[0-9\]+ 0014 FC950001\[^\n\]*\n" { set x [expr $x+1] } | |
456 | -re "^ +8 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
457 | -re "^ +\[0-9\]+ 001a F35A\[^\n\]*\n" { set x [expr $x+1] } | |
458 | -re "^ +\[0-9\]+ 001c 050080\[^\n\]*\n" { set x [expr $x+1] } | |
459 | -re "^ +\[0-9\]+ 001f FC850001\[^\n\]*\n" { set x [expr $x+1] } | |
460 | -re "^ +11 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
461 | -re "^ +\[0-9\]+ 0025 F016\[^\n\]*\n" { set x [expr $x+1] } | |
462 | -re "^ +\[0-9\]+ 0027 F83620\[^\n\]*\n" { set x [expr $x+1] } | |
463 | -re "^ +\[0-9\]+ 002a FA360100\[^\n\]*\n" { set x [expr $x+1] } | |
464 | -re "^ +\[0-9\]+ 002e FC360001\[^\n\]*\n" { set x [expr $x+1] } | |
465 | -re "^ +15 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
466 | -re "^ +\[0-9\]+ 0034 4720\[^\n\]*\n" { set x [expr $x+1] } | |
467 | -re "\[^\n\]*\n" { } | |
468 | timeout { perror "timeout\n"; break } | |
469 | eof { break } | |
470 | } | |
471 | } | |
472 | ||
473 | # This was intended to do any cleanup necessary. It kinda looks like it | |
474 | # isn't needed, but just in case, please keep it in for now. | |
475 | gas_finish | |
476 | ||
477 | # Did we find what we were looking for? If not, flunk it. | |
478 | if [expr $x==19] then { pass $testname } else { fail $testname } | |
479 | } | |
480 | ||
481 | proc do_mov4 {} { | |
482 | set testname "mov4.s: mov4 tests" | |
483 | set x 0 | |
484 | ||
485 | gas_start "mov4.s" "-al" | |
486 | ||
487 | # Instead of having a variable for each match string just increment the | |
488 | # total number of matches seen. That's simpler when testing large numbers | |
489 | # of instructions (as these tests to). | |
490 | while 1 { | |
491 | expect { | |
492 | -re "^ +\[0-9\]+ 0000 FA948000\[^\n\]*\n" { set x [expr $x+1] } | |
493 | -re "^ +\[0-9\]+ 0004 FC940001\[^\n\]*\n" { set x [expr $x+1] } | |
494 | -re "^ +3 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
495 | -re "^ +\[0-9\]+ 000a F3DA\[^\n\]*\n" { set x [expr $x+1] } | |
496 | -re "^ +\[0-9\]+ 000c FA840080\[^\n\]*\n" { set x [expr $x+1] } | |
497 | -re "^ +\[0-9\]+ 0010 FC840001\[^\n\]*\n" { set x [expr $x+1] } | |
498 | -re "^ +6 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
499 | -re "^ +\[0-9\]+ 0016 F8F520\[^\n\]*\n" { set x [expr $x+1] } | |
500 | -re "^ +\[0-9\]+ 0019 8508\[^\n\]*\n" { set x [expr $x+1] } | |
501 | -re "^ +\[0-9\]+ 001b 2D0100\[^\n\]*\n" { set x [expr $x+1] } | |
502 | -re "^ +\[0-9\]+ 001e FCCD0001\[^\n\]*\n" { set x [expr $x+1] } | |
503 | -re "^ +10 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
504 | -re "^ +\[0-9\]+ 0024 9508\[^\n\]*\n" { set x [expr $x+1] } | |
505 | -re "^ +\[0-9\]+ 0026 250100\[^\n\]*\n" { set x [expr $x+1] } | |
506 | -re "^ +\[0-9\]+ 0029 FCDD0001\[^\n\]*\n" { set x [expr $x+1] } | |
507 | -re "^ +13 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
508 | -re "\[^\n\]*\n" { } | |
509 | timeout { perror "timeout\n"; break } | |
510 | eof { break } | |
511 | } | |
512 | } | |
513 | ||
514 | # This was intended to do any cleanup necessary. It kinda looks like it | |
515 | # isn't needed, but just in case, please keep it in for now. | |
516 | gas_finish | |
517 | ||
518 | # Did we find what we were looking for? If not, flunk it. | |
519 | if [expr $x==16] then { pass $testname } else { fail $testname } | |
520 | } | |
521 | ||
522 | proc do_movbu {} { | |
523 | set testname "movbu.s: movbu tests" | |
524 | set x 0 | |
525 | ||
526 | gas_start "movbu.s" "-al" | |
527 | ||
528 | # Instead of having a variable for each match string just increment the | |
529 | # total number of matches seen. That's simpler when testing large numbers | |
530 | # of instructions (as these tests to). | |
531 | while 1 { | |
532 | expect { | |
533 | -re "^ +\[0-9\]+ 0000 F046\[^\n\]*\n" { set x [expr $x+1] } | |
534 | -re "^ +\[0-9\]+ 0002 F84608\[^\n\]*\n" { set x [expr $x+1] } | |
535 | -re "^ +\[0-9\]+ 0005 FA460100\[^\n\]*\n" { set x [expr $x+1] } | |
536 | -re "^ +\[0-9\]+ 0009 FC460001\[^\n\]*\n" { set x [expr $x+1] } | |
537 | -re "^ +5 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
538 | -re "^ +\[0-9\]+ 000f F8B908\[^\n\]*\n" { set x [expr $x+1] } | |
539 | -re "^ +\[0-9\]+ 0012 FAB90100\[^\n\]*\n" { set x [expr $x+1] } | |
540 | -re "^ +\[0-9\]+ 0016 FCB90001\[^\n\]*\n" { set x [expr $x+1] } | |
541 | -re "^ +8 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
542 | -re "^ +\[0-9\]+ 001c F425\[^\n\]*\n" { set x [expr $x+1] } | |
543 | -re "^ +\[0-9\]+ 001e 358000\[^\n\]*\n" { set x [expr $x+1] } | |
544 | -re "^ +\[0-9\]+ 0021 FCA90001\[^\n\]*\n" { set x [expr $x+1] } | |
545 | -re "^ +11 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
546 | -re "^ +\[0-9\]+ 0027 F056\[^\n\]*\n" { set x [expr $x+1] } | |
547 | -re "^ +\[0-9\]+ 0029 F85620\[^\n\]*\n" { set x [expr $x+1] } | |
548 | -re "^ +\[0-9\]+ 002c FA560100\[^\n\]*\n" { set x [expr $x+1] } | |
549 | -re "^ +\[0-9\]+ 0030 FC560001\[^\n\]*\n" { set x [expr $x+1] } | |
550 | -re "^ +15 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
551 | -re "^ +\[0-9\]+ 0036 F89620\[^\n\]*\n" { set x [expr $x+1] } | |
552 | -re "^ +\[0-9\]+ 0039 FA968000\[^\n\]*\n" { set x [expr $x+1] } | |
553 | -re "^ +\[0-9\]+ 003d FC960001\[^\n\]*\n" { set x [expr $x+1] } | |
554 | -re "^ +18 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
555 | -re "^ +\[0-9\]+ 0043 F45A\[^\n\]*\n" { set x [expr $x+1] } | |
556 | -re "^ +\[0-9\]+ 0045 060080\[^\n\]*\n" { set x [expr $x+1] } | |
557 | -re "^ +\[0-9\]+ 0048 FC860001\[^\n\]*\n" { set x [expr $x+1] } | |
558 | -re "^ +21 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
559 | -re "\[^\n\]*\n" { } | |
560 | timeout { perror "timeout\n"; break } | |
561 | eof { break } | |
562 | } | |
563 | } | |
564 | ||
565 | # This was intended to do any cleanup necessary. It kinda looks like it | |
566 | # isn't needed, but just in case, please keep it in for now. | |
567 | gas_finish | |
568 | ||
569 | # Did we find what we were looking for? If not, flunk it. | |
570 | if [expr $x==26] then { pass $testname } else { fail $testname } | |
571 | } | |
572 | ||
573 | proc do_movhu {} { | |
574 | set testname "movhu.s: movhu tests" | |
575 | set x 0 | |
576 | ||
577 | gas_start "movhu.s" "-al" | |
578 | ||
579 | # Instead of having a variable for each match string just increment the | |
580 | # total number of matches seen. That's simpler when testing large numbers | |
581 | # of instructions (as these tests to). | |
582 | while 1 { | |
583 | expect { | |
584 | -re "^ +\[0-9\]+ 0000 F066\[^\n\]*\n" { set x [expr $x+1] } | |
585 | -re "^ +\[0-9\]+ 0002 F86608\[^\n\]*\n" { set x [expr $x+1] } | |
586 | -re "^ +\[0-9\]+ 0005 FA660100\[^\n\]*\n" { set x [expr $x+1] } | |
587 | -re "^ +\[0-9\]+ 0009 FC660001\[^\n\]*\n" { set x [expr $x+1] } | |
588 | -re "^ +5 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
589 | -re "^ +\[0-9\]+ 000f F8BD08\[^\n\]*\n" { set x [expr $x+1] } | |
590 | -re "^ +\[0-9\]+ 0012 FABD0100\[^\n\]*\n" { set x [expr $x+1] } | |
591 | -re "^ +\[0-9\]+ 0016 FCBD0001\[^\n\]*\n" { set x [expr $x+1] } | |
592 | -re "^ +8 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
593 | -re "^ +\[0-9\]+ 001c F4A5\[^\n\]*\n" { set x [expr $x+1] } | |
594 | -re "^ +\[0-9\]+ 001e 398000\[^\n\]*\n" { set x [expr $x+1] } | |
595 | -re "^ +\[0-9\]+ 0021 FCAD0001\[^\n\]*\n" { set x [expr $x+1] } | |
596 | -re "^ +11 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
597 | -re "^ +\[0-9\]+ 0027 F076\[^\n\]*\n" { set x [expr $x+1] } | |
598 | -re "^ +\[0-9\]+ 0029 F87620\[^\n\]*\n" { set x [expr $x+1] } | |
599 | -re "^ +\[0-9\]+ 002c FA760100\[^\n\]*\n" { set x [expr $x+1] } | |
600 | -re "^ +\[0-9\]+ 0030 FC760001\[^\n\]*\n" { set x [expr $x+1] } | |
601 | -re "^ +15 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
602 | -re "^ +\[0-9\]+ 0036 F89720\[^\n\]*\n" { set x [expr $x+1] } | |
603 | -re "^ +\[0-9\]+ 0039 FA978000\[^\n\]*\n" { set x [expr $x+1] } | |
604 | -re "^ +\[0-9\]+ 003d FC970001\[^\n\]*\n" { set x [expr $x+1] } | |
605 | -re "^ +18 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
606 | -re "^ +\[0-9\]+ 0043 F4DA\[^\n\]*\n" { set x [expr $x+1] } | |
607 | -re "^ +\[0-9\]+ 0045 070080\[^\n\]*\n" { set x [expr $x+1] } | |
608 | -re "^ +\[0-9\]+ 0048 FC870001\[^\n\]*\n" { set x [expr $x+1] } | |
609 | -re "^ +21 +FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
610 | -re "\[^\n\]*\n" { } | |
611 | timeout { perror "timeout\n"; break } | |
612 | eof { break } | |
613 | } | |
614 | } | |
615 | ||
616 | # This was intended to do any cleanup necessary. It kinda looks like it | |
617 | # isn't needed, but just in case, please keep it in for now. | |
618 | gas_finish | |
619 | ||
620 | # Did we find what we were looking for? If not, flunk it. | |
621 | if [expr $x==26] then { pass $testname } else { fail $testname } | |
622 | } | |
623 | ||
624 | proc do_movm {} { | |
625 | set testname "movm.s: movm tests" | |
626 | set x 0 | |
627 | ||
628 | gas_start "movm.s" "-al" | |
629 | ||
630 | # Instead of having a variable for each match string just increment the | |
631 | # total number of matches seen. That's simpler when testing large numbers | |
632 | # of instructions (as these tests to). | |
633 | while 1 { | |
634 | expect { | |
635 | -re "^ +\[0-9\]+ 0000 CE30\[^\n\]*\n" { set x [expr $x+1] } | |
636 | -re "^ +\[0-9\]+ 0002 CEF8\[^\n\]*\n" { set x [expr $x+1] } | |
637 | -re "^ +\[0-9\]+ 0004 CF30\[^\n\]*\n" { set x [expr $x+1] } | |
638 | -re "^ +\[0-9\]+ 0006 CFF8\[^\n\]*\n" { set x [expr $x+1] } | |
639 | -re "\[^\n\]*\n" { } | |
640 | timeout { perror "timeout\n"; break } | |
641 | eof { break } | |
642 | } | |
643 | } | |
644 | ||
645 | # This was intended to do any cleanup necessary. It kinda looks like it | |
646 | # isn't needed, but just in case, please keep it in for now. | |
647 | gas_finish | |
648 | ||
649 | # Did we find what we were looking for? If not, flunk it. | |
650 | if [expr $x==4] then { pass $testname } else { fail $testname } | |
651 | } | |
652 | ||
653 | proc do_muldiv {} { | |
654 | set testname "muldiv.s: muldiv tests" | |
655 | set x 0 | |
656 | ||
657 | gas_start "muldiv.s" "-al" | |
658 | ||
659 | # Instead of having a variable for each match string just increment the | |
660 | # total number of matches seen. That's simpler when testing large numbers | |
661 | # of instructions (as these tests to). | |
662 | while 1 { | |
663 | expect { | |
664 | -re "^ +\[0-9\]+ 0000 F346\[^\n\]*\n" { set x [expr $x+1] } | |
665 | -re "^ +\[0-9\]+ 0002 F35B\[^\n\]*\n" { set x [expr $x+1] } | |
666 | -re "^ +\[0-9\]+ 0004 F36E\[^\n\]*\n" { set x [expr $x+1] } | |
667 | -re "\[^\n\]*\n" { } | |
668 | timeout { perror "timeout\n"; break } | |
669 | eof { break } | |
670 | } | |
671 | } | |
672 | ||
673 | # This was intended to do any cleanup necessary. It kinda looks like it | |
674 | # isn't needed, but just in case, please keep it in for now. | |
675 | gas_finish | |
676 | ||
677 | # Did we find what we were looking for? If not, flunk it. | |
678 | if [expr $x==3] then { pass $testname } else { fail $testname } | |
679 | } | |
680 | ||
681 | proc do_other {} { | |
682 | set testname "other.s: other tests" | |
683 | set x 0 | |
684 | ||
685 | gas_start "other.s" "-al" | |
686 | ||
687 | # Instead of having a variable for each match string just increment the | |
688 | # total number of matches seen. That's simpler when testing large numbers | |
689 | # of instructions (as these tests to). | |
690 | while 1 { | |
691 | expect { | |
692 | -re "^ +\[0-9\]+ 0000 FC0001\[^\n\]*\n" { set x [expr $x+1] } | |
693 | -re "^ +\[0-9\]+ 0003 F4E0FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
694 | -re "^ +3 +01\[^\n\]*\n" { set x [expr $x+1] } | |
695 | -re "^ +\[0-9\]+ 0008 F008\[^\n\]*\n" { set x [expr $x+1] } | |
696 | -re "^ +\[0-9\]+ 000a FD0001\[^\n\]*\n" { set x [expr $x+1] } | |
697 | -re "^ +\[0-9\]+ 000d F4E1FFFF\[^\n\]*\n" { set x [expr $x+1] } | |
698 | -re "^ +6 +01\[^\n\]*\n" { set x [expr $x+1] } | |
699 | -re "^ +\[0-9\]+ 0012 F009\[^\n\]*\n" { set x [expr $x+1] } | |
700 | -re "^ +\[0-9\]+ 0014 FE\[^\n\]*\n" { set x [expr $x+1] } | |
701 | -re "^ +\[0-9\]+ 0015 EB\[^\n\]*\n" { set x [expr $x+1] } | |
702 | -re "^ +\[0-9\]+ 0016 F6\[^\n\]*\n" { set x [expr $x+1] } | |
703 | -re "\[^\n\]*\n" { } | |
704 | timeout { perror "timeout\n"; break } | |
705 | eof { break } | |
706 | } | |
707 | } | |
708 | ||
709 | # This was intended to do any cleanup necessary. It kinda looks like it | |
710 | # isn't needed, but just in case, please keep it in for now. | |
711 | gas_finish | |
712 | ||
713 | # Did we find what we were looking for? If not, flunk it. | |
714 | if [expr $x==11] then { pass $testname } else { fail $testname } | |
715 | } | |
716 | ||
717 | proc do_shift {} { | |
718 | set testname "shift.s: shift tests" | |
719 | set x 0 | |
720 | ||
721 | gas_start "shift.s" "-al" | |
722 | ||
723 | # Instead of having a variable for each match string just increment the | |
724 | # total number of matches seen. That's simpler when testing large numbers | |
725 | # of instructions (as these tests to). | |
726 | while 1 { | |
727 | expect { | |
728 | -re "^ +\[0-9\]+ 0000 F33A\[^\n\]*\n" { set x [expr $x+1] } | |
729 | -re "^ +\[0-9\]+ 0002 F33F\[^\n\]*\n" { set x [expr $x+1] } | |
730 | -re "^ +\[0-9\]+ 0004 F335\[^\n\]*\n" { set x [expr $x+1] } | |
731 | -re "^ +\[0-9\]+ 0006 F332\[^\n\]*\n" { set x [expr $x+1] } | |
732 | -re "\[^\n\]*\n" { } | |
733 | timeout { perror "timeout\n"; break } | |
734 | eof { break } | |
735 | } | |
736 | } | |
737 | ||
738 | # This was intended to do any cleanup necessary. It kinda looks like it | |
739 | # isn't needed, but just in case, please keep it in for now. | |
740 | gas_finish | |
741 | ||
742 | # Did we find what we were looking for? If not, flunk it. | |
743 | if [expr $x==4] then { pass $testname } else { fail $testname } | |
744 | } | |
745 | ||
746 | proc do_sub {} { | |
747 | set testname "sub.s: sub tests" | |
748 | set x 0 | |
749 | ||
750 | gas_start "sub.s" "-al" | |
751 | ||
752 | # Instead of having a variable for each match string just increment the | |
753 | # total number of matches seen. That's simpler when testing large numbers | |
754 | # of instructions (as these tests to). | |
755 | while 1 { | |
756 | expect { | |
757 | -re "^ +\[0-9\]+ 0000 A6\[^\n\]*\n" { set x [expr $x+1] } | |
758 | -re "^ +\[0-9\]+ 0001 F21B\[^\n\]*\n" { set x [expr $x+1] } | |
759 | -re "^ +\[0-9\]+ 0003 F2DF\[^\n\]*\n" { set x [expr $x+1] } | |
760 | -re "^ +\[0-9\]+ 0005 F25E\[^\n\]*\n" { set x [expr $x+1] } | |
761 | -re "^ +\[0-9\]+ 0007 F71EFF7F \[^\n\]*\n" { set x [expr $x+1] } | |
762 | -re "^ +\[0-9\]+ 000b F46AFFFF\[^\n\]*\n" { set x [expr $x+1] } | |
763 | -re "^ +7 +01\[^\n\]*\n" { set x [expr $x+1] } | |
764 | -re "^ +\[0-9\]+ 0010 F70EFF7F \[^\n\]*\n" { set x [expr $x+1] } | |
765 | -re "^ +\[0-9\]+ 0014 F46EFFFF\[^\n\]*\n" { set x [expr $x+1] } | |
766 | -re "^ +9 +01\[^\n\]*\n" { set x [expr $x+1] } | |
767 | -re "^ +\[0-9\]+ 0019 F296 \[^\n\]*\n" { set x [expr $x+1] } | |
768 | -re "\[^\n\]*\n" { } | |
769 | timeout { perror "timeout\n"; break } | |
770 | eof { break } | |
771 | } | |
772 | } | |
773 | ||
774 | # This was intended to do any cleanup necessary. It kinda looks like it | |
775 | # isn't needed, but just in case, please keep it in for now. | |
776 | gas_finish | |
777 | ||
778 | # Did we find what we were looking for? If not, flunk it. | |
779 | if [expr $x==11] then { pass $testname } else { fail $testname } | |
780 | } | |
781 | ||
782 | if [istarget mn10200*-*-*] then { | |
783 | # Test the basic instruction parser. | |
784 | do_add | |
785 | do_bcc | |
786 | do_bccx | |
787 | do_bit | |
788 | do_cmp | |
789 | do_ext | |
790 | do_logical | |
791 | # do_mov1 | |
792 | # do_mov2 | |
793 | # do_mov3 | |
794 | # do_mov4 | |
795 | # do_movbu | |
796 | do_muldiv | |
797 | do_other | |
798 | do_shift | |
799 | do_sub | |
800 | } |