Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / h8300 / t06_ari2.exp
1 #
2 # Some h8300sx tests -- t06_ari2
3 #
4
5 proc do_t06_ari2_test {} {
6     set testname "t06_ari2.s -- h8sx arithmetic tests"
7
8     gas_start "t06_ari2.s" "-al"
9
10     # Check each instruction bit pattern to verify it got assembled correctly.
11
12     set x 0
13     expect {
14         -re ".*   7 0000 9112" { set x [expr $x+1]; exp_continue; }
15         -re ".*   8 0002 7D109012" { set x [expr $x+1]; exp_continue; }
16         -re ".*   9 0006 01766C18" { set x [expr $x+1]; exp_continue; }
17         -re ".*   9      9012" { set x [expr $x+1]; exp_continue; }
18         -re ".*  10              " {
19             if [expr $x == 4] then {
20                 pass "$testname: addx.b #0x12:8, ..."
21             } else {
22                 fail "$testname: addx.b #0x12:8, ... ($x)"
23             }
24         }
25         default { fail "$testname: addx.b #0x12:8, ... ($x)" }
26     }
27
28     set x 0
29     expect {
30         -re ".*  11 000c 0E31" { set x [expr $x+1]; exp_continue; }
31         -re ".*  12 000e 7D100E30" { set x [expr $x+1]; exp_continue; }
32         -re ".*  13 0012 01766C18" { set x [expr $x+1]; exp_continue; }
33         -re ".*  13      0E30" { set x [expr $x+1]; exp_continue; }
34         -re ".*  14              " {
35             if [expr $x == 4] then {
36                 pass "$testname: addx.b r3h, ..."
37             } else {
38                 fail "$testname: addx.b r3h, ... ($x)"
39             }
40         }
41         default { fail "$testname: addx.b r3h, ... ($x)" }
42     }
43
44     set x 0
45     expect {
46         -re ".*  15 0018 7C300E01" { set x [expr $x+1]; exp_continue; }
47         -re ".*  16 001c 0174683D" { set x [expr $x+1]; exp_continue; }
48         -re ".*  16      0110" { set x [expr $x+1]; exp_continue; }
49         -re ".*  17              " {
50             if [expr $x == 3] then {
51                 pass "$testname: addx.b @er3, ..."
52             } else {
53                 fail "$testname: addx.b @er3, ... ($x)"
54             }
55         }
56         default { fail "$testname: addx.b @er3, ... ($x)" }
57     }
58
59     set x 0
60     expect {
61         -re ".*  18 0022 01766C30" { set x [expr $x+1]; exp_continue; }
62         -re ".*  18      0E01" { set x [expr $x+1]; exp_continue; }
63         -re ".*  19 0028 01766C3D" { set x [expr $x+1]; exp_continue; }
64         -re ".*  19      A110" { set x [expr $x+1]; exp_continue; }
65         -re ".*  20              " {
66             if [expr $x == 4] then {
67                 pass "$testname: addx.b @er3-, ..."
68             } else {
69                 fail "$testname: addx.b @er3-, ... ($x)"
70             }
71         }
72         default { fail "$testname: addx.b @er3-, ... ($x)" }
73     }
74
75     set x 0
76     expect {
77         -re ".*  21 002e 01517911" { set x [expr $x+1]; exp_continue; }
78         -re ".*  21      1234" { set x [expr $x+1]; exp_continue; }
79         -re ".*  22 0034 7D917910" { set x [expr $x+1]; exp_continue; }
80         -re ".*  22      1234" { set x [expr $x+1]; exp_continue; }
81         -re ".*  23 003a 01566D19" { set x [expr $x+1]; exp_continue; }
82         -re ".*  23      79101234" { set x [expr $x+1]; exp_continue; }
83         -re ".*  24              " {
84             if [expr $x == 6] then {
85                 pass "$testname: addx.w #0x1234:16, ..."
86             } else {
87                 fail "$testname: addx.w #0x1234:16, ... ($x)"
88             }
89         }
90         default { fail "$testname: addx.w #0x1234:16, ... ($x)" }
91     }
92
93     set x 0
94     expect {
95         -re ".*  25 0042 01510931" { set x [expr $x+1]; exp_continue; }
96         -re ".*  26 0046 7D910930" { set x [expr $x+1]; exp_continue; }
97         -re ".*  27 004a 01566D19" { set x [expr $x+1]; exp_continue; }
98         -re ".*  27      0930" { set x [expr $x+1]; exp_continue; }
99         -re ".*  28              " {
100             if [expr $x == 4] then {
101                 pass "$testname: addx.w r3, ..."
102             } else {
103                 fail "$testname: addx.w r3, ... ($x)"
104             }
105         }
106         default { fail "$testname: addx.w r3, ... ($x)" }
107     }
108
109     set x 0
110     expect {
111         -re ".*  29 0050 7CB10901" { set x [expr $x+1]; exp_continue; }
112         -re ".*  30 0054 0154693D" { set x [expr $x+1]; exp_continue; }
113         -re ".*  30      0110" { set x [expr $x+1]; exp_continue; }
114         -re ".*  31              " {
115             if [expr $x == 3] then {
116                 pass "$testname: addx.w @er3, ..."
117             } else {
118                 fail "$testname: addx.w @er3, ... ($x)"
119             }
120         }
121         default { fail "$testname: addx.w @er3, ... ($x)" }
122     }
123
124     set x 0
125     expect {
126         -re ".*  32 005a 01566D31" { set x [expr $x+1]; exp_continue; }
127         -re ".*  32      0901" { set x [expr $x+1]; exp_continue; }
128         -re ".*  33 0060 01566D3D" { set x [expr $x+1]; exp_continue; }
129         -re ".*  33      A110" { set x [expr $x+1]; exp_continue; }
130         -re ".*  34              " {
131             if [expr $x == 4] then {
132                 pass "$testname: addx.w @er3-, ..."
133             } else {
134                 fail "$testname: addx.w @er3-, ... ($x)"
135             }
136         }
137         default { fail "$testname: addx.w @er3-, ... ($x)" }
138     }
139
140     set x 0
141     expect {
142         -re ".*  35 0066 01017A11" { set x [expr $x+1]; exp_continue; }
143         -re ".*  35      12345678" { set x [expr $x+1]; exp_continue; }
144         -re ".*  36 006e 01046919" { set x [expr $x+1]; exp_continue; }
145         -re ".*  36      7A101234" { set x [expr $x+1]; exp_continue; }
146         -re ".*  36      5678" { set x [expr $x+1]; exp_continue; }
147         -re ".*  37 0078 01066D19" { set x [expr $x+1]; exp_continue; }
148         -re ".*  37      7A101234" { set x [expr $x+1]; exp_continue; }
149         -re ".*  37      5678" { set x [expr $x+1]; exp_continue; }
150         -re ".*  38              " {
151             if [expr $x == 8] then {
152                 pass "$testname: addx.l #0x12345678:32, ..."
153             } else {
154                 fail "$testname: addx.l #0x12345678:32, ... ($x)"
155             }
156         }
157         default { fail "$testname: addx.l #0x12345678:32, ... ($x)" }
158     }
159
160     set x 0
161     expect {
162         -re ".*  39 0082 01010AB1" { set x [expr $x+1]; exp_continue; }
163         -re ".*  40 0086 01046919" { set x [expr $x+1]; exp_continue; }
164         -re ".*  40      0AB0" { set x [expr $x+1]; exp_continue; }
165         -re ".*  41 008c 01066D19" { set x [expr $x+1]; exp_continue; }
166         -re ".*  41      0AB0" { set x [expr $x+1]; exp_continue; }
167         -re ".*  42              " {
168             if [expr $x == 5] then {
169                 pass "$testname: addx.l er3, ..."
170             } else {
171                 fail "$testname: addx.l er3, ... ($x)"
172             }
173         }
174         default { fail "$testname: addx.l er3, ... ($x)" }
175     }
176
177     set x 0
178     expect {
179         -re ".*  43 0092 01046931" { set x [expr $x+1]; exp_continue; }
180         -re ".*  43      0A81" { set x [expr $x+1]; exp_continue; }
181         -re ".*  44 0098 0104693D" { set x [expr $x+1]; exp_continue; }
182         -re ".*  44      0110" { set x [expr $x+1]; exp_continue; }
183         -re ".*  45              " {
184             if [expr $x == 4] then {
185                 pass "$testname: addx.l @er3, ..."
186             } else {
187                 fail "$testname: addx.l @er3, ... ($x)"
188             }
189         }
190         default { fail "$testname: addx.l @er3, ... ($x)" }
191     }
192
193     set x 0
194     expect {
195         -re ".*  46 009e 01066D31" { set x [expr $x+1]; exp_continue; }
196         -re ".*  46      0A81" { set x [expr $x+1]; exp_continue; }
197         -re ".*  47 00a4 01066D3D" { set x [expr $x+1]; exp_continue; }
198         -re ".*  47      A110" { set x [expr $x+1]; exp_continue; }
199         -re ".*  48              " {
200             if [expr $x == 4] then {
201                 pass "$testname: addx.l @er3-, ..."
202             } else {
203                 fail "$testname: addx.l @er3-, ... ($x)"
204             }
205         }
206         default { fail "$testname: addx.l @er3-, ... ($x)" }
207     }
208
209     set x 0
210     expect {
211         -re ".*  49 00aa B112" { set x [expr $x+1]; exp_continue; }
212         -re ".*  50 00ac 7D10B012" { set x [expr $x+1]; exp_continue; }
213         -re ".*  51 00b0 01766C18" { set x [expr $x+1]; exp_continue; }
214         -re ".*  51      B012" { set x [expr $x+1]; exp_continue; }
215         -re ".*  52              " {
216             if [expr $x == 4] then {
217                 pass "$testname: subx.b #0x12:8, ..."
218             } else {
219                 fail "$testname: subx.b #0x12:8, ... ($x)"
220             }
221         }
222         default { fail "$testname: subx.b #0x12:8, ... ($x)" }
223     }
224
225     set x 0
226     expect {
227         -re ".*  53 00b6 1E31" { set x [expr $x+1]; exp_continue; }
228         -re ".*  54 00b8 7D101E30" { set x [expr $x+1]; exp_continue; }
229         -re ".*  55 00bc 01766C18" { set x [expr $x+1]; exp_continue; }
230         -re ".*  55      1E30" { set x [expr $x+1]; exp_continue; }
231         -re ".*  56              " {
232             if [expr $x == 4] then {
233                 pass "$testname: subx.b r3h, ..."
234             } else {
235                 fail "$testname: subx.b r3h, ... ($x)"
236             }
237         }
238         default { fail "$testname: subx.b r3h, ... ($x)" }
239     }
240
241     set x 0
242     expect {
243         -re ".*  57 00c2 7C301E01" { set x [expr $x+1]; exp_continue; }
244         -re ".*  58 00c6 0174683D" { set x [expr $x+1]; exp_continue; }
245         -re ".*  58      0130" { set x [expr $x+1]; exp_continue; }
246         -re ".*  59              " {
247             if [expr $x == 3] then {
248                 pass "$testname: subx.b @er3, ..."
249             } else {
250                 fail "$testname: subx.b @er3, ... ($x)"
251             }
252         }
253         default { fail "$testname: subx.b @er3, ... ($x)" }
254     }
255
256     set x 0
257     expect {
258         -re ".*  60 00cc 01766C30" { set x [expr $x+1]; exp_continue; }
259         -re ".*  60      1E01" { set x [expr $x+1]; exp_continue; }
260         -re ".*  61 00d2 01766C3D" { set x [expr $x+1]; exp_continue; }
261         -re ".*  61      A130" { set x [expr $x+1]; exp_continue; }
262         -re ".*  62              " {
263             if [expr $x == 4] then {
264                 pass "$testname: subx.b @er3-, ..."
265             } else {
266                 fail "$testname: subx.b @er3-, ... ($x)"
267             }
268         }
269         default { fail "$testname: subx.b @er3-, ... ($x)" }
270     }
271
272     set x 0
273     expect {
274         -re ".*  63 00d8 01517931" { set x [expr $x+1]; exp_continue; }
275         -re ".*  63      1234" { set x [expr $x+1]; exp_continue; }
276         -re ".*  64 00de 7D917930" { set x [expr $x+1]; exp_continue; }
277         -re ".*  64      1234" { set x [expr $x+1]; exp_continue; }
278         -re ".*  65 00e4 01566D19" { set x [expr $x+1]; exp_continue; }
279         -re ".*  65      79301234" { set x [expr $x+1]; exp_continue; }
280         -re ".*  66              " {
281             if [expr $x == 6] then {
282                 pass "$testname: subx.w #0x1234:16, ..."
283             } else {
284                 fail "$testname: subx.w #0x1234:16, ... ($x)"
285             }
286         }
287         default { fail "$testname: subx.w #0x1234:16, ... ($x)" }
288     }
289
290     set x 0
291     expect {
292         -re ".*  67 00ec 01511931" { set x [expr $x+1]; exp_continue; }
293         -re ".*  68 00f0 7D911930" { set x [expr $x+1]; exp_continue; }
294         -re ".*  69 00f4 01566D19" { set x [expr $x+1]; exp_continue; }
295         -re ".*  69      1930" { set x [expr $x+1]; exp_continue; }
296         -re ".*  70              " {
297             if [expr $x == 4] then {
298                 pass "$testname: subx.w r3, ..."
299             } else {
300                 fail "$testname: subx.w r3, ... ($x)"
301             }
302         }
303         default { fail "$testname: subx.w r3, ... ($x)" }
304     }
305
306     set x 0
307     expect {
308         -re ".*  71 00fa 7CB11901" { set x [expr $x+1]; exp_continue; }
309         -re ".*  72 00fe 0154693D" { set x [expr $x+1]; exp_continue; }
310         -re ".*  72      0130" { set x [expr $x+1]; exp_continue; }
311         -re ".*  73              " {
312             if [expr $x == 3] then {
313                 pass "$testname: subx.w @er3, ..."
314             } else {
315                 fail "$testname: subx.w @er3, ... ($x)"
316             }
317         }
318         default { fail "$testname: subx.w @er3, ... ($x)" }
319     }
320
321     set x 0
322     expect {
323         -re ".*  74 0104 01566D31" { set x [expr $x+1]; exp_continue; }
324         -re ".*  74      1901" { set x [expr $x+1]; exp_continue; }
325         -re ".*  75 010a 01566D3D" { set x [expr $x+1]; exp_continue; }
326         -re ".*  75      A130" { set x [expr $x+1]; exp_continue; }
327         -re ".*  76              " {
328             if [expr $x == 4] then {
329                 pass "$testname: subx.w @er3-, ..."
330             } else {
331                 fail "$testname: subx.w @er3-, ... ($x)"
332             }
333         }
334         default { fail "$testname: subx.w @er3-, ... ($x)" }
335     }
336
337     set x 0
338     expect {
339         -re ".*  77 0110 01017A31" { set x [expr $x+1]; exp_continue; }
340         -re ".*  77      12345678" { set x [expr $x+1]; exp_continue; }
341         -re ".*  78 0118 01046919" { set x [expr $x+1]; exp_continue; }
342         -re ".*  78      7A301234" { set x [expr $x+1]; exp_continue; }
343         -re ".*  78      5678" { set x [expr $x+1]; exp_continue; }
344         -re ".*  79 0122 01066D19" { set x [expr $x+1]; exp_continue; }
345         -re ".*  79      7A301234" { set x [expr $x+1]; exp_continue; }
346         -re ".*  79      5678" { set x [expr $x+1]; exp_continue; }
347         -re ".*  80              " {
348             if [expr $x == 8] then {
349                 pass "$testname: subx.l #0x12345678:32, ..."
350             } else {
351                 fail "$testname: subx.l #0x12345678:32, ... ($x)"
352             }
353         }
354         default { fail "$testname: subx.l #0x12345678:32, ... ($x)" }
355     }
356
357     set x 0
358     expect {
359         -re ".*  81 012c 01011AB1" { set x [expr $x+1]; exp_continue; }
360         -re ".*  82 0130 01046919" { set x [expr $x+1]; exp_continue; }
361         -re ".*  82      1AB0" { set x [expr $x+1]; exp_continue; }
362         -re ".*  83 0136 01066D19" { set x [expr $x+1]; exp_continue; }
363         -re ".*  83      1AB0" { set x [expr $x+1]; exp_continue; }
364         -re ".*  84              " {
365             if [expr $x == 5] then {
366                 pass "$testname: subx.l er3, ..."
367             } else {
368                 fail "$testname: subx.l er3, ... ($x)"
369             }
370         }
371         default { fail "$testname: subx.l er3, ... ($x)" }
372     }
373
374     set x 0
375     expect {
376         -re ".*  85 013c 01046931" { set x [expr $x+1]; exp_continue; }
377         -re ".*  85      1A81" { set x [expr $x+1]; exp_continue; }
378         -re ".*  86 0142 0104693D" { set x [expr $x+1]; exp_continue; }
379         -re ".*  86      0130" { set x [expr $x+1]; exp_continue; }
380         -re ".*  87              " {
381             if [expr $x == 4] then {
382                 pass "$testname: subx.l @er3, ..."
383             } else {
384                 fail "$testname: subx.l @er3, ... ($x)"
385             }
386         }
387         default { fail "$testname: subx.l @er3, ... ($x)" }
388     }
389
390     set x 0
391     expect {
392         -re ".*  88 0148 01066D31" { set x [expr $x+1]; exp_continue; }
393         -re ".*  88      1A81" { set x [expr $x+1]; exp_continue; }
394         -re ".*  89 014e 01066D3D" { set x [expr $x+1]; exp_continue; }
395         -re ".*  89      A130" { set x [expr $x+1]; exp_continue; }
396         -re ".*  90              " {
397             if [expr $x == 4] then {
398                 pass "$testname: subx.l @er3-, ..."
399             } else {
400                 fail "$testname: subx.l @er3-, ... ($x)"
401             }
402         }
403         default { fail "$testname: subx.l @er3-, ... ($x)" }
404     }
405
406     set x 0
407     expect {
408         -re ".*  91 0154 0A01" { set x [expr $x+1]; exp_continue; }
409         -re ".*  92 0156 0B51" { set x [expr $x+1]; exp_continue; }
410         -re ".*  93 0158 0BD1" { set x [expr $x+1]; exp_continue; }
411         -re ".*  94 015a 0B71" { set x [expr $x+1]; exp_continue; }
412         -re ".*  95 015c 0BF1" { set x [expr $x+1]; exp_continue; }
413         -re ".*  96              " {
414             if [expr $x == 5] then {
415                 pass "$testname: inc"
416             } else {
417                 fail "$testname: inc ($x)"
418             }
419         }
420         default { fail "$testname: inc ($x)" }
421     }
422
423     set x 0
424     expect {
425         -re ".*  97 015e 1A01" { set x [expr $x+1]; exp_continue; }
426         -re ".*  98 0160 1B51" { set x [expr $x+1]; exp_continue; }
427         -re ".*  99 0162 1BD1" { set x [expr $x+1]; exp_continue; }
428         -re ".* 100 0164 1B71" { set x [expr $x+1]; exp_continue; }
429         -re ".* 101 0166 1BF1" { set x [expr $x+1]; exp_continue; }
430         -re ".* 102              " {
431             if [expr $x == 5] then {
432                 pass "$testname: dec"
433             } else {
434                 fail "$testname: dec ($x)"
435             }
436         }
437         default { fail "$testname: dec ($x)" }
438     }
439
440     set x 0
441     expect {
442         -re ".* 103 0168 0B01" { set x [expr $x+1]; exp_continue; }
443         -re ".* 104 016a 0B81" { set x [expr $x+1]; exp_continue; }
444         -re ".* 105 016c 0B91" { set x [expr $x+1]; exp_continue; }
445         -re ".* 106              " {
446             if [expr $x == 3] then {
447                 pass "$testname: adds.l ..., er1"
448             } else {
449                 fail "$testname: adds.l ..., er1 ($x)"
450             }
451         }
452         default { fail "$testname: adds.l ..., er1 ($x)" }
453     }
454
455     set x 0
456     expect {
457         -re ".* 107 016e 1B01" { set x [expr $x+1]; exp_continue; }
458         -re ".* 108 0170 1B81" { set x [expr $x+1]; exp_continue; }
459         -re ".* 109 0172 1B91" { set x [expr $x+1]; exp_continue; }
460         -re ".* 110              " {
461             if [expr $x == 3] then {
462                 pass "$testname: subs.l #4,er1"
463             } else {
464                 fail "$testname: subs.l #4,er1 ($x)"
465             }
466         }
467         default { fail "$testname: subs.l #4,er1 ($x)" }
468     }
469
470     set x 0
471     expect {
472         -re ".* 111 0174 0F01" { set x [expr $x+1]; exp_continue; }
473         -re ".* 112              " {
474             if [expr $x == 1] then {
475                 pass "$testname: daa.b r1h"
476             } else {
477                 fail "$testname: daa.b r1h ($x)"
478             }
479         }
480         default { fail "$testname: daa.b r1h ($x)" }
481     }
482
483     set x 0
484     expect {
485         -re ".* 113 0176 1F01" { set x [expr $x+1]; exp_continue; }
486         -re ".* 114              " {
487             if [expr $x == 1] then {
488                 pass "$testname: das.b r1h"
489             } else {
490                 fail "$testname: das.b r1h ($x)"
491             }
492         }
493         default { fail "$testname: das.b r1h ($x)" }
494     }
495
496     set x 0
497     expect {
498         -re ".* 115 0178 01CC50F1" { set x [expr $x+1]; exp_continue; }
499         -re ".* 116              " {
500             if [expr $x == 1] then {
501                 pass "$testname: mulxu.b #0xf:4,r1"
502             } else {
503                 fail "$testname: mulxu.b #0xf:4,r1 ($x)"
504             }
505         }
506         default { fail "$testname: mulxu.b #0xf:4,r1 ($x)" }
507     }
508
509     set x 0
510     expect {
511         -re ".* 117 017c 5031" { set x [expr $x+1]; exp_continue; }
512         -re ".* 118              " {
513             if [expr $x == 1] then {
514                 pass "$testname: mulxu.b r3h,r1"
515             } else {
516                 fail "$testname: mulxu.b r3h,r1 ($x)"
517             }
518         }
519         default { fail "$testname: mulxu.b r3h,r1 ($x)" }
520     }
521
522     set x 0
523     expect {
524         -re ".* 119 017e 01CC52F1" { set x [expr $x+1]; exp_continue; }
525         -re ".* 120              " {
526             if [expr $x == 1] then {
527                 pass "$testname: mulxu.w #0xf:4,er1"
528             } else {
529                 fail "$testname: mulxu.w #0xf:4,er1 ($x)"
530             }
531         }
532         default { fail "$testname: mulxu.w #0xf:4,er1 ($x)" }
533     }
534
535     set x 0
536     expect {
537         -re ".* 121 0182 5231" { set x [expr $x+1]; exp_continue; }
538         -re ".* 122              " {
539             if [expr $x == 1] then {
540                 pass "$testname: mulxu.w r3,er1"
541             } else {
542                 fail "$testname: mulxu.w r3,er1 ($x)"
543             }
544         }
545         default { fail "$testname: mulxu.w r3,er1 ($x)" }
546     }
547
548     set x 0
549     expect {
550         -re ".* 123 0184 01DC51F1" { set x [expr $x+1]; exp_continue; }
551         -re ".* 124              " {
552             if [expr $x == 1] then {
553                 pass "$testname: divxu.b #0xf:4,r1"
554             } else {
555                 fail "$testname: divxu.b #0xf:4,r1 ($x)"
556             }
557         }
558         default { fail "$testname: divxu.b #0xf:4,r1 ($x)" }
559     }
560
561     set x 0
562     expect {
563         -re ".* 125 0188 5131" { set x [expr $x+1]; exp_continue; }
564         -re ".* 126              " {
565             if [expr $x == 1] then {
566                 pass "$testname: divxu.b r3h,r1"
567             } else {
568                 fail "$testname: divxu.b r3h,r1 ($x)"
569             }
570         }
571         default { fail "$testname: divxu.b r3h,r1 ($x)" }
572     }
573
574     set x 0
575     expect {
576         -re ".* 127 018a 01DC53F1" { set x [expr $x+1]; exp_continue; }
577         -re ".* 128              " {
578             if [expr $x == 1] then {
579                 pass "$testname: divxu.w #0xf:4,er1"
580             } else {
581                 fail "$testname: divxu.w #0xf:4,er1 ($x)"
582             }
583         }
584         default { fail "$testname: divxu.w #0xf:4,er1 ($x)" }
585     }
586
587     set x 0
588     expect {
589         -re ".* 129 018e 5331" { set x [expr $x+1]; exp_continue; }
590         -re ".* 130              " {
591             if [expr $x == 1] then {
592                 pass "$testname: divxu.w r3,er1"
593             } else {
594                 fail "$testname: divxu.w r3,er1 ($x)"
595             }
596         }
597         default { fail "$testname: divxu.w r3,er1 ($x)" }
598     }
599
600     set x 0
601     expect {
602         -re ".* 131 0190 01C450F1" { set x [expr $x+1]; exp_continue; }
603         -re ".* 132              " {
604             if [expr $x == 1] then {
605                 pass "$testname: mulxs.b #0xf:4,r1"
606             } else {
607                 fail "$testname: mulxs.b #0xf:4,r1 ($x)"
608             }
609         }
610         default { fail "$testname: mulxs.b #0xf:4,r1 ($x)" }
611     }
612
613     set x 0
614     expect {
615         -re ".* 133 0194 01C05031" { set x [expr $x+1]; exp_continue; }
616         -re ".* 134              " {
617             if [expr $x == 1] then {
618                 pass "$testname: mulxs.b r3h,r1"
619             } else {
620                 fail "$testname: mulxs.b r3h,r1 ($x)"
621             }
622         }
623         default { fail "$testname: mulxs.b r3h,r1 ($x)" }
624     }
625
626     set x 0
627     expect {
628         -re ".* 135 0198 01C452F1" { set x [expr $x+1]; exp_continue; }
629         -re ".* 136              " {
630             if [expr $x == 1] then {
631                 pass "$testname: mulxs.w #0xf:4,er1"
632             } else {
633                 fail "$testname: mulxs.w #0xf:4,er1 ($x)"
634             }
635         }
636         default { fail "$testname: mulxs.w #0xf:4,er1 ($x)" }
637     }
638
639     set x 0
640     expect {
641         -re ".* 137 019c 01C05231" { set x [expr $x+1]; exp_continue; }
642         -re ".* 138              " {
643             if [expr $x == 1] then {
644                 pass "$testname: mulxs.w r3,er1"
645             } else {
646                 fail "$testname: mulxs.w r3,er1 ($x)"
647             }
648         }
649         default { fail "$testname: mulxs.w r3,er1 ($x)" }
650     }
651
652     set x 0
653     expect {
654         -re ".* 139 01a0 01D451F1" { set x [expr $x+1]; exp_continue; }
655         -re ".* 140              " {
656             if [expr $x == 1] then {
657                 pass "$testname: divxs.b #0xf:4,r1"
658             } else {
659                 fail "$testname: divxs.b #0xf:4,r1 ($x)"
660             }
661         }
662         default { fail "$testname: divxs.b #0xf:4,r1 ($x)" }
663     }
664
665     set x 0
666     expect {
667         -re ".* 141 01a4 01D05131" { set x [expr $x+1]; exp_continue; }
668         -re ".* 142              " {
669             if [expr $x == 1] then {
670                 pass "$testname: divxs.b r3h,r1"
671             } else {
672                 fail "$testname: divxs.b r3h,r1 ($x)"
673             }
674         }
675         default { fail "$testname: divxs.b r3h,r1 ($x)" }
676     }
677
678     set x 0
679     expect {
680         -re ".* 143 01a8 01D453F1" { set x [expr $x+1]; exp_continue; }
681         -re ".* 144              " {
682             if [expr $x == 1] then {
683                 pass "$testname: divxs.w #0xf:4,er1"
684             } else {
685                 fail "$testname: divxs.w #0xf:4,er1 ($x)"
686             }
687         }
688         default { fail "$testname: divxs.w #0xf:4,er1 ($x)" }
689     }
690
691     set x 0
692     expect {
693         -re ".* 145 01ac 01D05331" { set x [expr $x+1]; exp_continue; }
694         -re ".* 146              " {
695             if [expr $x == 1] then {
696                 pass "$testname: divxs.w r3,er1"
697             } else {
698                 fail "$testname: divxs.w r3,er1 ($x)"
699             }
700         }
701         default { fail "$testname: divxs.w r3,er1 ($x)" }
702     }
703
704     set x 0
705     expect {
706         -re ".* 147 01b0 01CE50F1" { set x [expr $x+1]; exp_continue; }
707         -re ".* 148              " {
708             if [expr $x == 1] then {
709                 pass "$testname: mulu.w #0xf:4,r1"
710             } else {
711                 fail "$testname: mulu.w #0xf:4,r1 ($x)"
712             }
713         }
714         default { fail "$testname: mulu.w #0xf:4,r1 ($x)" }
715     }
716
717     set x 0
718     expect {
719         -re ".* 149 01b4 01CA5031" { set x [expr $x+1]; exp_continue; }
720         -re ".* 150              " {
721             if [expr $x == 1] then {
722                 pass "$testname: mulu.w r3,r1"
723             } else {
724                 fail "$testname: mulu.w r3,r1 ($x)"
725             }
726         }
727         default { fail "$testname: mulu.w r3,r1 ($x)" }
728     }
729
730     set x 0
731     expect {
732         -re ".* 151 01b8 01CE52F1" { set x [expr $x+1]; exp_continue; }
733         -re ".* 152              " {
734             if [expr $x == 1] then {
735                 pass "$testname: mulu.l #0xf:4,er1"
736             } else {
737                 fail "$testname: mulu.l #0xf:4,er1 ($x)"
738             }
739         }
740         default { fail "$testname: mulu.l #0xf:4,er1 ($x)" }
741     }
742
743     set x 0
744     expect {
745         -re ".* 153 01bc 01CA5231" { set x [expr $x+1]; exp_continue; }
746         -re ".* 154              " {
747             if [expr $x == 1] then {
748                 pass "$testname: mulu.l er3,er1"
749             } else {
750                 fail "$testname: mulu.l er3,er1 ($x)"
751             }
752         }
753         default { fail "$testname: mulu.l er3,er1 ($x)" }
754     }
755
756     set x 0
757     expect {
758         -re ".* 155 01c0 01CF52F1" { set x [expr $x+1]; exp_continue; }
759         -re ".* 156              " {
760             if [expr $x == 1] then {
761                 pass "$testname: mulu/u.l #0xf:4,er1"
762             } else {
763                 fail "$testname: mulu/u.l #0xf:4,er1 ($x)"
764             }
765         }
766         default { fail "$testname: mulu/u.l #0xf:4,er1 ($x)" }
767     }
768
769     set x 0
770     expect {
771         -re ".* 157 01c4 01CB5231" { set x [expr $x+1]; exp_continue; }
772         -re ".* 158              " {
773             if [expr $x == 1] then {
774                 pass "$testname: mulu/u.l er3,er1"
775             } else {
776                 fail "$testname: mulu/u.l er3,er1 ($x)"
777             }
778         }
779         default { fail "$testname: mulu/u.l er3,er1 ($x)" }
780     }
781
782     set x 0
783     expect {
784         -re ".* 159 01c8 01C650F1" { set x [expr $x+1]; exp_continue; }
785         -re ".* 160              " {
786             if [expr $x == 1] then {
787                 pass "$testname: muls.w #0xf:4,r1"
788             } else {
789                 fail "$testname: muls.w #0xf:4,r1 ($x)"
790             }
791         }
792         default { fail "$testname: muls.w #0xf:4,r1 ($x)" }
793     }
794
795     set x 0
796     expect {
797         -re ".* 161 01cc 01C25031" { set x [expr $x+1]; exp_continue; }
798         -re ".* 162              " {
799             if [expr $x == 1] then {
800                 pass "$testname: muls.w r3,r1"
801             } else {
802                 fail "$testname: muls.w r3,r1 ($x)"
803             }
804         }
805         default { fail "$testname: muls.w r3,r1 ($x)" }
806     }
807
808     set x 0
809     expect {
810         -re ".* 163 01d0 01C652F1" { set x [expr $x+1]; exp_continue; }
811         -re ".* 164              " {
812             if [expr $x == 1] then {
813                 pass "$testname: muls.l #0xf:4,er1"
814             } else {
815                 fail "$testname: muls.l #0xf:4,er1 ($x)"
816             }
817         }
818         default { fail "$testname: muls.l #0xf:4,er1 ($x)" }
819     }
820
821     set x 0
822     expect {
823         -re ".* 165 01d4 01C25231" { set x [expr $x+1]; exp_continue; }
824         -re ".* 166              " {
825             if [expr $x == 1] then {
826                 pass "$testname: muls.l er3,er1"
827             } else {
828                 fail "$testname: muls.l er3,er1 ($x)"
829             }
830         }
831         default { fail "$testname: muls.l er3,er1 ($x)" }
832     }
833
834     set x 0
835     expect {
836         -re ".* 167 01d8 01C752F1" { set x [expr $x+1]; exp_continue; }
837         -re ".* 168              " {
838             if [expr $x == 1] then {
839                 pass "$testname: muls/u.l #0xf:4,er1"
840             } else {
841                 fail "$testname: muls/u.l #0xf:4,er1 ($x)"
842             }
843         }
844         default { fail "$testname: muls/u.l #0xf:4,er1 ($x)" }
845     }
846
847     set x 0
848     expect {
849         -re ".* 169 01dc 01C35231" { set x [expr $x+1]; exp_continue; }
850         -re ".* 170              " {
851             if [expr $x == 1] then {
852                 pass "$testname: muls/u.l er3,er1"
853             } else {
854                 fail "$testname: muls/u.l er3,er1 ($x)"
855             }
856         }
857         default { fail "$testname: muls/u.l er3,er1 ($x)" }
858     }
859
860     set x 0
861     expect {
862         -re ".* 171 01e0 01DE51F1" { set x [expr $x+1]; exp_continue; }
863         -re ".* 172              " {
864             if [expr $x == 1] then {
865                 pass "$testname: divu.w #0xf:4,r1"
866             } else {
867                 fail "$testname: divu.w #0xf:4,r1 ($x)"
868             }
869         }
870         default { fail "$testname: divu.w #0xf:4,r1 ($x)" }
871     }
872
873     set x 0
874     expect {
875         -re ".* 173 01e4 01DA5131" { set x [expr $x+1]; exp_continue; }
876         -re ".* 174              " {
877             if [expr $x == 1] then {
878                 pass "$testname: divu.w r3,r1"
879             } else {
880                 fail "$testname: divu.w r3,r1 ($x)"
881             }
882         }
883         default { fail "$testname: divu.w r3,r1 ($x)" }
884     }
885
886     set x 0
887     expect {
888         -re ".* 175 01e8 01DE53F1" { set x [expr $x+1]; exp_continue; }
889         -re ".* 176              " {
890             if [expr $x == 1] then {
891                 pass "$testname: divu.l #0xf:4,er1"
892             } else {
893                 fail "$testname: divu.l #0xf:4,er1 ($x)"
894             }
895         }
896         default { fail "$testname: divu.l #0xf:4,er1 ($x)" }
897     }
898
899     set x 0
900     expect {
901         -re ".* 177 01ec 01DA5331" { set x [expr $x+1]; exp_continue; }
902         -re ".* 178              " {
903             if [expr $x == 1] then {
904                 pass "$testname: divu.l er3,er1"
905             } else {
906                 fail "$testname: divu.l er3,er1 ($x)"
907             }
908         }
909         default { fail "$testname: divu.l er3,er1 ($x)" }
910     }
911
912     set x 0
913     expect {
914         -re ".* 179 01f0 01D651F1" { set x [expr $x+1]; exp_continue; }
915         -re ".* 180              " {
916             if [expr $x == 1] then {
917                 pass "$testname: divs.w #0xf:4,r1"
918             } else {
919                 fail "$testname: divs.w #0xf:4,r1 ($x)"
920             }
921         }
922         default { fail "$testname: divs.w #0xf:4,r1 ($x)" }
923     }
924
925     set x 0
926     expect {
927         -re ".* 181 01f4 01D25131" { set x [expr $x+1]; exp_continue; }
928         -re ".* 182              " {
929             if [expr $x == 1] then {
930                 pass "$testname: divs.w r3,r1"
931             } else {
932                 fail "$testname: divs.w r3,r1 ($x)"
933             }
934         }
935         default { fail "$testname: divs.w r3,r1 ($x)" }
936     }
937
938     set x 0
939     expect {
940         -re ".* 183 01f8 01D653F1" { set x [expr $x+1]; exp_continue; }
941         -re ".* 184              " {
942             if [expr $x == 1] then {
943                 pass "$testname: divs.l #0xf:4,er1"
944             } else {
945                 fail "$testname: divs.l #0xf:4,er1 ($x)"
946             }
947         }
948         default { fail "$testname: divs.l #0xf:4,er1 ($x)" }
949     }
950
951     set x 0
952     expect {
953         -re ".* 185 01fc 01D25331" { set x [expr $x+1]; exp_continue; }
954         -re ".* 186              " {
955             if [expr $x == 1] then {
956                 pass "$testname: divs.l er3,er1"
957             } else {
958                 fail "$testname: divs.l er3,er1 ($x)"
959             }
960         }
961         default { fail "$testname: divs.l er3,er1 ($x)" }
962     }
963
964     # This was intended to do any cleanup necessary.
965     # It kinda looks like it isn't needed, but just
966     # in case, please keep it in for now.
967
968     gas_finish
969
970 }
971
972 if [istarget h8300*-*-elf] then {
973     # Test advanced h8300sx instructions.
974     do_t06_ari2_test
975 }
976