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