OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [h8300/] [h8300.exp] - Blame information for rev 156

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
#
2
# Some H8/300 tests
3
#
4
proc do_h8300_add_sub {} {
5
    set testname "addsub.s: h8300 add/sub tests"
6
    set x 0
7
 
8
    gas_start "addsub.s" "-al"
9
 
10
    # Check each instruction bit pattern to verify it got
11
    # assembled correctly.
12
    while 1 {
13
        expect {
14
            -re " +\[0-9\]+ 0000 8910\[^\n\]*\n"   { set x [expr $x+1] }
15
            -re " +\[0-9\]+ 0002 0819\[^\n\]*\n"   { set x [expr $x+1] }
16
            -re " +\[0-9\]+ 0004 0912\[^\n\]*\n"   { set x [expr $x+1] }
17
            -re " +\[0-9\]+ 0006 0B04\[^\n\]*\n"   { set x [expr $x+1] }
18
            -re " +\[0-9\]+ 0008 0B85\[^\n\]*\n"   { set x [expr $x+1] }
19
            -re " +\[0-9\]+ 000a 0E89\[^\n\]*\n"   { set x [expr $x+1] }
20
            -re " +\[0-9\]+ 000c 9210\[^\n\]*\n"   { set x [expr $x+1] }
21
            -re " +\[0-9\]+ 000e 1889\[^\n\]*\n"   { set x [expr $x+1] }
22
            -re " +\[0-9\]+ 0010 1901\[^\n\]*\n"   { set x [expr $x+1] }
23
            -re " +\[0-9\]+ 0012 1B04\[^\n\]*\n"   { set x [expr $x+1] }
24
            -re " +\[0-9\]+ 0014 1B85\[^\n\]*\n"   { set x [expr $x+1] }
25
            -re " +\[0-9\]+ 0016 1E89\[^\n\]*\n"   { set x [expr $x+1] }
26
            -re " +\[0-9\]+ 0018 B210\[^\n\]*\n"   { set x [expr $x+1] }
27
            timeout                             { perror "timeout\n; break }
28
            eof                                 { break }
29
        }
30
    }
31
 
32
    # This was intended to do any cleanup necessary.  It kinda looks like it
33
    # isn't needed, but just in case, please keep it in for now.
34
    gas_finish
35
 
36
    # Did we find what we were looking for?  If not, flunk it.
37
    if [expr $x == 13] then { pass $testname } else { fail $testname }
38
}
39
 
40
proc do_h8300_logical {} {
41
    set testname "logical.s: h8300 logical tests"
42
    set x 0
43
 
44
    gas_start "logical.s" "-al"
45
 
46
    # Check each instruction bit pattern to verify it got
47
    # assembled correctly.
48
    while 1 {
49
        expect {
50
            -re " +\[0-9\]+ 0000 E910\[^\n\]*\n"   { set x [expr $x+1] }
51
            -re " +\[0-9\]+ 0002 1691\[^\n\]*\n"   { set x [expr $x+1] }
52
            -re " +\[0-9\]+ 0004 0610\[^\n\]*\n"   { set x [expr $x+1] }
53
            -re " +\[0-9\]+ 0006 C810\[^\n\]*\n"   { set x [expr $x+1] }
54
            -re " +\[0-9\]+ 0008 1498\[^\n\]*\n"   { set x [expr $x+1] }
55
            -re " +\[0-9\]+ 000a 0410\[^\n\]*\n"   { set x [expr $x+1] }
56
            -re " +\[0-9\]+ 000c D810\[^\n\]*\n"   { set x [expr $x+1] }
57
            -re " +\[0-9\]+ 000e 1589\[^\n\]*\n"   { set x [expr $x+1] }
58
            -re " +\[0-9\]+ 0010 0510\[^\n\]*\n"   { set x [expr $x+1] }
59
            -re " +\[0-9\]+ 0012 1788\[^\n\]*\n"   { set x [expr $x+1] }
60
            -re " +\[0-9\]+ 0014 1708\[^\n\]*\n"   { set x [expr $x+1] }
61
            timeout                             { perror "timeout\n; break }
62
            eof                                 { break }
63
        }
64
    }
65
 
66
    # This was intended to do any cleanup necessary.  It kinda looks like it
67
    # isn't needed, but just in case, please keep it in for now.
68
    gas_finish
69
 
70
    # Did we find what we were looking for?  If not, flunk it.
71
    if [expr $x == 11] then { pass $testname } else { fail $testname }
72
}
73
 
74
proc do_h8300_cbranch {} {
75
    set testname "cbranch.s: h8300 conditional branch tests"
76
    set x 0
77
 
78
    gas_start "cbranch.s" "-al"
79
 
80
    # Check each instruction bit pattern to verify it got
81
    # assembled correctly.
82
    while 1 {
83
        expect {
84
            -re " +\[0-9\]+ 0000 4000\[^\n\]*\n"   { set x [expr $x+1] }
85
            -re " +\[0-9\]+ 0002 4000\[^\n\]*\n"   { set x [expr $x+1] }
86
            -re " +\[0-9\]+ 0004 4100\[^\n\]*\n"   { set x [expr $x+1] }
87
            -re " +\[0-9\]+ 0006 4100\[^\n\]*\n"   { set x [expr $x+1] }
88
            -re " +\[0-9\]+ 0008 4200\[^\n\]*\n"   { set x [expr $x+1] }
89
            -re " +\[0-9\]+ 000a 4300\[^\n\]*\n"   { set x [expr $x+1] }
90
            -re " +\[0-9\]+ 000c 4400\[^\n\]*\n"   { set x [expr $x+1] }
91
            -re " +\[0-9\]+ 000e 4400\[^\n\]*\n"   { set x [expr $x+1] }
92
            -re " +\[0-9\]+ 0010 4500\[^\n\]*\n"   { set x [expr $x+1] }
93
            -re " +\[0-9\]+ 0012 4500\[^\n\]*\n"   { set x [expr $x+1] }
94
            -re " +\[0-9\]+ 0014 4600\[^\n\]*\n"   { set x [expr $x+1] }
95
            -re " +\[0-9\]+ 0016 4700\[^\n\]*\n"   { set x [expr $x+1] }
96
            -re " +\[0-9\]+ 0018 4800\[^\n\]*\n"   { set x [expr $x+1] }
97
            -re " +\[0-9\]+ 001a 4900\[^\n\]*\n"   { set x [expr $x+1] }
98
            -re " +\[0-9\]+ 001c 4A00\[^\n\]*\n"   { set x [expr $x+1] }
99
            -re " +\[0-9\]+ 001e 4B00\[^\n\]*\n"   { set x [expr $x+1] }
100
            -re " +\[0-9\]+ 0020 4C00\[^\n\]*\n"   { set x [expr $x+1] }
101
            -re " +\[0-9\]+ 0022 4D00\[^\n\]*\n"   { set x [expr $x+1] }
102
            -re " +\[0-9\]+ 0024 4E00\[^\n\]*\n"   { set x [expr $x+1] }
103
            -re " +\[0-9\]+ 0026 4F00\[^\n\]*\n"   { set x [expr $x+1] }
104
            timeout                             { perror "timeout\n; break }
105
            eof                                 { break }
106
        }
107
    }
108
 
109
    # This was intended to do any cleanup necessary.  It kinda looks like it
110
    # isn't needed, but just in case, please keep it in for now.
111
    gas_finish
112
 
113
    # Did we find what we were looking for?  If not, flunk it.
114
    if [expr $x == 20] then { pass $testname } else { fail $testname }
115
}
116
 
117
proc do_h8300_bitops1 {} {
118
    set testname "bitops1.s: h8300 bitops tests #1"
119
    set x 0
120
 
121
    gas_start "bitops1.s" "-al"
122
 
123
    # Check each instruction bit pattern to verify it got
124
    # assembled correctly.
125
    while 1 {
126
        expect {
127
            -re " +\[0-9\]+ 0000 7608\[^\n\]*\n"   { set x [expr $x+1] }
128
            -re " +\[0-9\]+ 0002 7C007600\[^\n\]*\n"   { set x [expr $x+1] }
129
            -re " +\[0-9\]+ 0006 7E407600\[^\n\]*\n"   { set x [expr $x+1] }
130
            -re " +\[0-9\]+ 000a 7208\[^\n\]*\n"   { set x [expr $x+1] }
131
            -re " +\[0-9\]+ 000c 7D007200\[^\n\]*\n"   { set x [expr $x+1] }
132
            -re " +\[0-9\]+ 0010 7F407200\[^\n\]*\n"   { set x [expr $x+1] }
133
            -re " +\[0-9\]+ 0014 6298\[^\n\]*\n"   { set x [expr $x+1] }
134
            -re " +\[0-9\]+ 0016 7D006290\[^\n\]*\n"   { set x [expr $x+1] }
135
            -re " +\[0-9\]+ 001a 7F406290\[^\n\]*\n"   { set x [expr $x+1] }
136
            -re " +\[0-9\]+ 001e 7688\[^\n\]*\n"   { set x [expr $x+1] }
137
            -re " +\[0-9\]+ 0020 7C007680\[^\n\]*\n"   { set x [expr $x+1] }
138
            -re " +\[0-9\]+ 0024 7E407680\[^\n\]*\n"   { set x [expr $x+1] }
139
            -re " +\[0-9\]+ 0028 7788\[^\n\]*\n"   { set x [expr $x+1] }
140
            -re " +\[0-9\]+ 002a 7C007780\[^\n\]*\n"   { set x [expr $x+1] }
141
            -re " +\[0-9\]+ 002e 7E407780\[^\n\]*\n"   { set x [expr $x+1] }
142
            timeout                             { perror "timeout\n; break }
143
            eof                                 { break }
144
        }
145
    }
146
 
147
    # This was intended to do any cleanup necessary.  It kinda looks like it
148
    # isn't needed, but just in case, please keep it in for now.
149
    gas_finish
150
 
151
    # Did we find what we were looking for?  If not, flunk it.
152
    if [expr $x == 15] then { pass $testname } else { fail $testname }
153
}
154
 
155
proc do_h8300_bitops2 {} {
156
    set testname "bitops2.s: h8300 bitops tests #2"
157
    set x 0
158
 
159
    gas_start "bitops2.s" "-al"
160
 
161
    # Check each instruction bit pattern to verify it got
162
    # assembled correctly.
163
    while 1 {
164
        expect {
165
            -re " +\[0-9\]+ 0000 7488\[^\n\]*\n"   { set x [expr $x+1] }
166
            -re " +\[0-9\]+ 0002 7C007480\[^\n\]*\n"   { set x [expr $x+1] }
167
            -re " +\[0-9\]+ 0006 7E407480\[^\n\]*\n"   { set x [expr $x+1] }
168
            -re " +\[0-9\]+ 000a 6788\[^\n\]*\n"   { set x [expr $x+1] }
169
            -re " +\[0-9\]+ 000c 7D006780\[^\n\]*\n"   { set x [expr $x+1] }
170
            -re " +\[0-9\]+ 0010 7F406780\[^\n\]*\n"   { set x [expr $x+1] }
171
            -re " +\[0-9\]+ 0014 7588\[^\n\]*\n"   { set x [expr $x+1] }
172
            -re " +\[0-9\]+ 0016 7C007580\[^\n\]*\n"   { set x [expr $x+1] }
173
            -re " +\[0-9\]+ 001a 7E407580\[^\n\]*\n"   { set x [expr $x+1] }
174
            -re " +\[0-9\]+ 001e 7708\[^\n\]*\n"   { set x [expr $x+1] }
175
            -re " +\[0-9\]+ 0020 7C007700\[^\n\]*\n"   { set x [expr $x+1] }
176
            -re " +\[0-9\]+ 0024 7E407700\[^\n\]*\n"   { set x [expr $x+1] }
177
            timeout                             { perror "timeout\n; break }
178
            eof                                 { break }
179
        }
180
    }
181
 
182
    # This was intended to do any cleanup necessary.  It kinda looks like it
183
    # isn't needed, but just in case, please keep it in for now.
184
    gas_finish
185
 
186
    # Did we find what we were looking for?  If not, flunk it.
187
    if [expr $x == 12] then { pass $testname } else { fail $testname }
188
}
189
 
190
proc do_h8300_bitops3 {} {
191
    set testname "bitops3.s: h8300 bitops tests #3"
192
    set x 0
193
 
194
    gas_start "bitops3.s" "-al"
195
 
196
    # Check each instruction bit pattern to verify it got
197
    # assembled correctly.
198
    while 1 {
199
        expect {
200
            -re " +\[0-9\]+ 0000 7108\[^\n\]*\n"   { set x [expr $x+1] }
201
            -re " +\[0-9\]+ 0002 7D007100\[^\n\]*\n"   { set x [expr $x+1] }
202
            -re " +\[0-9\]+ 0006 7F407100\[^\n\]*\n"   { set x [expr $x+1] }
203
            -re " +\[0-9\]+ 000a 6198\[^\n\]*\n"   { set x [expr $x+1] }
204
            -re " +\[0-9\]+ 000c 7D006190\[^\n\]*\n"   { set x [expr $x+1] }
205
            -re " +\[0-9\]+ 0010 7F406190\[^\n\]*\n"   { set x [expr $x+1] }
206
            -re " +\[0-9\]+ 0014 7008\[^\n\]*\n"   { set x [expr $x+1] }
207
            -re " +\[0-9\]+ 0016 7D007000\[^\n\]*\n"   { set x [expr $x+1] }
208
            -re " +\[0-9\]+ 001a 7F407000\[^\n\]*\n"   { set x [expr $x+1] }
209
            -re " +\[0-9\]+ 001e 6098\[^\n\]*\n"   { set x [expr $x+1] }
210
            -re " +\[0-9\]+ 0020 7D006090\[^\n\]*\n"   { set x [expr $x+1] }
211
            -re " +\[0-9\]+ 0024 7F406090\[^\n\]*\n"   { set x [expr $x+1] }
212
            timeout                             { perror "timeout\n; break }
213
            eof                                 { break }
214
        }
215
    }
216
 
217
    # This was intended to do any cleanup necessary.  It kinda looks like it
218
    # isn't needed, but just in case, please keep it in for now.
219
    gas_finish
220
 
221
    # Did we find what we were looking for?  If not, flunk it.
222
    if [expr $x == 12] then { pass $testname } else { fail $testname }
223
}
224
 
225
proc do_h8300_bitops4 {} {
226
    set testname "bitops4.s: h8300 bitops tests #4"
227
    set x 0
228
 
229
    gas_start "bitops4.s" "-al"
230
 
231
    # Check each instruction bit pattern to verify it got
232
    # assembled correctly.
233
    while 1 {
234
        expect {
235
            -re " +\[0-9\]+ 0000 7408\[^\n\]*\n"   { set x [expr $x+1] }
236
            -re " +\[0-9\]+ 0002 7C007400\[^\n\]*\n"   { set x [expr $x+1] }
237
            -re " +\[0-9\]+ 0006 7E407400\[^\n\]*\n"   { set x [expr $x+1] }
238
            -re " +\[0-9\]+ 000a 6708\[^\n\]*\n"   { set x [expr $x+1] }
239
            -re " +\[0-9\]+ 000c 7D006700\[^\n\]*\n"   { set x [expr $x+1] }
240
            -re " +\[0-9\]+ 0010 7F406700\[^\n\]*\n"   { set x [expr $x+1] }
241
            -re " +\[0-9\]+ 0014 7308\[^\n\]*\n"   { set x [expr $x+1] }
242
            -re " +\[0-9\]+ 0016 7C007300\[^\n\]*\n"   { set x [expr $x+1] }
243
            -re " +\[0-9\]+ 001a 7E407300\[^\n\]*\n"   { set x [expr $x+1] }
244
            -re " +\[0-9\]+ 001e 6398\[^\n\]*\n"   { set x [expr $x+1] }
245
            -re " +\[0-9\]+ 0020 7C006390\[^\n\]*\n"   { set x [expr $x+1] }
246
            -re " +\[0-9\]+ 0024 7E406390\[^\n\]*\n"   { set x [expr $x+1] }
247
            -re " +\[0-9\]+ 0028 7508\[^\n\]*\n"   { set x [expr $x+1] }
248
            -re " +\[0-9\]+ 002a 7C007500\[^\n\]*\n"   { set x [expr $x+1] }
249
            -re " +\[0-9\]+ 002e 7E407500\[^\n\]*\n"   { set x [expr $x+1] }
250
            timeout                             { perror "timeout\n; break }
251
            eof                                 { break }
252
        }
253
    }
254
 
255
    # This was intended to do any cleanup necessary.  It kinda looks like it
256
    # isn't needed, but just in case, please keep it in for now.
257
    gas_finish
258
 
259
    # Did we find what we were looking for?  If not, flunk it.
260
    if [expr $x == 15] then { pass $testname } else { fail $testname }
261
}
262
 
263
proc do_h8300_branch {} {
264
    set testname "branch.s: h8300 branch tests"
265
    set x 0
266
 
267
    gas_start "branch.s" "-al"
268
 
269
    # Check each instruction bit pattern to verify it got
270
    # assembled correctly.
271
    while 1 {
272
        expect {
273
            -re " +\[0-9\]+ 0000 5500\[^\n\]*\n"   { set x [expr $x+1] }
274
            -re " +\[0-9\]+ 0002 5A000000\[^\n\]*\n"   { set x [expr $x+1] }
275
            -re " +\[0-9\]+ 0006 5900\[^\n\]*\n"   { set x [expr $x+1] }
276
            -re " +\[0-9\]+ 0008 5B00\[^\n\]*\n"   { set x [expr $x+1] }
277
            -re " +\[0-9\]+ 000a 5E000000\[^\n\]*\n"   { set x [expr $x+1] }
278
            -re " +\[0-9\]+ 000e 5D00\[^\n\]*\n"   { set x [expr $x+1] }
279
            -re " +\[0-9\]+ 0010 5F00\[^\n\]*\n"   { set x [expr $x+1] }
280
            timeout                             { perror "timeout\n; break }
281
            eof                                 { break }
282
        }
283
    }
284
 
285
    # This was intended to do any cleanup necessary.  It kinda looks like it
286
    # isn't needed, but just in case, please keep it in for now.
287
    gas_finish
288
 
289
    # Did we find what we were looking for?  If not, flunk it.
290
    if [expr $x == 7] then { pass $testname } else { fail $testname }
291
}
292
 
293
proc do_h8300_compare {} {
294
    set testname "compare.s: h8300 compare tests"
295
    set x 0
296
 
297
    gas_start "compare.s" "-al"
298
 
299
    # Check each instruction bit pattern to verify it got
300
    # assembled correctly.
301
    while 1 {
302
        expect {
303
            -re " +\[0-9\]+ 0000 A800\[^\n\]*\n"   { set x [expr $x+1] }
304
            -re " +\[0-9\]+ 0002 1C08\[^\n\]*\n"   { set x [expr $x+1] }
305
            -re " +\[0-9\]+ 0004 1D01\[^\n\]*\n"   { set x [expr $x+1] }
306
            timeout                             { perror "timeout\n; break }
307
            eof                                 { break }
308
        }
309
    }
310
 
311
    # This was intended to do any cleanup necessary.  It kinda looks like it
312
    # isn't needed, but just in case, please keep it in for now.
313
    gas_finish
314
 
315
    # Did we find what we were looking for?  If not, flunk it.
316
    if [expr $x == 3] then { pass $testname } else { fail $testname }
317
}
318
 
319
proc do_h8300_decimal {} {
320
    set testname "decimal.s: h8300 decimal tests"
321
    set x 0
322
 
323
    gas_start "decimal.s" "-al"
324
 
325
    # Check each instruction bit pattern to verify it got
326
    # assembled correctly.
327
    while 1 {
328
        expect {
329
            -re " +\[0-9\]+ 0000 0F08\[^\n\]*\n"   { set x [expr $x+1] }
330
            -re " +\[0-9\]+ 0002 1F08\[^\n\]*\n"   { set x [expr $x+1] }
331
            eof                                 { break }
332
        }
333
    }
334
 
335
    # This was intended to do any cleanup necessary.  It kinda looks like it
336
    # isn't needed, but just in case, please keep it in for now.
337
    gas_finish
338
 
339
    # Did we find what we were looking for?  If not, flunk it.
340
    if [expr $x == 2] then { pass $testname } else { fail $testname }
341
}
342
 
343
proc do_h8300_incdec {} {
344
    set testname "incdec.s: h8300 incdec tests"
345
    set x 0
346
 
347
    gas_start "incdec.s" "-al"
348
 
349
    # Check each instruction bit pattern to verify it got
350
    # assembled correctly.
351
    while 1 {
352
        expect {
353
            -re " +\[0-9\]+ 0000 1A08\[^\n\]*\n"   { set x [expr $x+1] }
354
            -re " +\[0-9\]+ 0002 0A08\[^\n\]*\n"   { set x [expr $x+1] }
355
            eof                                 { break }
356
        }
357
    }
358
 
359
    # This was intended to do any cleanup necessary.  It kinda looks like it
360
    # isn't needed, but just in case, please keep it in for now.
361
    gas_finish
362
 
363
    # Did we find what we were looking for?  If not, flunk it.
364
    if [expr $x == 2] then { pass $testname } else { fail $testname }
365
}
366
 
367
proc do_h8300_divmul {} {
368
    set testname "divmul.s: h8300 divmul tests"
369
    set x 0
370
 
371
    gas_start "divmul.s" "-al"
372
 
373
    # Check each instruction bit pattern to verify it got
374
    # assembled correctly.
375
    while 1 {
376
        expect {
377
            -re " +\[0-9\]+ 0000 5181\[^\n\]*\n"   { set x [expr $x+1] }
378
            -re " +\[0-9\]+ 0002 5081\[^\n\]*\n"   { set x [expr $x+1] }
379
            eof                                 { break }
380
        }
381
    }
382
 
383
    # This was intended to do any cleanup necessary.  It kinda looks like it
384
    # isn't needed, but just in case, please keep it in for now.
385
    gas_finish
386
 
387
    # Did we find what we were looking for?  If not, flunk it.
388
    if [expr $x == 2] then { pass $testname } else { fail $testname }
389
}
390
 
391
proc do_h8300_misc {} {
392
    set testname "misc.s: h8300 misc tests"
393
    set x 0
394
 
395
    gas_start "misc.s" "-al"
396
 
397
    # Check each instruction bit pattern to verify it got
398
    # assembled correctly.
399
    while 1 {
400
        expect {
401
            -re " +\[0-9\]+ 0000 7B5C598F\[^\n\]*\n"   { set x [expr $x+1] }
402
            -re " +\[0-9\]+ 0004 0700\[^\n\]*\n"   { set x [expr $x+1] }
403
            -re " +\[0-9\]+ 0006 0308\[^\n\]*\n"   { set x [expr $x+1] }
404
            -re " +\[0-9\]+ 0008 0000\[^\n\]*\n"   { set x [expr $x+1] }
405
            -re " +\[0-9\]+ 000a 5670\[^\n\]*\n"   { set x [expr $x+1] }
406
            -re " +\[0-9\]+ 000c 5470\[^\n\]*\n"   { set x [expr $x+1] }
407
            -re " +\[0-9\]+ 000e 0180\[^\n\]*\n"   { set x [expr $x+1] }
408
            -re " +\[0-9\]+ 0010 0208\[^\n\]*\n"   { set x [expr $x+1] }
409
            eof                                 { break }
410
        }
411
    }
412
 
413
    # This was intended to do any cleanup necessary.  It kinda looks like it
414
    # isn't needed, but just in case, please keep it in for now.
415
    gas_finish
416
 
417
    # Did we find what we were looking for?  If not, flunk it.
418
    if [expr $x == 8] then { pass $testname } else { fail $testname }
419
 
420
    setup_xfail "h8300*-*-*"
421
    fail "h8300 movfpe/movtpe tests"
422
}
423
 
424
proc do_h8300_movb {} {
425
    set testname "movb.s: h8300 movb tests"
426
    set x 0
427
 
428
    gas_start "movb.s" "-al"
429
 
430
    # Check each instruction bit pattern to verify it got
431
    # assembled correctly.
432
    while 1 {
433
        expect {
434
            -re " +\[0-9\]+ 0000 0C89\[^\n\]*\n"   { set x [expr $x+1] }
435
            -re " +\[0-9\]+ 0002 F810\[^\n\]*\n"   { set x [expr $x+1] }
436
            -re " +\[0-9\]+ 0004 6818\[^\n\]*\n"   { set x [expr $x+1] }
437
            -re " +\[0-9\]+ 0006 6E180010\[^\n\]*\n"   { set x [expr $x+1] }
438
            -re " +\[0-9\]+ 000a 6C18\[^\n\]*\n"   { set x [expr $x+1] }
439
            -re " +\[0-9\]+ 000c 2810\[^\n\]*\n"   { set x [expr $x+1] }
440
            -re " +\[0-9\]+ 000e 6A080000\[^\n\]*\n"   { set x [expr $x+1] }
441
            -re " +\[0-9\]+ 0012 6898\[^\n\]*\n"   { set x [expr $x+1] }
442
            -re " +\[0-9\]+ 0014 6E980010\[^\n\]*\n"   { set x [expr $x+1] }
443
            -re " +\[0-9\]+ 0018 6C98\[^\n\]*\n"   { set x [expr $x+1] }
444
            -re " +\[0-9\]+ 001a 3810\[^\n\]*\n"   { set x [expr $x+1] }
445
            -re " +\[0-9\]+ 001c 6A880000\[^\n\]*\n"   { set x [expr $x+1] }
446
            eof                                 { break }
447
        }
448
    }
449
 
450
    # This was intended to do any cleanup necessary.  It kinda looks like it
451
    # isn't needed, but just in case, please keep it in for now.
452
    gas_finish
453
 
454
    # Did we find what we were looking for?  If not, flunk it.
455
    if [expr $x == 12] then { pass $testname } else { fail $testname }
456
}
457
 
458
proc do_h8300_movw {} {
459
    set testname "movw.s: h8300 movw tests"
460
    set x 0
461
 
462
    gas_start "movw.s" "-al"
463
 
464
    # Check each instruction bit pattern to verify it got
465
    # assembled correctly.
466
    while 1 {
467
        expect {
468
            -re " +\[0-9\]+ 0000 0D01\[^\n\]*\n"   { set x [expr $x+1] }
469
            -re " +\[0-9\]+ 0002 79000010\[^\n\]*\n"   { set x [expr $x+1] }
470
            -re " +\[0-9\]+ 0006 6910\[^\n\]*\n"   { set x [expr $x+1] }
471
            -re " +\[0-9\]+ 0008 6F100010\[^\n\]*\n"   { set x [expr $x+1] }
472
            -re " +\[0-9\]+ 000c 6D10\[^\n\]*\n"   { set x [expr $x+1] }
473
            -re " +\[0-9\]+ 000e 6B000000\[^\n\]*\n"   { set x [expr $x+1] }
474
            -re " +\[0-9\]+ 0012 6990\[^\n\]*\n"   { set x [expr $x+1] }
475
            -re " +\[0-9\]+ 0014 6F900010\[^\n\]*\n"   { set x [expr $x+1] }
476
            -re " +\[0-9\]+ 0018 6D90\[^\n\]*\n"   { set x [expr $x+1] }
477
            -re " +\[0-9\]+ 001a 6B800000\[^\n\]*\n"   { set x [expr $x+1] }
478
            eof                                 { break }
479
        }
480
    }
481
 
482
    # This was intended to do any cleanup necessary.  It kinda looks like it
483
    # isn't needed, but just in case, please keep it in for now.
484
    gas_finish
485
 
486
    # Did we find what we were looking for?  If not, flunk it.
487
    if [expr $x == 10] then { pass $testname } else { fail $testname }
488
}
489
 
490
proc do_h8300_pushpop {} {
491
    set testname "pushpop.s: h8300 pushpop tests"
492
    set x 0
493
 
494
    gas_start "pushpop.s" "-al"
495
 
496
    # Check each instruction bit pattern to verify it got
497
    # assembled correctly.
498
    while 1 {
499
        expect {
500
            -re " +\[0-9\]+ 0000 6D70\[^\n\]*\n"   { set x [expr $x+1] }
501
            -re " +\[0-9\]+ 0002 6DF0\[^\n\]*\n"   { set x [expr $x+1] }
502
            eof                                 { break }
503
        }
504
    }
505
 
506
    # This was intended to do any cleanup necessary.  It kinda looks like it
507
    # isn't needed, but just in case, please keep it in for now.
508
    gas_finish
509
 
510
    # Did we find what we were looking for?  If not, flunk it.
511
    if [expr $x == 2] then { pass $testname } else { fail $testname }
512
}
513
 
514
proc do_h8300_rotate_shift {} {
515
    set testname "rotsh.s: h8300 rotate and shift tests"
516
    set x 0
517
 
518
    gas_start "rotsh.s" "-al"
519
 
520
    # Check each instruction bit pattern to verify it got
521
    # assembled correctly.
522
    while 1 {
523
        expect {
524
            -re " +\[0-9\]+ 0000 1288\[^\n\]*\n"   { set x [expr $x+1] }
525
            -re " +\[0-9\]+ 0002 1388\[^\n\]*\n"   { set x [expr $x+1] }
526
            -re " +\[0-9\]+ 0004 1208\[^\n\]*\n"   { set x [expr $x+1] }
527
            -re " +\[0-9\]+ 0006 1308\[^\n\]*\n"   { set x [expr $x+1] }
528
            -re " +\[0-9\]+ 0008 1088\[^\n\]*\n"   { set x [expr $x+1] }
529
            -re " +\[0-9\]+ 000a 1188\[^\n\]*\n"   { set x [expr $x+1] }
530
            -re " +\[0-9\]+ 000c 1008\[^\n\]*\n"   { set x [expr $x+1] }
531
            -re " +\[0-9\]+ 000e 1108\[^\n\]*\n"   { set x [expr $x+1] }
532
            eof                                 { break }
533
        }
534
    }
535
 
536
    # This was intended to do any cleanup necessary.  It kinda looks like it
537
    # isn't needed, but just in case, please keep it in for now.
538
    gas_finish
539
 
540
    # Did we find what we were looking for?  If not, flunk it.
541
    if [expr $x == 8] then { pass $testname } else { fail $testname }
542
}
543
 
544
proc do_h8300h_add_sub {} {
545
    set testname "addsubh.s: h8300h add/sub tests"
546
    set x 0
547
 
548
    gas_start "addsubh.s" "-al"
549
 
550
    # Check each instruction bit pattern to verify it got
551
    # assembled correctly.
552
    while 1 {
553
        expect {
554
            -re " +\[0-9\]+ 0000 8910\[^\n\]*\n"   { set x [expr $x+1] }
555
            -re " +\[0-9\]+ 0002 0819\[^\n\]*\n"   { set x [expr $x+1] }
556
            -re " +\[0-9\]+ 0004 79110020\[^\n\]*\n"   { set x [expr $x+1] }
557
            -re " +\[0-9\]+ 0008 0912\[^\n\]*\n"   { set x [expr $x+1] }
558
            -re " +\[0-9\]+ 000a 7A110000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
559
            -re " +\[0-9\]+ 0010 0A92\[^\n\]*\n"   { set x [expr $x+1] }
560
            -re " +\[0-9\]+ 0012 0B04\[^\n\]*\n"   { set x [expr $x+1] }
561
            -re " +\[0-9\]+ 0014 0B85\[^\n\]*\n"   { set x [expr $x+1] }
562
            -re " +\[0-9\]+ 0016 0B96\[^\n\]*\n"   { set x [expr $x+1] }
563
            -re " +\[0-9\]+ 0018 0E89\[^\n\]*\n"   { set x [expr $x+1] }
564
            -re " +\[0-9\]+ 001a 9210\[^\n\]*\n"   { set x [expr $x+1] }
565
            -re " +\[0-9\]+ 001c 1889\[^\n\]*\n"   { set x [expr $x+1] }
566
            -re " +\[0-9\]+ 001e 79310010\[^\n\]*\n"   { set x [expr $x+1] }
567
            -re " +\[0-9\]+ 0022 1901\[^\n\]*\n"   { set x [expr $x+1] }
568
            -re " +\[0-9\]+ 0024 7A310000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
569
            -re " +\[0-9\]+ 002a 1A92\[^\n\]*\n"   { set x [expr $x+1] }
570
            -re " +\[0-9\]+ 002c 1B04\[^\n\]*\n"   { set x [expr $x+1] }
571
            -re " +\[0-9\]+ 002e 1B85\[^\n\]*\n"   { set x [expr $x+1] }
572
            -re " +\[0-9\]+ 0030 1B96\[^\n\]*\n"   { set x [expr $x+1] }
573
            -re " +\[0-9\]+ 0032 1E89\[^\n\]*\n"   { set x [expr $x+1] }
574
            -re " +\[0-9\]+ 0034 B210\[^\n\]*\n"   { set x [expr $x+1] }
575
            timeout                             { perror "timeout\n; break }
576
            eof                                 { break }
577
        }
578
    }
579
 
580
    # This was intended to do any cleanup necessary.  It kinda looks like it
581
    # isn't needed, but just in case, please keep it in for now.
582
    gas_finish
583
 
584
    # Did we find what we were looking for?  If not, flunk it.
585
    if [expr $x == 21] then { pass $testname } else { fail $testname }
586
}
587
 
588
proc do_h8300h_logical {} {
589
    set testname "logicalh.s: h8300h logical tests"
590
    set x 0
591
 
592
    gas_start "logicalh.s" "-al"
593
 
594
    # Check each instruction bit pattern to verify it got
595
    # assembled correctly.
596
    while 1 {
597
        expect {
598
            -re " +\[0-9\]+ 0000 E910\[^\n\]*\n"   { set x [expr $x+1] }
599
            -re " +\[0-9\]+ 0002 1691\[^\n\]*\n"   { set x [expr $x+1] }
600
            -re " +\[0-9\]+ 0004 79610020\[^\n\]*\n"   { set x [expr $x+1] }
601
            -re " +\[0-9\]+ 0008 6611\[^\n\]*\n"   { set x [expr $x+1] }
602
            -re " +\[0-9\]+ 000a 7A610000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
603
            -re " +\[0-9\]+ 0010 01F06611\[^\n\]*\n"   { set x [expr $x+1] }
604
            -re " +\[0-9\]+ 0014 0610\[^\n\]*\n"   { set x [expr $x+1] }
605
            -re " +\[0-9\]+ 0016 C810\[^\n\]*\n"   { set x [expr $x+1] }
606
            -re " +\[0-9\]+ 0018 1498\[^\n\]*\n"   { set x [expr $x+1] }
607
            -re " +\[0-9\]+ 001a 79410020\[^\n\]*\n"   { set x [expr $x+1] }
608
            -re " +\[0-9\]+ 001e 6411\[^\n\]*\n"   { set x [expr $x+1] }
609
            -re " +\[0-9\]+ 0020 7A410000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
610
            -re " +\[0-9\]+ 0026 01F06411\[^\n\]*\n"   { set x [expr $x+1] }
611
            -re " +\[0-9\]+ 002a 0410\[^\n\]*\n"   { set x [expr $x+1] }
612
            -re " +\[0-9\]+ 002c D810\[^\n\]*\n"   { set x [expr $x+1] }
613
            -re " +\[0-9\]+ 002e 1589\[^\n\]*\n"   { set x [expr $x+1] }
614
            -re " +\[0-9\]+ 0030 79510020\[^\n\]*\n"   { set x [expr $x+1] }
615
            -re " +\[0-9\]+ 0034 6511\[^\n\]*\n"   { set x [expr $x+1] }
616
            -re " +\[0-9\]+ 0036 7A510000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
617
            -re " +\[0-9\]+ 003c 01F06511\[^\n\]*\n"   { set x [expr $x+1] }
618
            -re " +\[0-9\]+ 0040 0510\[^\n\]*\n"   { set x [expr $x+1] }
619
            -re " +\[0-9\]+ 0042 1788\[^\n\]*\n"   { set x [expr $x+1] }
620
            -re " +\[0-9\]+ 0044 1790\[^\n\]*\n"   { set x [expr $x+1] }
621
            -re " +\[0-9\]+ 0046 17B0\[^\n\]*\n"   { set x [expr $x+1] }
622
            -re " +\[0-9\]+ 0048 1708\[^\n\]*\n"   { set x [expr $x+1] }
623
            -re " +\[0-9\]+ 004a 1710\[^\n\]*\n"   { set x [expr $x+1] }
624
            -re " +\[0-9\]+ 004c 1730\[^\n\]*\n"   { set x [expr $x+1] }
625
            timeout                             { perror "timeout\n; break }
626
            eof                                 { break }
627
        }
628
    }
629
 
630
    # This was intended to do any cleanup necessary.  It kinda looks like it
631
    # isn't needed, but just in case, please keep it in for now.
632
    gas_finish
633
 
634
    # Did we find what we were looking for?  If not, flunk it.
635
    if [expr $x == 27] then { pass $testname } else { fail $testname }
636
}
637
 
638
proc do_h8300h_cbranch {} {
639
    set testname "cbranchh.s: h8300h conditional branch tests"
640
    set x 0
641
 
642
    gas_start "cbranchh.s" "-al"
643
 
644
    # Check each instruction bit pattern to verify it got
645
    # assembled correctly.
646
    while 1 {
647
        expect {
648
            -re " +\[0-9\]+ 0000 4000\[^\n\]*\n"   { set x [expr $x+1] }
649
            -re " +\[0-9\]+ 0002 4000\[^\n\]*\n"   { set x [expr $x+1] }
650
            -re " +\[0-9\]+ 0004 4100\[^\n\]*\n"   { set x [expr $x+1] }
651
            -re " +\[0-9\]+ 0006 4100\[^\n\]*\n"   { set x [expr $x+1] }
652
            -re " +\[0-9\]+ 0008 4200\[^\n\]*\n"   { set x [expr $x+1] }
653
            -re " +\[0-9\]+ 000a 4300\[^\n\]*\n"   { set x [expr $x+1] }
654
            -re " +\[0-9\]+ 000c 4400\[^\n\]*\n"   { set x [expr $x+1] }
655
            -re " +\[0-9\]+ 000e 4400\[^\n\]*\n"   { set x [expr $x+1] }
656
            -re " +\[0-9\]+ 0010 4500\[^\n\]*\n"   { set x [expr $x+1] }
657
            -re " +\[0-9\]+ 0012 4500\[^\n\]*\n"   { set x [expr $x+1] }
658
            -re " +\[0-9\]+ 0014 4600\[^\n\]*\n"   { set x [expr $x+1] }
659
            -re " +\[0-9\]+ 0016 4700\[^\n\]*\n"   { set x [expr $x+1] }
660
            -re " +\[0-9\]+ 0018 4800\[^\n\]*\n"   { set x [expr $x+1] }
661
            -re " +\[0-9\]+ 001a 4900\[^\n\]*\n"   { set x [expr $x+1] }
662
            -re " +\[0-9\]+ 001c 4A00\[^\n\]*\n"   { set x [expr $x+1] }
663
            -re " +\[0-9\]+ 001e 4B00\[^\n\]*\n"   { set x [expr $x+1] }
664
            -re " +\[0-9\]+ 0020 4C00\[^\n\]*\n"   { set x [expr $x+1] }
665
            -re " +\[0-9\]+ 0022 4D00\[^\n\]*\n"   { set x [expr $x+1] }
666
            -re " +\[0-9\]+ 0024 4E00\[^\n\]*\n"   { set x [expr $x+1] }
667
            -re " +\[0-9\]+ 0026 4F00\[^\n\]*\n"   { set x [expr $x+1] }
668
            -re " +\[0-9\]+ 0028 58000000\[^\n\]*\n"   { set x [expr $x+1] }
669
            -re " +\[0-9\]+ 002c 58000000\[^\n\]*\n"   { set x [expr $x+1] }
670
            -re " +\[0-9\]+ 0030 58100000\[^\n\]*\n"   { set x [expr $x+1] }
671
            -re " +\[0-9\]+ 0034 58100000\[^\n\]*\n"   { set x [expr $x+1] }
672
            -re " +\[0-9\]+ 0038 58200000\[^\n\]*\n"   { set x [expr $x+1] }
673
            -re " +\[0-9\]+ 003c 58300000\[^\n\]*\n"   { set x [expr $x+1] }
674
            -re " +\[0-9\]+ 0040 58400000\[^\n\]*\n"   { set x [expr $x+1] }
675
            -re " +\[0-9\]+ 0044 58400000\[^\n\]*\n"   { set x [expr $x+1] }
676
            -re " +\[0-9\]+ 0048 58500000\[^\n\]*\n"   { set x [expr $x+1] }
677
            -re " +\[0-9\]+ 004c 58500000\[^\n\]*\n"   { set x [expr $x+1] }
678
            -re " +\[0-9\]+ 0050 58600000\[^\n\]*\n"   { set x [expr $x+1] }
679
            -re " +\[0-9\]+ 0054 58700000\[^\n\]*\n"   { set x [expr $x+1] }
680
            -re " +\[0-9\]+ 0058 58800000\[^\n\]*\n"   { set x [expr $x+1] }
681
            -re " +\[0-9\]+ 005c 58900000\[^\n\]*\n"   { set x [expr $x+1] }
682
            -re " +\[0-9\]+ 0060 58A00000\[^\n\]*\n"   { set x [expr $x+1] }
683
            -re " +\[0-9\]+ 0064 58B00000\[^\n\]*\n"   { set x [expr $x+1] }
684
            -re " +\[0-9\]+ 0068 58C00000\[^\n\]*\n"   { set x [expr $x+1] }
685
            -re " +\[0-9\]+ 006c 58D00000\[^\n\]*\n"   { set x [expr $x+1] }
686
            -re " +\[0-9\]+ 0070 58E00000\[^\n\]*\n"   { set x [expr $x+1] }
687
            -re " +\[0-9\]+ 0074 58F00000\[^\n\]*\n"   { set x [expr $x+1] }
688
            timeout                             { perror "timeout\n; break }
689
            eof                                 { break }
690
        }
691
    }
692
 
693
    # This was intended to do any cleanup necessary.  It kinda looks like it
694
    # isn't needed, but just in case, please keep it in for now.
695
    gas_finish
696
 
697
    # Did we find what we were looking for?  If not, flunk it.
698
    if [expr $x == 40] then { pass $testname } else { fail $testname }
699
}
700
proc do_h8300h_bitops1 {} {
701
    set testname "bitops1h.s: h8300h bitops tests #1"
702
    set x 0
703
 
704
    gas_start "bitops1h.s" "-al"
705
 
706
    # Check each instruction bit pattern to verify it got
707
    # assembled correctly.
708
    while 1 {
709
        expect {
710
            -re " +\[0-9\]+ 0000 7608\[^\n\]*\n"   { set x [expr $x+1] }
711
            -re " +\[0-9\]+ 0002 7C007600\[^\n\]*\n"   { set x [expr $x+1] }
712
            -re " +\[0-9\]+ 0006 7E407600\[^\n\]*\n"   { set x [expr $x+1] }
713
            -re " +\[0-9\]+ 000a 7208\[^\n\]*\n"   { set x [expr $x+1] }
714
            -re " +\[0-9\]+ 000c 7D007200\[^\n\]*\n"   { set x [expr $x+1] }
715
            -re " +\[0-9\]+ 0010 7F407200\[^\n\]*\n"   { set x [expr $x+1] }
716
            -re " +\[0-9\]+ 0014 6298\[^\n\]*\n"   { set x [expr $x+1] }
717
            -re " +\[0-9\]+ 0016 7D006290\[^\n\]*\n"   { set x [expr $x+1] }
718
            -re " +\[0-9\]+ 001a 7F406290\[^\n\]*\n"   { set x [expr $x+1] }
719
            -re " +\[0-9\]+ 001e 7688\[^\n\]*\n"   { set x [expr $x+1] }
720
            -re " +\[0-9\]+ 0020 7C007680\[^\n\]*\n"   { set x [expr $x+1] }
721
            -re " +\[0-9\]+ 0024 7E407680\[^\n\]*\n"   { set x [expr $x+1] }
722
            -re " +\[0-9\]+ 0028 7788\[^\n\]*\n"   { set x [expr $x+1] }
723
            -re " +\[0-9\]+ 002a 7C007780\[^\n\]*\n"   { set x [expr $x+1] }
724
            -re " +\[0-9\]+ 002e 7E407780\[^\n\]*\n"   { set x [expr $x+1] }
725
            timeout                             { perror "timeout\n; break }
726
            eof                                 { break }
727
        }
728
    }
729
 
730
    # This was intended to do any cleanup necessary.  It kinda looks like it
731
    # isn't needed, but just in case, please keep it in for now.
732
    gas_finish
733
 
734
    # Did we find what we were looking for?  If not, flunk it.
735
    if [expr $x == 15] then { pass $testname } else { fail $testname }
736
}
737
 
738
proc do_h8300h_bitops2 {} {
739
    set testname "bitops2h.s: h8300h bitops tests #2"
740
    set x 0
741
 
742
    gas_start "bitops2h.s" "-al"
743
 
744
    # Check each instruction bit pattern to verify it got
745
    # assembled correctly.
746
    while 1 {
747
        expect {
748
            -re " +\[0-9\]+ 0000 7488\[^\n\]*\n"   { set x [expr $x+1] }
749
            -re " +\[0-9\]+ 0002 7C007480\[^\n\]*\n"   { set x [expr $x+1] }
750
            -re " +\[0-9\]+ 0006 7E407480\[^\n\]*\n"   { set x [expr $x+1] }
751
            -re " +\[0-9\]+ 000a 6788\[^\n\]*\n"   { set x [expr $x+1] }
752
            -re " +\[0-9\]+ 000c 7D006780\[^\n\]*\n"   { set x [expr $x+1] }
753
            -re " +\[0-9\]+ 0010 7F406780\[^\n\]*\n"   { set x [expr $x+1] }
754
            -re " +\[0-9\]+ 0014 7588\[^\n\]*\n"   { set x [expr $x+1] }
755
            -re " +\[0-9\]+ 0016 7C007580\[^\n\]*\n"   { set x [expr $x+1] }
756
            -re " +\[0-9\]+ 001a 7E407580\[^\n\]*\n"   { set x [expr $x+1] }
757
            -re " +\[0-9\]+ 001e 7708\[^\n\]*\n"   { set x [expr $x+1] }
758
            -re " +\[0-9\]+ 0020 7C007700\[^\n\]*\n"   { set x [expr $x+1] }
759
            -re " +\[0-9\]+ 0024 7E407700\[^\n\]*\n"   { set x [expr $x+1] }
760
            timeout                             { perror "timeout\n; break }
761
            eof                                 { break }
762
        }
763
    }
764
 
765
    # This was intended to do any cleanup necessary.  It kinda looks like it
766
    # isn't needed, but just in case, please keep it in for now.
767
    gas_finish
768
 
769
    # Did we find what we were looking for?  If not, flunk it.
770
    if [expr $x == 12] then { pass $testname } else { fail $testname }
771
}
772
 
773
proc do_h8300h_bitops3 {} {
774
    set testname "bitops3h.s: h8300h bitops tests #3"
775
    set x 0
776
 
777
    gas_start "bitops3h.s" "-al"
778
 
779
    # Check each instruction bit pattern to verify it got
780
    # assembled correctly.
781
    while 1 {
782
        expect {
783
            -re " +\[0-9\]+ 0000 7108\[^\n\]*\n"   { set x [expr $x+1] }
784
            -re " +\[0-9\]+ 0002 7D007100\[^\n\]*\n"   { set x [expr $x+1] }
785
            -re " +\[0-9\]+ 0006 7F407100\[^\n\]*\n"   { set x [expr $x+1] }
786
            -re " +\[0-9\]+ 000a 6198\[^\n\]*\n"   { set x [expr $x+1] }
787
            -re " +\[0-9\]+ 000c 7D006190\[^\n\]*\n"   { set x [expr $x+1] }
788
            -re " +\[0-9\]+ 0010 7F406190\[^\n\]*\n"   { set x [expr $x+1] }
789
            -re " +\[0-9\]+ 0014 7008\[^\n\]*\n"   { set x [expr $x+1] }
790
            -re " +\[0-9\]+ 0016 7D007000\[^\n\]*\n"   { set x [expr $x+1] }
791
            -re " +\[0-9\]+ 001a 7F407000\[^\n\]*\n"   { set x [expr $x+1] }
792
            -re " +\[0-9\]+ 001e 6098\[^\n\]*\n"   { set x [expr $x+1] }
793
            -re " +\[0-9\]+ 0020 7D006090\[^\n\]*\n"   { set x [expr $x+1] }
794
            -re " +\[0-9\]+ 0024 7F406090\[^\n\]*\n"   { set x [expr $x+1] }
795
            timeout                             { perror "timeout\n; break }
796
            eof                                 { break }
797
        }
798
    }
799
 
800
    # This was intended to do any cleanup necessary.  It kinda looks like it
801
    # isn't needed, but just in case, please keep it in for now.
802
    gas_finish
803
 
804
    # Did we find what we were looking for?  If not, flunk it.
805
    if [expr $x == 12] then { pass $testname } else { fail $testname }
806
}
807
 
808
proc do_h8300h_bitops4 {} {
809
    set testname "bitops4h.s: h8300h bitops tests #4"
810
    set x 0
811
 
812
    gas_start "bitops4h.s" "-al"
813
 
814
    # Check each instruction bit pattern to verify it got
815
    # assembled correctly.
816
    while 1 {
817
        expect {
818
            -re " +\[0-9\]+ 0000 7408\[^\n\]*\n"   { set x [expr $x+1] }
819
            -re " +\[0-9\]+ 0002 7C007400\[^\n\]*\n"   { set x [expr $x+1] }
820
            -re " +\[0-9\]+ 0006 7E407400\[^\n\]*\n"   { set x [expr $x+1] }
821
            -re " +\[0-9\]+ 000a 6708\[^\n\]*\n"   { set x [expr $x+1] }
822
            -re " +\[0-9\]+ 000c 7D006700\[^\n\]*\n"   { set x [expr $x+1] }
823
            -re " +\[0-9\]+ 0010 7F406700\[^\n\]*\n"   { set x [expr $x+1] }
824
            -re " +\[0-9\]+ 0014 7308\[^\n\]*\n"   { set x [expr $x+1] }
825
            -re " +\[0-9\]+ 0016 7C007300\[^\n\]*\n"   { set x [expr $x+1] }
826
            -re " +\[0-9\]+ 001a 7E407300\[^\n\]*\n"   { set x [expr $x+1] }
827
            -re " +\[0-9\]+ 001e 6398\[^\n\]*\n"   { set x [expr $x+1] }
828
            -re " +\[0-9\]+ 0020 7C006390\[^\n\]*\n"   { set x [expr $x+1] }
829
            -re " +\[0-9\]+ 0024 7E406390\[^\n\]*\n"   { set x [expr $x+1] }
830
            -re " +\[0-9\]+ 0028 7508\[^\n\]*\n"   { set x [expr $x+1] }
831
            -re " +\[0-9\]+ 002a 7C007500\[^\n\]*\n"   { set x [expr $x+1] }
832
            -re " +\[0-9\]+ 002e 7E407500\[^\n\]*\n"   { set x [expr $x+1] }
833
            timeout                             { perror "timeout\n; break }
834
            eof                                 { break }
835
        }
836
    }
837
 
838
    # This was intended to do any cleanup necessary.  It kinda looks like it
839
    # isn't needed, but just in case, please keep it in for now.
840
    gas_finish
841
 
842
    # Did we find what we were looking for?  If not, flunk it.
843
    if [expr $x == 15] then { pass $testname } else { fail $testname }
844
}
845
 
846
proc do_h8300h_branch {} {
847
    set testname "branchh.s: h8300h branch tests"
848
    set x 0
849
 
850
    gas_start "branchh.s" "-al"
851
 
852
    # Check each instruction bit pattern to verify it got
853
    # assembled correctly.
854
    while 1 {
855
        expect {
856
            -re " +\[0-9\]+ 0000 5500\[^\n\]*\n"   { set x [expr $x+1] }
857
            -re " +\[0-9\]+ 0002 5C000000\[^\n\]*\n"   { set x [expr $x+1] }
858
            -re " +\[0-9\]+ 0006 5A000000\[^\n\]*\n"   { set x [expr $x+1] }
859
            -re " +\[0-9\]+ 000a 5900\[^\n\]*\n"   { set x [expr $x+1] }
860
            -re " +\[0-9\]+ 000c 5B00\[^\n\]*\n"   { set x [expr $x+1] }
861
            -re " +\[0-9\]+ 000e 5E000000\[^\n\]*\n"   { set x [expr $x+1] }
862
            -re " +\[0-9\]+ 0012 5D00\[^\n\]*\n"   { set x [expr $x+1] }
863
            -re " +\[0-9\]+ 0014 5F00\[^\n\]*\n"   { set x [expr $x+1] }
864
            timeout                             { perror "timeout\n; break }
865
            eof                                 { break }
866
        }
867
    }
868
 
869
    # This was intended to do any cleanup necessary.  It kinda looks like it
870
    # isn't needed, but just in case, please keep it in for now.
871
    gas_finish
872
 
873
    # Did we find what we were looking for?  If not, flunk it.
874
    if [expr $x == 8] then { pass $testname } else { fail $testname }
875
}
876
 
877
proc do_h8300h_compare {} {
878
    set testname "compareh.s: h8300h compare tests"
879
    set x 0
880
 
881
    gas_start "compareh.s" "-al"
882
 
883
    # Check each instruction bit pattern to verify it got
884
    # assembled correctly.
885
    while 1 {
886
        expect {
887
            -re " +\[0-9\]+ 0000 A800\[^\n\]*\n"   { set x [expr $x+1] }
888
            -re " +\[0-9\]+ 0002 1C08\[^\n\]*\n"   { set x [expr $x+1] }
889
            -re " +\[0-9\]+ 0004 79200020\[^\n\]*\n"   { set x [expr $x+1] }
890
            -re " +\[0-9\]+ 0008 1D01\[^\n\]*\n"   { set x [expr $x+1] }
891
            -re " +\[0-9\]+ 000a 7A200000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
892
            -re " +\[0-9\]+ 0010 1F81\[^\n\]*\n"   { set x [expr $x+1] }
893
            timeout                             { perror "timeout\n; break }
894
            eof                                 { break }
895
        }
896
    }
897
 
898
    # This was intended to do any cleanup necessary.  It kinda looks like it
899
    # isn't needed, but just in case, please keep it in for now.
900
    gas_finish
901
 
902
    # Did we find what we were looking for?  If not, flunk it.
903
    if [expr $x == 6] then { pass $testname } else { fail $testname }
904
}
905
 
906
proc do_h8300h_decimal {} {
907
    set testname "decimalh.s: h8300h decimal tests"
908
    set x 0
909
 
910
    gas_start "decimalh.s" "-al"
911
 
912
    # Check each instruction bit pattern to verify it got
913
    # assembled correctly.
914
    while 1 {
915
        expect {
916
            -re " +\[0-9\]+ 0000 0F08\[^\n\]*\n"   { set x [expr $x+1] }
917
            -re " +\[0-9\]+ 0002 1F08\[^\n\]*\n"   { set x [expr $x+1] }
918
            eof                                 { break }
919
        }
920
    }
921
 
922
    # This was intended to do any cleanup necessary.  It kinda looks like it
923
    # isn't needed, but just in case, please keep it in for now.
924
    gas_finish
925
 
926
    # Did we find what we were looking for?  If not, flunk it.
927
    if [expr $x == 2] then { pass $testname } else { fail $testname }
928
}
929
 
930
proc do_h8300h_incdec {} {
931
    set testname "incdech.s: h8300h incdec tests"
932
    set x 0
933
 
934
    gas_start "incdech.s" "-al"
935
 
936
    # Check each instruction bit pattern to verify it got
937
    # assembled correctly.
938
    while 1 {
939
        expect {
940
            -re " +\[0-9\]+ 0000 1A08\[^\n\]*\n"   { set x [expr $x+1] }
941
            -re " +\[0-9\]+ 0002 1B50\[^\n\]*\n"   { set x [expr $x+1] }
942
            -re " +\[0-9\]+ 0004 1BD0\[^\n\]*\n"   { set x [expr $x+1] }
943
            -re " +\[0-9\]+ 0006 1B70\[^\n\]*\n"   { set x [expr $x+1] }
944
            -re " +\[0-9\]+ 0008 1BF0\[^\n\]*\n"   { set x [expr $x+1] }
945
            -re " +\[0-9\]+ 000a 0A08\[^\n\]*\n"   { set x [expr $x+1] }
946
            -re " +\[0-9\]+ 000c 0B50\[^\n\]*\n"   { set x [expr $x+1] }
947
            -re " +\[0-9\]+ 000e 0BD0\[^\n\]*\n"   { set x [expr $x+1] }
948
            -re " +\[0-9\]+ 0010 0B70\[^\n\]*\n"   { set x [expr $x+1] }
949
            -re " +\[0-9\]+ 0012 0BF0\[^\n\]*\n"   { set x [expr $x+1] }
950
            eof                                 { break }
951
        }
952
    }
953
 
954
    # This was intended to do any cleanup necessary.  It kinda looks like it
955
    # isn't needed, but just in case, please keep it in for now.
956
    gas_finish
957
 
958
    # Did we find what we were looking for?  If not, flunk it.
959
    if [expr $x == 10] then { pass $testname } else { fail $testname }
960
}
961
 
962
proc do_h8300h_divmul {} {
963
    set testname "divmulh.s: h8300h divmul tests"
964
    set x 0
965
 
966
    gas_start "divmulh.s" "-al"
967
 
968
    # Check each instruction bit pattern to verify it got
969
    # assembled correctly.
970
    while 1 {
971
        expect {
972
            -re " +\[0-9\]+ 0000 5181\[^\n\]*\n"   { set x [expr $x+1] }
973
            -re " +\[0-9\]+ 0002 5301\[^\n\]*\n"   { set x [expr $x+1] }
974
            -re " +\[0-9\]+ 0004 01D05181\[^\n\]*\n"   { set x [expr $x+1] }
975
            -re " +\[0-9\]+ 0008 01D05301\[^\n\]*\n"   { set x [expr $x+1] }
976
            -re " +\[0-9\]+ 000c 5081\[^\n\]*\n"   { set x [expr $x+1] }
977
            -re " +\[0-9\]+ 000e 5201\[^\n\]*\n"   { set x [expr $x+1] }
978
            -re " +\[0-9\]+ 0010 01C05081\[^\n\]*\n"   { set x [expr $x+1] }
979
            -re " +\[0-9\]+ 0014 01C05201\[^\n\]*\n"   { set x [expr $x+1] }
980
            eof                                 { break }
981
        }
982
    }
983
 
984
    # This was intended to do any cleanup necessary.  It kinda looks like it
985
    # isn't needed, but just in case, please keep it in for now.
986
    gas_finish
987
 
988
    # Did we find what we were looking for?  If not, flunk it.
989
    if [expr $x == 8] then { pass $testname } else { fail $testname }
990
}
991
 
992
proc do_h8300h_misc {} {
993
    set testname "misch.s: h8300h misc tests"
994
    set x 0
995
 
996
    gas_start "misch.s" "-al"
997
 
998
    # Check each instruction bit pattern to verify it got
999
    # assembled correctly.
1000
    while 1 {
1001
        expect {
1002
            -re " +\[0-9\]+ 0000 7B5C598F\[^\n\]*\n"   { set x [expr $x+1] }
1003
            -re " +\[0-9\]+ 0004 7BD4598F\[^\n\]*\n"   { set x [expr $x+1] }
1004
            -re " +\[0-9\]+ 0008 0700\[^\n\]*\n"   { set x [expr $x+1] }
1005
            -re " +\[0-9\]+ 000a 0308\[^\n\]*\n"   { set x [expr $x+1] }
1006
            -re " +\[0-9\]+ 000c 01406900\[^\n\]*\n"   { set x [expr $x+1] }
1007
            -re " +\[0-9\]+ 0010 01406F00\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n"   { set x [expr $x+1] }
1008
            -re " +\[0-9\]+ 0016 01407800\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n"   { set x [expr $x+1] }
1009
            -re " +\[0-9\]+ 0020 01406D00\[^\n\]*\n"   { set x [expr $x+1] }
1010
            -re " +\[0-9\]+ 0024 01406B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1011
            -re " +\[0-9\]+ 002a 01406B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n"   { set x [expr $x+1] }
1012
            -re " +\[0-9\]+ 0032 0000\[^\n\]*\n"   { set x [expr $x+1] }
1013
            -re " +\[0-9\]+ 0034 5670\[^\n\]*\n"   { set x [expr $x+1] }
1014
            -re " +\[0-9\]+ 0036 5470\[^\n\]*\n"   { set x [expr $x+1] }
1015
            -re " +\[0-9\]+ 0038 0180\[^\n\]*\n"   { set x [expr $x+1] }
1016
            -re " +\[0-9\]+ 003a 0208\[^\n\]*\n"   { set x [expr $x+1] }
1017
            -re " +\[0-9\]+ 003c 01406980\[^\n\]*\n"   { set x [expr $x+1] }
1018
            -re " +\[0-9\]+ 0040 01406F80\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n"   { set x [expr $x+1] }
1019
            -re " +\[0-9\]+ 0046 01407800\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n"   { set x [expr $x+1] }
1020
            -re " +\[0-9\]+ 0050 01406D80\[^\n\]*\n"   { set x [expr $x+1] }
1021
            -re " +\[0-9\]+ 0054 01406B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1022
            -re " +\[0-9\]+ 005a 01406BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n"   { set x [expr $x+1] }
1023
            eof                                 { break }
1024
        }
1025
    }
1026
 
1027
    # This was intended to do any cleanup necessary.  It kinda looks like it
1028
    # isn't needed, but just in case, please keep it in for now.
1029
    gas_finish
1030
 
1031
    # Did we find what we were looking for?  If not, flunk it.
1032
    if [expr $x == 21] then { pass $testname } else { fail $testname }
1033
 
1034
    setup_xfail "h8300*-*-*"
1035
    fail "h8300h movfpe/movtpe tests"
1036
}
1037
 
1038
proc do_h8300h_movb {} {
1039
    set testname "movbh.s: h8300h movb tests"
1040
    set x 0
1041
 
1042
    gas_start "movbh.s" "-al"
1043
 
1044
    # Check each instruction bit pattern to verify it got
1045
    # assembled correctly.
1046
    while 1 {
1047
        expect {
1048
            -re " +\[0-9\]+ 0000 0C89\[^\n\]*\n"   { set x [expr $x+1] }
1049
            -re " +\[0-9\]+ 0002 F810\[^\n\]*\n"   { set x [expr $x+1] }
1050
            -re " +\[0-9\]+ 0004 6818\[^\n\]*\n"   { set x [expr $x+1] }
1051
            -re " +\[0-9\]+ 0006 6E180010\[^\n\]*\n"   { set x [expr $x+1] }
1052
            -re " +\[0-9\]+ 000a 78106A28\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n"   { set x [expr $x+1] }
1053
            -re " +\[0-9\]+ 0012 6C18\[^\n\]*\n"   { set x [expr $x+1] }
1054
            -re " +\[0-9\]+ 0014 2810\[^\n\]*\n"   { set x [expr $x+1] }
1055
            -re " +\[0-9\]+ 0016 6A080000\[^\n\]*\n"   { set x [expr $x+1] }
1056
            -re " +\[0-9\]+ 001a 6A280000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1057
            -re " +\[0-9\]+ 0020 6898\[^\n\]*\n"   { set x [expr $x+1] }
1058
            -re " +\[0-9\]+ 0022 6E980010\[^\n\]*\n"   { set x [expr $x+1] }
1059
            -re " +\[0-9\]+ 0026 78106AA8\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n"   { set x [expr $x+1] }
1060
            -re " +\[0-9\]+ 002e 6C98\[^\n\]*\n"   { set x [expr $x+1] }
1061
            -re " +\[0-9\]+ 0030 3810\[^\n\]*\n"   { set x [expr $x+1] }
1062
            -re " +\[0-9\]+ 0032 6A880000\[^\n\]*\n"   { set x [expr $x+1] }
1063
            -re " +\[0-9\]+ 0036 6AA80000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1064
            eof                                 { break }
1065
        }
1066
    }
1067
 
1068
    # This was intended to do any cleanup necessary.  It kinda looks like it
1069
    # isn't needed, but just in case, please keep it in for now.
1070
    gas_finish
1071
 
1072
    # Did we find what we were looking for?  If not, flunk it.
1073
    if [expr $x == 16] then { pass $testname } else { fail $testname }
1074
}
1075
 
1076
proc do_h8300h_movw {} {
1077
    set testname "movwh.s: h8300h movw tests"
1078
    set x 0
1079
 
1080
    gas_start "movwh.s" "-al"
1081
 
1082
    # Check each instruction bit pattern to verify it got
1083
    # assembled correctly.
1084
    while 1 {
1085
        expect {
1086
            -re " +\[0-9\]+ 0000 0D01\[^\n\]*\n"   { set x [expr $x+1] }
1087
            -re " +\[0-9\]+ 0002 79000010\[^\n\]*\n"   { set x [expr $x+1] }
1088
            -re " +\[0-9\]+ 0006 6910\[^\n\]*\n"   { set x [expr $x+1] }
1089
            -re " +\[0-9\]+ 0008 6F100010\[^\n\]*\n"   { set x [expr $x+1] }
1090
            -re " +\[0-9\]+ 000c 78106B20\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n"   { set x [expr $x+1] }
1091
            -re " +\[0-9\]+ 0014 6D10\[^\n\]*\n"   { set x [expr $x+1] }
1092
            -re " +\[0-9\]+ 0016 6B000000\[^\n\]*\n"   { set x [expr $x+1] }
1093
            -re " +\[0-9\]+ 001a 6B200000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1094
            -re " +\[0-9\]+ 0020 6990\[^\n\]*\n"   { set x [expr $x+1] }
1095
            -re " +\[0-9\]+ 0022 6F900010\[^\n\]*\n"   { set x [expr $x+1] }
1096
            -re " +\[0-9\]+ 0026 78106BA0\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n"   { set x [expr $x+1] }
1097
            -re " +\[0-9\]+ 002e 6D90\[^\n\]*\n"   { set x [expr $x+1] }
1098
            -re " +\[0-9\]+ 0030 6B800000\[^\n\]*\n"   { set x [expr $x+1] }
1099
            -re " +\[0-9\]+ 0034 6BA00000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1100
            eof                                 { break }
1101
        }
1102
    }
1103
 
1104
    # This was intended to do any cleanup necessary.  It kinda looks like it
1105
    # isn't needed, but just in case, please keep it in for now.
1106
    gas_finish
1107
 
1108
    # Did we find what we were looking for?  If not, flunk it.
1109
    if [expr $x == 14] then { pass $testname } else { fail $testname }
1110
}
1111
 
1112
proc do_h8300h_movl {} {
1113
    set testname "movlh.s: h8300h movl tests"
1114
    set x 0
1115
 
1116
    gas_start "movlh.s" "-al"
1117
 
1118
    # Check each instruction bit pattern to verify it got
1119
    # assembled correctly.
1120
    while 1 {
1121
        expect {
1122
            -re " +\[0-9\]+ 0000 0F81\[^\n\]*\n"   { set x [expr $x+1] }
1123
            -re " +\[0-9\]+ 0002 7A000000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
1124
            -re " +\[0-9\]+ 0008 01006910\[^\n\]*\n"   { set x [expr $x+1] }
1125
            -re " +\[0-9\]+ 000c 01006F10\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n"   { set x [expr $x+1] }
1126
            -re " +\[0-9\]+ 0012 01007810\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n"   { set x [expr $x+1] }
1127
            -re " +\[0-9\]+ 001c 01006D10\[^\n\]*\n"   { set x [expr $x+1] }
1128
            -re " +\[0-9\]+ 0020 01006B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1129
            -re " +\[0-9\]+ 0026 01006B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n"   { set x [expr $x+1] }
1130
            -re " +\[0-9\]+ 002e 01006990\[^\n\]*\n"   { set x [expr $x+1] }
1131
            -re " +\[0-9\]+ 0032 01006F90\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n"   { set x [expr $x+1] }
1132
            -re " +\[0-9\]+ 0038 01007890\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n"   { set x [expr $x+1] }
1133
            -re " +\[0-9\]+ 0042 01006D90\[^\n\]*\n"   { set x [expr $x+1] }
1134
            -re " +\[0-9\]+ 0046 01006B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1135
            -re " +\[0-9\]+ 004c 01006BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n"   { set x [expr $x+1] }
1136
            eof                                 { break }
1137
        }
1138
    }
1139
 
1140
    # This was intended to do any cleanup necessary.  It kinda looks like it
1141
    # isn't needed, but just in case, please keep it in for now.
1142
    gas_finish
1143
 
1144
    # Did we find what we were looking for?  If not, flunk it.
1145
    if [expr $x == 14] then { pass $testname } else { fail $testname }
1146
}
1147
 
1148
proc do_h8300h_pushpop {} {
1149
    set testname "pushpoph.s: h8300h pushpop tests"
1150
    set x 0
1151
 
1152
    gas_start "pushpoph.s" "-al"
1153
 
1154
    # Check each instruction bit pattern to verify it got
1155
    # assembled correctly.
1156
    while 1 {
1157
        expect {
1158
            -re " +\[0-9\]+ 0000 6D70\[^\n\]*\n"   { set x [expr $x+1] }
1159
            -re " +\[0-9\]+ 0002 01006D70\[^\n\]*\n"   { set x [expr $x+1] }
1160
            -re " +\[0-9\]+ 0006 6DF0\[^\n\]*\n"   { set x [expr $x+1] }
1161
            -re " +\[0-9\]+ 0008 01006DF0\[^\n\]*\n"   { set x [expr $x+1] }
1162
            eof                                 { break }
1163
        }
1164
    }
1165
 
1166
    # This was intended to do any cleanup necessary.  It kinda looks like it
1167
    # isn't needed, but just in case, please keep it in for now.
1168
    gas_finish
1169
 
1170
    # Did we find what we were looking for?  If not, flunk it.
1171
    if [expr $x == 4] then { pass $testname } else { fail $testname }
1172
}
1173
 
1174
proc do_h8300h_rotate_shift {} {
1175
    set testname "rotshh.s: h8300h rotate and shift tests"
1176
    set x 0
1177
 
1178
    gas_start "rotshh.s" "-al"
1179
 
1180
    # Check each instruction bit pattern to verify it got
1181
    # assembled correctly.
1182
    while 1 {
1183
        expect {
1184
            -re " +\[0-9\]+ 0000 1288\[^\n\]*\n"   { set x [expr $x+1] }
1185
            -re " +\[0-9\]+ 0002 1290\[^\n\]*\n"   { set x [expr $x+1] }
1186
            -re " +\[0-9\]+ 0004 12B0\[^\n\]*\n"   { set x [expr $x+1] }
1187
            -re " +\[0-9\]+ 0006 1388\[^\n\]*\n"   { set x [expr $x+1] }
1188
            -re " +\[0-9\]+ 0008 1390\[^\n\]*\n"   { set x [expr $x+1] }
1189
            -re " +\[0-9\]+ 000a 13B0\[^\n\]*\n"   { set x [expr $x+1] }
1190
            -re " +\[0-9\]+ 000c 1208\[^\n\]*\n"   { set x [expr $x+1] }
1191
            -re " +\[0-9\]+ 000e 1210\[^\n\]*\n"   { set x [expr $x+1] }
1192
            -re " +\[0-9\]+ 0010 1230\[^\n\]*\n"   { set x [expr $x+1] }
1193
            -re " +\[0-9\]+ 0012 1308\[^\n\]*\n"   { set x [expr $x+1] }
1194
            -re " +\[0-9\]+ 0014 1310\[^\n\]*\n"   { set x [expr $x+1] }
1195
            -re " +\[0-9\]+ 0016 1330\[^\n\]*\n"   { set x [expr $x+1] }
1196
            -re " +\[0-9\]+ 0018 1088\[^\n\]*\n"   { set x [expr $x+1] }
1197
            -re " +\[0-9\]+ 001a 1090\[^\n\]*\n"   { set x [expr $x+1] }
1198
            -re " +\[0-9\]+ 001c 10B0\[^\n\]*\n"   { set x [expr $x+1] }
1199
            -re " +\[0-9\]+ 001e 1188\[^\n\]*\n"   { set x [expr $x+1] }
1200
            -re " +\[0-9\]+ 0020 1190\[^\n\]*\n"   { set x [expr $x+1] }
1201
            -re " +\[0-9\]+ 0022 11B0\[^\n\]*\n"   { set x [expr $x+1] }
1202
            -re " +\[0-9\]+ 0024 1008\[^\n\]*\n"   { set x [expr $x+1] }
1203
            -re " +\[0-9\]+ 0026 1010\[^\n\]*\n"   { set x [expr $x+1] }
1204
            -re " +\[0-9\]+ 0028 1030\[^\n\]*\n"   { set x [expr $x+1] }
1205
            -re " +\[0-9\]+ 002a 1108\[^\n\]*\n"   { set x [expr $x+1] }
1206
            -re " +\[0-9\]+ 002c 1110\[^\n\]*\n"   { set x [expr $x+1] }
1207
            -re " +\[0-9\]+ 002e 1130\[^\n\]*\n"   { set x [expr $x+1] }
1208
            eof                                 { break }
1209
        }
1210
    }
1211
 
1212
    # This was intended to do any cleanup necessary.  It kinda looks like it
1213
    # isn't needed, but just in case, please keep it in for now.
1214
    gas_finish
1215
 
1216
    # Did we find what we were looking for?  If not, flunk it.
1217
    if [expr $x == 24] then { pass $testname } else { fail $testname }
1218
}
1219
 
1220
proc do_h8300h_extend {} {
1221
    set testname "extendh.s: h8300h extend tests"
1222
    set x 0
1223
 
1224
    gas_start "extendh.s" "-al"
1225
 
1226
    # Check each instruction bit pattern to verify it got
1227
    # assembled correctly.
1228
    while 1 {
1229
        expect {
1230
            -re " +\[0-9\]+ 0000 17D0\[^\n\]*\n"   { set x [expr $x+1] }
1231
            -re " +\[0-9\]+ 0002 17F0\[^\n\]*\n"   { set x [expr $x+1] }
1232
            -re " +\[0-9\]+ 0004 1750\[^\n\]*\n"   { set x [expr $x+1] }
1233
            -re " +\[0-9\]+ 0006 1770\[^\n\]*\n"   { set x [expr $x+1] }
1234
            eof                                 { break }
1235
        }
1236
    }
1237
 
1238
    # This was intended to do any cleanup necessary.  It kinda looks like it
1239
    # isn't needed, but just in case, please keep it in for now.
1240
    gas_finish
1241
 
1242
    # Did we find what we were looking for?  If not, flunk it.
1243
    if [expr $x == 4] then { pass $testname } else { fail $testname }
1244
}
1245
 
1246
proc do_h8300s_add_sub {} {
1247
    set testname "addsubs.s: h8300s add/sub tests"
1248
    set x 0
1249
 
1250
    gas_start "addsubs.s" "-al"
1251
 
1252
    # Check each instruction bit pattern to verify it got
1253
    # assembled correctly.
1254
    while 1 {
1255
        expect {
1256
            -re " +\[0-9\]+ 0000 8910\[^\n\]*\n"   { set x [expr $x+1] }
1257
            -re " +\[0-9\]+ 0002 0819\[^\n\]*\n"   { set x [expr $x+1] }
1258
            -re " +\[0-9\]+ 0004 79110020\[^\n\]*\n"   { set x [expr $x+1] }
1259
            -re " +\[0-9\]+ 0008 0912\[^\n\]*\n"   { set x [expr $x+1] }
1260
            -re " +\[0-9\]+ 000a 7A110000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
1261
            -re " +\[0-9\]+ 0010 0A92\[^\n\]*\n"   { set x [expr $x+1] }
1262
            -re " +\[0-9\]+ 0012 0B04\[^\n\]*\n"   { set x [expr $x+1] }
1263
            -re " +\[0-9\]+ 0014 0B85\[^\n\]*\n"   { set x [expr $x+1] }
1264
            -re " +\[0-9\]+ 0016 0B96\[^\n\]*\n"   { set x [expr $x+1] }
1265
            -re " +\[0-9\]+ 0018 0E89\[^\n\]*\n"   { set x [expr $x+1] }
1266
            -re " +\[0-9\]+ 001a 9210\[^\n\]*\n"   { set x [expr $x+1] }
1267
            -re " +\[0-9\]+ 001c 1889\[^\n\]*\n"   { set x [expr $x+1] }
1268
            -re " +\[0-9\]+ 001e 79310010\[^\n\]*\n"   { set x [expr $x+1] }
1269
            -re " +\[0-9\]+ 0022 1901\[^\n\]*\n"   { set x [expr $x+1] }
1270
            -re " +\[0-9\]+ 0024 7A310000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
1271
            -re " +\[0-9\]+ 002a 1A92\[^\n\]*\n"   { set x [expr $x+1] }
1272
            -re " +\[0-9\]+ 002c 1B04\[^\n\]*\n"   { set x [expr $x+1] }
1273
            -re " +\[0-9\]+ 002e 1B85\[^\n\]*\n"   { set x [expr $x+1] }
1274
            -re " +\[0-9\]+ 0030 1B96\[^\n\]*\n"   { set x [expr $x+1] }
1275
            -re " +\[0-9\]+ 0032 1E89\[^\n\]*\n"   { set x [expr $x+1] }
1276
            -re " +\[0-9\]+ 0034 B210\[^\n\]*\n"   { set x [expr $x+1] }
1277
            timeout                             { perror "timeout\n; break }
1278
            eof                                 { break }
1279
        }
1280
    }
1281
 
1282
    # This was intended to do any cleanup necessary.  It kinda looks like it
1283
    # isn't needed, but just in case, please keep it in for now.
1284
    gas_finish
1285
 
1286
    # Did we find what we were looking for?  If not, flunk it.
1287
    if [expr $x == 21] then { pass $testname } else { fail $testname }
1288
}
1289
 
1290
proc do_h8300s_logical {} {
1291
    set testname "logicals.s: h8300s logical tests"
1292
    set x 0
1293
 
1294
    gas_start "logicals.s" "-al"
1295
 
1296
    # Check each instruction bit pattern to verify it got
1297
    # assembled correctly.
1298
    while 1 {
1299
        expect {
1300
            -re " +\[0-9\]+ 0000 E910\[^\n\]*\n"   { set x [expr $x+1] }
1301
            -re " +\[0-9\]+ 0002 1691\[^\n\]*\n"   { set x [expr $x+1] }
1302
            -re " +\[0-9\]+ 0004 79610020\[^\n\]*\n"   { set x [expr $x+1] }
1303
            -re " +\[0-9\]+ 0008 6611\[^\n\]*\n"   { set x [expr $x+1] }
1304
            -re " +\[0-9\]+ 000a 7A610000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
1305
            -re " +\[0-9\]+ 0010 01F06611\[^\n\]*\n"   { set x [expr $x+1] }
1306
            -re " +\[0-9\]+ 0014 0610\[^\n\]*\n"   { set x [expr $x+1] }
1307
            -re " +\[0-9\]+ 0016 01410610\[^\n\]*\n"   { set x [expr $x+1] }
1308
            -re " +\[0-9\]+ 001a C810\[^\n\]*\n"   { set x [expr $x+1] }
1309
            -re " +\[0-9\]+ 001c 1498\[^\n\]*\n"   { set x [expr $x+1] }
1310
            -re " +\[0-9\]+ 001e 79410020\[^\n\]*\n"   { set x [expr $x+1] }
1311
            -re " +\[0-9\]+ 0022 6411\[^\n\]*\n"   { set x [expr $x+1] }
1312
            -re " +\[0-9\]+ 0024 7A410000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
1313
            -re " +\[0-9\]+ 002a 01F06411\[^\n\]*\n"   { set x [expr $x+1] }
1314
            -re " +\[0-9\]+ 002e 0410\[^\n\]*\n"   { set x [expr $x+1] }
1315
            -re " +\[0-9\]+ 0030 01410410\[^\n\]*\n"   { set x [expr $x+1] }
1316
 
1317
            -re " +\[0-9\]+ 0034 D810\[^\n\]*\n"   { set x [expr $x+1] }
1318
            -re " +\[0-9\]+ 0036 1589\[^\n\]*\n"   { set x [expr $x+1] }
1319
            -re " +\[0-9\]+ 0038 79510020\[^\n\]*\n"   { set x [expr $x+1] }
1320
            -re " +\[0-9\]+ 003c 6511\[^\n\]*\n"   { set x [expr $x+1] }
1321
            -re " +\[0-9\]+ 003e 7A510000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
1322
            -re " +\[0-9\]+ 0044 01F06511\[^\n\]*\n"   { set x [expr $x+1] }
1323
            -re " +\[0-9\]+ 0048 0510\[^\n\]*\n"   { set x [expr $x+1] }
1324
            -re " +\[0-9\]+ 004a 01410510\[^\n\]*\n"   { set x [expr $x+1] }
1325
            -re " +\[0-9\]+ 004e 1788\[^\n\]*\n"   { set x [expr $x+1] }
1326
            -re " +\[0-9\]+ 0050 1790\[^\n\]*\n"   { set x [expr $x+1] }
1327
            -re " +\[0-9\]+ 0052 17B0\[^\n\]*\n"   { set x [expr $x+1] }
1328
            -re " +\[0-9\]+ 0054 1708\[^\n\]*\n"   { set x [expr $x+1] }
1329
            -re " +\[0-9\]+ 0056 1710\[^\n\]*\n"   { set x [expr $x+1] }
1330
            -re " +\[0-9\]+ 0058 1730\[^\n\]*\n"   { set x [expr $x+1] }
1331
            timeout                             { perror "timeout\n; break }
1332
            eof                                 { break }
1333
        }
1334
    }
1335
 
1336
    # This was intended to do any cleanup necessary.  It kinda looks like it
1337
    # isn't needed, but just in case, please keep it in for now.
1338
    gas_finish
1339
 
1340
    # Did we find what we were looking for?  If not, flunk it.
1341
    if [expr $x == 30] then { pass $testname } else { fail $testname }
1342
}
1343
 
1344
proc do_h8300s_cbranch {} {
1345
    set testname "cbranchs.s: h8300s conditional branch tests"
1346
    set x 0
1347
 
1348
    gas_start "cbranchs.s" "-al"
1349
 
1350
    # Check each instruction bit pattern to verify it got
1351
    # assembled correctly.
1352
    while 1 {
1353
        expect {
1354
            -re " +\[0-9\]+ 0000 4000\[^\n\]*\n"   { set x [expr $x+1] }
1355
            -re " +\[0-9\]+ 0002 4000\[^\n\]*\n"   { set x [expr $x+1] }
1356
            -re " +\[0-9\]+ 0004 4100\[^\n\]*\n"   { set x [expr $x+1] }
1357
            -re " +\[0-9\]+ 0006 4100\[^\n\]*\n"   { set x [expr $x+1] }
1358
            -re " +\[0-9\]+ 0008 4200\[^\n\]*\n"   { set x [expr $x+1] }
1359
            -re " +\[0-9\]+ 000a 4300\[^\n\]*\n"   { set x [expr $x+1] }
1360
            -re " +\[0-9\]+ 000c 4400\[^\n\]*\n"   { set x [expr $x+1] }
1361
            -re " +\[0-9\]+ 000e 4400\[^\n\]*\n"   { set x [expr $x+1] }
1362
            -re " +\[0-9\]+ 0010 4500\[^\n\]*\n"   { set x [expr $x+1] }
1363
            -re " +\[0-9\]+ 0012 4500\[^\n\]*\n"   { set x [expr $x+1] }
1364
            -re " +\[0-9\]+ 0014 4600\[^\n\]*\n"   { set x [expr $x+1] }
1365
            -re " +\[0-9\]+ 0016 4700\[^\n\]*\n"   { set x [expr $x+1] }
1366
            -re " +\[0-9\]+ 0018 4800\[^\n\]*\n"   { set x [expr $x+1] }
1367
            -re " +\[0-9\]+ 001a 4900\[^\n\]*\n"   { set x [expr $x+1] }
1368
            -re " +\[0-9\]+ 001c 4A00\[^\n\]*\n"   { set x [expr $x+1] }
1369
            -re " +\[0-9\]+ 001e 4B00\[^\n\]*\n"   { set x [expr $x+1] }
1370
            -re " +\[0-9\]+ 0020 4C00\[^\n\]*\n"   { set x [expr $x+1] }
1371
            -re " +\[0-9\]+ 0022 4D00\[^\n\]*\n"   { set x [expr $x+1] }
1372
            -re " +\[0-9\]+ 0024 4E00\[^\n\]*\n"   { set x [expr $x+1] }
1373
            -re " +\[0-9\]+ 0026 4F00\[^\n\]*\n"   { set x [expr $x+1] }
1374
            -re " +\[0-9\]+ 0028 58000000\[^\n\]*\n"   { set x [expr $x+1] }
1375
            -re " +\[0-9\]+ 002c 58000000\[^\n\]*\n"   { set x [expr $x+1] }
1376
            -re " +\[0-9\]+ 0030 58100000\[^\n\]*\n"   { set x [expr $x+1] }
1377
            -re " +\[0-9\]+ 0034 58100000\[^\n\]*\n"   { set x [expr $x+1] }
1378
            -re " +\[0-9\]+ 0038 58200000\[^\n\]*\n"   { set x [expr $x+1] }
1379
            -re " +\[0-9\]+ 003c 58300000\[^\n\]*\n"   { set x [expr $x+1] }
1380
            -re " +\[0-9\]+ 0040 58400000\[^\n\]*\n"   { set x [expr $x+1] }
1381
            -re " +\[0-9\]+ 0044 58400000\[^\n\]*\n"   { set x [expr $x+1] }
1382
            -re " +\[0-9\]+ 0048 58500000\[^\n\]*\n"   { set x [expr $x+1] }
1383
            -re " +\[0-9\]+ 004c 58500000\[^\n\]*\n"   { set x [expr $x+1] }
1384
            -re " +\[0-9\]+ 0050 58600000\[^\n\]*\n"   { set x [expr $x+1] }
1385
            -re " +\[0-9\]+ 0054 58700000\[^\n\]*\n"   { set x [expr $x+1] }
1386
            -re " +\[0-9\]+ 0058 58800000\[^\n\]*\n"   { set x [expr $x+1] }
1387
            -re " +\[0-9\]+ 005c 58900000\[^\n\]*\n"   { set x [expr $x+1] }
1388
            -re " +\[0-9\]+ 0060 58A00000\[^\n\]*\n"   { set x [expr $x+1] }
1389
            -re " +\[0-9\]+ 0064 58B00000\[^\n\]*\n"   { set x [expr $x+1] }
1390
            -re " +\[0-9\]+ 0068 58C00000\[^\n\]*\n"   { set x [expr $x+1] }
1391
            -re " +\[0-9\]+ 006c 58D00000\[^\n\]*\n"   { set x [expr $x+1] }
1392
            -re " +\[0-9\]+ 0070 58E00000\[^\n\]*\n"   { set x [expr $x+1] }
1393
            -re " +\[0-9\]+ 0074 58F00000\[^\n\]*\n"   { set x [expr $x+1] }
1394
            timeout                             { perror "timeout\n; break }
1395
            eof                                 { break }
1396
        }
1397
    }
1398
 
1399
    # This was intended to do any cleanup necessary.  It kinda looks like it
1400
    # isn't needed, but just in case, please keep it in for now.
1401
    gas_finish
1402
 
1403
    # Did we find what we were looking for?  If not, flunk it.
1404
    if [expr $x == 40] then { pass $testname } else { fail $testname }
1405
}
1406
proc do_h8300s_bitops1 {} {
1407
    set testname "bitops1s.s: h8300s bitops tests #1"
1408
    set x 0
1409
 
1410
    gas_start "bitops1s.s" "-al"
1411
 
1412
    # Check each instruction bit pattern to verify it got
1413
    # assembled correctly.
1414
    while 1 {
1415
        expect {
1416
            -re " +\[0-9\]+ 0000 7608\[^\n\]*\n"   { set x [expr $x+1] }
1417
            -re " +\[0-9\]+ 0002 7C007600\[^\n\]*\n"   { set x [expr $x+1] }
1418
            -re " +\[0-9\]+ 0006 7E407600\[^\n\]*\n"   { set x [expr $x+1] }
1419
            -re " +\[0-9\]+ 000a 6A100080\[^\n\]*\n +\[0-9\]+ +7600"   { set x [expr $x+1] }
1420
            -re " +\[0-9\]+ 0010 6A300001\[^\n\]*\n +\[0-9\]+ +00007600"   { set x [expr $x+1] }
1421
            -re " +\[0-9\]+ 0018 7208\[^\n\]*\n"   { set x [expr $x+1] }
1422
            -re " +\[0-9\]+ 001a 7D007200\[^\n\]*\n"   { set x [expr $x+1] }
1423
            -re " +\[0-9\]+ 001e 7F407200\[^\n\]*\n"   { set x [expr $x+1] }
1424
            -re " +\[0-9\]+ 0022 6A180080\[^\n\]*\n +\[0-9\]+ +7200"   { set x [expr $x+1] }
1425
            -re " +\[0-9\]+ 0028 6A380001\[^\n\]*\n +\[0-9\]+ +00007200"   { set x [expr $x+1] }
1426
            -re " +\[0-9\]+ 0030 6298\[^\n\]*\n"   { set x [expr $x+1] }
1427
            -re " +\[0-9\]+ 0032 7D006290\[^\n\]*\n"   { set x [expr $x+1] }
1428
            -re " +\[0-9\]+ 0036 7F406290\[^\n\]*\n"   { set x [expr $x+1] }
1429
            -re " +\[0-9\]+ 003a 6A180080\[^\n\]*\n +\[0-9\]+ +6290"   { set x [expr $x+1] }
1430
            -re " +\[0-9\]+ 0040 6A380001\[^\n\]*\n +\[0-9\]+ +00006290"   { set x [expr $x+1] }
1431
            -re " +\[0-9\]+ 0048 7688\[^\n\]*\n"   { set x [expr $x+1] }
1432
            -re " +\[0-9\]+ 004a 7C007680\[^\n\]*\n"   { set x [expr $x+1] }
1433
            -re " +\[0-9\]+ 004e 7E407680\[^\n\]*\n"   { set x [expr $x+1] }
1434
            -re " +\[0-9\]+ 0052 6A100080\[^\n\]*\n +\[0-9\]+ +7680"   { set x [expr $x+1] }
1435
            -re " +\[0-9\]+ 0058 6A300001\[^\n\]*\n +\[0-9\]+ +00007680"   { set x [expr $x+1] }
1436
            -re " +\[0-9\]+ 0060 7788\[^\n\]*\n"   { set x [expr $x+1] }
1437
            -re " +\[0-9\]+ 0062 7C007780\[^\n\]*\n"   { set x [expr $x+1] }
1438
            -re " +\[0-9\]+ 0066 7E407780\[^\n\]*\n"   { set x [expr $x+1] }
1439
            -re " +\[0-9\]+ 006a 6A100080\[^\n\]*\n +\[0-9\]+ +7780"   { set x [expr $x+1] }
1440
            -re " +\[0-9\]+ 0070 6A300001\[^\n\]*\n +\[0-9\]+ +00007780"   { set x [expr $x+1] }
1441
            timeout                             { perror "timeout\n; break }
1442
            eof                                 { break }
1443
        }
1444
    }
1445
 
1446
    # This was intended to do any cleanup necessary.  It kinda looks like it
1447
    # isn't needed, but just in case, please keep it in for now.
1448
    gas_finish
1449
 
1450
    # Did we find what we were looking for?  If not, flunk it.
1451
    if [expr $x == 25] then { pass $testname } else { fail $testname }
1452
}
1453
 
1454
proc do_h8300s_bitops2 {} {
1455
    set testname "bitops2s.s: h8300s bitops tests #2"
1456
    set x 0
1457
 
1458
    gas_start "bitops2s.s" "-al"
1459
 
1460
    # Check each instruction bit pattern to verify it got
1461
    # assembled correctly.
1462
    while 1 {
1463
        expect {
1464
            -re " +\[0-9\]+ 0000 7488\[^\n\]*\n"   { set x [expr $x+1] }
1465
            -re " +\[0-9\]+ 0002 7C007480\[^\n\]*\n"   { set x [expr $x+1] }
1466
            -re " +\[0-9\]+ 0006 7E407480\[^\n\]*\n"   { set x [expr $x+1] }
1467
            -re " +\[0-9\]+ 000a 6A100080\[^\n\]*\n +\[0-9\]+ +7480"   { set x [expr $x+1] }
1468
            -re " +\[0-9\]+ 0010 6A300001\[^\n\]*\n +\[0-9\]+ +00007480"   { set x [expr $x+1] }
1469
            -re " +\[0-9\]+ 0018 6788\[^\n\]*\n"   { set x [expr $x+1] }
1470
            -re " +\[0-9\]+ 001a 7D006780\[^\n\]*\n"   { set x [expr $x+1] }
1471
            -re " +\[0-9\]+ 001e 7F406780\[^\n\]*\n"   { set x [expr $x+1] }
1472
            -re " +\[0-9\]+ 0022 6A180080\[^\n\]*\n +\[0-9\]+ +6780"   { set x [expr $x+1] }
1473
            -re " +\[0-9\]+ 0028 6A380001\[^\n\]*\n +\[0-9\]+ +00006780"   { set x [expr $x+1] }
1474
 
1475
            -re " +\[0-9\]+ 0030 7588\[^\n\]*\n"   { set x [expr $x+1] }
1476
            -re " +\[0-9\]+ 0032 7C007580\[^\n\]*\n"   { set x [expr $x+1] }
1477
            -re " +\[0-9\]+ 0036 7E407580\[^\n\]*\n"   { set x [expr $x+1] }
1478
            -re " +\[0-9\]+ 003a 6A100080\[^\n\]*\n +\[0-9\]+ +7580"   { set x [expr $x+1] }
1479
            -re " +\[0-9\]+ 0040 6A300001\[^\n\]*\n +\[0-9\]+ +00007580"   { set x [expr $x+1] }
1480
            -re " +\[0-9\]+ 0048 7708\[^\n\]*\n"   { set x [expr $x+1] }
1481
            -re " +\[0-9\]+ 004a 7C007700\[^\n\]*\n"   { set x [expr $x+1] }
1482
            -re " +\[0-9\]+ 004e 7E407700\[^\n\]*\n"   { set x [expr $x+1] }
1483
            -re " +\[0-9\]+ 0052 6A100080\[^\n\]*\n +\[0-9\]+ +7700"   { set x [expr $x+1] }
1484
            -re " +\[0-9\]+ 0058 6A300001\[^\n\]*\n +\[0-9\]+ +00007700"   { set x [expr $x+1] }
1485
            timeout                             { perror "timeout\n; break }
1486
            eof                                 { break }
1487
        }
1488
    }
1489
 
1490
    # This was intended to do any cleanup necessary.  It kinda looks like it
1491
    # isn't needed, but just in case, please keep it in for now.
1492
    gas_finish
1493
 
1494
    # Did we find what we were looking for?  If not, flunk it.
1495
    if [expr $x == 20] then { pass $testname } else { fail $testname }
1496
}
1497
 
1498
proc do_h8300s_bitops3 {} {
1499
    set testname "bitops3s.s: h8300s bitops tests #3"
1500
    set x 0
1501
 
1502
    gas_start "bitops3s.s" "-al"
1503
 
1504
    # Check each instruction bit pattern to verify it got
1505
    # assembled correctly.
1506
    while 1 {
1507
        expect {
1508
            -re " +\[0-9\]+ 0000 7108\[^\n\]*\n"   { set x [expr $x+1] }
1509
            -re " +\[0-9\]+ 0002 7D007100\[^\n\]*\n"   { set x [expr $x+1] }
1510
            -re " +\[0-9\]+ 0006 7F407100\[^\n\]*\n"   { set x [expr $x+1] }
1511
            -re " +\[0-9\]+ 000a 6A180080\[^\n\]*\n +\[0-9\]+ +7100"   { set x [expr $x+1] }
1512
            -re " +\[0-9\]+ 0010 6A380001\[^\n\]*\n +\[0-9\]+ +00007100"   { set x [expr $x+1] }
1513
            -re " +\[0-9\]+ 0018 6198\[^\n\]*\n"   { set x [expr $x+1] }
1514
            -re " +\[0-9\]+ 001a 7D006190\[^\n\]*\n"   { set x [expr $x+1] }
1515
            -re " +\[0-9\]+ 001e 7F406190\[^\n\]*\n"   { set x [expr $x+1] }
1516
            -re " +\[0-9\]+ 0022 6A180080\[^\n\]*\n +\[0-9\]+ +6190"   { set x [expr $x+1] }
1517
            -re " +\[0-9\]+ 0028 6A380001\[^\n\]*\n +\[0-9\]+ +00006190"   { set x [expr $x+1] }
1518
            -re " +\[0-9\]+ 0030 7008\[^\n\]*\n"   { set x [expr $x+1] }
1519
            -re " +\[0-9\]+ 0032 7D007000\[^\n\]*\n"   { set x [expr $x+1] }
1520
            -re " +\[0-9\]+ 0036 7F407000\[^\n\]*\n"   { set x [expr $x+1] }
1521
            -re " +\[0-9\]+ 003a 6A180080\[^\n\]*\n +\[0-9\]+ +7000"   { set x [expr $x+1] }
1522
            -re " +\[0-9\]+ 0040 6A380001\[^\n\]*\n +\[0-9\]+ +00007000"   { set x [expr $x+1] }
1523
            -re " +\[0-9\]+ 0048 6098\[^\n\]*\n"   { set x [expr $x+1] }
1524
            -re " +\[0-9\]+ 004a 7D006090\[^\n\]*\n"   { set x [expr $x+1] }
1525
            -re " +\[0-9\]+ 004e 7F406090\[^\n\]*\n"   { set x [expr $x+1] }
1526
            -re " +\[0-9\]+ 0052 6A180080\[^\n\]*\n +\[0-9\]+ +6090"   { set x [expr $x+1] }
1527
            -re " +\[0-9\]+ 0058 6A380001\[^\n\]*\n +\[0-9\]+ +00006090"   { set x [expr $x+1] }
1528
            timeout                             { perror "timeout\n; break }
1529
            eof                                 { break }
1530
        }
1531
    }
1532
 
1533
    # This was intended to do any cleanup necessary.  It kinda looks like it
1534
    # isn't needed, but just in case, please keep it in for now.
1535
    gas_finish
1536
 
1537
    # Did we find what we were looking for?  If not, flunk it.
1538
    if [expr $x == 20] then { pass $testname } else { fail $testname }
1539
}
1540
 
1541
proc do_h8300s_bitops4 {} {
1542
    set testname "bitops4s.s: h8300s bitops tests #4"
1543
    set x 0
1544
 
1545
    gas_start "bitops4s.s" "-al"
1546
 
1547
    # Check each instruction bit pattern to verify it got
1548
    # assembled correctly.
1549
    while 1 {
1550
        expect {
1551
            -re " +\[0-9\]+ 0000 7408\[^\n\]*\n"   { set x [expr $x+1] }
1552
            -re " +\[0-9\]+ 0002 7C007400\[^\n\]*\n"   { set x [expr $x+1] }
1553
            -re " +\[0-9\]+ 0006 7E407400\[^\n\]*\n"   { set x [expr $x+1] }
1554
            -re " +\[0-9\]+ 000a 6A100080\[^\n\]*\n +\[0-9\]+ +7400"   { set x [expr $x+1] }
1555
            -re " +\[0-9\]+ 0010 6A300001\[^\n\]*\n +\[0-9\]+ +00007400"   { set x [expr $x+1] }
1556
            -re " +\[0-9\]+ 0018 6708\[^\n\]*\n"   { set x [expr $x+1] }
1557
            -re " +\[0-9\]+ 001a 7D006700\[^\n\]*\n"   { set x [expr $x+1] }
1558
            -re " +\[0-9\]+ 001e 7F406700\[^\n\]*\n"   { set x [expr $x+1] }
1559
            -re " +\[0-9\]+ 0022 6A180080\[^\n\]*\n +\[0-9\]+ +6700"   { set x [expr $x+1] }
1560
            -re " +\[0-9\]+ 0028 6A380001\[^\n\]*\n +\[0-9\]+ +00006700"   { set x [expr $x+1] }
1561
            -re " +\[0-9\]+ 0030 7308\[^\n\]*\n"   { set x [expr $x+1] }
1562
            -re " +\[0-9\]+ 0032 7C007300\[^\n\]*\n"   { set x [expr $x+1] }
1563
            -re " +\[0-9\]+ 0036 7E407300\[^\n\]*\n"   { set x [expr $x+1] }
1564
            -re " +\[0-9\]+ 003a 6A100080\[^\n\]*\n +\[0-9\]+ +7300"   { set x [expr $x+1] }
1565
            -re " +\[0-9\]+ 0040 6A300001\[^\n\]*\n +\[0-9\]+ +00007300"   { set x [expr $x+1] }
1566
            -re " +\[0-9\]+ 0048 6398\[^\n\]*\n"   { set x [expr $x+1] }
1567
            -re " +\[0-9\]+ 004a 7C006390\[^\n\]*\n"   { set x [expr $x+1] }
1568
            -re " +\[0-9\]+ 004e 7E406390\[^\n\]*\n"   { set x [expr $x+1] }
1569
            -re " +\[0-9\]+ 0052 6A100080\[^\n\]*\n +\[0-9\]+ +6390"   { set x [expr $x+1] }
1570
            -re " +\[0-9\]+ 0058 6A300001\[^\n\]*\n +\[0-9\]+ +00006390"   { set x [expr $x+1] }
1571
            -re " +\[0-9\]+ 0060 7508\[^\n\]*\n"   { set x [expr $x+1] }
1572
            -re " +\[0-9\]+ 0062 7C007500\[^\n\]*\n"   { set x [expr $x+1] }
1573
            -re " +\[0-9\]+ 0066 7E407500\[^\n\]*\n"   { set x [expr $x+1] }
1574
            -re " +\[0-9\]+ 006a 6A100080\[^\n\]*\n +\[0-9\]+ +7500"   { set x [expr $x+1] }
1575
            -re " +\[0-9\]+ 0070 6A300001\[^\n\]*\n +\[0-9\]+ +00007500"   { set x [expr $x+1] }
1576
            timeout                             { perror "timeout\n; break }
1577
            eof                                 { break }
1578
        }
1579
    }
1580
 
1581
    # This was intended to do any cleanup necessary.  It kinda looks like it
1582
    # isn't needed, but just in case, please keep it in for now.
1583
    gas_finish
1584
 
1585
    # Did we find what we were looking for?  If not, flunk it.
1586
    if [expr $x == 25] then { pass $testname } else { fail $testname }
1587
}
1588
 
1589
proc do_h8300s_branch {} {
1590
    set testname "branchs.s: h8300s branch tests"
1591
    set x 0
1592
 
1593
    gas_start "branchs.s" "-al"
1594
 
1595
    # Check each instruction bit pattern to verify it got
1596
    # assembled correctly.
1597
    while 1 {
1598
        expect {
1599
            -re " +\[0-9\]+ 0000 5500\[^\n\]*\n"   { set x [expr $x+1] }
1600
            -re " +\[0-9\]+ 0002 5C000000\[^\n\]*\n"   { set x [expr $x+1] }
1601
            -re " +\[0-9\]+ 0006 5A000000\[^\n\]*\n"   { set x [expr $x+1] }
1602
            -re " +\[0-9\]+ 000a 5900\[^\n\]*\n"   { set x [expr $x+1] }
1603
            -re " +\[0-9\]+ 000c 5B00\[^\n\]*\n"   { set x [expr $x+1] }
1604
            -re " +\[0-9\]+ 000e 5E000000\[^\n\]*\n"   { set x [expr $x+1] }
1605
            -re " +\[0-9\]+ 0012 5D00\[^\n\]*\n"   { set x [expr $x+1] }
1606
            -re " +\[0-9\]+ 0014 5F00\[^\n\]*\n"   { set x [expr $x+1] }
1607
            timeout                             { perror "timeout\n; break }
1608
            eof                                 { break }
1609
        }
1610
    }
1611
 
1612
    # This was intended to do any cleanup necessary.  It kinda looks like it
1613
    # isn't needed, but just in case, please keep it in for now.
1614
    gas_finish
1615
 
1616
    # Did we find what we were looking for?  If not, flunk it.
1617
    if [expr $x == 8] then { pass $testname } else { fail $testname }
1618
}
1619
 
1620
proc do_h8300s_compare {} {
1621
    set testname "compares.s: h8300s compare tests"
1622
    set x 0
1623
 
1624
    gas_start "compares.s" "-al"
1625
 
1626
    # Check each instruction bit pattern to verify it got
1627
    # assembled correctly.
1628
    while 1 {
1629
        expect {
1630
            -re " +\[0-9\]+ 0000 A800\[^\n\]*\n"   { set x [expr $x+1] }
1631
            -re " +\[0-9\]+ 0002 1C08\[^\n\]*\n"   { set x [expr $x+1] }
1632
            -re " +\[0-9\]+ 0004 79200020\[^\n\]*\n"   { set x [expr $x+1] }
1633
            -re " +\[0-9\]+ 0008 1D01\[^\n\]*\n"   { set x [expr $x+1] }
1634
            -re " +\[0-9\]+ 000a 7A200000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
1635
            -re " +\[0-9\]+ 0010 1F81\[^\n\]*\n"   { set x [expr $x+1] }
1636
            timeout                             { perror "timeout\n; break }
1637
            eof                                 { break }
1638
        }
1639
    }
1640
 
1641
    # This was intended to do any cleanup necessary.  It kinda looks like it
1642
    # isn't needed, but just in case, please keep it in for now.
1643
    gas_finish
1644
 
1645
    # Did we find what we were looking for?  If not, flunk it.
1646
    if [expr $x == 6] then { pass $testname } else { fail $testname }
1647
}
1648
 
1649
proc do_h8300s_decimal {} {
1650
    set testname "decimals.s: h8300s decimal tests"
1651
    set x 0
1652
 
1653
    gas_start "decimals.s" "-al"
1654
 
1655
    # Check each instruction bit pattern to verify it got
1656
    # assembled correctly.
1657
    while 1 {
1658
        expect {
1659
            -re " +\[0-9\]+ 0000 0F08\[^\n\]*\n"   { set x [expr $x+1] }
1660
            -re " +\[0-9\]+ 0002 1F08\[^\n\]*\n"   { set x [expr $x+1] }
1661
            eof                                 { break }
1662
        }
1663
    }
1664
 
1665
    # This was intended to do any cleanup necessary.  It kinda looks like it
1666
    # isn't needed, but just in case, please keep it in for now.
1667
    gas_finish
1668
 
1669
    # Did we find what we were looking for?  If not, flunk it.
1670
    if [expr $x == 2] then { pass $testname } else { fail $testname }
1671
}
1672
 
1673
proc do_h8300s_incdec {} {
1674
    set testname "incdecs.s: h8300s incdec tests"
1675
    set x 0
1676
 
1677
    gas_start "incdecs.s" "-al"
1678
 
1679
    # Check each instruction bit pattern to verify it got
1680
    # assembled correctly.
1681
    while 1 {
1682
        expect {
1683
            -re " +\[0-9\]+ 0000 1A08\[^\n\]*\n"   { set x [expr $x+1] }
1684
            -re " +\[0-9\]+ 0002 1B50\[^\n\]*\n"   { set x [expr $x+1] }
1685
            -re " +\[0-9\]+ 0004 1BD0\[^\n\]*\n"   { set x [expr $x+1] }
1686
            -re " +\[0-9\]+ 0006 1B70\[^\n\]*\n"   { set x [expr $x+1] }
1687
            -re " +\[0-9\]+ 0008 1BF0\[^\n\]*\n"   { set x [expr $x+1] }
1688
            -re " +\[0-9\]+ 000a 0A08\[^\n\]*\n"   { set x [expr $x+1] }
1689
            -re " +\[0-9\]+ 000c 0B50\[^\n\]*\n"   { set x [expr $x+1] }
1690
            -re " +\[0-9\]+ 000e 0BD0\[^\n\]*\n"   { set x [expr $x+1] }
1691
            -re " +\[0-9\]+ 0010 0B70\[^\n\]*\n"   { set x [expr $x+1] }
1692
            -re " +\[0-9\]+ 0012 0BF0\[^\n\]*\n"   { set x [expr $x+1] }
1693
            eof                                 { break }
1694
        }
1695
    }
1696
 
1697
    # This was intended to do any cleanup necessary.  It kinda looks like it
1698
    # isn't needed, but just in case, please keep it in for now.
1699
    gas_finish
1700
 
1701
    # Did we find what we were looking for?  If not, flunk it.
1702
    if [expr $x == 10] then { pass $testname } else { fail $testname }
1703
}
1704
 
1705
proc do_h8300s_divmul {} {
1706
    set testname "divmuls.s: h8300s divmul tests"
1707
    set x 0
1708
 
1709
    gas_start "divmuls.s" "-al"
1710
 
1711
    # Check each instruction bit pattern to verify it got
1712
    # assembled correctly.
1713
    while 1 {
1714
        expect {
1715
            -re " +\[0-9\]+ 0000 5181\[^\n\]*\n"   { set x [expr $x+1] }
1716
            -re " +\[0-9\]+ 0002 5301\[^\n\]*\n"   { set x [expr $x+1] }
1717
            -re " +\[0-9\]+ 0004 01D05181\[^\n\]*\n"   { set x [expr $x+1] }
1718
            -re " +\[0-9\]+ 0008 01D05301\[^\n\]*\n"   { set x [expr $x+1] }
1719
            -re " +\[0-9\]+ 000c 5081\[^\n\]*\n"   { set x [expr $x+1] }
1720
            -re " +\[0-9\]+ 000e 5201\[^\n\]*\n"   { set x [expr $x+1] }
1721
            -re " +\[0-9\]+ 0010 01C05081\[^\n\]*\n"   { set x [expr $x+1] }
1722
            -re " +\[0-9\]+ 0014 01C05201\[^\n\]*\n"   { set x [expr $x+1] }
1723
            eof                                 { break }
1724
        }
1725
    }
1726
 
1727
    # This was intended to do any cleanup necessary.  It kinda looks like it
1728
    # isn't needed, but just in case, please keep it in for now.
1729
    gas_finish
1730
 
1731
    # Did we find what we were looking for?  If not, flunk it.
1732
    if [expr $x == 8] then { pass $testname } else { fail $testname }
1733
}
1734
 
1735
proc do_h8300s_misc {} {
1736
    set testname "miscs.s: h8300s misc tests"
1737
    set x 0
1738
 
1739
    gas_start "miscs.s" "-al"
1740
 
1741
    # Check each instruction bit pattern to verify it got
1742
    # assembled correctly.
1743
    while 1 {
1744
        expect {
1745
            -re " +\[0-9\]+ 0000 7B5C598F\[^\n\]*\n"   { set x [expr $x+1] }
1746
            -re " +\[0-9\]+ 0004 7BD4598F\[^\n\]*\n"   { set x [expr $x+1] }
1747
            -re " +\[0-9\]+ 0008 0700\[^\n\]*\n"   { set x [expr $x+1] }
1748
            -re " +\[0-9\]+ 000a 0308\[^\n\]*\n"   { set x [expr $x+1] }
1749
            -re " +\[0-9\]+ 000c 01410700\[^\n\]*\n"   { set x [expr $x+1] }
1750
            -re " +\[0-9\]+ 0010 0318\[^\n\]*\n"   { set x [expr $x+1] }
1751
            -re " +\[0-9\]+ 0012 01406900\[^\n\]*\n"   { set x [expr $x+1] }
1752
            -re " +\[0-9\]+ 0016 01406F00\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n"   { set x [expr $x+1] }
1753
            -re " +\[0-9\]+ 001c 01407800\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n"   { set x [expr $x+1] }
1754
            -re " +\[0-9\]+ 0026 01406D00\[^\n\]*\n"   { set x [expr $x+1] }
1755
            -re " +\[0-9\]+ 002a 01406B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1756
            -re " +\[0-9\]+ 0030 01406B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n"   { set x [expr $x+1] }
1757
            -re " +\[0-9\]+ 0038 01416900\[^\n\]*\n"   { set x [expr $x+1] }
1758
            -re " +\[0-9\]+ 003c 01416F00\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n"   { set x [expr $x+1] }
1759
            -re " +\[0-9\]+ 0042 01417800\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n"   { set x [expr $x+1] }
1760
            -re " +\[0-9\]+ 004c 01416D00\[^\n\]*\n"   { set x [expr $x+1] }
1761
            -re " +\[0-9\]+ 0050 01416B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1762
            -re " +\[0-9\]+ 0056 01416B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n"   { set x [expr $x+1] }
1763
            -re " +\[0-9\]+ 005e 0000\[^\n\]*\n"   { set x [expr $x+1] }
1764
            -re " +\[0-9\]+ 0060 5670\[^\n\]*\n"   { set x [expr $x+1] }
1765
            -re " +\[0-9\]+ 0062 5470\[^\n\]*\n"   { set x [expr $x+1] }
1766
            -re " +\[0-9\]+ 0064 0180\[^\n\]*\n"   { set x [expr $x+1] }
1767
            -re " +\[0-9\]+ 0066 0208\[^\n\]*\n"   { set x [expr $x+1] }
1768
            -re " +\[0-9\]+ 0068 0218\[^\n\]*\n"   { set x [expr $x+1] }
1769
            -re " +\[0-9\]+ 006a 01406980\[^\n\]*\n"   { set x [expr $x+1] }
1770
            -re " +\[0-9\]+ 006e 01406F80\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n"   { set x [expr $x+1] }
1771
            -re " +\[0-9\]+ 0074 01407800\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n"   { set x [expr $x+1] }
1772
            -re " +\[0-9\]+ 007e 01406D80\[^\n\]*\n"   { set x [expr $x+1] }
1773
            -re " +\[0-9\]+ 0082 01406B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1774
            -re " +\[0-9\]+ 0088 01406BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n"   { set x [expr $x+1] }
1775
            -re " +\[0-9\]+ 0090 01416980\[^\n\]*\n"   { set x [expr $x+1] }
1776
            -re " +\[0-9\]+ 0094 01416F80\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n"   { set x [expr $x+1] }
1777
            -re " +\[0-9\]+ 009a 01417800\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n"   { set x [expr $x+1] }
1778
            -re " +\[0-9\]+ 00a4 01416D80\[^\n\]*\n"   { set x [expr $x+1] }
1779
            -re " +\[0-9\]+ 00a8 01416B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1780
            -re " +\[0-9\]+ 00ae 01416BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n"   { set x [expr $x+1] }
1781
            eof                                 { break }
1782
        }
1783
    }
1784
 
1785
    # This was intended to do any cleanup necessary.  It kinda looks like it
1786
    # isn't needed, but just in case, please keep it in for now.
1787
    gas_finish
1788
 
1789
    # Did we find what we were looking for?  If not, flunk it.
1790
    if [expr $x == 36] then { pass $testname } else { fail $testname }
1791
 
1792
    setup_xfail "h8300*-*-*"
1793
    fail "h8300s movfpe/movtpe tests"
1794
}
1795
 
1796
proc do_h8300s_movb {} {
1797
    set testname "movbs.s: h8300s movb tests"
1798
    set x 0
1799
 
1800
    gas_start "movbs.s" "-al"
1801
 
1802
    # Check each instruction bit pattern to verify it got
1803
    # assembled correctly.
1804
    while 1 {
1805
        expect {
1806
            -re " +\[0-9\]+ 0000 0C89\[^\n\]*\n"   { set x [expr $x+1] }
1807
            -re " +\[0-9\]+ 0002 F810\[^\n\]*\n"   { set x [expr $x+1] }
1808
            -re " +\[0-9\]+ 0004 6818\[^\n\]*\n"   { set x [expr $x+1] }
1809
            -re " +\[0-9\]+ 0006 6E180010\[^\n\]*\n"   { set x [expr $x+1] }
1810
            -re " +\[0-9\]+ 000a 78106A28\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n"   { set x [expr $x+1] }
1811
            -re " +\[0-9\]+ 0012 6C18\[^\n\]*\n"   { set x [expr $x+1] }
1812
            -re " +\[0-9\]+ 0014 2810\[^\n\]*\n"   { set x [expr $x+1] }
1813
            -re " +\[0-9\]+ 0016 6A080000\[^\n\]*\n"   { set x [expr $x+1] }
1814
            -re " +\[0-9\]+ 001a 6A280000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1815
            -re " +\[0-9\]+ 0020 6898\[^\n\]*\n"   { set x [expr $x+1] }
1816
            -re " +\[0-9\]+ 0022 6E980010\[^\n\]*\n"   { set x [expr $x+1] }
1817
            -re " +\[0-9\]+ 0026 78106AA8\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n"   { set x [expr $x+1] }
1818
            -re " +\[0-9\]+ 002e 6C98\[^\n\]*\n"   { set x [expr $x+1] }
1819
            -re " +\[0-9\]+ 0030 3810\[^\n\]*\n"   { set x [expr $x+1] }
1820
            -re " +\[0-9\]+ 0032 6A880000\[^\n\]*\n"   { set x [expr $x+1] }
1821
            -re " +\[0-9\]+ 0036 6AA80000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1822
            eof                                 { break }
1823
        }
1824
    }
1825
 
1826
    # This was intended to do any cleanup necessary.  It kinda looks like it
1827
    # isn't needed, but just in case, please keep it in for now.
1828
    gas_finish
1829
 
1830
    # Did we find what we were looking for?  If not, flunk it.
1831
    if [expr $x == 16] then { pass $testname } else { fail $testname }
1832
}
1833
 
1834
proc do_h8300s_movw {} {
1835
    set testname "movws.s: h8300s movw tests"
1836
    set x 0
1837
 
1838
    gas_start "movws.s" "-al"
1839
 
1840
    # Check each instruction bit pattern to verify it got
1841
    # assembled correctly.
1842
    while 1 {
1843
        expect {
1844
            -re " +\[0-9\]+ 0000 0D01\[^\n\]*\n"   { set x [expr $x+1] }
1845
            -re " +\[0-9\]+ 0002 79000010\[^\n\]*\n"   { set x [expr $x+1] }
1846
            -re " +\[0-9\]+ 0006 6910\[^\n\]*\n"   { set x [expr $x+1] }
1847
            -re " +\[0-9\]+ 0008 6F100010\[^\n\]*\n"   { set x [expr $x+1] }
1848
            -re " +\[0-9\]+ 000c 78106B20\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n"   { set x [expr $x+1] }
1849
            -re " +\[0-9\]+ 0014 6D10\[^\n\]*\n"   { set x [expr $x+1] }
1850
            -re " +\[0-9\]+ 0016 6B000000\[^\n\]*\n"   { set x [expr $x+1] }
1851
            -re " +\[0-9\]+ 001a 6B200000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1852
            -re " +\[0-9\]+ 0020 6990\[^\n\]*\n"   { set x [expr $x+1] }
1853
            -re " +\[0-9\]+ 0022 6F900010\[^\n\]*\n"   { set x [expr $x+1] }
1854
            -re " +\[0-9\]+ 0026 78106BA0\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n"   { set x [expr $x+1] }
1855
            -re " +\[0-9\]+ 002e 6D90\[^\n\]*\n"   { set x [expr $x+1] }
1856
            -re " +\[0-9\]+ 0030 6B800000\[^\n\]*\n"   { set x [expr $x+1] }
1857
            -re " +\[0-9\]+ 0034 6BA00000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1858
            eof                                 { break }
1859
        }
1860
    }
1861
 
1862
    # This was intended to do any cleanup necessary.  It kinda looks like it
1863
    # isn't needed, but just in case, please keep it in for now.
1864
    gas_finish
1865
 
1866
    # Did we find what we were looking for?  If not, flunk it.
1867
    if [expr $x == 14] then { pass $testname } else { fail $testname }
1868
}
1869
 
1870
 
1871
proc do_h8300s_movl {} {
1872
    set testname "movls.s: h8300s movl tests"
1873
    set x 0
1874
 
1875
    gas_start "movls.s" "-al"
1876
 
1877
    # Check each instruction bit pattern to verify it got
1878
    # assembled correctly.
1879
    while 1 {
1880
        expect {
1881
            -re " +\[0-9\]+ 0000 0F81\[^\n\]*\n"   { set x [expr $x+1] }
1882
            -re " +\[0-9\]+ 0002 7A000000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n"   { set x [expr $x+1] }
1883
            -re " +\[0-9\]+ 0008 01006910\[^\n\]*\n"   { set x [expr $x+1] }
1884
            -re " +\[0-9\]+ 000c 01006F10\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n"   { set x [expr $x+1] }
1885
            -re " +\[0-9\]+ 0012 01007810\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n"   { set x [expr $x+1] }
1886
            -re " +\[0-9\]+ 001c 01006D10\[^\n\]*\n"   { set x [expr $x+1] }
1887
            -re " +\[0-9\]+ 0020 01006B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1888
            -re " +\[0-9\]+ 0026 01006B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n"   { set x [expr $x+1] }
1889
            -re " +\[0-9\]+ 002e 01006990\[^\n\]*\n"   { set x [expr $x+1] }
1890
            -re " +\[0-9\]+ 0032 01006F90\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n"   { set x [expr $x+1] }
1891
            -re " +\[0-9\]+ 0038 01007890\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n"   { set x [expr $x+1] }
1892
            -re " +\[0-9\]+ 0042 01006D90\[^\n\]*\n"   { set x [expr $x+1] }
1893
            -re " +\[0-9\]+ 0046 01006B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n"   { set x [expr $x+1] }
1894
            -re " +\[0-9\]+ 004c 01006BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n"   { set x [expr $x+1] }
1895
            eof                                 { break }
1896
        }
1897
    }
1898
 
1899
    # This was intended to do any cleanup necessary.  It kinda looks like it
1900
    # isn't needed, but just in case, please keep it in for now.
1901
    gas_finish
1902
 
1903
    # Did we find what we were looking for?  If not, flunk it.
1904
    if [expr $x == 14] then { pass $testname } else { fail $testname }
1905
}
1906
 
1907
proc do_h8300s_pushpop {} {
1908
    set testname "pushpops.s: h8300s pushpop tests"
1909
    set x 0
1910
 
1911
    gas_start "pushpops.s" "-al"
1912
 
1913
    # Check each instruction bit pattern to verify it got
1914
    # assembled correctly.
1915
    while 1 {
1916
        expect {
1917
            -re " +\[0-9\]+ 0000 6D70\[^\n\]*\n"   { set x [expr $x+1] }
1918
            -re " +\[0-9\]+ 0002 01006D70\[^\n\]*\n"   { set x [expr $x+1] }
1919
            -re " +\[0-9\]+ 0006 6DF0\[^\n\]*\n"   { set x [expr $x+1] }
1920
            -re " +\[0-9\]+ 0008 01006DF0\[^\n\]*\n"   { set x [expr $x+1] }
1921
            eof                                 { break }
1922
        }
1923
    }
1924
 
1925
    # This was intended to do any cleanup necessary.  It kinda looks like it
1926
    # isn't needed, but just in case, please keep it in for now.
1927
    gas_finish
1928
 
1929
    # Did we find what we were looking for?  If not, flunk it.
1930
    if [expr $x == 4] then { pass $testname } else { fail $testname }
1931
}
1932
 
1933
proc do_h8300s_rotate_shift {} {
1934
    set testname "rotshs.s: h8300s rotate and shift tests"
1935
    set x 0
1936
 
1937
    gas_start "rotshs.s" "-al"
1938
 
1939
    # Check each instruction bit pattern to verify it got
1940
    # assembled correctly.
1941
    while 1 {
1942
        expect {
1943
            -re " +\[0-9\]+ 0000 1288\[^\n\]*\n"   { set x [expr $x+1] }
1944
            -re " +\[0-9\]+ 0002 12C8\[^\n\]*\n"   { set x [expr $x+1] }
1945
            -re " +\[0-9\]+ 0004 1290\[^\n\]*\n"   { set x [expr $x+1] }
1946
            -re " +\[0-9\]+ 0006 12D0\[^\n\]*\n"   { set x [expr $x+1] }
1947
            -re " +\[0-9\]+ 0008 12B0\[^\n\]*\n"   { set x [expr $x+1] }
1948
            -re " +\[0-9\]+ 000a 12F0\[^\n\]*\n"   { set x [expr $x+1] }
1949
            -re " +\[0-9\]+ 000c 1388\[^\n\]*\n"   { set x [expr $x+1] }
1950
            -re " +\[0-9\]+ 000e 13C8\[^\n\]*\n"   { set x [expr $x+1] }
1951
            -re " +\[0-9\]+ 0010 1390\[^\n\]*\n"   { set x [expr $x+1] }
1952
            -re " +\[0-9\]+ 0012 13D0\[^\n\]*\n"   { set x [expr $x+1] }
1953
            -re " +\[0-9\]+ 0014 13B0\[^\n\]*\n"   { set x [expr $x+1] }
1954
            -re " +\[0-9\]+ 0016 13F0\[^\n\]*\n"   { set x [expr $x+1] }
1955
            -re " +\[0-9\]+ 0018 1208\[^\n\]*\n"   { set x [expr $x+1] }
1956
            -re " +\[0-9\]+ 001a 1248\[^\n\]*\n"   { set x [expr $x+1] }
1957
            -re " +\[0-9\]+ 001c 1210\[^\n\]*\n"   { set x [expr $x+1] }
1958
            -re " +\[0-9\]+ 001e 1250\[^\n\]*\n"   { set x [expr $x+1] }
1959
            -re " +\[0-9\]+ 0020 1230\[^\n\]*\n"   { set x [expr $x+1] }
1960
            -re " +\[0-9\]+ 0022 1270\[^\n\]*\n"   { set x [expr $x+1] }
1961
            -re " +\[0-9\]+ 0024 1308\[^\n\]*\n"   { set x [expr $x+1] }
1962
            -re " +\[0-9\]+ 0026 1348\[^\n\]*\n"   { set x [expr $x+1] }
1963
            -re " +\[0-9\]+ 0028 1310\[^\n\]*\n"   { set x [expr $x+1] }
1964
            -re " +\[0-9\]+ 002a 1350\[^\n\]*\n"   { set x [expr $x+1] }
1965
            -re " +\[0-9\]+ 002c 1330\[^\n\]*\n"   { set x [expr $x+1] }
1966
            -re " +\[0-9\]+ 002e 1370\[^\n\]*\n"   { set x [expr $x+1] }
1967
            -re " +\[0-9\]+ 0030 1088\[^\n\]*\n"   { set x [expr $x+1] }
1968
            -re " +\[0-9\]+ 0032 10C8\[^\n\]*\n"   { set x [expr $x+1] }
1969
            -re " +\[0-9\]+ 0034 1090\[^\n\]*\n"   { set x [expr $x+1] }
1970
            -re " +\[0-9\]+ 0036 10D0\[^\n\]*\n"   { set x [expr $x+1] }
1971
            -re " +\[0-9\]+ 0038 10B0\[^\n\]*\n"   { set x [expr $x+1] }
1972
            -re " +\[0-9\]+ 003a 10F0\[^\n\]*\n"   { set x [expr $x+1] }
1973
            -re " +\[0-9\]+ 003c 1188\[^\n\]*\n"   { set x [expr $x+1] }
1974
            -re " +\[0-9\]+ 003e 11C8\[^\n\]*\n"   { set x [expr $x+1] }
1975
            -re " +\[0-9\]+ 0040 1190\[^\n\]*\n"   { set x [expr $x+1] }
1976
            -re " +\[0-9\]+ 0042 11D0\[^\n\]*\n"   { set x [expr $x+1] }
1977
            -re " +\[0-9\]+ 0044 11B0\[^\n\]*\n"   { set x [expr $x+1] }
1978
            -re " +\[0-9\]+ 0046 11F0\[^\n\]*\n"   { set x [expr $x+1] }
1979
            -re " +\[0-9\]+ 0048 1008\[^\n\]*\n"   { set x [expr $x+1] }
1980
            -re " +\[0-9\]+ 004a 1048\[^\n\]*\n"   { set x [expr $x+1] }
1981
            -re " +\[0-9\]+ 004c 1010\[^\n\]*\n"   { set x [expr $x+1] }
1982
            -re " +\[0-9\]+ 004e 1050\[^\n\]*\n"   { set x [expr $x+1] }
1983
            -re " +\[0-9\]+ 0050 1030\[^\n\]*\n"   { set x [expr $x+1] }
1984
            -re " +\[0-9\]+ 0052 1070\[^\n\]*\n"   { set x [expr $x+1] }
1985
            -re " +\[0-9\]+ 0054 1108\[^\n\]*\n"   { set x [expr $x+1] }
1986
            -re " +\[0-9\]+ 0056 1148\[^\n\]*\n"   { set x [expr $x+1] }
1987
            -re " +\[0-9\]+ 0058 1110\[^\n\]*\n"   { set x [expr $x+1] }
1988
            -re " +\[0-9\]+ 005a 1150\[^\n\]*\n"   { set x [expr $x+1] }
1989
            -re " +\[0-9\]+ 005c 1130\[^\n\]*\n"   { set x [expr $x+1] }
1990
            -re " +\[0-9\]+ 005e 1170\[^\n\]*\n"   { set x [expr $x+1] }
1991
            eof                                 { break }
1992
        }
1993
    }
1994
 
1995
    # This was intended to do any cleanup necessary.  It kinda looks like it
1996
    # isn't needed, but just in case, please keep it in for now.
1997
    gas_finish
1998
 
1999
    # Did we find what we were looking for?  If not, flunk it.
2000
    if [expr $x == 48] then { pass $testname } else { fail $testname }
2001
}
2002
 
2003
proc do_h8300s_extend {} {
2004
    set testname "extends.s: h8300s extend tests"
2005
    set x 0
2006
 
2007
    gas_start "extends.s" "-al"
2008
 
2009
    # Check each instruction bit pattern to verify it got
2010
    # assembled correctly.
2011
    while 1 {
2012
        expect {
2013
            -re " +\[0-9\]+ 0000 17D0\[^\n\]*\n"   { set x [expr $x+1] }
2014
            -re " +\[0-9\]+ 0002 17F0\[^\n\]*\n"   { set x [expr $x+1] }
2015
            -re " +\[0-9\]+ 0004 1750\[^\n\]*\n"   { set x [expr $x+1] }
2016
            -re " +\[0-9\]+ 0006 1770\[^\n\]*\n"   { set x [expr $x+1] }
2017
            eof                                 { break }
2018
        }
2019
    }
2020
 
2021
    # This was intended to do any cleanup necessary.  It kinda looks like it
2022
    # isn't needed, but just in case, please keep it in for now.
2023
    gas_finish
2024
 
2025
    # Did we find what we were looking for?  If not, flunk it.
2026
    if [expr $x == 4] then { pass $testname } else { fail $testname }
2027
}
2028
 
2029
proc do_h8300s_mac {} {
2030
    set testname "macs.s: h8300s mac tests"
2031
    set x 0
2032
 
2033
    gas_start "macs.s" "-al"
2034
 
2035
    # Check each instruction bit pattern to verify it got
2036
    # assembled correctly.
2037
    while 1 {
2038
        expect {
2039
            -re " +\[0-9\]+ 0000 01A0\[^\n\]*\n"   { set x [expr $x+1] }
2040
            -re " +\[0-9\]+ 0002 0324\[^\n\]*\n"   { set x [expr $x+1] }
2041
            -re " +\[0-9\]+ 0004 0335\[^\n\]*\n"   { set x [expr $x+1] }
2042
            -re " +\[0-9\]+ 0006 01606D45\[^\n\]*\n"   { set x [expr $x+1] }
2043
            -re " +\[0-9\]+ 000a 0224\[^\n\]*\n"   { set x [expr $x+1] }
2044
            -re " +\[0-9\]+ 000c 0235\[^\n\]*\n"   { set x [expr $x+1] }
2045
            eof                                 { break }
2046
        }
2047
    }
2048
 
2049
    # This was intended to do any cleanup necessary.  It kinda looks like it
2050
    # isn't needed, but just in case, please keep it in for now.
2051
    gas_finish
2052
 
2053
    # Did we find what we were looking for?  If not, flunk it.
2054
    if [expr $x == 6] then { pass $testname } else { fail $testname }
2055
}
2056
 
2057
proc do_h8300s_multiple {} {
2058
    set testname "multiples.s: h8300s multiple tests"
2059
    set x 0
2060
 
2061
    gas_start "multiples.s" "-al"
2062
 
2063
    # Check each instruction bit pattern to verify it got
2064
    # assembled correctly.
2065
    while 1 {
2066
        expect {
2067
            -re " +\[0-9\]+ 0000 01106D71\[^\n\]*\n"   { set x [expr $x+1] }
2068
            -re " +\[0-9\]+ 0004 01206D72\[^\n\]*\n"   { set x [expr $x+1] }
2069
            -re " +\[0-9\]+ 0008 01306D73\[^\n\]*\n"   { set x [expr $x+1] }
2070
            -re " +\[0-9\]+ 000c 01106DF0\[^\n\]*\n"   { set x [expr $x+1] }
2071
            -re " +\[0-9\]+ 0010 01206DF0\[^\n\]*\n"   { set x [expr $x+1] }
2072
            -re " +\[0-9\]+ 0014 01306DF0\[^\n\]*\n"   { set x [expr $x+1] }
2073
            -re " +\[0-9\]+ 0018 01106D73\[^\n\]*\n"   { set x [expr $x+1] }
2074
            -re " +\[0-9\]+ 001c 01106DF2\[^\n\]*\n"   { set x [expr $x+1] }
2075
            -re " +\[0-9\]+ 0020 01106D75\[^\n\]*\n"   { set x [expr $x+1] }
2076
            -re " +\[0-9\]+ 0024 01206D76\[^\n\]*\n"   { set x [expr $x+1] }
2077
            -re " +\[0-9\]+ 0028 01106DF4\[^\n\]*\n"   { set x [expr $x+1] }
2078
            -re " +\[0-9\]+ 002c 01206DF4\[^\n\]*\n"   { set x [expr $x+1] }
2079
 
2080
            eof                                 { break }
2081
        }
2082
    }
2083
 
2084
    # This was intended to do any cleanup necessary.  It kinda looks like it
2085
    # isn't needed, but just in case, please keep it in for now.
2086
    gas_finish
2087
 
2088
    # Did we find what we were looking for?  If not, flunk it.
2089
    if [expr $x == 12] then { pass $testname } else { fail $testname }
2090
}
2091
 
2092
proc do_h8300h_mov32bug {} {
2093
    set testname "mov32bug.s: h8300h mov32bug test"
2094
    set x 0
2095
 
2096
    if [gas_test_old "mov32bug.s" "" "Proper relocation for mov.l (part 1)"] then {
2097
        objdump_start_no_subdir "a.out" "-r"
2098
 
2099
        while 1 {
2100
            expect {
2101
                -re "00000002\[^\n\]*32\[^\n\]*_a.0x0*88ca6c00\[^\n\]*\n"
2102
                                                { set x [expr $x+1] }
2103
                timeout                         { perror "timeout\n; break }
2104
                eof                             { break }
2105
            }
2106
        }
2107
    }
2108
 
2109
    # This was intended to do any cleanup necessary.  It kinda looks like it
2110
    # isn't needed, but just in case, please keep it in for now.
2111
    objdump_finish
2112
 
2113
    # Did we find what we were looking for?  If not, flunk it.
2114
    if [expr $x == 1] then { pass $testname } else { fail $testname }
2115
}
2116
 
2117
proc do_h8300hn_addressgen {} {
2118
    set testname "symaddgen.s: h8300hn symbol address generation"
2119
    set x 0
2120
 
2121
    gas_start "symaddgen.s" "-al"
2122
 
2123
    # Check each instruction bit pattern to verify it got
2124
    # assembled correctly.
2125
    while 1 {
2126
        expect {
2127
            -re " +\[0-9\]+ .* 01006DF6\[^\n\]*\n"   { set x [expr $x+1] }
2128
            -re " +\[0-9\]+ .* 0D76\[^\n\]*\n"       { set x [expr $x+1] }
2129
            -re " +\[0-9\]+ .* 790207D0\[^\n\]*\n"   { set x [expr $x+1] }
2130
            -re " +\[0-9\]+ .* 6B82F020\[^\n\]*\n"   { set x [expr $x+1] }
2131
            -re " +\[0-9\]+ .* 79022710\[^\n\]*\n"   { set x [expr $x+1] }
2132
            -re " +\[0-9\]+ .* 6B820000\[^\n\]*\n"   { set x [expr $x+1] }
2133
            -re " +\[0-9\]+ .* 01006D76\[^\n\]*\n"   { set x [expr $x+1] }
2134
            -re " +\[0-9\]+ .* 5470\[^\n\]*\n"       { set x [expr $x+1] }
2135
 
2136
            eof                                 { break }
2137
        }
2138
    }
2139
    # This was intended to do any cleanup necessary.  It kinda looks like it
2140
    # isn't needed, but just in case, please keep it in for now.
2141
    gas_finish
2142
    # Did we find what we were looking for?  If not, flunk it.
2143
    if [expr $x == 8] then { pass $testname } else { fail $testname }
2144
}
2145
 
2146
proc do_h8300_addsubrxcheck {} {
2147
    set testname "addsubrxcheck.s: h8300 check rx generation for adds subs instructions"
2148
    set x 0
2149
 
2150
    gas_start "addsubrxcheck.s" "-al"
2151
 
2152
    # Check each instruction bit pattern to verify it got
2153
    # assembled correctly.
2154
    while 1 {
2155
        expect {
2156
            -re " +\[0-9\]+ .* 6DF6\[^\n\]*\n"       { set x [expr $x+1] }
2157
            -re " +\[0-9\]+ .* 0D76\[^\n\]*\n"       { set x [expr $x+1] }
2158
            -re " +\[0-9\]+ .* 1B87\[^\n\]*\n"       { set x [expr $x+1] }
2159
            -re " +\[0-9\]+ .* 6F62FFFE\[^\n\]*\n"   { set x [expr $x+1] }
2160
            -re " +\[0-9\]+ .* 1B82\[^\n\]*\n"       { set x [expr $x+1] }
2161
            -re " +\[0-9\]+ .* 6FE2FFFE\[^\n\]*\n"   { set x [expr $x+1] }
2162
            -re " +\[0-9\]+ .* 1922\[^\n\]*\n"       { set x [expr $x+1] }
2163
            -re " +\[0-9\]+ .* 0D20\[^\n\]*\n"       { set x [expr $x+1] }
2164
            -re " +\[0-9\]+ .* 0B87\[^\n\]*\n"       { set x [expr $x+1] }
2165
            -re " +\[0-9\]+ .* 6D76\[^\n\]*\n"       { set x [expr $x+1] }
2166
            -re " +\[0-9\]+ .* 5470\[^\n\]*\n"       { set x [expr $x+1] }
2167
 
2168
            eof                                 { break }
2169
        }
2170
    }
2171
    # This was intended to do any cleanup necessary.  It kinda looks like it
2172
    # isn't needed, but just in case, please keep it in for now.
2173
    gas_finish
2174
    # Did we find what we were looking for?  If not, flunk it.
2175
    if [expr $x == 11] then { pass $testname } else { fail $testname }
2176
}
2177
 
2178
if [istarget h8300*-*-*] then {
2179
    # Test the basic h8300 instruction parser
2180
    do_h8300_add_sub
2181
    do_h8300_logical
2182
    do_h8300_bitops1
2183
    do_h8300_bitops2
2184
    do_h8300_bitops3
2185
    do_h8300_bitops4
2186
    do_h8300_compare
2187
    do_h8300_decimal
2188
    do_h8300_incdec
2189
    do_h8300_divmul
2190
    do_h8300_misc
2191
    do_h8300_movb
2192
    do_h8300_movw
2193
    do_h8300_pushpop
2194
    do_h8300_rotate_shift
2195
    do_h8300hn_addressgen
2196
 
2197
    do_h8300_addsubrxcheck
2198
 
2199
    # Now test the h8300h instruction parser
2200
    do_h8300h_add_sub
2201
    do_h8300h_logical
2202
    do_h8300h_bitops1
2203
    do_h8300h_bitops2
2204
    do_h8300h_bitops3
2205
    do_h8300h_bitops4
2206
    do_h8300h_compare
2207
    do_h8300h_decimal
2208
    do_h8300h_incdec
2209
    do_h8300h_divmul
2210
    do_h8300h_misc
2211
    do_h8300h_movb
2212
    do_h8300h_movw
2213
    do_h8300h_movl
2214
    do_h8300_pushpop
2215
    do_h8300h_rotate_shift
2216
    do_h8300h_extend
2217
 
2218
    # Now test the h8300s instruction parser
2219
    do_h8300s_add_sub
2220
    do_h8300s_logical
2221
    do_h8300s_bitops1
2222
    do_h8300s_bitops2
2223
    do_h8300s_bitops3
2224
    do_h8300s_bitops4
2225
    do_h8300s_compare
2226
    do_h8300s_decimal
2227
    do_h8300s_incdec
2228
    do_h8300s_divmul
2229
    do_h8300s_misc
2230
    do_h8300s_movb
2231
    do_h8300s_movw
2232
    do_h8300s_movl
2233
    do_h8300_pushpop
2234
    do_h8300s_rotate_shift
2235
    do_h8300s_extend
2236
    do_h8300s_mac
2237
    do_h8300s_multiple
2238
 
2239
    do_h8300h_mov32bug
2240
 
2241
    # Now some random tests
2242
    set svr4pic [expr [istarget *-*-elf*] || [istarget *-*-irix5*] ]
2243
    set empic [expr [istarget *-*-ecoff*] || [istarget *-*-ultrix*] || [istarget *-*-irix\[1-4\]*] ]
2244
    set aout [expr [istarget *-*-bsd*] || [istarget *-*-netbsd*]]
2245
 
2246
    gas_test "cmpsi2.s" "" "" "cmpsi2.s"
2247
 
2248
    run_dump_test "pr3134"
2249
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.