* linker.c (link_action): For WARN_ROW/warn, use MWARN, not CYCLE,
[deliverable/binutils-gdb.git] / gas / testsuite / gas / h8300 / h8300.exp
CommitLineData
0066efba
JL
1#
2# Some H8/300 tests
3#
4proc 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
40proc 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
74proc 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
117proc 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
155proc 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
190proc 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
225proc 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.
01ae5e99 260 if [expr $x == 15] then { pass $testname } else { fail $testname }
0066efba
JL
261}
262
263proc do_h8300_branches {} {
264 set testname "branches.s: h8300 branch tests"
265 set x 0
266
267 gas_start "branches.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
293proc 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
319proc 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
343proc 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
367proc 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
391proc 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
424proc 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 6E980000\[^\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
458proc 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
490proc 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
514proc do_h8300_rotate_shift {} {
515 set testname "rotshift.s: h8300 rotate and shift tests"
516 set x 0
517
518 gas_start "rotshift.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
545if [istarget h8300*-*-*] then {
546 # Test the basic h8300 instruction parser
547 do_h8300_add_sub
548 do_h8300_logical
549 do_h8300_cbranch
550 do_h8300_bitops1
551 do_h8300_bitops2
552 do_h8300_bitops3
553 do_h8300_bitops4
554 do_h8300_branches
555 do_h8300_compare
556 do_h8300_decimal
557 do_h8300_incdec
558 do_h8300_divmul
559 do_h8300_misc
560 do_h8300_movb
561 do_h8300_movw
562 do_h8300_pushpop
563 do_h8300_rotate_shift
564
565
566 # Now some random tests
567 set svr4pic [expr [istarget *-*-elf*] || [istarget *-*-irix5*] ]
568 set empic [expr [istarget *-*-ecoff*] || [istarget *-*-ultrix*] || [istarget *-*-irix\[1-4\]*] ]
569 set aout [expr [istarget *-*-bsd*] || [istarget *-*-netbsd*]]
570
571 run_dump_test "ffxx1"
572 gas_test "cmpsi2.s" "" "" "cmpsi2.s"
573}
This page took 0.043766 seconds and 4 git commands to generate.