1 # Copyright (C) 2012-2018 Free Software Foundation, Inc.
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
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.
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software
15 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
20 proc do_h8300_add_sub {} {
21 set testname "addsub.s: h8300 add/sub tests"
24 gas_start "addsub.s" "-al"
26 # Check each instruction bit pattern to verify it got
27 # assembled correctly.
30 -re " +\[0-9\]+ 0000 8910\[^\n\]*\n" { set x [expr $x+1] }
31 -re " +\[0-9\]+ 0002 0819\[^\n\]*\n" { set x [expr $x+1] }
32 -re " +\[0-9\]+ 0004 0912\[^\n\]*\n" { set x [expr $x+1] }
33 -re " +\[0-9\]+ 0006 0B04\[^\n\]*\n" { set x [expr $x+1] }
34 -re " +\[0-9\]+ 0008 0B85\[^\n\]*\n" { set x [expr $x+1] }
35 -re " +\[0-9\]+ 000a 0E89\[^\n\]*\n" { set x [expr $x+1] }
36 -re " +\[0-9\]+ 000c 9210\[^\n\]*\n" { set x [expr $x+1] }
37 -re " +\[0-9\]+ 000e 1889\[^\n\]*\n" { set x [expr $x+1] }
38 -re " +\[0-9\]+ 0010 1901\[^\n\]*\n" { set x [expr $x+1] }
39 -re " +\[0-9\]+ 0012 1B04\[^\n\]*\n" { set x [expr $x+1] }
40 -re " +\[0-9\]+ 0014 1B85\[^\n\]*\n" { set x [expr $x+1] }
41 -re " +\[0-9\]+ 0016 1E89\[^\n\]*\n" { set x [expr $x+1] }
42 -re " +\[0-9\]+ 0018 B210\[^\n\]*\n" { set x [expr $x+1] }
43 timeout { perror "timeout\n; break }
48 # This was intended to do any cleanup necessary. It kinda looks like it
49 # isn't needed, but just in case, please keep it in for now.
52 # Did we find what we were looking for? If not, flunk it.
53 if [expr $x == 13] then { pass $testname } else { fail $testname }
56 proc do_h8300_logical {} {
57 set testname "logical.s: h8300 logical tests"
60 gas_start "logical.s" "-al"
62 # Check each instruction bit pattern to verify it got
63 # assembled correctly.
66 -re " +\[0-9\]+ 0000 E910\[^\n\]*\n" { set x [expr $x+1] }
67 -re " +\[0-9\]+ 0002 1691\[^\n\]*\n" { set x [expr $x+1] }
68 -re " +\[0-9\]+ 0004 0610\[^\n\]*\n" { set x [expr $x+1] }
69 -re " +\[0-9\]+ 0006 C810\[^\n\]*\n" { set x [expr $x+1] }
70 -re " +\[0-9\]+ 0008 1498\[^\n\]*\n" { set x [expr $x+1] }
71 -re " +\[0-9\]+ 000a 0410\[^\n\]*\n" { set x [expr $x+1] }
72 -re " +\[0-9\]+ 000c D810\[^\n\]*\n" { set x [expr $x+1] }
73 -re " +\[0-9\]+ 000e 1589\[^\n\]*\n" { set x [expr $x+1] }
74 -re " +\[0-9\]+ 0010 0510\[^\n\]*\n" { set x [expr $x+1] }
75 -re " +\[0-9\]+ 0012 1788\[^\n\]*\n" { set x [expr $x+1] }
76 -re " +\[0-9\]+ 0014 1708\[^\n\]*\n" { set x [expr $x+1] }
77 timeout { perror "timeout\n; break }
82 # This was intended to do any cleanup necessary. It kinda looks like it
83 # isn't needed, but just in case, please keep it in for now.
86 # Did we find what we were looking for? If not, flunk it.
87 if [expr $x == 11] then { pass $testname } else { fail $testname }
90 proc do_h8300_cbranch {} {
91 set testname "cbranch.s: h8300 conditional branch tests"
94 gas_start "cbranch.s" "-al"
96 # Check each instruction bit pattern to verify it got
97 # assembled correctly.
100 -re " +\[0-9\]+ 0000 4000\[^\n\]*\n" { set x [expr $x+1] }
101 -re " +\[0-9\]+ 0002 4000\[^\n\]*\n" { set x [expr $x+1] }
102 -re " +\[0-9\]+ 0004 4100\[^\n\]*\n" { set x [expr $x+1] }
103 -re " +\[0-9\]+ 0006 4100\[^\n\]*\n" { set x [expr $x+1] }
104 -re " +\[0-9\]+ 0008 4200\[^\n\]*\n" { set x [expr $x+1] }
105 -re " +\[0-9\]+ 000a 4300\[^\n\]*\n" { set x [expr $x+1] }
106 -re " +\[0-9\]+ 000c 4400\[^\n\]*\n" { set x [expr $x+1] }
107 -re " +\[0-9\]+ 000e 4400\[^\n\]*\n" { set x [expr $x+1] }
108 -re " +\[0-9\]+ 0010 4500\[^\n\]*\n" { set x [expr $x+1] }
109 -re " +\[0-9\]+ 0012 4500\[^\n\]*\n" { set x [expr $x+1] }
110 -re " +\[0-9\]+ 0014 4600\[^\n\]*\n" { set x [expr $x+1] }
111 -re " +\[0-9\]+ 0016 4700\[^\n\]*\n" { set x [expr $x+1] }
112 -re " +\[0-9\]+ 0018 4800\[^\n\]*\n" { set x [expr $x+1] }
113 -re " +\[0-9\]+ 001a 4900\[^\n\]*\n" { set x [expr $x+1] }
114 -re " +\[0-9\]+ 001c 4A00\[^\n\]*\n" { set x [expr $x+1] }
115 -re " +\[0-9\]+ 001e 4B00\[^\n\]*\n" { set x [expr $x+1] }
116 -re " +\[0-9\]+ 0020 4C00\[^\n\]*\n" { set x [expr $x+1] }
117 -re " +\[0-9\]+ 0022 4D00\[^\n\]*\n" { set x [expr $x+1] }
118 -re " +\[0-9\]+ 0024 4E00\[^\n\]*\n" { set x [expr $x+1] }
119 -re " +\[0-9\]+ 0026 4F00\[^\n\]*\n" { set x [expr $x+1] }
120 timeout { perror "timeout\n; break }
125 # This was intended to do any cleanup necessary. It kinda looks like it
126 # isn't needed, but just in case, please keep it in for now.
129 # Did we find what we were looking for? If not, flunk it.
130 if [expr $x == 20] then { pass $testname } else { fail $testname }
133 proc do_h8300_bitops1 {} {
134 set testname "bitops1.s: h8300 bitops tests #1"
137 gas_start "bitops1.s" "-al"
139 # Check each instruction bit pattern to verify it got
140 # assembled correctly.
143 -re " +\[0-9\]+ 0000 7608\[^\n\]*\n" { set x [expr $x+1] }
144 -re " +\[0-9\]+ 0002 7C007600\[^\n\]*\n" { set x [expr $x+1] }
145 -re " +\[0-9\]+ 0006 7E407600\[^\n\]*\n" { set x [expr $x+1] }
146 -re " +\[0-9\]+ 000a 7208\[^\n\]*\n" { set x [expr $x+1] }
147 -re " +\[0-9\]+ 000c 7D007200\[^\n\]*\n" { set x [expr $x+1] }
148 -re " +\[0-9\]+ 0010 7F407200\[^\n\]*\n" { set x [expr $x+1] }
149 -re " +\[0-9\]+ 0014 6298\[^\n\]*\n" { set x [expr $x+1] }
150 -re " +\[0-9\]+ 0016 7D006290\[^\n\]*\n" { set x [expr $x+1] }
151 -re " +\[0-9\]+ 001a 7F406290\[^\n\]*\n" { set x [expr $x+1] }
152 -re " +\[0-9\]+ 001e 7688\[^\n\]*\n" { set x [expr $x+1] }
153 -re " +\[0-9\]+ 0020 7C007680\[^\n\]*\n" { set x [expr $x+1] }
154 -re " +\[0-9\]+ 0024 7E407680\[^\n\]*\n" { set x [expr $x+1] }
155 -re " +\[0-9\]+ 0028 7788\[^\n\]*\n" { set x [expr $x+1] }
156 -re " +\[0-9\]+ 002a 7C007780\[^\n\]*\n" { set x [expr $x+1] }
157 -re " +\[0-9\]+ 002e 7E407780\[^\n\]*\n" { set x [expr $x+1] }
158 timeout { perror "timeout\n; break }
163 # This was intended to do any cleanup necessary. It kinda looks like it
164 # isn't needed, but just in case, please keep it in for now.
167 # Did we find what we were looking for? If not, flunk it.
168 if [expr $x == 15] then { pass $testname } else { fail $testname }
171 proc do_h8300_bitops2 {} {
172 set testname "bitops2.s: h8300 bitops tests #2"
175 gas_start "bitops2.s" "-al"
177 # Check each instruction bit pattern to verify it got
178 # assembled correctly.
181 -re " +\[0-9\]+ 0000 7488\[^\n\]*\n" { set x [expr $x+1] }
182 -re " +\[0-9\]+ 0002 7C007480\[^\n\]*\n" { set x [expr $x+1] }
183 -re " +\[0-9\]+ 0006 7E407480\[^\n\]*\n" { set x [expr $x+1] }
184 -re " +\[0-9\]+ 000a 6788\[^\n\]*\n" { set x [expr $x+1] }
185 -re " +\[0-9\]+ 000c 7D006780\[^\n\]*\n" { set x [expr $x+1] }
186 -re " +\[0-9\]+ 0010 7F406780\[^\n\]*\n" { set x [expr $x+1] }
187 -re " +\[0-9\]+ 0014 7588\[^\n\]*\n" { set x [expr $x+1] }
188 -re " +\[0-9\]+ 0016 7C007580\[^\n\]*\n" { set x [expr $x+1] }
189 -re " +\[0-9\]+ 001a 7E407580\[^\n\]*\n" { set x [expr $x+1] }
190 -re " +\[0-9\]+ 001e 7708\[^\n\]*\n" { set x [expr $x+1] }
191 -re " +\[0-9\]+ 0020 7C007700\[^\n\]*\n" { set x [expr $x+1] }
192 -re " +\[0-9\]+ 0024 7E407700\[^\n\]*\n" { set x [expr $x+1] }
193 timeout { perror "timeout\n; break }
198 # This was intended to do any cleanup necessary. It kinda looks like it
199 # isn't needed, but just in case, please keep it in for now.
202 # Did we find what we were looking for? If not, flunk it.
203 if [expr $x == 12] then { pass $testname } else { fail $testname }
206 proc do_h8300_bitops3 {} {
207 set testname "bitops3.s: h8300 bitops tests #3"
210 gas_start "bitops3.s" "-al"
212 # Check each instruction bit pattern to verify it got
213 # assembled correctly.
216 -re " +\[0-9\]+ 0000 7108\[^\n\]*\n" { set x [expr $x+1] }
217 -re " +\[0-9\]+ 0002 7D007100\[^\n\]*\n" { set x [expr $x+1] }
218 -re " +\[0-9\]+ 0006 7F407100\[^\n\]*\n" { set x [expr $x+1] }
219 -re " +\[0-9\]+ 000a 6198\[^\n\]*\n" { set x [expr $x+1] }
220 -re " +\[0-9\]+ 000c 7D006190\[^\n\]*\n" { set x [expr $x+1] }
221 -re " +\[0-9\]+ 0010 7F406190\[^\n\]*\n" { set x [expr $x+1] }
222 -re " +\[0-9\]+ 0014 7008\[^\n\]*\n" { set x [expr $x+1] }
223 -re " +\[0-9\]+ 0016 7D007000\[^\n\]*\n" { set x [expr $x+1] }
224 -re " +\[0-9\]+ 001a 7F407000\[^\n\]*\n" { set x [expr $x+1] }
225 -re " +\[0-9\]+ 001e 6098\[^\n\]*\n" { set x [expr $x+1] }
226 -re " +\[0-9\]+ 0020 7D006090\[^\n\]*\n" { set x [expr $x+1] }
227 -re " +\[0-9\]+ 0024 7F406090\[^\n\]*\n" { set x [expr $x+1] }
228 timeout { perror "timeout\n; break }
233 # This was intended to do any cleanup necessary. It kinda looks like it
234 # isn't needed, but just in case, please keep it in for now.
237 # Did we find what we were looking for? If not, flunk it.
238 if [expr $x == 12] then { pass $testname } else { fail $testname }
241 proc do_h8300_bitops4 {} {
242 set testname "bitops4.s: h8300 bitops tests #4"
245 gas_start "bitops4.s" "-al"
247 # Check each instruction bit pattern to verify it got
248 # assembled correctly.
251 -re " +\[0-9\]+ 0000 7408\[^\n\]*\n" { set x [expr $x+1] }
252 -re " +\[0-9\]+ 0002 7C007400\[^\n\]*\n" { set x [expr $x+1] }
253 -re " +\[0-9\]+ 0006 7E407400\[^\n\]*\n" { set x [expr $x+1] }
254 -re " +\[0-9\]+ 000a 6708\[^\n\]*\n" { set x [expr $x+1] }
255 -re " +\[0-9\]+ 000c 7D006700\[^\n\]*\n" { set x [expr $x+1] }
256 -re " +\[0-9\]+ 0010 7F406700\[^\n\]*\n" { set x [expr $x+1] }
257 -re " +\[0-9\]+ 0014 7308\[^\n\]*\n" { set x [expr $x+1] }
258 -re " +\[0-9\]+ 0016 7C007300\[^\n\]*\n" { set x [expr $x+1] }
259 -re " +\[0-9\]+ 001a 7E407300\[^\n\]*\n" { set x [expr $x+1] }
260 -re " +\[0-9\]+ 001e 6398\[^\n\]*\n" { set x [expr $x+1] }
261 -re " +\[0-9\]+ 0020 7C006390\[^\n\]*\n" { set x [expr $x+1] }
262 -re " +\[0-9\]+ 0024 7E406390\[^\n\]*\n" { set x [expr $x+1] }
263 -re " +\[0-9\]+ 0028 7508\[^\n\]*\n" { set x [expr $x+1] }
264 -re " +\[0-9\]+ 002a 7C007500\[^\n\]*\n" { set x [expr $x+1] }
265 -re " +\[0-9\]+ 002e 7E407500\[^\n\]*\n" { set x [expr $x+1] }
266 timeout { perror "timeout\n; break }
271 # This was intended to do any cleanup necessary. It kinda looks like it
272 # isn't needed, but just in case, please keep it in for now.
275 # Did we find what we were looking for? If not, flunk it.
276 if [expr $x == 15] then { pass $testname } else { fail $testname }
279 proc do_h8300_branch {} {
280 set testname "branch.s: h8300 branch tests"
283 gas_start "branch.s" "-al"
285 # Check each instruction bit pattern to verify it got
286 # assembled correctly.
289 -re " +\[0-9\]+ 0000 5500\[^\n\]*\n" { set x [expr $x+1] }
290 -re " +\[0-9\]+ 0002 5A000000\[^\n\]*\n" { set x [expr $x+1] }
291 -re " +\[0-9\]+ 0006 5900\[^\n\]*\n" { set x [expr $x+1] }
292 -re " +\[0-9\]+ 0008 5B00\[^\n\]*\n" { set x [expr $x+1] }
293 -re " +\[0-9\]+ 000a 5E000000\[^\n\]*\n" { set x [expr $x+1] }
294 -re " +\[0-9\]+ 000e 5D00\[^\n\]*\n" { set x [expr $x+1] }
295 -re " +\[0-9\]+ 0010 5F00\[^\n\]*\n" { set x [expr $x+1] }
296 timeout { perror "timeout\n; break }
301 # This was intended to do any cleanup necessary. It kinda looks like it
302 # isn't needed, but just in case, please keep it in for now.
305 # Did we find what we were looking for? If not, flunk it.
306 if [expr $x == 7] then { pass $testname } else { fail $testname }
309 proc do_h8300_compare {} {
310 set testname "compare.s: h8300 compare tests"
313 gas_start "compare.s" "-al"
315 # Check each instruction bit pattern to verify it got
316 # assembled correctly.
319 -re " +\[0-9\]+ 0000 A800\[^\n\]*\n" { set x [expr $x+1] }
320 -re " +\[0-9\]+ 0002 1C08\[^\n\]*\n" { set x [expr $x+1] }
321 -re " +\[0-9\]+ 0004 1D01\[^\n\]*\n" { set x [expr $x+1] }
322 timeout { perror "timeout\n; break }
327 # This was intended to do any cleanup necessary. It kinda looks like it
328 # isn't needed, but just in case, please keep it in for now.
331 # Did we find what we were looking for? If not, flunk it.
332 if [expr $x == 3] then { pass $testname } else { fail $testname }
335 proc do_h8300_decimal {} {
336 set testname "decimal.s: h8300 decimal tests"
339 gas_start "decimal.s" "-al"
341 # Check each instruction bit pattern to verify it got
342 # assembled correctly.
345 -re " +\[0-9\]+ 0000 0F08\[^\n\]*\n" { set x [expr $x+1] }
346 -re " +\[0-9\]+ 0002 1F08\[^\n\]*\n" { set x [expr $x+1] }
351 # This was intended to do any cleanup necessary. It kinda looks like it
352 # isn't needed, but just in case, please keep it in for now.
355 # Did we find what we were looking for? If not, flunk it.
356 if [expr $x == 2] then { pass $testname } else { fail $testname }
359 proc do_h8300_incdec {} {
360 set testname "incdec.s: h8300 incdec tests"
363 gas_start "incdec.s" "-al"
365 # Check each instruction bit pattern to verify it got
366 # assembled correctly.
369 -re " +\[0-9\]+ 0000 1A08\[^\n\]*\n" { set x [expr $x+1] }
370 -re " +\[0-9\]+ 0002 0A08\[^\n\]*\n" { set x [expr $x+1] }
375 # This was intended to do any cleanup necessary. It kinda looks like it
376 # isn't needed, but just in case, please keep it in for now.
379 # Did we find what we were looking for? If not, flunk it.
380 if [expr $x == 2] then { pass $testname } else { fail $testname }
383 proc do_h8300_divmul {} {
384 set testname "divmul.s: h8300 divmul tests"
387 gas_start "divmul.s" "-al"
389 # Check each instruction bit pattern to verify it got
390 # assembled correctly.
393 -re " +\[0-9\]+ 0000 5181\[^\n\]*\n" { set x [expr $x+1] }
394 -re " +\[0-9\]+ 0002 5081\[^\n\]*\n" { set x [expr $x+1] }
399 # This was intended to do any cleanup necessary. It kinda looks like it
400 # isn't needed, but just in case, please keep it in for now.
403 # Did we find what we were looking for? If not, flunk it.
404 if [expr $x == 2] then { pass $testname } else { fail $testname }
407 proc do_h8300_misc {} {
408 set testname "misc.s: h8300 misc tests"
411 gas_start "misc.s" "-al"
413 # Check each instruction bit pattern to verify it got
414 # assembled correctly.
417 -re " +\[0-9\]+ 0000 7B5C598F\[^\n\]*\n" { set x [expr $x+1] }
418 -re " +\[0-9\]+ 0004 0700\[^\n\]*\n" { set x [expr $x+1] }
419 -re " +\[0-9\]+ 0006 0308\[^\n\]*\n" { set x [expr $x+1] }
420 -re " +\[0-9\]+ 0008 0000\[^\n\]*\n" { set x [expr $x+1] }
421 -re " +\[0-9\]+ 000a 5670\[^\n\]*\n" { set x [expr $x+1] }
422 -re " +\[0-9\]+ 000c 5470\[^\n\]*\n" { set x [expr $x+1] }
423 -re " +\[0-9\]+ 000e 0180\[^\n\]*\n" { set x [expr $x+1] }
424 -re " +\[0-9\]+ 0010 0208\[^\n\]*\n" { set x [expr $x+1] }
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.
433 # Did we find what we were looking for? If not, flunk it.
434 if [expr $x == 8] then { pass $testname } else { fail $testname }
436 setup_xfail "h8300*-*-*"
437 fail "h8300 movfpe/movtpe tests"
440 proc do_h8300_movb {} {
441 set testname "movb.s: h8300 movb tests"
444 gas_start "movb.s" "-al"
446 # Check each instruction bit pattern to verify it got
447 # assembled correctly.
450 -re " +\[0-9\]+ 0000 0C89\[^\n\]*\n" { set x [expr $x+1] }
451 -re " +\[0-9\]+ 0002 F810\[^\n\]*\n" { set x [expr $x+1] }
452 -re " +\[0-9\]+ 0004 6818\[^\n\]*\n" { set x [expr $x+1] }
453 -re " +\[0-9\]+ 0006 6E180010\[^\n\]*\n" { set x [expr $x+1] }
454 -re " +\[0-9\]+ 000a 6C18\[^\n\]*\n" { set x [expr $x+1] }
455 -re " +\[0-9\]+ 000c 2810\[^\n\]*\n" { set x [expr $x+1] }
456 -re " +\[0-9\]+ 000e 6A080000\[^\n\]*\n" { set x [expr $x+1] }
457 -re " +\[0-9\]+ 0012 6898\[^\n\]*\n" { set x [expr $x+1] }
458 -re " +\[0-9\]+ 0014 6E980010\[^\n\]*\n" { set x [expr $x+1] }
459 -re " +\[0-9\]+ 0018 6C98\[^\n\]*\n" { set x [expr $x+1] }
460 -re " +\[0-9\]+ 001a 3810\[^\n\]*\n" { set x [expr $x+1] }
461 -re " +\[0-9\]+ 001c 6A880000\[^\n\]*\n" { set x [expr $x+1] }
466 # This was intended to do any cleanup necessary. It kinda looks like it
467 # isn't needed, but just in case, please keep it in for now.
470 # Did we find what we were looking for? If not, flunk it.
471 if [expr $x == 12] then { pass $testname } else { fail $testname }
474 proc do_h8300_movw {} {
475 set testname "movw.s: h8300 movw tests"
478 gas_start "movw.s" "-al"
480 # Check each instruction bit pattern to verify it got
481 # assembled correctly.
484 -re " +\[0-9\]+ 0000 0D01\[^\n\]*\n" { set x [expr $x+1] }
485 -re " +\[0-9\]+ 0002 79000010\[^\n\]*\n" { set x [expr $x+1] }
486 -re " +\[0-9\]+ 0006 6910\[^\n\]*\n" { set x [expr $x+1] }
487 -re " +\[0-9\]+ 0008 6F100010\[^\n\]*\n" { set x [expr $x+1] }
488 -re " +\[0-9\]+ 000c 6D10\[^\n\]*\n" { set x [expr $x+1] }
489 -re " +\[0-9\]+ 000e 6B000000\[^\n\]*\n" { set x [expr $x+1] }
490 -re " +\[0-9\]+ 0012 6990\[^\n\]*\n" { set x [expr $x+1] }
491 -re " +\[0-9\]+ 0014 6F900010\[^\n\]*\n" { set x [expr $x+1] }
492 -re " +\[0-9\]+ 0018 6D90\[^\n\]*\n" { set x [expr $x+1] }
493 -re " +\[0-9\]+ 001a 6B800000\[^\n\]*\n" { set x [expr $x+1] }
498 # This was intended to do any cleanup necessary. It kinda looks like it
499 # isn't needed, but just in case, please keep it in for now.
502 # Did we find what we were looking for? If not, flunk it.
503 if [expr $x == 10] then { pass $testname } else { fail $testname }
506 proc do_h8300_pushpop {} {
507 set testname "pushpop.s: h8300 pushpop tests"
510 gas_start "pushpop.s" "-al"
512 # Check each instruction bit pattern to verify it got
513 # assembled correctly.
516 -re " +\[0-9\]+ 0000 6D70\[^\n\]*\n" { set x [expr $x+1] }
517 -re " +\[0-9\]+ 0002 6DF0\[^\n\]*\n" { set x [expr $x+1] }
522 # This was intended to do any cleanup necessary. It kinda looks like it
523 # isn't needed, but just in case, please keep it in for now.
526 # Did we find what we were looking for? If not, flunk it.
527 if [expr $x == 2] then { pass $testname } else { fail $testname }
530 proc do_h8300_rotate_shift {} {
531 set testname "rotsh.s: h8300 rotate and shift tests"
534 gas_start "rotsh.s" "-al"
536 # Check each instruction bit pattern to verify it got
537 # assembled correctly.
540 -re " +\[0-9\]+ 0000 1288\[^\n\]*\n" { set x [expr $x+1] }
541 -re " +\[0-9\]+ 0002 1388\[^\n\]*\n" { set x [expr $x+1] }
542 -re " +\[0-9\]+ 0004 1208\[^\n\]*\n" { set x [expr $x+1] }
543 -re " +\[0-9\]+ 0006 1308\[^\n\]*\n" { set x [expr $x+1] }
544 -re " +\[0-9\]+ 0008 1088\[^\n\]*\n" { set x [expr $x+1] }
545 -re " +\[0-9\]+ 000a 1188\[^\n\]*\n" { set x [expr $x+1] }
546 -re " +\[0-9\]+ 000c 1008\[^\n\]*\n" { set x [expr $x+1] }
547 -re " +\[0-9\]+ 000e 1108\[^\n\]*\n" { set x [expr $x+1] }
552 # This was intended to do any cleanup necessary. It kinda looks like it
553 # isn't needed, but just in case, please keep it in for now.
556 # Did we find what we were looking for? If not, flunk it.
557 if [expr $x == 8] then { pass $testname } else { fail $testname }
560 proc do_h8300h_add_sub {} {
561 set testname "addsubh.s: h8300h add/sub tests"
564 gas_start "addsubh.s" "-al"
566 # Check each instruction bit pattern to verify it got
567 # assembled correctly.
570 -re " +\[0-9\]+ 0000 8910\[^\n\]*\n" { set x [expr $x+1] }
571 -re " +\[0-9\]+ 0002 0819\[^\n\]*\n" { set x [expr $x+1] }
572 -re " +\[0-9\]+ 0004 79110020\[^\n\]*\n" { set x [expr $x+1] }
573 -re " +\[0-9\]+ 0008 0912\[^\n\]*\n" { set x [expr $x+1] }
574 -re " +\[0-9\]+ 000a 7A110000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
575 -re " +\[0-9\]+ 0010 0A92\[^\n\]*\n" { set x [expr $x+1] }
576 -re " +\[0-9\]+ 0012 0B04\[^\n\]*\n" { set x [expr $x+1] }
577 -re " +\[0-9\]+ 0014 0B85\[^\n\]*\n" { set x [expr $x+1] }
578 -re " +\[0-9\]+ 0016 0B96\[^\n\]*\n" { set x [expr $x+1] }
579 -re " +\[0-9\]+ 0018 0E89\[^\n\]*\n" { set x [expr $x+1] }
580 -re " +\[0-9\]+ 001a 9210\[^\n\]*\n" { set x [expr $x+1] }
581 -re " +\[0-9\]+ 001c 1889\[^\n\]*\n" { set x [expr $x+1] }
582 -re " +\[0-9\]+ 001e 79310010\[^\n\]*\n" { set x [expr $x+1] }
583 -re " +\[0-9\]+ 0022 1901\[^\n\]*\n" { set x [expr $x+1] }
584 -re " +\[0-9\]+ 0024 7A310000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
585 -re " +\[0-9\]+ 002a 1A92\[^\n\]*\n" { set x [expr $x+1] }
586 -re " +\[0-9\]+ 002c 1B04\[^\n\]*\n" { set x [expr $x+1] }
587 -re " +\[0-9\]+ 002e 1B85\[^\n\]*\n" { set x [expr $x+1] }
588 -re " +\[0-9\]+ 0030 1B96\[^\n\]*\n" { set x [expr $x+1] }
589 -re " +\[0-9\]+ 0032 1E89\[^\n\]*\n" { set x [expr $x+1] }
590 -re " +\[0-9\]+ 0034 B210\[^\n\]*\n" { set x [expr $x+1] }
591 timeout { perror "timeout\n; break }
596 # This was intended to do any cleanup necessary. It kinda looks like it
597 # isn't needed, but just in case, please keep it in for now.
600 # Did we find what we were looking for? If not, flunk it.
601 if [expr $x == 21] then { pass $testname } else { fail $testname }
604 proc do_h8300h_logical {} {
605 set testname "logicalh.s: h8300h logical tests"
608 gas_start "logicalh.s" "-al"
610 # Check each instruction bit pattern to verify it got
611 # assembled correctly.
614 -re " +\[0-9\]+ 0000 E910\[^\n\]*\n" { set x [expr $x+1] }
615 -re " +\[0-9\]+ 0002 1691\[^\n\]*\n" { set x [expr $x+1] }
616 -re " +\[0-9\]+ 0004 79610020\[^\n\]*\n" { set x [expr $x+1] }
617 -re " +\[0-9\]+ 0008 6611\[^\n\]*\n" { set x [expr $x+1] }
618 -re " +\[0-9\]+ 000a 7A610000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
619 -re " +\[0-9\]+ 0010 01F06611\[^\n\]*\n" { set x [expr $x+1] }
620 -re " +\[0-9\]+ 0014 0610\[^\n\]*\n" { set x [expr $x+1] }
621 -re " +\[0-9\]+ 0016 C810\[^\n\]*\n" { set x [expr $x+1] }
622 -re " +\[0-9\]+ 0018 1498\[^\n\]*\n" { set x [expr $x+1] }
623 -re " +\[0-9\]+ 001a 79410020\[^\n\]*\n" { set x [expr $x+1] }
624 -re " +\[0-9\]+ 001e 6411\[^\n\]*\n" { set x [expr $x+1] }
625 -re " +\[0-9\]+ 0020 7A410000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
626 -re " +\[0-9\]+ 0026 01F06411\[^\n\]*\n" { set x [expr $x+1] }
627 -re " +\[0-9\]+ 002a 0410\[^\n\]*\n" { set x [expr $x+1] }
628 -re " +\[0-9\]+ 002c D810\[^\n\]*\n" { set x [expr $x+1] }
629 -re " +\[0-9\]+ 002e 1589\[^\n\]*\n" { set x [expr $x+1] }
630 -re " +\[0-9\]+ 0030 79510020\[^\n\]*\n" { set x [expr $x+1] }
631 -re " +\[0-9\]+ 0034 6511\[^\n\]*\n" { set x [expr $x+1] }
632 -re " +\[0-9\]+ 0036 7A510000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
633 -re " +\[0-9\]+ 003c 01F06511\[^\n\]*\n" { set x [expr $x+1] }
634 -re " +\[0-9\]+ 0040 0510\[^\n\]*\n" { set x [expr $x+1] }
635 -re " +\[0-9\]+ 0042 1788\[^\n\]*\n" { set x [expr $x+1] }
636 -re " +\[0-9\]+ 0044 1790\[^\n\]*\n" { set x [expr $x+1] }
637 -re " +\[0-9\]+ 0046 17B0\[^\n\]*\n" { set x [expr $x+1] }
638 -re " +\[0-9\]+ 0048 1708\[^\n\]*\n" { set x [expr $x+1] }
639 -re " +\[0-9\]+ 004a 1710\[^\n\]*\n" { set x [expr $x+1] }
640 -re " +\[0-9\]+ 004c 1730\[^\n\]*\n" { set x [expr $x+1] }
641 timeout { perror "timeout\n; break }
646 # This was intended to do any cleanup necessary. It kinda looks like it
647 # isn't needed, but just in case, please keep it in for now.
650 # Did we find what we were looking for? If not, flunk it.
651 if [expr $x == 27] then { pass $testname } else { fail $testname }
654 proc do_h8300h_cbranch {} {
655 set testname "cbranchh.s: h8300h conditional branch tests"
658 gas_start "cbranchh.s" "-al"
660 # Check each instruction bit pattern to verify it got
661 # assembled correctly.
664 -re " +\[0-9\]+ 0000 4000\[^\n\]*\n" { set x [expr $x+1] }
665 -re " +\[0-9\]+ 0002 4000\[^\n\]*\n" { set x [expr $x+1] }
666 -re " +\[0-9\]+ 0004 4100\[^\n\]*\n" { set x [expr $x+1] }
667 -re " +\[0-9\]+ 0006 4100\[^\n\]*\n" { set x [expr $x+1] }
668 -re " +\[0-9\]+ 0008 4200\[^\n\]*\n" { set x [expr $x+1] }
669 -re " +\[0-9\]+ 000a 4300\[^\n\]*\n" { set x [expr $x+1] }
670 -re " +\[0-9\]+ 000c 4400\[^\n\]*\n" { set x [expr $x+1] }
671 -re " +\[0-9\]+ 000e 4400\[^\n\]*\n" { set x [expr $x+1] }
672 -re " +\[0-9\]+ 0010 4500\[^\n\]*\n" { set x [expr $x+1] }
673 -re " +\[0-9\]+ 0012 4500\[^\n\]*\n" { set x [expr $x+1] }
674 -re " +\[0-9\]+ 0014 4600\[^\n\]*\n" { set x [expr $x+1] }
675 -re " +\[0-9\]+ 0016 4700\[^\n\]*\n" { set x [expr $x+1] }
676 -re " +\[0-9\]+ 0018 4800\[^\n\]*\n" { set x [expr $x+1] }
677 -re " +\[0-9\]+ 001a 4900\[^\n\]*\n" { set x [expr $x+1] }
678 -re " +\[0-9\]+ 001c 4A00\[^\n\]*\n" { set x [expr $x+1] }
679 -re " +\[0-9\]+ 001e 4B00\[^\n\]*\n" { set x [expr $x+1] }
680 -re " +\[0-9\]+ 0020 4C00\[^\n\]*\n" { set x [expr $x+1] }
681 -re " +\[0-9\]+ 0022 4D00\[^\n\]*\n" { set x [expr $x+1] }
682 -re " +\[0-9\]+ 0024 4E00\[^\n\]*\n" { set x [expr $x+1] }
683 -re " +\[0-9\]+ 0026 4F00\[^\n\]*\n" { set x [expr $x+1] }
684 -re " +\[0-9\]+ 0028 58000000\[^\n\]*\n" { set x [expr $x+1] }
685 -re " +\[0-9\]+ 002c 58000000\[^\n\]*\n" { set x [expr $x+1] }
686 -re " +\[0-9\]+ 0030 58100000\[^\n\]*\n" { set x [expr $x+1] }
687 -re " +\[0-9\]+ 0034 58100000\[^\n\]*\n" { set x [expr $x+1] }
688 -re " +\[0-9\]+ 0038 58200000\[^\n\]*\n" { set x [expr $x+1] }
689 -re " +\[0-9\]+ 003c 58300000\[^\n\]*\n" { set x [expr $x+1] }
690 -re " +\[0-9\]+ 0040 58400000\[^\n\]*\n" { set x [expr $x+1] }
691 -re " +\[0-9\]+ 0044 58400000\[^\n\]*\n" { set x [expr $x+1] }
692 -re " +\[0-9\]+ 0048 58500000\[^\n\]*\n" { set x [expr $x+1] }
693 -re " +\[0-9\]+ 004c 58500000\[^\n\]*\n" { set x [expr $x+1] }
694 -re " +\[0-9\]+ 0050 58600000\[^\n\]*\n" { set x [expr $x+1] }
695 -re " +\[0-9\]+ 0054 58700000\[^\n\]*\n" { set x [expr $x+1] }
696 -re " +\[0-9\]+ 0058 58800000\[^\n\]*\n" { set x [expr $x+1] }
697 -re " +\[0-9\]+ 005c 58900000\[^\n\]*\n" { set x [expr $x+1] }
698 -re " +\[0-9\]+ 0060 58A00000\[^\n\]*\n" { set x [expr $x+1] }
699 -re " +\[0-9\]+ 0064 58B00000\[^\n\]*\n" { set x [expr $x+1] }
700 -re " +\[0-9\]+ 0068 58C00000\[^\n\]*\n" { set x [expr $x+1] }
701 -re " +\[0-9\]+ 006c 58D00000\[^\n\]*\n" { set x [expr $x+1] }
702 -re " +\[0-9\]+ 0070 58E00000\[^\n\]*\n" { set x [expr $x+1] }
703 -re " +\[0-9\]+ 0074 58F00000\[^\n\]*\n" { set x [expr $x+1] }
704 timeout { perror "timeout\n; break }
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.
713 # Did we find what we were looking for? If not, flunk it.
714 if [expr $x == 40] then { pass $testname } else { fail $testname }
716 proc do_h8300h_bitops1 {} {
717 set testname "bitops1h.s: h8300h bitops tests #1"
720 gas_start "bitops1h.s" "-al"
722 # Check each instruction bit pattern to verify it got
723 # assembled correctly.
726 -re " +\[0-9\]+ 0000 7608\[^\n\]*\n" { set x [expr $x+1] }
727 -re " +\[0-9\]+ 0002 7C007600\[^\n\]*\n" { set x [expr $x+1] }
728 -re " +\[0-9\]+ 0006 7E407600\[^\n\]*\n" { set x [expr $x+1] }
729 -re " +\[0-9\]+ 000a 7208\[^\n\]*\n" { set x [expr $x+1] }
730 -re " +\[0-9\]+ 000c 7D007200\[^\n\]*\n" { set x [expr $x+1] }
731 -re " +\[0-9\]+ 0010 7F407200\[^\n\]*\n" { set x [expr $x+1] }
732 -re " +\[0-9\]+ 0014 6298\[^\n\]*\n" { set x [expr $x+1] }
733 -re " +\[0-9\]+ 0016 7D006290\[^\n\]*\n" { set x [expr $x+1] }
734 -re " +\[0-9\]+ 001a 7F406290\[^\n\]*\n" { set x [expr $x+1] }
735 -re " +\[0-9\]+ 001e 7688\[^\n\]*\n" { set x [expr $x+1] }
736 -re " +\[0-9\]+ 0020 7C007680\[^\n\]*\n" { set x [expr $x+1] }
737 -re " +\[0-9\]+ 0024 7E407680\[^\n\]*\n" { set x [expr $x+1] }
738 -re " +\[0-9\]+ 0028 7788\[^\n\]*\n" { set x [expr $x+1] }
739 -re " +\[0-9\]+ 002a 7C007780\[^\n\]*\n" { set x [expr $x+1] }
740 -re " +\[0-9\]+ 002e 7E407780\[^\n\]*\n" { set x [expr $x+1] }
741 timeout { perror "timeout\n; break }
746 # This was intended to do any cleanup necessary. It kinda looks like it
747 # isn't needed, but just in case, please keep it in for now.
750 # Did we find what we were looking for? If not, flunk it.
751 if [expr $x == 15] then { pass $testname } else { fail $testname }
754 proc do_h8300h_bitops2 {} {
755 set testname "bitops2h.s: h8300h bitops tests #2"
758 gas_start "bitops2h.s" "-al"
760 # Check each instruction bit pattern to verify it got
761 # assembled correctly.
764 -re " +\[0-9\]+ 0000 7488\[^\n\]*\n" { set x [expr $x+1] }
765 -re " +\[0-9\]+ 0002 7C007480\[^\n\]*\n" { set x [expr $x+1] }
766 -re " +\[0-9\]+ 0006 7E407480\[^\n\]*\n" { set x [expr $x+1] }
767 -re " +\[0-9\]+ 000a 6788\[^\n\]*\n" { set x [expr $x+1] }
768 -re " +\[0-9\]+ 000c 7D006780\[^\n\]*\n" { set x [expr $x+1] }
769 -re " +\[0-9\]+ 0010 7F406780\[^\n\]*\n" { set x [expr $x+1] }
770 -re " +\[0-9\]+ 0014 7588\[^\n\]*\n" { set x [expr $x+1] }
771 -re " +\[0-9\]+ 0016 7C007580\[^\n\]*\n" { set x [expr $x+1] }
772 -re " +\[0-9\]+ 001a 7E407580\[^\n\]*\n" { set x [expr $x+1] }
773 -re " +\[0-9\]+ 001e 7708\[^\n\]*\n" { set x [expr $x+1] }
774 -re " +\[0-9\]+ 0020 7C007700\[^\n\]*\n" { set x [expr $x+1] }
775 -re " +\[0-9\]+ 0024 7E407700\[^\n\]*\n" { set x [expr $x+1] }
776 timeout { perror "timeout\n; break }
781 # This was intended to do any cleanup necessary. It kinda looks like it
782 # isn't needed, but just in case, please keep it in for now.
785 # Did we find what we were looking for? If not, flunk it.
786 if [expr $x == 12] then { pass $testname } else { fail $testname }
789 proc do_h8300h_bitops3 {} {
790 set testname "bitops3h.s: h8300h bitops tests #3"
793 gas_start "bitops3h.s" "-al"
795 # Check each instruction bit pattern to verify it got
796 # assembled correctly.
799 -re " +\[0-9\]+ 0000 7108\[^\n\]*\n" { set x [expr $x+1] }
800 -re " +\[0-9\]+ 0002 7D007100\[^\n\]*\n" { set x [expr $x+1] }
801 -re " +\[0-9\]+ 0006 7F407100\[^\n\]*\n" { set x [expr $x+1] }
802 -re " +\[0-9\]+ 000a 6198\[^\n\]*\n" { set x [expr $x+1] }
803 -re " +\[0-9\]+ 000c 7D006190\[^\n\]*\n" { set x [expr $x+1] }
804 -re " +\[0-9\]+ 0010 7F406190\[^\n\]*\n" { set x [expr $x+1] }
805 -re " +\[0-9\]+ 0014 7008\[^\n\]*\n" { set x [expr $x+1] }
806 -re " +\[0-9\]+ 0016 7D007000\[^\n\]*\n" { set x [expr $x+1] }
807 -re " +\[0-9\]+ 001a 7F407000\[^\n\]*\n" { set x [expr $x+1] }
808 -re " +\[0-9\]+ 001e 6098\[^\n\]*\n" { set x [expr $x+1] }
809 -re " +\[0-9\]+ 0020 7D006090\[^\n\]*\n" { set x [expr $x+1] }
810 -re " +\[0-9\]+ 0024 7F406090\[^\n\]*\n" { set x [expr $x+1] }
811 timeout { perror "timeout\n; break }
816 # This was intended to do any cleanup necessary. It kinda looks like it
817 # isn't needed, but just in case, please keep it in for now.
820 # Did we find what we were looking for? If not, flunk it.
821 if [expr $x == 12] then { pass $testname } else { fail $testname }
824 proc do_h8300h_bitops4 {} {
825 set testname "bitops4h.s: h8300h bitops tests #4"
828 gas_start "bitops4h.s" "-al"
830 # Check each instruction bit pattern to verify it got
831 # assembled correctly.
834 -re " +\[0-9\]+ 0000 7408\[^\n\]*\n" { set x [expr $x+1] }
835 -re " +\[0-9\]+ 0002 7C007400\[^\n\]*\n" { set x [expr $x+1] }
836 -re " +\[0-9\]+ 0006 7E407400\[^\n\]*\n" { set x [expr $x+1] }
837 -re " +\[0-9\]+ 000a 6708\[^\n\]*\n" { set x [expr $x+1] }
838 -re " +\[0-9\]+ 000c 7D006700\[^\n\]*\n" { set x [expr $x+1] }
839 -re " +\[0-9\]+ 0010 7F406700\[^\n\]*\n" { set x [expr $x+1] }
840 -re " +\[0-9\]+ 0014 7308\[^\n\]*\n" { set x [expr $x+1] }
841 -re " +\[0-9\]+ 0016 7C007300\[^\n\]*\n" { set x [expr $x+1] }
842 -re " +\[0-9\]+ 001a 7E407300\[^\n\]*\n" { set x [expr $x+1] }
843 -re " +\[0-9\]+ 001e 6398\[^\n\]*\n" { set x [expr $x+1] }
844 -re " +\[0-9\]+ 0020 7C006390\[^\n\]*\n" { set x [expr $x+1] }
845 -re " +\[0-9\]+ 0024 7E406390\[^\n\]*\n" { set x [expr $x+1] }
846 -re " +\[0-9\]+ 0028 7508\[^\n\]*\n" { set x [expr $x+1] }
847 -re " +\[0-9\]+ 002a 7C007500\[^\n\]*\n" { set x [expr $x+1] }
848 -re " +\[0-9\]+ 002e 7E407500\[^\n\]*\n" { set x [expr $x+1] }
849 timeout { perror "timeout\n; break }
854 # This was intended to do any cleanup necessary. It kinda looks like it
855 # isn't needed, but just in case, please keep it in for now.
858 # Did we find what we were looking for? If not, flunk it.
859 if [expr $x == 15] then { pass $testname } else { fail $testname }
862 proc do_h8300h_branch {} {
863 set testname "branchh.s: h8300h branch tests"
866 gas_start "branchh.s" "-al"
868 # Check each instruction bit pattern to verify it got
869 # assembled correctly.
872 -re " +\[0-9\]+ 0000 5500\[^\n\]*\n" { set x [expr $x+1] }
873 -re " +\[0-9\]+ 0002 5C000000\[^\n\]*\n" { set x [expr $x+1] }
874 -re " +\[0-9\]+ 0006 5A000000\[^\n\]*\n" { set x [expr $x+1] }
875 -re " +\[0-9\]+ 000a 5900\[^\n\]*\n" { set x [expr $x+1] }
876 -re " +\[0-9\]+ 000c 5B00\[^\n\]*\n" { set x [expr $x+1] }
877 -re " +\[0-9\]+ 000e 5E000000\[^\n\]*\n" { set x [expr $x+1] }
878 -re " +\[0-9\]+ 0012 5D00\[^\n\]*\n" { set x [expr $x+1] }
879 -re " +\[0-9\]+ 0014 5F00\[^\n\]*\n" { set x [expr $x+1] }
880 timeout { perror "timeout\n; break }
885 # This was intended to do any cleanup necessary. It kinda looks like it
886 # isn't needed, but just in case, please keep it in for now.
889 # Did we find what we were looking for? If not, flunk it.
890 if [expr $x == 8] then { pass $testname } else { fail $testname }
893 proc do_h8300h_compare {} {
894 set testname "compareh.s: h8300h compare tests"
897 gas_start "compareh.s" "-al"
899 # Check each instruction bit pattern to verify it got
900 # assembled correctly.
903 -re " +\[0-9\]+ 0000 A800\[^\n\]*\n" { set x [expr $x+1] }
904 -re " +\[0-9\]+ 0002 1C08\[^\n\]*\n" { set x [expr $x+1] }
905 -re " +\[0-9\]+ 0004 79200020\[^\n\]*\n" { set x [expr $x+1] }
906 -re " +\[0-9\]+ 0008 1D01\[^\n\]*\n" { set x [expr $x+1] }
907 -re " +\[0-9\]+ 000a 7A200000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
908 -re " +\[0-9\]+ 0010 1F81\[^\n\]*\n" { set x [expr $x+1] }
909 timeout { perror "timeout\n; break }
914 # This was intended to do any cleanup necessary. It kinda looks like it
915 # isn't needed, but just in case, please keep it in for now.
918 # Did we find what we were looking for? If not, flunk it.
919 if [expr $x == 6] then { pass $testname } else { fail $testname }
922 proc do_h8300h_decimal {} {
923 set testname "decimalh.s: h8300h decimal tests"
926 gas_start "decimalh.s" "-al"
928 # Check each instruction bit pattern to verify it got
929 # assembled correctly.
932 -re " +\[0-9\]+ 0000 0F08\[^\n\]*\n" { set x [expr $x+1] }
933 -re " +\[0-9\]+ 0002 1F08\[^\n\]*\n" { set x [expr $x+1] }
938 # This was intended to do any cleanup necessary. It kinda looks like it
939 # isn't needed, but just in case, please keep it in for now.
942 # Did we find what we were looking for? If not, flunk it.
943 if [expr $x == 2] then { pass $testname } else { fail $testname }
946 proc do_h8300h_incdec {} {
947 set testname "incdech.s: h8300h incdec tests"
950 gas_start "incdech.s" "-al"
952 # Check each instruction bit pattern to verify it got
953 # assembled correctly.
956 -re " +\[0-9\]+ 0000 1A08\[^\n\]*\n" { set x [expr $x+1] }
957 -re " +\[0-9\]+ 0002 1B50\[^\n\]*\n" { set x [expr $x+1] }
958 -re " +\[0-9\]+ 0004 1BD0\[^\n\]*\n" { set x [expr $x+1] }
959 -re " +\[0-9\]+ 0006 1B70\[^\n\]*\n" { set x [expr $x+1] }
960 -re " +\[0-9\]+ 0008 1BF0\[^\n\]*\n" { set x [expr $x+1] }
961 -re " +\[0-9\]+ 000a 0A08\[^\n\]*\n" { set x [expr $x+1] }
962 -re " +\[0-9\]+ 000c 0B50\[^\n\]*\n" { set x [expr $x+1] }
963 -re " +\[0-9\]+ 000e 0BD0\[^\n\]*\n" { set x [expr $x+1] }
964 -re " +\[0-9\]+ 0010 0B70\[^\n\]*\n" { set x [expr $x+1] }
965 -re " +\[0-9\]+ 0012 0BF0\[^\n\]*\n" { set x [expr $x+1] }
970 # This was intended to do any cleanup necessary. It kinda looks like it
971 # isn't needed, but just in case, please keep it in for now.
974 # Did we find what we were looking for? If not, flunk it.
975 if [expr $x == 10] then { pass $testname } else { fail $testname }
978 proc do_h8300h_divmul {} {
979 set testname "divmulh.s: h8300h divmul tests"
982 gas_start "divmulh.s" "-al"
984 # Check each instruction bit pattern to verify it got
985 # assembled correctly.
988 -re " +\[0-9\]+ 0000 5181\[^\n\]*\n" { set x [expr $x+1] }
989 -re " +\[0-9\]+ 0002 5301\[^\n\]*\n" { set x [expr $x+1] }
990 -re " +\[0-9\]+ 0004 01D05181\[^\n\]*\n" { set x [expr $x+1] }
991 -re " +\[0-9\]+ 0008 01D05301\[^\n\]*\n" { set x [expr $x+1] }
992 -re " +\[0-9\]+ 000c 5081\[^\n\]*\n" { set x [expr $x+1] }
993 -re " +\[0-9\]+ 000e 5201\[^\n\]*\n" { set x [expr $x+1] }
994 -re " +\[0-9\]+ 0010 01C05081\[^\n\]*\n" { set x [expr $x+1] }
995 -re " +\[0-9\]+ 0014 01C05201\[^\n\]*\n" { set x [expr $x+1] }
1000 # This was intended to do any cleanup necessary. It kinda looks like it
1001 # isn't needed, but just in case, please keep it in for now.
1004 # Did we find what we were looking for? If not, flunk it.
1005 if [expr $x == 8] then { pass $testname } else { fail $testname }
1008 proc do_h8300h_misc {} {
1009 set testname "misch.s: h8300h misc tests"
1012 gas_start "misch.s" "-al"
1014 # Check each instruction bit pattern to verify it got
1015 # assembled correctly.
1018 -re " +\[0-9\]+ 0000 7B5C598F\[^\n\]*\n" { set x [expr $x+1] }
1019 -re " +\[0-9\]+ 0004 7BD4598F\[^\n\]*\n" { set x [expr $x+1] }
1020 -re " +\[0-9\]+ 0008 0700\[^\n\]*\n" { set x [expr $x+1] }
1021 -re " +\[0-9\]+ 000a 0308\[^\n\]*\n" { set x [expr $x+1] }
1022 -re " +\[0-9\]+ 000c 01406900\[^\n\]*\n" { set x [expr $x+1] }
1023 -re " +\[0-9\]+ 0010 01406F00\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] }
1024 -re " +\[0-9\]+ 0016 01407800\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] }
1025 -re " +\[0-9\]+ 0020 01406D00\[^\n\]*\n" { set x [expr $x+1] }
1026 -re " +\[0-9\]+ 0024 01406B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1027 -re " +\[0-9\]+ 002a 01406B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] }
1028 -re " +\[0-9\]+ 0032 0000\[^\n\]*\n" { set x [expr $x+1] }
1029 -re " +\[0-9\]+ 0034 5670\[^\n\]*\n" { set x [expr $x+1] }
1030 -re " +\[0-9\]+ 0036 5470\[^\n\]*\n" { set x [expr $x+1] }
1031 -re " +\[0-9\]+ 0038 0180\[^\n\]*\n" { set x [expr $x+1] }
1032 -re " +\[0-9\]+ 003a 0208\[^\n\]*\n" { set x [expr $x+1] }
1033 -re " +\[0-9\]+ 003c 01406980\[^\n\]*\n" { set x [expr $x+1] }
1034 -re " +\[0-9\]+ 0040 01406F80\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] }
1035 -re " +\[0-9\]+ 0046 01407800\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] }
1036 -re " +\[0-9\]+ 0050 01406D80\[^\n\]*\n" { set x [expr $x+1] }
1037 -re " +\[0-9\]+ 0054 01406B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1038 -re " +\[0-9\]+ 005a 01406BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] }
1043 # This was intended to do any cleanup necessary. It kinda looks like it
1044 # isn't needed, but just in case, please keep it in for now.
1047 # Did we find what we were looking for? If not, flunk it.
1048 if [expr $x == 21] then { pass $testname } else { fail $testname }
1050 setup_xfail "h8300*-*-*"
1051 fail "h8300h movfpe/movtpe tests"
1054 proc do_h8300h_movb {} {
1055 set testname "movbh.s: h8300h movb tests"
1058 gas_start "movbh.s" "-al"
1060 # Check each instruction bit pattern to verify it got
1061 # assembled correctly.
1064 -re " +\[0-9\]+ 0000 0C89\[^\n\]*\n" { set x [expr $x+1] }
1065 -re " +\[0-9\]+ 0002 F810\[^\n\]*\n" { set x [expr $x+1] }
1066 -re " +\[0-9\]+ 0004 6818\[^\n\]*\n" { set x [expr $x+1] }
1067 -re " +\[0-9\]+ 0006 6E180010\[^\n\]*\n" { set x [expr $x+1] }
1068 -re " +\[0-9\]+ 000a 78106A28\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] }
1069 -re " +\[0-9\]+ 0012 6C18\[^\n\]*\n" { set x [expr $x+1] }
1070 -re " +\[0-9\]+ 0014 2810\[^\n\]*\n" { set x [expr $x+1] }
1071 -re " +\[0-9\]+ 0016 6A080000\[^\n\]*\n" { set x [expr $x+1] }
1072 -re " +\[0-9\]+ 001a 6A280000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1073 -re " +\[0-9\]+ 0020 6898\[^\n\]*\n" { set x [expr $x+1] }
1074 -re " +\[0-9\]+ 0022 6E980010\[^\n\]*\n" { set x [expr $x+1] }
1075 -re " +\[0-9\]+ 0026 78106AA8\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] }
1076 -re " +\[0-9\]+ 002e 6C98\[^\n\]*\n" { set x [expr $x+1] }
1077 -re " +\[0-9\]+ 0030 3810\[^\n\]*\n" { set x [expr $x+1] }
1078 -re " +\[0-9\]+ 0032 6A880000\[^\n\]*\n" { set x [expr $x+1] }
1079 -re " +\[0-9\]+ 0036 6AA80000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1084 # This was intended to do any cleanup necessary. It kinda looks like it
1085 # isn't needed, but just in case, please keep it in for now.
1088 # Did we find what we were looking for? If not, flunk it.
1089 if [expr $x == 16] then { pass $testname } else { fail $testname }
1092 proc do_h8300h_movw {} {
1093 set testname "movwh.s: h8300h movw tests"
1096 gas_start "movwh.s" "-al"
1098 # Check each instruction bit pattern to verify it got
1099 # assembled correctly.
1102 -re " +\[0-9\]+ 0000 0D01\[^\n\]*\n" { set x [expr $x+1] }
1103 -re " +\[0-9\]+ 0002 79000010\[^\n\]*\n" { set x [expr $x+1] }
1104 -re " +\[0-9\]+ 0006 6910\[^\n\]*\n" { set x [expr $x+1] }
1105 -re " +\[0-9\]+ 0008 6F100010\[^\n\]*\n" { set x [expr $x+1] }
1106 -re " +\[0-9\]+ 000c 78106B20\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] }
1107 -re " +\[0-9\]+ 0014 6D10\[^\n\]*\n" { set x [expr $x+1] }
1108 -re " +\[0-9\]+ 0016 6B000000\[^\n\]*\n" { set x [expr $x+1] }
1109 -re " +\[0-9\]+ 001a 6B200000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1110 -re " +\[0-9\]+ 0020 6990\[^\n\]*\n" { set x [expr $x+1] }
1111 -re " +\[0-9\]+ 0022 6F900010\[^\n\]*\n" { set x [expr $x+1] }
1112 -re " +\[0-9\]+ 0026 78106BA0\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] }
1113 -re " +\[0-9\]+ 002e 6D90\[^\n\]*\n" { set x [expr $x+1] }
1114 -re " +\[0-9\]+ 0030 6B800000\[^\n\]*\n" { set x [expr $x+1] }
1115 -re " +\[0-9\]+ 0034 6BA00000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1120 # This was intended to do any cleanup necessary. It kinda looks like it
1121 # isn't needed, but just in case, please keep it in for now.
1124 # Did we find what we were looking for? If not, flunk it.
1125 if [expr $x == 14] then { pass $testname } else { fail $testname }
1128 proc do_h8300h_movl {} {
1129 set testname "movlh.s: h8300h movl tests"
1132 gas_start "movlh.s" "-al"
1134 # Check each instruction bit pattern to verify it got
1135 # assembled correctly.
1138 -re " +\[0-9\]+ 0000 0F81\[^\n\]*\n" { set x [expr $x+1] }
1139 -re " +\[0-9\]+ 0002 7A000000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
1140 -re " +\[0-9\]+ 0008 01006910\[^\n\]*\n" { set x [expr $x+1] }
1141 -re " +\[0-9\]+ 000c 01006F10\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] }
1142 -re " +\[0-9\]+ 0012 01007810\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] }
1143 -re " +\[0-9\]+ 001c 01006D10\[^\n\]*\n" { set x [expr $x+1] }
1144 -re " +\[0-9\]+ 0020 01006B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1145 -re " +\[0-9\]+ 0026 01006B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] }
1146 -re " +\[0-9\]+ 002e 01006990\[^\n\]*\n" { set x [expr $x+1] }
1147 -re " +\[0-9\]+ 0032 01006F90\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] }
1148 -re " +\[0-9\]+ 0038 01007890\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] }
1149 -re " +\[0-9\]+ 0042 01006D90\[^\n\]*\n" { set x [expr $x+1] }
1150 -re " +\[0-9\]+ 0046 01006B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1151 -re " +\[0-9\]+ 004c 01006BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] }
1156 # This was intended to do any cleanup necessary. It kinda looks like it
1157 # isn't needed, but just in case, please keep it in for now.
1160 # Did we find what we were looking for? If not, flunk it.
1161 if [expr $x == 14] then { pass $testname } else { fail $testname }
1164 proc do_h8300h_pushpop {} {
1165 set testname "pushpoph.s: h8300h pushpop tests"
1168 gas_start "pushpoph.s" "-al"
1170 # Check each instruction bit pattern to verify it got
1171 # assembled correctly.
1174 -re " +\[0-9\]+ 0000 6D70\[^\n\]*\n" { set x [expr $x+1] }
1175 -re " +\[0-9\]+ 0002 01006D70\[^\n\]*\n" { set x [expr $x+1] }
1176 -re " +\[0-9\]+ 0006 6DF0\[^\n\]*\n" { set x [expr $x+1] }
1177 -re " +\[0-9\]+ 0008 01006DF0\[^\n\]*\n" { set x [expr $x+1] }
1182 # This was intended to do any cleanup necessary. It kinda looks like it
1183 # isn't needed, but just in case, please keep it in for now.
1186 # Did we find what we were looking for? If not, flunk it.
1187 if [expr $x == 4] then { pass $testname } else { fail $testname }
1190 proc do_h8300h_rotate_shift {} {
1191 set testname "rotshh.s: h8300h rotate and shift tests"
1194 gas_start "rotshh.s" "-al"
1196 # Check each instruction bit pattern to verify it got
1197 # assembled correctly.
1200 -re " +\[0-9\]+ 0000 1288\[^\n\]*\n" { set x [expr $x+1] }
1201 -re " +\[0-9\]+ 0002 1290\[^\n\]*\n" { set x [expr $x+1] }
1202 -re " +\[0-9\]+ 0004 12B0\[^\n\]*\n" { set x [expr $x+1] }
1203 -re " +\[0-9\]+ 0006 1388\[^\n\]*\n" { set x [expr $x+1] }
1204 -re " +\[0-9\]+ 0008 1390\[^\n\]*\n" { set x [expr $x+1] }
1205 -re " +\[0-9\]+ 000a 13B0\[^\n\]*\n" { set x [expr $x+1] }
1206 -re " +\[0-9\]+ 000c 1208\[^\n\]*\n" { set x [expr $x+1] }
1207 -re " +\[0-9\]+ 000e 1210\[^\n\]*\n" { set x [expr $x+1] }
1208 -re " +\[0-9\]+ 0010 1230\[^\n\]*\n" { set x [expr $x+1] }
1209 -re " +\[0-9\]+ 0012 1308\[^\n\]*\n" { set x [expr $x+1] }
1210 -re " +\[0-9\]+ 0014 1310\[^\n\]*\n" { set x [expr $x+1] }
1211 -re " +\[0-9\]+ 0016 1330\[^\n\]*\n" { set x [expr $x+1] }
1212 -re " +\[0-9\]+ 0018 1088\[^\n\]*\n" { set x [expr $x+1] }
1213 -re " +\[0-9\]+ 001a 1090\[^\n\]*\n" { set x [expr $x+1] }
1214 -re " +\[0-9\]+ 001c 10B0\[^\n\]*\n" { set x [expr $x+1] }
1215 -re " +\[0-9\]+ 001e 1188\[^\n\]*\n" { set x [expr $x+1] }
1216 -re " +\[0-9\]+ 0020 1190\[^\n\]*\n" { set x [expr $x+1] }
1217 -re " +\[0-9\]+ 0022 11B0\[^\n\]*\n" { set x [expr $x+1] }
1218 -re " +\[0-9\]+ 0024 1008\[^\n\]*\n" { set x [expr $x+1] }
1219 -re " +\[0-9\]+ 0026 1010\[^\n\]*\n" { set x [expr $x+1] }
1220 -re " +\[0-9\]+ 0028 1030\[^\n\]*\n" { set x [expr $x+1] }
1221 -re " +\[0-9\]+ 002a 1108\[^\n\]*\n" { set x [expr $x+1] }
1222 -re " +\[0-9\]+ 002c 1110\[^\n\]*\n" { set x [expr $x+1] }
1223 -re " +\[0-9\]+ 002e 1130\[^\n\]*\n" { set x [expr $x+1] }
1228 # This was intended to do any cleanup necessary. It kinda looks like it
1229 # isn't needed, but just in case, please keep it in for now.
1232 # Did we find what we were looking for? If not, flunk it.
1233 if [expr $x == 24] then { pass $testname } else { fail $testname }
1236 proc do_h8300h_extend {} {
1237 set testname "extendh.s: h8300h extend tests"
1240 gas_start "extendh.s" "-al"
1242 # Check each instruction bit pattern to verify it got
1243 # assembled correctly.
1246 -re " +\[0-9\]+ 0000 17D0\[^\n\]*\n" { set x [expr $x+1] }
1247 -re " +\[0-9\]+ 0002 17F0\[^\n\]*\n" { set x [expr $x+1] }
1248 -re " +\[0-9\]+ 0004 1750\[^\n\]*\n" { set x [expr $x+1] }
1249 -re " +\[0-9\]+ 0006 1770\[^\n\]*\n" { set x [expr $x+1] }
1254 # This was intended to do any cleanup necessary. It kinda looks like it
1255 # isn't needed, but just in case, please keep it in for now.
1258 # Did we find what we were looking for? If not, flunk it.
1259 if [expr $x == 4] then { pass $testname } else { fail $testname }
1262 proc do_h8300s_add_sub {} {
1263 set testname "addsubs.s: h8300s add/sub tests"
1266 gas_start "addsubs.s" "-al"
1268 # Check each instruction bit pattern to verify it got
1269 # assembled correctly.
1272 -re " +\[0-9\]+ 0000 8910\[^\n\]*\n" { set x [expr $x+1] }
1273 -re " +\[0-9\]+ 0002 0819\[^\n\]*\n" { set x [expr $x+1] }
1274 -re " +\[0-9\]+ 0004 79110020\[^\n\]*\n" { set x [expr $x+1] }
1275 -re " +\[0-9\]+ 0008 0912\[^\n\]*\n" { set x [expr $x+1] }
1276 -re " +\[0-9\]+ 000a 7A110000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
1277 -re " +\[0-9\]+ 0010 0A92\[^\n\]*\n" { set x [expr $x+1] }
1278 -re " +\[0-9\]+ 0012 0B04\[^\n\]*\n" { set x [expr $x+1] }
1279 -re " +\[0-9\]+ 0014 0B85\[^\n\]*\n" { set x [expr $x+1] }
1280 -re " +\[0-9\]+ 0016 0B96\[^\n\]*\n" { set x [expr $x+1] }
1281 -re " +\[0-9\]+ 0018 0E89\[^\n\]*\n" { set x [expr $x+1] }
1282 -re " +\[0-9\]+ 001a 9210\[^\n\]*\n" { set x [expr $x+1] }
1283 -re " +\[0-9\]+ 001c 1889\[^\n\]*\n" { set x [expr $x+1] }
1284 -re " +\[0-9\]+ 001e 79310010\[^\n\]*\n" { set x [expr $x+1] }
1285 -re " +\[0-9\]+ 0022 1901\[^\n\]*\n" { set x [expr $x+1] }
1286 -re " +\[0-9\]+ 0024 7A310000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
1287 -re " +\[0-9\]+ 002a 1A92\[^\n\]*\n" { set x [expr $x+1] }
1288 -re " +\[0-9\]+ 002c 1B04\[^\n\]*\n" { set x [expr $x+1] }
1289 -re " +\[0-9\]+ 002e 1B85\[^\n\]*\n" { set x [expr $x+1] }
1290 -re " +\[0-9\]+ 0030 1B96\[^\n\]*\n" { set x [expr $x+1] }
1291 -re " +\[0-9\]+ 0032 1E89\[^\n\]*\n" { set x [expr $x+1] }
1292 -re " +\[0-9\]+ 0034 B210\[^\n\]*\n" { set x [expr $x+1] }
1293 timeout { perror "timeout\n; break }
1298 # This was intended to do any cleanup necessary. It kinda looks like it
1299 # isn't needed, but just in case, please keep it in for now.
1302 # Did we find what we were looking for? If not, flunk it.
1303 if [expr $x == 21] then { pass $testname } else { fail $testname }
1306 proc do_h8300s_logical {} {
1307 set testname "logicals.s: h8300s logical tests"
1310 gas_start "logicals.s" "-al"
1312 # Check each instruction bit pattern to verify it got
1313 # assembled correctly.
1316 -re " +\[0-9\]+ 0000 E910\[^\n\]*\n" { set x [expr $x+1] }
1317 -re " +\[0-9\]+ 0002 1691\[^\n\]*\n" { set x [expr $x+1] }
1318 -re " +\[0-9\]+ 0004 79610020\[^\n\]*\n" { set x [expr $x+1] }
1319 -re " +\[0-9\]+ 0008 6611\[^\n\]*\n" { set x [expr $x+1] }
1320 -re " +\[0-9\]+ 000a 7A610000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
1321 -re " +\[0-9\]+ 0010 01F06611\[^\n\]*\n" { set x [expr $x+1] }
1322 -re " +\[0-9\]+ 0014 0610\[^\n\]*\n" { set x [expr $x+1] }
1323 -re " +\[0-9\]+ 0016 01410610\[^\n\]*\n" { set x [expr $x+1] }
1324 -re " +\[0-9\]+ 001a C810\[^\n\]*\n" { set x [expr $x+1] }
1325 -re " +\[0-9\]+ 001c 1498\[^\n\]*\n" { set x [expr $x+1] }
1326 -re " +\[0-9\]+ 001e 79410020\[^\n\]*\n" { set x [expr $x+1] }
1327 -re " +\[0-9\]+ 0022 6411\[^\n\]*\n" { set x [expr $x+1] }
1328 -re " +\[0-9\]+ 0024 7A410000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
1329 -re " +\[0-9\]+ 002a 01F06411\[^\n\]*\n" { set x [expr $x+1] }
1330 -re " +\[0-9\]+ 002e 0410\[^\n\]*\n" { set x [expr $x+1] }
1331 -re " +\[0-9\]+ 0030 01410410\[^\n\]*\n" { set x [expr $x+1] }
1333 -re " +\[0-9\]+ 0034 D810\[^\n\]*\n" { set x [expr $x+1] }
1334 -re " +\[0-9\]+ 0036 1589\[^\n\]*\n" { set x [expr $x+1] }
1335 -re " +\[0-9\]+ 0038 79510020\[^\n\]*\n" { set x [expr $x+1] }
1336 -re " +\[0-9\]+ 003c 6511\[^\n\]*\n" { set x [expr $x+1] }
1337 -re " +\[0-9\]+ 003e 7A510000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
1338 -re " +\[0-9\]+ 0044 01F06511\[^\n\]*\n" { set x [expr $x+1] }
1339 -re " +\[0-9\]+ 0048 0510\[^\n\]*\n" { set x [expr $x+1] }
1340 -re " +\[0-9\]+ 004a 01410510\[^\n\]*\n" { set x [expr $x+1] }
1341 -re " +\[0-9\]+ 004e 1788\[^\n\]*\n" { set x [expr $x+1] }
1342 -re " +\[0-9\]+ 0050 1790\[^\n\]*\n" { set x [expr $x+1] }
1343 -re " +\[0-9\]+ 0052 17B0\[^\n\]*\n" { set x [expr $x+1] }
1344 -re " +\[0-9\]+ 0054 1708\[^\n\]*\n" { set x [expr $x+1] }
1345 -re " +\[0-9\]+ 0056 1710\[^\n\]*\n" { set x [expr $x+1] }
1346 -re " +\[0-9\]+ 0058 1730\[^\n\]*\n" { set x [expr $x+1] }
1347 timeout { perror "timeout\n; break }
1352 # This was intended to do any cleanup necessary. It kinda looks like it
1353 # isn't needed, but just in case, please keep it in for now.
1356 # Did we find what we were looking for? If not, flunk it.
1357 if [expr $x == 30] then { pass $testname } else { fail $testname }
1360 proc do_h8300s_cbranch {} {
1361 set testname "cbranchs.s: h8300s conditional branch tests"
1364 gas_start "cbranchs.s" "-al"
1366 # Check each instruction bit pattern to verify it got
1367 # assembled correctly.
1370 -re " +\[0-9\]+ 0000 4000\[^\n\]*\n" { set x [expr $x+1] }
1371 -re " +\[0-9\]+ 0002 4000\[^\n\]*\n" { set x [expr $x+1] }
1372 -re " +\[0-9\]+ 0004 4100\[^\n\]*\n" { set x [expr $x+1] }
1373 -re " +\[0-9\]+ 0006 4100\[^\n\]*\n" { set x [expr $x+1] }
1374 -re " +\[0-9\]+ 0008 4200\[^\n\]*\n" { set x [expr $x+1] }
1375 -re " +\[0-9\]+ 000a 4300\[^\n\]*\n" { set x [expr $x+1] }
1376 -re " +\[0-9\]+ 000c 4400\[^\n\]*\n" { set x [expr $x+1] }
1377 -re " +\[0-9\]+ 000e 4400\[^\n\]*\n" { set x [expr $x+1] }
1378 -re " +\[0-9\]+ 0010 4500\[^\n\]*\n" { set x [expr $x+1] }
1379 -re " +\[0-9\]+ 0012 4500\[^\n\]*\n" { set x [expr $x+1] }
1380 -re " +\[0-9\]+ 0014 4600\[^\n\]*\n" { set x [expr $x+1] }
1381 -re " +\[0-9\]+ 0016 4700\[^\n\]*\n" { set x [expr $x+1] }
1382 -re " +\[0-9\]+ 0018 4800\[^\n\]*\n" { set x [expr $x+1] }
1383 -re " +\[0-9\]+ 001a 4900\[^\n\]*\n" { set x [expr $x+1] }
1384 -re " +\[0-9\]+ 001c 4A00\[^\n\]*\n" { set x [expr $x+1] }
1385 -re " +\[0-9\]+ 001e 4B00\[^\n\]*\n" { set x [expr $x+1] }
1386 -re " +\[0-9\]+ 0020 4C00\[^\n\]*\n" { set x [expr $x+1] }
1387 -re " +\[0-9\]+ 0022 4D00\[^\n\]*\n" { set x [expr $x+1] }
1388 -re " +\[0-9\]+ 0024 4E00\[^\n\]*\n" { set x [expr $x+1] }
1389 -re " +\[0-9\]+ 0026 4F00\[^\n\]*\n" { set x [expr $x+1] }
1390 -re " +\[0-9\]+ 0028 58000000\[^\n\]*\n" { set x [expr $x+1] }
1391 -re " +\[0-9\]+ 002c 58000000\[^\n\]*\n" { set x [expr $x+1] }
1392 -re " +\[0-9\]+ 0030 58100000\[^\n\]*\n" { set x [expr $x+1] }
1393 -re " +\[0-9\]+ 0034 58100000\[^\n\]*\n" { set x [expr $x+1] }
1394 -re " +\[0-9\]+ 0038 58200000\[^\n\]*\n" { set x [expr $x+1] }
1395 -re " +\[0-9\]+ 003c 58300000\[^\n\]*\n" { set x [expr $x+1] }
1396 -re " +\[0-9\]+ 0040 58400000\[^\n\]*\n" { set x [expr $x+1] }
1397 -re " +\[0-9\]+ 0044 58400000\[^\n\]*\n" { set x [expr $x+1] }
1398 -re " +\[0-9\]+ 0048 58500000\[^\n\]*\n" { set x [expr $x+1] }
1399 -re " +\[0-9\]+ 004c 58500000\[^\n\]*\n" { set x [expr $x+1] }
1400 -re " +\[0-9\]+ 0050 58600000\[^\n\]*\n" { set x [expr $x+1] }
1401 -re " +\[0-9\]+ 0054 58700000\[^\n\]*\n" { set x [expr $x+1] }
1402 -re " +\[0-9\]+ 0058 58800000\[^\n\]*\n" { set x [expr $x+1] }
1403 -re " +\[0-9\]+ 005c 58900000\[^\n\]*\n" { set x [expr $x+1] }
1404 -re " +\[0-9\]+ 0060 58A00000\[^\n\]*\n" { set x [expr $x+1] }
1405 -re " +\[0-9\]+ 0064 58B00000\[^\n\]*\n" { set x [expr $x+1] }
1406 -re " +\[0-9\]+ 0068 58C00000\[^\n\]*\n" { set x [expr $x+1] }
1407 -re " +\[0-9\]+ 006c 58D00000\[^\n\]*\n" { set x [expr $x+1] }
1408 -re " +\[0-9\]+ 0070 58E00000\[^\n\]*\n" { set x [expr $x+1] }
1409 -re " +\[0-9\]+ 0074 58F00000\[^\n\]*\n" { set x [expr $x+1] }
1410 timeout { perror "timeout\n; break }
1415 # This was intended to do any cleanup necessary. It kinda looks like it
1416 # isn't needed, but just in case, please keep it in for now.
1419 # Did we find what we were looking for? If not, flunk it.
1420 if [expr $x == 40] then { pass $testname } else { fail $testname }
1422 proc do_h8300s_bitops1 {} {
1423 set testname "bitops1s.s: h8300s bitops tests #1"
1426 gas_start "bitops1s.s" "-al"
1428 # Check each instruction bit pattern to verify it got
1429 # assembled correctly.
1432 -re " +\[0-9\]+ 0000 7608\[^\n\]*\n" { set x [expr $x+1] }
1433 -re " +\[0-9\]+ 0002 7C007600\[^\n\]*\n" { set x [expr $x+1] }
1434 -re " +\[0-9\]+ 0006 7E407600\[^\n\]*\n" { set x [expr $x+1] }
1435 -re " +\[0-9\]+ 000a 6A100080\[^\n\]*\n +\[0-9\]+ +7600" { set x [expr $x+1] }
1436 -re " +\[0-9\]+ 0010 6A300001\[^\n\]*\n +\[0-9\]+ +00007600" { set x [expr $x+1] }
1437 -re " +\[0-9\]+ 0018 7208\[^\n\]*\n" { set x [expr $x+1] }
1438 -re " +\[0-9\]+ 001a 7D007200\[^\n\]*\n" { set x [expr $x+1] }
1439 -re " +\[0-9\]+ 001e 7F407200\[^\n\]*\n" { set x [expr $x+1] }
1440 -re " +\[0-9\]+ 0022 6A180080\[^\n\]*\n +\[0-9\]+ +7200" { set x [expr $x+1] }
1441 -re " +\[0-9\]+ 0028 6A380001\[^\n\]*\n +\[0-9\]+ +00007200" { set x [expr $x+1] }
1442 -re " +\[0-9\]+ 0030 6298\[^\n\]*\n" { set x [expr $x+1] }
1443 -re " +\[0-9\]+ 0032 7D006290\[^\n\]*\n" { set x [expr $x+1] }
1444 -re " +\[0-9\]+ 0036 7F406290\[^\n\]*\n" { set x [expr $x+1] }
1445 -re " +\[0-9\]+ 003a 6A180080\[^\n\]*\n +\[0-9\]+ +6290" { set x [expr $x+1] }
1446 -re " +\[0-9\]+ 0040 6A380001\[^\n\]*\n +\[0-9\]+ +00006290" { set x [expr $x+1] }
1447 -re " +\[0-9\]+ 0048 7688\[^\n\]*\n" { set x [expr $x+1] }
1448 -re " +\[0-9\]+ 004a 7C007680\[^\n\]*\n" { set x [expr $x+1] }
1449 -re " +\[0-9\]+ 004e 7E407680\[^\n\]*\n" { set x [expr $x+1] }
1450 -re " +\[0-9\]+ 0052 6A100080\[^\n\]*\n +\[0-9\]+ +7680" { set x [expr $x+1] }
1451 -re " +\[0-9\]+ 0058 6A300001\[^\n\]*\n +\[0-9\]+ +00007680" { set x [expr $x+1] }
1452 -re " +\[0-9\]+ 0060 7788\[^\n\]*\n" { set x [expr $x+1] }
1453 -re " +\[0-9\]+ 0062 7C007780\[^\n\]*\n" { set x [expr $x+1] }
1454 -re " +\[0-9\]+ 0066 7E407780\[^\n\]*\n" { set x [expr $x+1] }
1455 -re " +\[0-9\]+ 006a 6A100080\[^\n\]*\n +\[0-9\]+ +7780" { set x [expr $x+1] }
1456 -re " +\[0-9\]+ 0070 6A300001\[^\n\]*\n +\[0-9\]+ +00007780" { set x [expr $x+1] }
1457 timeout { perror "timeout\n; break }
1462 # This was intended to do any cleanup necessary. It kinda looks like it
1463 # isn't needed, but just in case, please keep it in for now.
1466 # Did we find what we were looking for? If not, flunk it.
1467 if [expr $x == 25] then { pass $testname } else { fail $testname }
1470 proc do_h8300s_bitops2 {} {
1471 set testname "bitops2s.s: h8300s bitops tests #2"
1474 gas_start "bitops2s.s" "-al"
1476 # Check each instruction bit pattern to verify it got
1477 # assembled correctly.
1480 -re " +\[0-9\]+ 0000 7488\[^\n\]*\n" { set x [expr $x+1] }
1481 -re " +\[0-9\]+ 0002 7C007480\[^\n\]*\n" { set x [expr $x+1] }
1482 -re " +\[0-9\]+ 0006 7E407480\[^\n\]*\n" { set x [expr $x+1] }
1483 -re " +\[0-9\]+ 000a 6A100080\[^\n\]*\n +\[0-9\]+ +7480" { set x [expr $x+1] }
1484 -re " +\[0-9\]+ 0010 6A300001\[^\n\]*\n +\[0-9\]+ +00007480" { set x [expr $x+1] }
1485 -re " +\[0-9\]+ 0018 6788\[^\n\]*\n" { set x [expr $x+1] }
1486 -re " +\[0-9\]+ 001a 7D006780\[^\n\]*\n" { set x [expr $x+1] }
1487 -re " +\[0-9\]+ 001e 7F406780\[^\n\]*\n" { set x [expr $x+1] }
1488 -re " +\[0-9\]+ 0022 6A180080\[^\n\]*\n +\[0-9\]+ +6780" { set x [expr $x+1] }
1489 -re " +\[0-9\]+ 0028 6A380001\[^\n\]*\n +\[0-9\]+ +00006780" { set x [expr $x+1] }
1491 -re " +\[0-9\]+ 0030 7588\[^\n\]*\n" { set x [expr $x+1] }
1492 -re " +\[0-9\]+ 0032 7C007580\[^\n\]*\n" { set x [expr $x+1] }
1493 -re " +\[0-9\]+ 0036 7E407580\[^\n\]*\n" { set x [expr $x+1] }
1494 -re " +\[0-9\]+ 003a 6A100080\[^\n\]*\n +\[0-9\]+ +7580" { set x [expr $x+1] }
1495 -re " +\[0-9\]+ 0040 6A300001\[^\n\]*\n +\[0-9\]+ +00007580" { set x [expr $x+1] }
1496 -re " +\[0-9\]+ 0048 7708\[^\n\]*\n" { set x [expr $x+1] }
1497 -re " +\[0-9\]+ 004a 7C007700\[^\n\]*\n" { set x [expr $x+1] }
1498 -re " +\[0-9\]+ 004e 7E407700\[^\n\]*\n" { set x [expr $x+1] }
1499 -re " +\[0-9\]+ 0052 6A100080\[^\n\]*\n +\[0-9\]+ +7700" { set x [expr $x+1] }
1500 -re " +\[0-9\]+ 0058 6A300001\[^\n\]*\n +\[0-9\]+ +00007700" { set x [expr $x+1] }
1501 timeout { perror "timeout\n; break }
1506 # This was intended to do any cleanup necessary. It kinda looks like it
1507 # isn't needed, but just in case, please keep it in for now.
1510 # Did we find what we were looking for? If not, flunk it.
1511 if [expr $x == 20] then { pass $testname } else { fail $testname }
1514 proc do_h8300s_bitops3 {} {
1515 set testname "bitops3s.s: h8300s bitops tests #3"
1518 gas_start "bitops3s.s" "-al"
1520 # Check each instruction bit pattern to verify it got
1521 # assembled correctly.
1524 -re " +\[0-9\]+ 0000 7108\[^\n\]*\n" { set x [expr $x+1] }
1525 -re " +\[0-9\]+ 0002 7D007100\[^\n\]*\n" { set x [expr $x+1] }
1526 -re " +\[0-9\]+ 0006 7F407100\[^\n\]*\n" { set x [expr $x+1] }
1527 -re " +\[0-9\]+ 000a 6A180080\[^\n\]*\n +\[0-9\]+ +7100" { set x [expr $x+1] }
1528 -re " +\[0-9\]+ 0010 6A380001\[^\n\]*\n +\[0-9\]+ +00007100" { set x [expr $x+1] }
1529 -re " +\[0-9\]+ 0018 6198\[^\n\]*\n" { set x [expr $x+1] }
1530 -re " +\[0-9\]+ 001a 7D006190\[^\n\]*\n" { set x [expr $x+1] }
1531 -re " +\[0-9\]+ 001e 7F406190\[^\n\]*\n" { set x [expr $x+1] }
1532 -re " +\[0-9\]+ 0022 6A180080\[^\n\]*\n +\[0-9\]+ +6190" { set x [expr $x+1] }
1533 -re " +\[0-9\]+ 0028 6A380001\[^\n\]*\n +\[0-9\]+ +00006190" { set x [expr $x+1] }
1534 -re " +\[0-9\]+ 0030 7008\[^\n\]*\n" { set x [expr $x+1] }
1535 -re " +\[0-9\]+ 0032 7D007000\[^\n\]*\n" { set x [expr $x+1] }
1536 -re " +\[0-9\]+ 0036 7F407000\[^\n\]*\n" { set x [expr $x+1] }
1537 -re " +\[0-9\]+ 003a 6A180080\[^\n\]*\n +\[0-9\]+ +7000" { set x [expr $x+1] }
1538 -re " +\[0-9\]+ 0040 6A380001\[^\n\]*\n +\[0-9\]+ +00007000" { set x [expr $x+1] }
1539 -re " +\[0-9\]+ 0048 6098\[^\n\]*\n" { set x [expr $x+1] }
1540 -re " +\[0-9\]+ 004a 7D006090\[^\n\]*\n" { set x [expr $x+1] }
1541 -re " +\[0-9\]+ 004e 7F406090\[^\n\]*\n" { set x [expr $x+1] }
1542 -re " +\[0-9\]+ 0052 6A180080\[^\n\]*\n +\[0-9\]+ +6090" { set x [expr $x+1] }
1543 -re " +\[0-9\]+ 0058 6A380001\[^\n\]*\n +\[0-9\]+ +00006090" { set x [expr $x+1] }
1544 timeout { perror "timeout\n; break }
1549 # This was intended to do any cleanup necessary. It kinda looks like it
1550 # isn't needed, but just in case, please keep it in for now.
1553 # Did we find what we were looking for? If not, flunk it.
1554 if [expr $x == 20] then { pass $testname } else { fail $testname }
1557 proc do_h8300s_bitops4 {} {
1558 set testname "bitops4s.s: h8300s bitops tests #4"
1561 gas_start "bitops4s.s" "-al"
1563 # Check each instruction bit pattern to verify it got
1564 # assembled correctly.
1567 -re " +\[0-9\]+ 0000 7408\[^\n\]*\n" { set x [expr $x+1] }
1568 -re " +\[0-9\]+ 0002 7C007400\[^\n\]*\n" { set x [expr $x+1] }
1569 -re " +\[0-9\]+ 0006 7E407400\[^\n\]*\n" { set x [expr $x+1] }
1570 -re " +\[0-9\]+ 000a 6A100080\[^\n\]*\n +\[0-9\]+ +7400" { set x [expr $x+1] }
1571 -re " +\[0-9\]+ 0010 6A300001\[^\n\]*\n +\[0-9\]+ +00007400" { set x [expr $x+1] }
1572 -re " +\[0-9\]+ 0018 6708\[^\n\]*\n" { set x [expr $x+1] }
1573 -re " +\[0-9\]+ 001a 7D006700\[^\n\]*\n" { set x [expr $x+1] }
1574 -re " +\[0-9\]+ 001e 7F406700\[^\n\]*\n" { set x [expr $x+1] }
1575 -re " +\[0-9\]+ 0022 6A180080\[^\n\]*\n +\[0-9\]+ +6700" { set x [expr $x+1] }
1576 -re " +\[0-9\]+ 0028 6A380001\[^\n\]*\n +\[0-9\]+ +00006700" { set x [expr $x+1] }
1577 -re " +\[0-9\]+ 0030 7308\[^\n\]*\n" { set x [expr $x+1] }
1578 -re " +\[0-9\]+ 0032 7C007300\[^\n\]*\n" { set x [expr $x+1] }
1579 -re " +\[0-9\]+ 0036 7E407300\[^\n\]*\n" { set x [expr $x+1] }
1580 -re " +\[0-9\]+ 003a 6A100080\[^\n\]*\n +\[0-9\]+ +7300" { set x [expr $x+1] }
1581 -re " +\[0-9\]+ 0040 6A300001\[^\n\]*\n +\[0-9\]+ +00007300" { set x [expr $x+1] }
1582 -re " +\[0-9\]+ 0048 6398\[^\n\]*\n" { set x [expr $x+1] }
1583 -re " +\[0-9\]+ 004a 7C006390\[^\n\]*\n" { set x [expr $x+1] }
1584 -re " +\[0-9\]+ 004e 7E406390\[^\n\]*\n" { set x [expr $x+1] }
1585 -re " +\[0-9\]+ 0052 6A100080\[^\n\]*\n +\[0-9\]+ +6390" { set x [expr $x+1] }
1586 -re " +\[0-9\]+ 0058 6A300001\[^\n\]*\n +\[0-9\]+ +00006390" { set x [expr $x+1] }
1587 -re " +\[0-9\]+ 0060 7508\[^\n\]*\n" { set x [expr $x+1] }
1588 -re " +\[0-9\]+ 0062 7C007500\[^\n\]*\n" { set x [expr $x+1] }
1589 -re " +\[0-9\]+ 0066 7E407500\[^\n\]*\n" { set x [expr $x+1] }
1590 -re " +\[0-9\]+ 006a 6A100080\[^\n\]*\n +\[0-9\]+ +7500" { set x [expr $x+1] }
1591 -re " +\[0-9\]+ 0070 6A300001\[^\n\]*\n +\[0-9\]+ +00007500" { set x [expr $x+1] }
1592 timeout { perror "timeout\n; break }
1597 # This was intended to do any cleanup necessary. It kinda looks like it
1598 # isn't needed, but just in case, please keep it in for now.
1601 # Did we find what we were looking for? If not, flunk it.
1602 if [expr $x == 25] then { pass $testname } else { fail $testname }
1605 proc do_h8300s_branch {} {
1606 set testname "branchs.s: h8300s branch tests"
1609 gas_start "branchs.s" "-al"
1611 # Check each instruction bit pattern to verify it got
1612 # assembled correctly.
1615 -re " +\[0-9\]+ 0000 5500\[^\n\]*\n" { set x [expr $x+1] }
1616 -re " +\[0-9\]+ 0002 5C000000\[^\n\]*\n" { set x [expr $x+1] }
1617 -re " +\[0-9\]+ 0006 5A000000\[^\n\]*\n" { set x [expr $x+1] }
1618 -re " +\[0-9\]+ 000a 5900\[^\n\]*\n" { set x [expr $x+1] }
1619 -re " +\[0-9\]+ 000c 5B00\[^\n\]*\n" { set x [expr $x+1] }
1620 -re " +\[0-9\]+ 000e 5E000000\[^\n\]*\n" { set x [expr $x+1] }
1621 -re " +\[0-9\]+ 0012 5D00\[^\n\]*\n" { set x [expr $x+1] }
1622 -re " +\[0-9\]+ 0014 5F00\[^\n\]*\n" { set x [expr $x+1] }
1623 timeout { perror "timeout\n; break }
1628 # This was intended to do any cleanup necessary. It kinda looks like it
1629 # isn't needed, but just in case, please keep it in for now.
1632 # Did we find what we were looking for? If not, flunk it.
1633 if [expr $x == 8] then { pass $testname } else { fail $testname }
1636 proc do_h8300s_compare {} {
1637 set testname "compares.s: h8300s compare tests"
1640 gas_start "compares.s" "-al"
1642 # Check each instruction bit pattern to verify it got
1643 # assembled correctly.
1646 -re " +\[0-9\]+ 0000 A800\[^\n\]*\n" { set x [expr $x+1] }
1647 -re " +\[0-9\]+ 0002 1C08\[^\n\]*\n" { set x [expr $x+1] }
1648 -re " +\[0-9\]+ 0004 79200020\[^\n\]*\n" { set x [expr $x+1] }
1649 -re " +\[0-9\]+ 0008 1D01\[^\n\]*\n" { set x [expr $x+1] }
1650 -re " +\[0-9\]+ 000a 7A200000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
1651 -re " +\[0-9\]+ 0010 1F81\[^\n\]*\n" { set x [expr $x+1] }
1652 timeout { perror "timeout\n; break }
1657 # This was intended to do any cleanup necessary. It kinda looks like it
1658 # isn't needed, but just in case, please keep it in for now.
1661 # Did we find what we were looking for? If not, flunk it.
1662 if [expr $x == 6] then { pass $testname } else { fail $testname }
1665 proc do_h8300s_decimal {} {
1666 set testname "decimals.s: h8300s decimal tests"
1669 gas_start "decimals.s" "-al"
1671 # Check each instruction bit pattern to verify it got
1672 # assembled correctly.
1675 -re " +\[0-9\]+ 0000 0F08\[^\n\]*\n" { set x [expr $x+1] }
1676 -re " +\[0-9\]+ 0002 1F08\[^\n\]*\n" { set x [expr $x+1] }
1681 # This was intended to do any cleanup necessary. It kinda looks like it
1682 # isn't needed, but just in case, please keep it in for now.
1685 # Did we find what we were looking for? If not, flunk it.
1686 if [expr $x == 2] then { pass $testname } else { fail $testname }
1689 proc do_h8300s_incdec {} {
1690 set testname "incdecs.s: h8300s incdec tests"
1693 gas_start "incdecs.s" "-al"
1695 # Check each instruction bit pattern to verify it got
1696 # assembled correctly.
1699 -re " +\[0-9\]+ 0000 1A08\[^\n\]*\n" { set x [expr $x+1] }
1700 -re " +\[0-9\]+ 0002 1B50\[^\n\]*\n" { set x [expr $x+1] }
1701 -re " +\[0-9\]+ 0004 1BD0\[^\n\]*\n" { set x [expr $x+1] }
1702 -re " +\[0-9\]+ 0006 1B70\[^\n\]*\n" { set x [expr $x+1] }
1703 -re " +\[0-9\]+ 0008 1BF0\[^\n\]*\n" { set x [expr $x+1] }
1704 -re " +\[0-9\]+ 000a 0A08\[^\n\]*\n" { set x [expr $x+1] }
1705 -re " +\[0-9\]+ 000c 0B50\[^\n\]*\n" { set x [expr $x+1] }
1706 -re " +\[0-9\]+ 000e 0BD0\[^\n\]*\n" { set x [expr $x+1] }
1707 -re " +\[0-9\]+ 0010 0B70\[^\n\]*\n" { set x [expr $x+1] }
1708 -re " +\[0-9\]+ 0012 0BF0\[^\n\]*\n" { set x [expr $x+1] }
1713 # This was intended to do any cleanup necessary. It kinda looks like it
1714 # isn't needed, but just in case, please keep it in for now.
1717 # Did we find what we were looking for? If not, flunk it.
1718 if [expr $x == 10] then { pass $testname } else { fail $testname }
1721 proc do_h8300s_divmul {} {
1722 set testname "divmuls.s: h8300s divmul tests"
1725 gas_start "divmuls.s" "-al"
1727 # Check each instruction bit pattern to verify it got
1728 # assembled correctly.
1731 -re " +\[0-9\]+ 0000 5181\[^\n\]*\n" { set x [expr $x+1] }
1732 -re " +\[0-9\]+ 0002 5301\[^\n\]*\n" { set x [expr $x+1] }
1733 -re " +\[0-9\]+ 0004 01D05181\[^\n\]*\n" { set x [expr $x+1] }
1734 -re " +\[0-9\]+ 0008 01D05301\[^\n\]*\n" { set x [expr $x+1] }
1735 -re " +\[0-9\]+ 000c 5081\[^\n\]*\n" { set x [expr $x+1] }
1736 -re " +\[0-9\]+ 000e 5201\[^\n\]*\n" { set x [expr $x+1] }
1737 -re " +\[0-9\]+ 0010 01C05081\[^\n\]*\n" { set x [expr $x+1] }
1738 -re " +\[0-9\]+ 0014 01C05201\[^\n\]*\n" { set x [expr $x+1] }
1743 # This was intended to do any cleanup necessary. It kinda looks like it
1744 # isn't needed, but just in case, please keep it in for now.
1747 # Did we find what we were looking for? If not, flunk it.
1748 if [expr $x == 8] then { pass $testname } else { fail $testname }
1751 proc do_h8300s_misc {} {
1752 set testname "miscs.s: h8300s misc tests"
1755 gas_start "miscs.s" "-al"
1757 # Check each instruction bit pattern to verify it got
1758 # assembled correctly.
1761 -re " +\[0-9\]+ 0000 7B5C598F\[^\n\]*\n" { set x [expr $x+1] }
1762 -re " +\[0-9\]+ 0004 7BD4598F\[^\n\]*\n" { set x [expr $x+1] }
1763 -re " +\[0-9\]+ 0008 0700\[^\n\]*\n" { set x [expr $x+1] }
1764 -re " +\[0-9\]+ 000a 0308\[^\n\]*\n" { set x [expr $x+1] }
1765 -re " +\[0-9\]+ 000c 01410700\[^\n\]*\n" { set x [expr $x+1] }
1766 -re " +\[0-9\]+ 0010 0318\[^\n\]*\n" { set x [expr $x+1] }
1767 -re " +\[0-9\]+ 0012 01406900\[^\n\]*\n" { set x [expr $x+1] }
1768 -re " +\[0-9\]+ 0016 01406F00\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] }
1769 -re " +\[0-9\]+ 001c 01407800\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] }
1770 -re " +\[0-9\]+ 0026 01406D00\[^\n\]*\n" { set x [expr $x+1] }
1771 -re " +\[0-9\]+ 002a 01406B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1772 -re " +\[0-9\]+ 0030 01406B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] }
1773 -re " +\[0-9\]+ 0038 01416900\[^\n\]*\n" { set x [expr $x+1] }
1774 -re " +\[0-9\]+ 003c 01416F00\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] }
1775 -re " +\[0-9\]+ 0042 01417800\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] }
1776 -re " +\[0-9\]+ 004c 01416D00\[^\n\]*\n" { set x [expr $x+1] }
1777 -re " +\[0-9\]+ 0050 01416B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1778 -re " +\[0-9\]+ 0056 01416B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] }
1779 -re " +\[0-9\]+ 005e 0000\[^\n\]*\n" { set x [expr $x+1] }
1780 -re " +\[0-9\]+ 0060 5670\[^\n\]*\n" { set x [expr $x+1] }
1781 -re " +\[0-9\]+ 0062 5470\[^\n\]*\n" { set x [expr $x+1] }
1782 -re " +\[0-9\]+ 0064 0180\[^\n\]*\n" { set x [expr $x+1] }
1783 -re " +\[0-9\]+ 0066 0208\[^\n\]*\n" { set x [expr $x+1] }
1784 -re " +\[0-9\]+ 0068 0218\[^\n\]*\n" { set x [expr $x+1] }
1785 -re " +\[0-9\]+ 006a 01406980\[^\n\]*\n" { set x [expr $x+1] }
1786 -re " +\[0-9\]+ 006e 01406F80\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] }
1787 -re " +\[0-9\]+ 0074 01407800\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] }
1788 -re " +\[0-9\]+ 007e 01406D80\[^\n\]*\n" { set x [expr $x+1] }
1789 -re " +\[0-9\]+ 0082 01406B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1790 -re " +\[0-9\]+ 0088 01406BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] }
1791 -re " +\[0-9\]+ 0090 01416980\[^\n\]*\n" { set x [expr $x+1] }
1792 -re " +\[0-9\]+ 0094 01416F80\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] }
1793 -re " +\[0-9\]+ 009a 01417800\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] }
1794 -re " +\[0-9\]+ 00a4 01416D80\[^\n\]*\n" { set x [expr $x+1] }
1795 -re " +\[0-9\]+ 00a8 01416B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1796 -re " +\[0-9\]+ 00ae 01416BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] }
1801 # This was intended to do any cleanup necessary. It kinda looks like it
1802 # isn't needed, but just in case, please keep it in for now.
1805 # Did we find what we were looking for? If not, flunk it.
1806 if [expr $x == 36] then { pass $testname } else { fail $testname }
1808 setup_xfail "h8300*-*-*"
1809 fail "h8300s movfpe/movtpe tests"
1812 proc do_h8300s_movb {} {
1813 set testname "movbs.s: h8300s movb tests"
1816 gas_start "movbs.s" "-al"
1818 # Check each instruction bit pattern to verify it got
1819 # assembled correctly.
1822 -re " +\[0-9\]+ 0000 0C89\[^\n\]*\n" { set x [expr $x+1] }
1823 -re " +\[0-9\]+ 0002 F810\[^\n\]*\n" { set x [expr $x+1] }
1824 -re " +\[0-9\]+ 0004 6818\[^\n\]*\n" { set x [expr $x+1] }
1825 -re " +\[0-9\]+ 0006 6E180010\[^\n\]*\n" { set x [expr $x+1] }
1826 -re " +\[0-9\]+ 000a 78106A28\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] }
1827 -re " +\[0-9\]+ 0012 6C18\[^\n\]*\n" { set x [expr $x+1] }
1828 -re " +\[0-9\]+ 0014 2810\[^\n\]*\n" { set x [expr $x+1] }
1829 -re " +\[0-9\]+ 0016 6A080000\[^\n\]*\n" { set x [expr $x+1] }
1830 -re " +\[0-9\]+ 001a 6A280000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1831 -re " +\[0-9\]+ 0020 6898\[^\n\]*\n" { set x [expr $x+1] }
1832 -re " +\[0-9\]+ 0022 6E980010\[^\n\]*\n" { set x [expr $x+1] }
1833 -re " +\[0-9\]+ 0026 78106AA8\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] }
1834 -re " +\[0-9\]+ 002e 6C98\[^\n\]*\n" { set x [expr $x+1] }
1835 -re " +\[0-9\]+ 0030 3810\[^\n\]*\n" { set x [expr $x+1] }
1836 -re " +\[0-9\]+ 0032 6A880000\[^\n\]*\n" { set x [expr $x+1] }
1837 -re " +\[0-9\]+ 0036 6AA80000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1842 # This was intended to do any cleanup necessary. It kinda looks like it
1843 # isn't needed, but just in case, please keep it in for now.
1846 # Did we find what we were looking for? If not, flunk it.
1847 if [expr $x == 16] then { pass $testname } else { fail $testname }
1850 proc do_h8300s_movw {} {
1851 set testname "movws.s: h8300s movw tests"
1854 gas_start "movws.s" "-al"
1856 # Check each instruction bit pattern to verify it got
1857 # assembled correctly.
1860 -re " +\[0-9\]+ 0000 0D01\[^\n\]*\n" { set x [expr $x+1] }
1861 -re " +\[0-9\]+ 0002 79000010\[^\n\]*\n" { set x [expr $x+1] }
1862 -re " +\[0-9\]+ 0006 6910\[^\n\]*\n" { set x [expr $x+1] }
1863 -re " +\[0-9\]+ 0008 6F100010\[^\n\]*\n" { set x [expr $x+1] }
1864 -re " +\[0-9\]+ 000c 78106B20\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] }
1865 -re " +\[0-9\]+ 0014 6D10\[^\n\]*\n" { set x [expr $x+1] }
1866 -re " +\[0-9\]+ 0016 6B000000\[^\n\]*\n" { set x [expr $x+1] }
1867 -re " +\[0-9\]+ 001a 6B200000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1868 -re " +\[0-9\]+ 0020 6990\[^\n\]*\n" { set x [expr $x+1] }
1869 -re " +\[0-9\]+ 0022 6F900010\[^\n\]*\n" { set x [expr $x+1] }
1870 -re " +\[0-9\]+ 0026 78106BA0\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] }
1871 -re " +\[0-9\]+ 002e 6D90\[^\n\]*\n" { set x [expr $x+1] }
1872 -re " +\[0-9\]+ 0030 6B800000\[^\n\]*\n" { set x [expr $x+1] }
1873 -re " +\[0-9\]+ 0034 6BA00000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1878 # This was intended to do any cleanup necessary. It kinda looks like it
1879 # isn't needed, but just in case, please keep it in for now.
1882 # Did we find what we were looking for? If not, flunk it.
1883 if [expr $x == 14] then { pass $testname } else { fail $testname }
1887 proc do_h8300s_movl {} {
1888 set testname "movls.s: h8300s movl tests"
1891 gas_start "movls.s" "-al"
1893 # Check each instruction bit pattern to verify it got
1894 # assembled correctly.
1897 -re " +\[0-9\]+ 0000 0F81\[^\n\]*\n" { set x [expr $x+1] }
1898 -re " +\[0-9\]+ 0002 7A000000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] }
1899 -re " +\[0-9\]+ 0008 01006910\[^\n\]*\n" { set x [expr $x+1] }
1900 -re " +\[0-9\]+ 000c 01006F10\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] }
1901 -re " +\[0-9\]+ 0012 01007810\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] }
1902 -re " +\[0-9\]+ 001c 01006D10\[^\n\]*\n" { set x [expr $x+1] }
1903 -re " +\[0-9\]+ 0020 01006B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1904 -re " +\[0-9\]+ 0026 01006B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] }
1905 -re " +\[0-9\]+ 002e 01006990\[^\n\]*\n" { set x [expr $x+1] }
1906 -re " +\[0-9\]+ 0032 01006F90\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] }
1907 -re " +\[0-9\]+ 0038 01007890\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] }
1908 -re " +\[0-9\]+ 0042 01006D90\[^\n\]*\n" { set x [expr $x+1] }
1909 -re " +\[0-9\]+ 0046 01006B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] }
1910 -re " +\[0-9\]+ 004c 01006BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] }
1915 # This was intended to do any cleanup necessary. It kinda looks like it
1916 # isn't needed, but just in case, please keep it in for now.
1919 # Did we find what we were looking for? If not, flunk it.
1920 if [expr $x == 14] then { pass $testname } else { fail $testname }
1923 proc do_h8300s_pushpop {} {
1924 set testname "pushpops.s: h8300s pushpop tests"
1927 gas_start "pushpops.s" "-al"
1929 # Check each instruction bit pattern to verify it got
1930 # assembled correctly.
1933 -re " +\[0-9\]+ 0000 6D70\[^\n\]*\n" { set x [expr $x+1] }
1934 -re " +\[0-9\]+ 0002 01006D70\[^\n\]*\n" { set x [expr $x+1] }
1935 -re " +\[0-9\]+ 0006 6DF0\[^\n\]*\n" { set x [expr $x+1] }
1936 -re " +\[0-9\]+ 0008 01006DF0\[^\n\]*\n" { set x [expr $x+1] }
1941 # This was intended to do any cleanup necessary. It kinda looks like it
1942 # isn't needed, but just in case, please keep it in for now.
1945 # Did we find what we were looking for? If not, flunk it.
1946 if [expr $x == 4] then { pass $testname } else { fail $testname }
1949 proc do_h8300s_rotate_shift {} {
1950 set testname "rotshs.s: h8300s rotate and shift tests"
1953 gas_start "rotshs.s" "-al"
1955 # Check each instruction bit pattern to verify it got
1956 # assembled correctly.
1959 -re " +\[0-9\]+ 0000 1288\[^\n\]*\n" { set x [expr $x+1] }
1960 -re " +\[0-9\]+ 0002 12C8\[^\n\]*\n" { set x [expr $x+1] }
1961 -re " +\[0-9\]+ 0004 1290\[^\n\]*\n" { set x [expr $x+1] }
1962 -re " +\[0-9\]+ 0006 12D0\[^\n\]*\n" { set x [expr $x+1] }
1963 -re " +\[0-9\]+ 0008 12B0\[^\n\]*\n" { set x [expr $x+1] }
1964 -re " +\[0-9\]+ 000a 12F0\[^\n\]*\n" { set x [expr $x+1] }
1965 -re " +\[0-9\]+ 000c 1388\[^\n\]*\n" { set x [expr $x+1] }
1966 -re " +\[0-9\]+ 000e 13C8\[^\n\]*\n" { set x [expr $x+1] }
1967 -re " +\[0-9\]+ 0010 1390\[^\n\]*\n" { set x [expr $x+1] }
1968 -re " +\[0-9\]+ 0012 13D0\[^\n\]*\n" { set x [expr $x+1] }
1969 -re " +\[0-9\]+ 0014 13B0\[^\n\]*\n" { set x [expr $x+1] }
1970 -re " +\[0-9\]+ 0016 13F0\[^\n\]*\n" { set x [expr $x+1] }
1971 -re " +\[0-9\]+ 0018 1208\[^\n\]*\n" { set x [expr $x+1] }
1972 -re " +\[0-9\]+ 001a 1248\[^\n\]*\n" { set x [expr $x+1] }
1973 -re " +\[0-9\]+ 001c 1210\[^\n\]*\n" { set x [expr $x+1] }
1974 -re " +\[0-9\]+ 001e 1250\[^\n\]*\n" { set x [expr $x+1] }
1975 -re " +\[0-9\]+ 0020 1230\[^\n\]*\n" { set x [expr $x+1] }
1976 -re " +\[0-9\]+ 0022 1270\[^\n\]*\n" { set x [expr $x+1] }
1977 -re " +\[0-9\]+ 0024 1308\[^\n\]*\n" { set x [expr $x+1] }
1978 -re " +\[0-9\]+ 0026 1348\[^\n\]*\n" { set x [expr $x+1] }
1979 -re " +\[0-9\]+ 0028 1310\[^\n\]*\n" { set x [expr $x+1] }
1980 -re " +\[0-9\]+ 002a 1350\[^\n\]*\n" { set x [expr $x+1] }
1981 -re " +\[0-9\]+ 002c 1330\[^\n\]*\n" { set x [expr $x+1] }
1982 -re " +\[0-9\]+ 002e 1370\[^\n\]*\n" { set x [expr $x+1] }
1983 -re " +\[0-9\]+ 0030 1088\[^\n\]*\n" { set x [expr $x+1] }
1984 -re " +\[0-9\]+ 0032 10C8\[^\n\]*\n" { set x [expr $x+1] }
1985 -re " +\[0-9\]+ 0034 1090\[^\n\]*\n" { set x [expr $x+1] }
1986 -re " +\[0-9\]+ 0036 10D0\[^\n\]*\n" { set x [expr $x+1] }
1987 -re " +\[0-9\]+ 0038 10B0\[^\n\]*\n" { set x [expr $x+1] }
1988 -re " +\[0-9\]+ 003a 10F0\[^\n\]*\n" { set x [expr $x+1] }
1989 -re " +\[0-9\]+ 003c 1188\[^\n\]*\n" { set x [expr $x+1] }
1990 -re " +\[0-9\]+ 003e 11C8\[^\n\]*\n" { set x [expr $x+1] }
1991 -re " +\[0-9\]+ 0040 1190\[^\n\]*\n" { set x [expr $x+1] }
1992 -re " +\[0-9\]+ 0042 11D0\[^\n\]*\n" { set x [expr $x+1] }
1993 -re " +\[0-9\]+ 0044 11B0\[^\n\]*\n" { set x [expr $x+1] }
1994 -re " +\[0-9\]+ 0046 11F0\[^\n\]*\n" { set x [expr $x+1] }
1995 -re " +\[0-9\]+ 0048 1008\[^\n\]*\n" { set x [expr $x+1] }
1996 -re " +\[0-9\]+ 004a 1048\[^\n\]*\n" { set x [expr $x+1] }
1997 -re " +\[0-9\]+ 004c 1010\[^\n\]*\n" { set x [expr $x+1] }
1998 -re " +\[0-9\]+ 004e 1050\[^\n\]*\n" { set x [expr $x+1] }
1999 -re " +\[0-9\]+ 0050 1030\[^\n\]*\n" { set x [expr $x+1] }
2000 -re " +\[0-9\]+ 0052 1070\[^\n\]*\n" { set x [expr $x+1] }
2001 -re " +\[0-9\]+ 0054 1108\[^\n\]*\n" { set x [expr $x+1] }
2002 -re " +\[0-9\]+ 0056 1148\[^\n\]*\n" { set x [expr $x+1] }
2003 -re " +\[0-9\]+ 0058 1110\[^\n\]*\n" { set x [expr $x+1] }
2004 -re " +\[0-9\]+ 005a 1150\[^\n\]*\n" { set x [expr $x+1] }
2005 -re " +\[0-9\]+ 005c 1130\[^\n\]*\n" { set x [expr $x+1] }
2006 -re " +\[0-9\]+ 005e 1170\[^\n\]*\n" { set x [expr $x+1] }
2011 # This was intended to do any cleanup necessary. It kinda looks like it
2012 # isn't needed, but just in case, please keep it in for now.
2015 # Did we find what we were looking for? If not, flunk it.
2016 if [expr $x == 48] then { pass $testname } else { fail $testname }
2019 proc do_h8300s_extend {} {
2020 set testname "extends.s: h8300s extend tests"
2023 gas_start "extends.s" "-al"
2025 # Check each instruction bit pattern to verify it got
2026 # assembled correctly.
2029 -re " +\[0-9\]+ 0000 17D0\[^\n\]*\n" { set x [expr $x+1] }
2030 -re " +\[0-9\]+ 0002 17F0\[^\n\]*\n" { set x [expr $x+1] }
2031 -re " +\[0-9\]+ 0004 1750\[^\n\]*\n" { set x [expr $x+1] }
2032 -re " +\[0-9\]+ 0006 1770\[^\n\]*\n" { set x [expr $x+1] }
2037 # This was intended to do any cleanup necessary. It kinda looks like it
2038 # isn't needed, but just in case, please keep it in for now.
2041 # Did we find what we were looking for? If not, flunk it.
2042 if [expr $x == 4] then { pass $testname } else { fail $testname }
2045 proc do_h8300s_mac {} {
2046 set testname "macs.s: h8300s mac tests"
2049 gas_start "macs.s" "-al"
2051 # Check each instruction bit pattern to verify it got
2052 # assembled correctly.
2055 -re " +\[0-9\]+ 0000 01A0\[^\n\]*\n" { set x [expr $x+1] }
2056 -re " +\[0-9\]+ 0002 0324\[^\n\]*\n" { set x [expr $x+1] }
2057 -re " +\[0-9\]+ 0004 0335\[^\n\]*\n" { set x [expr $x+1] }
2058 -re " +\[0-9\]+ 0006 01606D45\[^\n\]*\n" { set x [expr $x+1] }
2059 -re " +\[0-9\]+ 000a 0224\[^\n\]*\n" { set x [expr $x+1] }
2060 -re " +\[0-9\]+ 000c 0235\[^\n\]*\n" { set x [expr $x+1] }
2065 # This was intended to do any cleanup necessary. It kinda looks like it
2066 # isn't needed, but just in case, please keep it in for now.
2069 # Did we find what we were looking for? If not, flunk it.
2070 if [expr $x == 6] then { pass $testname } else { fail $testname }
2073 proc do_h8300s_multiple {} {
2074 set testname "multiples.s: h8300s multiple tests"
2077 gas_start "multiples.s" "-al"
2079 # Check each instruction bit pattern to verify it got
2080 # assembled correctly.
2083 -re " +\[0-9\]+ 0000 01106D71\[^\n\]*\n" { set x [expr $x+1] }
2084 -re " +\[0-9\]+ 0004 01206D72\[^\n\]*\n" { set x [expr $x+1] }
2085 -re " +\[0-9\]+ 0008 01306D73\[^\n\]*\n" { set x [expr $x+1] }
2086 -re " +\[0-9\]+ 000c 01106DF0\[^\n\]*\n" { set x [expr $x+1] }
2087 -re " +\[0-9\]+ 0010 01206DF0\[^\n\]*\n" { set x [expr $x+1] }
2088 -re " +\[0-9\]+ 0014 01306DF0\[^\n\]*\n" { set x [expr $x+1] }
2089 -re " +\[0-9\]+ 0018 01106D73\[^\n\]*\n" { set x [expr $x+1] }
2090 -re " +\[0-9\]+ 001c 01106DF2\[^\n\]*\n" { set x [expr $x+1] }
2091 -re " +\[0-9\]+ 0020 01106D75\[^\n\]*\n" { set x [expr $x+1] }
2092 -re " +\[0-9\]+ 0024 01206D76\[^\n\]*\n" { set x [expr $x+1] }
2093 -re " +\[0-9\]+ 0028 01106DF4\[^\n\]*\n" { set x [expr $x+1] }
2094 -re " +\[0-9\]+ 002c 01206DF4\[^\n\]*\n" { set x [expr $x+1] }
2100 # This was intended to do any cleanup necessary. It kinda looks like it
2101 # isn't needed, but just in case, please keep it in for now.
2104 # Did we find what we were looking for? If not, flunk it.
2105 if [expr $x == 12] then { pass $testname } else { fail $testname }
2108 proc do_h8300h_mov32bug {} {
2109 set testname "mov32bug.s: h8300h mov32bug test"
2112 if [gas_test_old "mov32bug.s" "" "Proper relocation for mov.l (part 1)"] then {
2113 objdump_start_no_subdir "a.out" "-r"
2117 -re "00000002\[^\n\]*32\[^\n\]*_a-0x77359400\[^\n\]*\n"
2118 { set x [expr $x+1] }
2119 timeout { perror "timeout\n; break }
2125 # This was intended to do any cleanup necessary. It kinda looks like it
2126 # isn't needed, but just in case, please keep it in for now.
2129 # Did we find what we were looking for? If not, flunk it.
2130 if [expr $x == 1] then { pass $testname } else { fail $testname }
2133 proc do_h8300hn_addressgen {} {
2134 set testname "symaddgen.s: h8300hn symbol address generation"
2137 gas_start "symaddgen.s" "-al"
2139 # Check each instruction bit pattern to verify it got
2140 # assembled correctly.
2143 -re " +\[0-9\]+ .* 01006DF6\[^\n\]*\n" { set x [expr $x+1] }
2144 -re " +\[0-9\]+ .* 0D76\[^\n\]*\n" { set x [expr $x+1] }
2145 -re " +\[0-9\]+ .* 790207D0\[^\n\]*\n" { set x [expr $x+1] }
2146 -re " +\[0-9\]+ .* 6B82F020\[^\n\]*\n" { set x [expr $x+1] }
2147 -re " +\[0-9\]+ .* 79022710\[^\n\]*\n" { set x [expr $x+1] }
2148 -re " +\[0-9\]+ .* 6B820000\[^\n\]*\n" { set x [expr $x+1] }
2149 -re " +\[0-9\]+ .* 01006D76\[^\n\]*\n" { set x [expr $x+1] }
2150 -re " +\[0-9\]+ .* 5470\[^\n\]*\n" { set x [expr $x+1] }
2155 # This was intended to do any cleanup necessary. It kinda looks like it
2156 # isn't needed, but just in case, please keep it in for now.
2158 # Did we find what we were looking for? If not, flunk it.
2159 if [expr $x == 8] then { pass $testname } else { fail $testname }
2162 proc do_h8300_addsubrxcheck {} {
2163 set testname "addsubrxcheck.s: h8300 check rx generation for adds subs instructions"
2166 gas_start "addsubrxcheck.s" "-al"
2168 # Check each instruction bit pattern to verify it got
2169 # assembled correctly.
2172 -re " +\[0-9\]+ .* 6DF6\[^\n\]*\n" { set x [expr $x+1] }
2173 -re " +\[0-9\]+ .* 0D76\[^\n\]*\n" { set x [expr $x+1] }
2174 -re " +\[0-9\]+ .* 1B87\[^\n\]*\n" { set x [expr $x+1] }
2175 -re " +\[0-9\]+ .* 6F62FFFE\[^\n\]*\n" { set x [expr $x+1] }
2176 -re " +\[0-9\]+ .* 1B82\[^\n\]*\n" { set x [expr $x+1] }
2177 -re " +\[0-9\]+ .* 6FE2FFFE\[^\n\]*\n" { set x [expr $x+1] }
2178 -re " +\[0-9\]+ .* 1922\[^\n\]*\n" { set x [expr $x+1] }
2179 -re " +\[0-9\]+ .* 0D20\[^\n\]*\n" { set x [expr $x+1] }
2180 -re " +\[0-9\]+ .* 0B87\[^\n\]*\n" { set x [expr $x+1] }
2181 -re " +\[0-9\]+ .* 6D76\[^\n\]*\n" { set x [expr $x+1] }
2182 -re " +\[0-9\]+ .* 5470\[^\n\]*\n" { set x [expr $x+1] }
2187 # This was intended to do any cleanup necessary. It kinda looks like it
2188 # isn't needed, but just in case, please keep it in for now.
2190 # Did we find what we were looking for? If not, flunk it.
2191 if [expr $x == 11] then { pass $testname } else { fail $testname }
2194 if [istarget h8300*-*-*] then {
2195 # Test the basic h8300 instruction parser
2210 do_h8300_rotate_shift
2211 do_h8300hn_addressgen
2213 do_h8300_addsubrxcheck
2215 # Now test the h8300h instruction parser
2231 do_h8300h_rotate_shift
2234 # Now test the h8300s instruction parser
2250 do_h8300s_rotate_shift
2257 # Now some random tests
2258 gas_test "cmpsi2.s" "" "" "cmpsi2.s"
2260 run_dump_test "pr3134"