Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / h8300 / t12_bit.exp
1 #
2 # Some h8300sx tests -- t12_bit
3 #
4
5 proc do_t12_bit_test {} {
6     set testname "t12_bit.s -- h8sx bit tests"
7
8     gas_start "t12_bit.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 7071" { set x [expr $x+1]; exp_continue; }
15         -re ".*   8 0002 7D107070" { set x [expr $x+1]; exp_continue; }
16         -re ".*   9 0006 7F127070" { set x [expr $x+1]; exp_continue; }
17         -re ".*  10 000a 6A181234" { set x [expr $x+1]; exp_continue; }
18         -re ".*  10      7070" { set x [expr $x+1]; exp_continue; }
19         -re ".*  11 0010 6A381234" { set x [expr $x+1]; exp_continue; }
20         -re ".*  11      56787070" { set x [expr $x+1]; exp_continue; }
21         -re ".*  12              " {
22             if [expr $x == 7] then {
23                 pass "$testname: bset #0x7, ..."
24             } else {
25                 fail "$testname: bset #0x7, ... ($x)"
26             }
27         }
28         default { fail "$testname: bset #0x7, ... ($x)" }
29     }
30
31     set x 0
32     expect {
33         -re ".*  13 0018 6031" { set x [expr $x+1]; exp_continue; }
34         -re ".*  14 001a 7D106030" { set x [expr $x+1]; exp_continue; }
35         -re ".*  15 001e 7F126030" { set x [expr $x+1]; exp_continue; }
36         -re ".*  16 0022 6A181234" { set x [expr $x+1]; exp_continue; }
37         -re ".*  16      6030" { set x [expr $x+1]; exp_continue; }
38         -re ".*  17 0028 6A381234" { set x [expr $x+1]; exp_continue; }
39         -re ".*  17      56786030" { set x [expr $x+1]; exp_continue; }
40         -re ".*  18              " {
41             if [expr $x == 7] then {
42                 pass "$testname: bset r3h, ..."
43             } else {
44                 fail "$testname: bset r3h, ... ($x)"
45             }
46         }
47         default { fail "$testname: bset r3h, ... ($x)" }
48     }
49
50     set x 0
51     expect {
52         -re ".*  19 0030 7D107077" { set x [expr $x+1]; exp_continue; }
53         -re ".*  20 0034 7F127077" { set x [expr $x+1]; exp_continue; }
54         -re ".*  21 0038 6A181234" { set x [expr $x+1]; exp_continue; }
55         -re ".*  21      7077" { set x [expr $x+1]; exp_continue; }
56         -re ".*  22 003e 6A381234" { set x [expr $x+1]; exp_continue; }
57         -re ".*  22      56787077" { set x [expr $x+1]; exp_continue; }
58         -re ".*  23              " {
59             if [expr $x == 6] then {
60                 pass "$testname: bset/eq #0x7, ..."
61             } else {
62                 fail "$testname: bset/eq #0x7, ... ($x)"
63             }
64         }
65         default { fail "$testname: bset/eq #0x7, ... ($x)" }
66     }
67
68     set x 0
69     expect {
70         -re ".*  24 0046 7D106037" { set x [expr $x+1]; exp_continue; }
71         -re ".*  25 004a 7F126037" { set x [expr $x+1]; exp_continue; }
72         -re ".*  26 004e 6A181234" { set x [expr $x+1]; exp_continue; }
73         -re ".*  26      6037" { set x [expr $x+1]; exp_continue; }
74         -re ".*  27 0054 6A381234" { set x [expr $x+1]; exp_continue; }
75         -re ".*  27      56786037" { set x [expr $x+1]; exp_continue; }
76         -re ".*  28              " {
77             if [expr $x == 6] then {
78                 pass "$testname: bset/eq r3h, ..."
79             } else {
80                 fail "$testname: bset/eq r3h, ... ($x)"
81             }
82         }
83         default { fail "$testname: bset/eq r3h, ... ($x)" }
84     }
85
86     set x 0
87     expect {
88         -re ".*  29 005c 7D107076" { set x [expr $x+1]; exp_continue; }
89         -re ".*  30 0060 7F127076" { set x [expr $x+1]; exp_continue; }
90         -re ".*  31 0064 6A181234" { set x [expr $x+1]; exp_continue; }
91         -re ".*  31      7076" { set x [expr $x+1]; exp_continue; }
92         -re ".*  32 006a 6A381234" { set x [expr $x+1]; exp_continue; }
93         -re ".*  32      56787076" { set x [expr $x+1]; exp_continue; }
94         -re ".*  33              " {
95             if [expr $x == 6] then {
96                 pass "$testname: bset/ne #0x7, ..."
97             } else {
98                 fail "$testname: bset/ne #0x7, ... ($x)"
99             }
100         }
101         default { fail "$testname: bset/ne #0x7, ... ($x)" }
102     }
103
104     set x 0
105     expect {
106         -re ".*  34 0072 7D106036" { set x [expr $x+1]; exp_continue; }
107         -re ".*  35 0076 7F126036" { set x [expr $x+1]; exp_continue; }
108         -re ".*  36 007a 6A181234" { set x [expr $x+1]; exp_continue; }
109         -re ".*  36      6036" { set x [expr $x+1]; exp_continue; }
110         -re ".*  37 0080 6A381234" { set x [expr $x+1]; exp_continue; }
111         -re ".*  37      56786036" { set x [expr $x+1]; exp_continue; }
112         -re ".*  38              " {
113             if [expr $x == 6] then {
114                 pass "$testname: bset/ne r3h, ..."
115             } else {
116                 fail "$testname: bset/ne r3h, ... ($x)"
117             }
118         }
119         default { fail "$testname: bset/ne r3h, ... ($x)" }
120     }
121
122     set x 0
123     expect {
124         -re ".*  39 0088 7171" { set x [expr $x+1]; exp_continue; }
125         -re ".*  40 008a 7D107170" { set x [expr $x+1]; exp_continue; }
126         -re ".*  41 008e 7F127170" { set x [expr $x+1]; exp_continue; }
127         -re ".*  42 0092 6A181234" { set x [expr $x+1]; exp_continue; }
128         -re ".*  42      7170" { set x [expr $x+1]; exp_continue; }
129         -re ".*  43 0098 6A381234" { set x [expr $x+1]; exp_continue; }
130         -re ".*  43      56787170" { set x [expr $x+1]; exp_continue; }
131         -re ".*  44              " {
132             if [expr $x == 7] then {
133                 pass "$testname: bnot #0x7, ..."
134             } else {
135                 fail "$testname: bnot #0x7, ... ($x)"
136             }
137         }
138         default { fail "$testname: bnot #0x7, ... ($x)" }
139     }
140
141     set x 0
142     expect {
143         -re ".*  45 00a0 6131" { set x [expr $x+1]; exp_continue; }
144         -re ".*  46 00a2 7D106130" { set x [expr $x+1]; exp_continue; }
145         -re ".*  47 00a6 7F126130" { set x [expr $x+1]; exp_continue; }
146         -re ".*  48 00aa 6A181234" { set x [expr $x+1]; exp_continue; }
147         -re ".*  48      6130" { set x [expr $x+1]; exp_continue; }
148         -re ".*  49 00b0 6A381234" { set x [expr $x+1]; exp_continue; }
149         -re ".*  49      56786130" { set x [expr $x+1]; exp_continue; }
150         -re ".*  50              " {
151             if [expr $x == 7] then {
152                 pass "$testname: bnot r3h, ..."
153             } else {
154                 fail "$testname: bnot r3h, ... ($x)"
155             }
156         }
157         default { fail "$testname: bnot r3h, ... ($x)" }
158     }
159
160     set x 0
161     expect {
162         -re ".*  51 00b8 7271" { set x [expr $x+1]; exp_continue; }
163         -re ".*  52 00ba 7D107270" { set x [expr $x+1]; exp_continue; }
164         -re ".*  53 00be 7F127270" { set x [expr $x+1]; exp_continue; }
165         -re ".*  54 00c2 6A181234" { set x [expr $x+1]; exp_continue; }
166         -re ".*  54      7270" { set x [expr $x+1]; exp_continue; }
167         -re ".*  55 00c8 6A381234" { set x [expr $x+1]; exp_continue; }
168         -re ".*  55      56787270" { set x [expr $x+1]; exp_continue; }
169         -re ".*  56              " {
170             if [expr $x == 7] then {
171                 pass "$testname: bclr #0x7, ..."
172             } else {
173                 fail "$testname: bclr #0x7, ... ($x)"
174             }
175         }
176         default { fail "$testname: bclr #0x7, ... ($x)" }
177     }
178
179     set x 0
180     expect {
181         -re ".*  57 00d0 6231" { set x [expr $x+1]; exp_continue; }
182         -re ".*  58 00d2 7D106230" { set x [expr $x+1]; exp_continue; }
183         -re ".*  59 00d6 7F126230" { set x [expr $x+1]; exp_continue; }
184         -re ".*  60 00da 6A181234" { set x [expr $x+1]; exp_continue; }
185         -re ".*  60      6230" { set x [expr $x+1]; exp_continue; }
186         -re ".*  61 00e0 6A381234" { set x [expr $x+1]; exp_continue; }
187         -re ".*  61      56786230" { set x [expr $x+1]; exp_continue; }
188         -re ".*  62              " {
189             if [expr $x == 7] then {
190                 pass "$testname: bclr r3h, ..."
191             } else {
192                 fail "$testname: bclr r3h, ... ($x)"
193             }
194         }
195         default { fail "$testname: bclr r3h, ... ($x)" }
196     }
197
198     set x 0
199     expect {
200         -re ".*  63 00e8 7D107277" { set x [expr $x+1]; exp_continue; }
201         -re ".*  64 00ec 7F127277" { set x [expr $x+1]; exp_continue; }
202         -re ".*  65 00f0 6A181234" { set x [expr $x+1]; exp_continue; }
203         -re ".*  65      7277" { set x [expr $x+1]; exp_continue; }
204         -re ".*  66 00f6 6A381234" { set x [expr $x+1]; exp_continue; }
205         -re ".*  66      56787277" { set x [expr $x+1]; exp_continue; }
206         -re ".*  67              " {
207             if [expr $x == 6] then {
208                 pass "$testname: bclr/eq #0x7, ..."
209             } else {
210                 fail "$testname: bclr/eq #0x7, ... ($x)"
211             }
212         }
213         default { fail "$testname: bclr/eq #0x7, ... ($x)" }
214     }
215
216     set x 0
217     expect {
218         -re ".*  68 00fe 7D106237" { set x [expr $x+1]; exp_continue; }
219         -re ".*  69 0102 7F126237" { set x [expr $x+1]; exp_continue; }
220         -re ".*  70 0106 6A181234" { set x [expr $x+1]; exp_continue; }
221         -re ".*  70      6237" { set x [expr $x+1]; exp_continue; }
222         -re ".*  71 010c 6A381234" { set x [expr $x+1]; exp_continue; }
223         -re ".*  71      56786237" { set x [expr $x+1]; exp_continue; }
224         -re ".*  72              " {
225             if [expr $x == 6] then {
226                 pass "$testname: bclr/eq r3h, ..."
227             } else {
228                 fail "$testname: bclr/eq r3h, ... ($x)"
229             }
230         }
231         default { fail "$testname: bclr/eq r3h, ... ($x)" }
232     }
233
234     set x 0
235     expect {
236         -re ".*  73 0114 7D107276" { set x [expr $x+1]; exp_continue; }
237         -re ".*  74 0118 7F127276" { set x [expr $x+1]; exp_continue; }
238         -re ".*  75 011c 6A181234" { set x [expr $x+1]; exp_continue; }
239         -re ".*  75      7276" { set x [expr $x+1]; exp_continue; }
240         -re ".*  76 0122 6A381234" { set x [expr $x+1]; exp_continue; }
241         -re ".*  76      56787276" { set x [expr $x+1]; exp_continue; }
242         -re ".*  77              " {
243             if [expr $x == 6] then {
244                 pass "$testname: bclr/ne #0x7, ..."
245             } else {
246                 fail "$testname: bclr/ne #0x7, ... ($x)"
247             }
248         }
249         default { fail "$testname: bclr/ne #0x7, ... ($x)" }
250     }
251
252     set x 0
253     expect {
254         -re ".*  78 012a 7D106236" { set x [expr $x+1]; exp_continue; }
255         -re ".*  79 012e 7F126236" { set x [expr $x+1]; exp_continue; }
256         -re ".*  80 0132 6A181234" { set x [expr $x+1]; exp_continue; }
257         -re ".*  80      6236" { set x [expr $x+1]; exp_continue; }
258         -re ".*  81 0138 6A381234" { set x [expr $x+1]; exp_continue; }
259         -re ".*  81      56786236" { set x [expr $x+1]; exp_continue; }
260         -re ".*  82              " {
261             if [expr $x == 6] then {
262                 pass "$testname: bclr/ne r3h, ..."
263             } else {
264                 fail "$testname: bclr/ne r3h, ... ($x)"
265             }
266         }
267         default { fail "$testname: bclr/ne r3h, ... ($x)" }
268     }
269
270     set x 0
271     expect {
272         -re ".*  83 0140 7371" { set x [expr $x+1]; exp_continue; }
273         -re ".*  84 0142 7C107370" { set x [expr $x+1]; exp_continue; }
274         -re ".*  85 0146 7E127370" { set x [expr $x+1]; exp_continue; }
275         -re ".*  86 014a 6A101234" { set x [expr $x+1]; exp_continue; }
276         -re ".*  86      7370" { set x [expr $x+1]; exp_continue; }
277         -re ".*  87 0150 6A301234" { set x [expr $x+1]; exp_continue; }
278         -re ".*  87      56787370" { set x [expr $x+1]; exp_continue; }
279         -re ".*  88              " {
280             if [expr $x == 7] then {
281                 pass "$testname: btst #0x7, ..."
282             } else {
283                 fail "$testname: btst #0x7, ... ($x)"
284             }
285         }
286         default { fail "$testname: btst #0x7, ... ($x)" }
287     }
288
289     set x 0
290     expect {
291         -re ".*  89 0158 6331" { set x [expr $x+1]; exp_continue; }
292         -re ".*  90 015a 7C106330" { set x [expr $x+1]; exp_continue; }
293         -re ".*  91 015e 7E126330" { set x [expr $x+1]; exp_continue; }
294         -re ".*  92 0162 6A101234" { set x [expr $x+1]; exp_continue; }
295         -re ".*  92      6330" { set x [expr $x+1]; exp_continue; }
296         -re ".*  93 0168 6A301234" { set x [expr $x+1]; exp_continue; }
297         -re ".*  93      56786330" { set x [expr $x+1]; exp_continue; }
298         -re ".*  94              " {
299             if [expr $x == 7] then {
300                 pass "$testname: btst r3h, ..."
301             } else {
302                 fail "$testname: btst r3h, ... ($x)"
303             }
304         }
305         default { fail "$testname: btst r3h, ... ($x)" }
306     }
307
308     set x 0
309     expect {
310         -re ".*  95 0170 7471" { set x [expr $x+1]; exp_continue; }
311         -re ".*  96 0172 7C107470" { set x [expr $x+1]; exp_continue; }
312         -re ".*  97 0176 7E127470" { set x [expr $x+1]; exp_continue; }
313         -re ".*  98 017a 6A101234" { set x [expr $x+1]; exp_continue; }
314         -re ".*  98      7470" { set x [expr $x+1]; exp_continue; }
315         -re ".*  99 0180 6A301234" { set x [expr $x+1]; exp_continue; }
316         -re ".*  99      56787470" { set x [expr $x+1]; exp_continue; }
317         -re ".* 100              " {
318             if [expr $x == 7] then {
319                 pass "$testname: bor #0x7, ..."
320             } else {
321                 fail "$testname: bor #0x7, ... ($x)"
322             }
323         }
324         default { fail "$testname: bor #0x7, ... ($x)" }
325     }
326
327     set x 0
328     expect {
329         -re ".* 101 0188 74F1" { set x [expr $x+1]; exp_continue; }
330         -re ".* 102 018a 7C1074F0" { set x [expr $x+1]; exp_continue; }
331         -re ".* 103 018e 7E1274F0" { set x [expr $x+1]; exp_continue; }
332         -re ".* 104 0192 6A101234" { set x [expr $x+1]; exp_continue; }
333         -re ".* 104      74F0" { set x [expr $x+1]; exp_continue; }
334         -re ".* 105 0198 6A301234" { set x [expr $x+1]; exp_continue; }
335         -re ".* 105      567874F0" { set x [expr $x+1]; exp_continue; }
336         -re ".* 106              " {
337             if [expr $x == 7] then {
338                 pass "$testname: bior #0x7, ..."
339             } else {
340                 fail "$testname: bior #0x7, ... ($x)"
341             }
342         }
343         default { fail "$testname: bior #0x7, ... ($x)" }
344     }
345
346     set x 0
347     expect {
348         -re ".* 107 01a0 7571" { set x [expr $x+1]; exp_continue; }
349         -re ".* 108 01a2 7C107570" { set x [expr $x+1]; exp_continue; }
350         -re ".* 109 01a6 7E127570" { set x [expr $x+1]; exp_continue; }
351         -re ".* 110 01aa 6A101234" { set x [expr $x+1]; exp_continue; }
352         -re ".* 110      7570" { set x [expr $x+1]; exp_continue; }
353         -re ".* 111 01b0 6A301234" { set x [expr $x+1]; exp_continue; }
354         -re ".* 111      56787570" { set x [expr $x+1]; exp_continue; }
355         -re ".* 112              " {
356             if [expr $x == 7] then {
357                 pass "$testname: bxor #0x7, ..."
358             } else {
359                 fail "$testname: bxor #0x7, ... ($x)"
360             }
361         }
362         default { fail "$testname: bxor #0x7, ... ($x)" }
363     }
364
365     set x 0
366     expect {
367         -re ".* 113 01b8 75F1" { set x [expr $x+1]; exp_continue; }
368         -re ".* 114 01ba 7C1075F0" { set x [expr $x+1]; exp_continue; }
369         -re ".* 115 01be 7E1275F0" { set x [expr $x+1]; exp_continue; }
370         -re ".* 116 01c2 6A101234" { set x [expr $x+1]; exp_continue; }
371         -re ".* 116      75F0" { set x [expr $x+1]; exp_continue; }
372         -re ".* 117 01c8 6A301234" { set x [expr $x+1]; exp_continue; }
373         -re ".* 117      567875F0" { set x [expr $x+1]; exp_continue; }
374         -re ".* 118              " {
375             if [expr $x == 7] then {
376                 pass "$testname: bixor #0x7, ..."
377             } else {
378                 fail "$testname: bixor #0x7, ... ($x)"
379             }
380         }
381         default { fail "$testname: bixor #0x7, ... ($x)" }
382     }
383
384     set x 0
385     expect {
386         -re ".* 119 01d0 7671" { set x [expr $x+1]; exp_continue; }
387         -re ".* 120 01d2 7C107670" { set x [expr $x+1]; exp_continue; }
388         -re ".* 121 01d6 7E127670" { set x [expr $x+1]; exp_continue; }
389         -re ".* 122 01da 6A101234" { set x [expr $x+1]; exp_continue; }
390         -re ".* 122      7670" { set x [expr $x+1]; exp_continue; }
391         -re ".* 123 01e0 6A301234" { set x [expr $x+1]; exp_continue; }
392         -re ".* 123      56787670" { set x [expr $x+1]; exp_continue; }
393         -re ".* 124              " {
394             if [expr $x == 7] then {
395                 pass "$testname: band #0x7, ..."
396             } else {
397                 fail "$testname: band #0x7, ... ($x)"
398             }
399         }
400         default { fail "$testname: band #0x7, ... ($x)" }
401     }
402
403     set x 0
404     expect {
405         -re ".* 125 01e8 76F1" { set x [expr $x+1]; exp_continue; }
406         -re ".* 126 01ea 7C1076F0" { set x [expr $x+1]; exp_continue; }
407         -re ".* 127 01ee 7E1276F0" { set x [expr $x+1]; exp_continue; }
408         -re ".* 128 01f2 6A101234" { set x [expr $x+1]; exp_continue; }
409         -re ".* 128      76F0" { set x [expr $x+1]; exp_continue; }
410         -re ".* 129 01f8 6A301234" { set x [expr $x+1]; exp_continue; }
411         -re ".* 129      567876F0" { set x [expr $x+1]; exp_continue; }
412         -re ".* 130              " {
413             if [expr $x == 7] then {
414                 pass "$testname: biand #0x7, ..."
415             } else {
416                 fail "$testname: biand #0x7, ... ($x)"
417             }
418         }
419         default { fail "$testname: biand #0x7, ... ($x)" }
420     }
421
422     set x 0
423     expect {
424         -re ".* 131 0200 7771" { set x [expr $x+1]; exp_continue; }
425         -re ".* 132 0202 7C107770" { set x [expr $x+1]; exp_continue; }
426         -re ".* 133 0206 7E127770" { set x [expr $x+1]; exp_continue; }
427         -re ".* 134 020a 6A101234" { set x [expr $x+1]; exp_continue; }
428         -re ".* 134      7770" { set x [expr $x+1]; exp_continue; }
429         -re ".* 135 0210 6A301234" { set x [expr $x+1]; exp_continue; }
430         -re ".* 135      56787770" { set x [expr $x+1]; exp_continue; }
431         -re ".* 136              " {
432             if [expr $x == 7] then {
433                 pass "$testname: bld #0x7, ..."
434             } else {
435                 fail "$testname: bld #0x7, ... ($x)"
436             }
437         }
438         default { fail "$testname: bld #0x7, ... ($x)" }
439     }
440
441     set x 0
442     expect {
443         -re ".* 137 0218 77F1" { set x [expr $x+1]; exp_continue; }
444         -re ".* 138 021a 7C1077F0" { set x [expr $x+1]; exp_continue; }
445         -re ".* 139 021e 7E1277F0" { set x [expr $x+1]; exp_continue; }
446         -re ".* 140 0222 6A101234" { set x [expr $x+1]; exp_continue; }
447         -re ".* 140      77F0" { set x [expr $x+1]; exp_continue; }
448         -re ".* 141 0228 6A301234" { set x [expr $x+1]; exp_continue; }
449         -re ".* 141      567877F0" { set x [expr $x+1]; exp_continue; }
450         -re ".* 142              " {
451             if [expr $x == 7] then {
452                 pass "$testname: bild #0x7, ..."
453             } else {
454                 fail "$testname: bild #0x7, ... ($x)"
455             }
456         }
457         default { fail "$testname: bild #0x7, ... ($x)" }
458     }
459
460     set x 0
461     expect {
462         -re ".* 143 0230 6771" { set x [expr $x+1]; exp_continue; }
463         -re ".* 144 0232 7D106770" { set x [expr $x+1]; exp_continue; }
464         -re ".* 145 0236 7F126770" { set x [expr $x+1]; exp_continue; }
465         -re ".* 146 023a 6A181234" { set x [expr $x+1]; exp_continue; }
466         -re ".* 146      6770" { set x [expr $x+1]; exp_continue; }
467         -re ".* 147 0240 6A381234" { set x [expr $x+1]; exp_continue; }
468         -re ".* 147      56786770" { set x [expr $x+1]; exp_continue; }
469         -re ".* 148              " {
470             if [expr $x == 7] then {
471                 pass "$testname: bst #0x7, ..."
472             } else {
473                 fail "$testname: bst #0x7, ... ($x)"
474             }
475         }
476         default { fail "$testname: bst #0x7, ... ($x)" }
477     }
478
479     set x 0
480     expect {
481         -re ".* 149 0248 7D106777" { set x [expr $x+1]; exp_continue; }
482         -re ".* 150 024c 7F126777" { set x [expr $x+1]; exp_continue; }
483         -re ".* 151 0250 6A181234" { set x [expr $x+1]; exp_continue; }
484         -re ".* 151      6777" { set x [expr $x+1]; exp_continue; }
485         -re ".* 152 0256 6A381234" { set x [expr $x+1]; exp_continue; }
486         -re ".* 152      56786777" { set x [expr $x+1]; exp_continue; }
487         -re ".* 153              " {
488             if [expr $x == 6] then {
489                 pass "$testname: bstz #0x7, ..."
490             } else {
491                 fail "$testname: bstz #0x7, ... ($x)"
492             }
493         }
494         default { fail "$testname: bstz #0x7, ... ($x)" }
495     }
496
497     set x 0
498     expect {
499         -re ".* 154 025e 67F1" { set x [expr $x+1]; exp_continue; }
500         -re ".* 155 0260 7D1067F0" { set x [expr $x+1]; exp_continue; }
501         -re ".* 156 0264 7F1267F0" { set x [expr $x+1]; exp_continue; }
502         -re ".* 157 0268 6A181234" { set x [expr $x+1]; exp_continue; }
503         -re ".* 157      67F0" { set x [expr $x+1]; exp_continue; }
504         -re ".* 158 026e 6A381234" { set x [expr $x+1]; exp_continue; }
505         -re ".* 158      567867F0" { set x [expr $x+1]; exp_continue; }
506         -re ".* 159              " {
507             if [expr $x == 7] then {
508                 pass "$testname: bist #0x7, ..."
509             } else {
510                 fail "$testname: bist #0x7, ... ($x)"
511             }
512         }
513         default { fail "$testname: bist #0x7, ... ($x)" }
514     }
515
516     set x 0
517     expect {
518         -re ".* 160 0276 7D1067F7" { set x [expr $x+1]; exp_continue; }
519         -re ".* 161 027a 7F1267F7" { set x [expr $x+1]; exp_continue; }
520         -re ".* 162 027e 6A181234" { set x [expr $x+1]; exp_continue; }
521         -re ".* 162      67F7" { set x [expr $x+1]; exp_continue; }
522         -re ".* 163 0284 6A381234" { set x [expr $x+1]; exp_continue; }
523         -re ".* 163      567867F7" { set x [expr $x+1]; exp_continue; }
524         -re ".* 164              " {
525             if [expr $x == 6] then {
526                 pass "$testname: bistz #0x7, ..."
527             } else {
528                 fail "$testname: bistz #0x7, ... ($x)"
529             }
530         }
531         default { fail "$testname: bistz #0x7, ... ($x)" }
532     }
533
534     set x 0
535     expect {
536         -re ".* 165 028c 7C10F334" { set x [expr $x+1]; exp_continue; }
537         -re ".* 166 0290 7E12F334" { set x [expr $x+1]; exp_continue; }
538         -re ".* 167 0294 6A101234" { set x [expr $x+1]; exp_continue; }
539         -re ".* 167      F334" { set x [expr $x+1]; exp_continue; }
540         -re ".* 168 029a 6A301234" { set x [expr $x+1]; exp_continue; }
541         -re ".* 168      5678F334" { set x [expr $x+1]; exp_continue; }
542         -re ".* 169              " {
543             if [expr $x == 6] then {
544                 pass "$testname: bfld #0x34:8, ..., r3h"
545             } else {
546                 fail "$testname: bfld #0x34:8, ..., r3h ($x)"
547             }
548         }
549         default { fail "$testname: bfld #0x34:8, ..., r3h ($x)" }
550     }
551
552     set x 0
553     expect {
554         -re ".* 170 02a2 7D10F334" { set x [expr $x+1]; exp_continue; }
555         -re ".* 171 02a6 7F12F334" { set x [expr $x+1]; exp_continue; }
556         -re ".* 172 02aa 6A181234" { set x [expr $x+1]; exp_continue; }
557         -re ".* 172      F334" { set x [expr $x+1]; exp_continue; }
558         -re ".* 173 02b0 6A381234" { set x [expr $x+1]; exp_continue; }
559         -re ".* 173      5678F334" { set x [expr $x+1]; exp_continue; }
560         -re ".* 174              " {
561             if [expr $x == 6] then {
562                 pass "$testname: bfst r3h, #0x34:8, ..."
563             } else {
564                 fail "$testname: bfst r3h, #0x34:8, ... ($x)"
565             }
566         }
567         default { fail "$testname: bfst r3h, #0x34:8, ... ($x)" }
568     }
569
570     # This was intended to do any cleanup necessary.
571     # It kinda looks like it isn't needed, but just
572     # in case, please keep it in for now.
573
574     gas_finish
575
576 }
577
578 if [istarget h8300*-*-elf] then {
579     # Test advanced h8300sx instructions.
580     do_t12_bit_test
581 }
582