2 # Some h8300sx tests -- t06_ari2
5 proc do_t06_ari2_test {} {
6 set testname "t06_ari2.s -- h8sx arithmetic tests"
8 gas_start "t06_ari2.s" "-al"
10 # Check each instruction bit pattern to verify it got assembled correctly.
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; }
19 if [expr $x == 4] then {
20 pass "$testname: addx.b #0x12:8, ..."
22 fail "$testname: addx.b #0x12:8, ... ($x)"
25 default { fail "$testname: addx.b #0x12:8, ... ($x)" }
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; }
35 if [expr $x == 4] then {
36 pass "$testname: addx.b r3h, ..."
38 fail "$testname: addx.b r3h, ... ($x)"
41 default { fail "$testname: addx.b r3h, ... ($x)" }
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; }
50 if [expr $x == 3] then {
51 pass "$testname: addx.b @er3, ..."
53 fail "$testname: addx.b @er3, ... ($x)"
56 default { fail "$testname: addx.b @er3, ... ($x)" }
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; }
66 if [expr $x == 4] then {
67 pass "$testname: addx.b @er3-, ..."
69 fail "$testname: addx.b @er3-, ... ($x)"
72 default { fail "$testname: addx.b @er3-, ... ($x)" }
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; }
84 if [expr $x == 6] then {
85 pass "$testname: addx.w #0x1234:16, ..."
87 fail "$testname: addx.w #0x1234:16, ... ($x)"
90 default { fail "$testname: addx.w #0x1234:16, ... ($x)" }
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; }
100 if [expr $x == 4] then {
101 pass "$testname: addx.w r3, ..."
103 fail "$testname: addx.w r3, ... ($x)"
106 default { fail "$testname: addx.w r3, ... ($x)" }
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; }
115 if [expr $x == 3] then {
116 pass "$testname: addx.w @er3, ..."
118 fail "$testname: addx.w @er3, ... ($x)"
121 default { fail "$testname: addx.w @er3, ... ($x)" }
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; }
131 if [expr $x == 4] then {
132 pass "$testname: addx.w @er3-, ..."
134 fail "$testname: addx.w @er3-, ... ($x)"
137 default { fail "$testname: addx.w @er3-, ... ($x)" }
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; }
151 if [expr $x == 8] then {
152 pass "$testname: addx.l #0x12345678:32, ..."
154 fail "$testname: addx.l #0x12345678:32, ... ($x)"
157 default { fail "$testname: addx.l #0x12345678:32, ... ($x)" }
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; }
168 if [expr $x == 5] then {
169 pass "$testname: addx.l er3, ..."
171 fail "$testname: addx.l er3, ... ($x)"
174 default { fail "$testname: addx.l er3, ... ($x)" }
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; }
184 if [expr $x == 4] then {
185 pass "$testname: addx.l @er3, ..."
187 fail "$testname: addx.l @er3, ... ($x)"
190 default { fail "$testname: addx.l @er3, ... ($x)" }
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; }
200 if [expr $x == 4] then {
201 pass "$testname: addx.l @er3-, ..."
203 fail "$testname: addx.l @er3-, ... ($x)"
206 default { fail "$testname: addx.l @er3-, ... ($x)" }
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; }
216 if [expr $x == 4] then {
217 pass "$testname: subx.b #0x12:8, ..."
219 fail "$testname: subx.b #0x12:8, ... ($x)"
222 default { fail "$testname: subx.b #0x12:8, ... ($x)" }
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; }
232 if [expr $x == 4] then {
233 pass "$testname: subx.b r3h, ..."
235 fail "$testname: subx.b r3h, ... ($x)"
238 default { fail "$testname: subx.b r3h, ... ($x)" }
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; }
247 if [expr $x == 3] then {
248 pass "$testname: subx.b @er3, ..."
250 fail "$testname: subx.b @er3, ... ($x)"
253 default { fail "$testname: subx.b @er3, ... ($x)" }
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; }
263 if [expr $x == 4] then {
264 pass "$testname: subx.b @er3-, ..."
266 fail "$testname: subx.b @er3-, ... ($x)"
269 default { fail "$testname: subx.b @er3-, ... ($x)" }
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; }
281 if [expr $x == 6] then {
282 pass "$testname: subx.w #0x1234:16, ..."
284 fail "$testname: subx.w #0x1234:16, ... ($x)"
287 default { fail "$testname: subx.w #0x1234:16, ... ($x)" }
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; }
297 if [expr $x == 4] then {
298 pass "$testname: subx.w r3, ..."
300 fail "$testname: subx.w r3, ... ($x)"
303 default { fail "$testname: subx.w r3, ... ($x)" }
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; }
312 if [expr $x == 3] then {
313 pass "$testname: subx.w @er3, ..."
315 fail "$testname: subx.w @er3, ... ($x)"
318 default { fail "$testname: subx.w @er3, ... ($x)" }
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; }
328 if [expr $x == 4] then {
329 pass "$testname: subx.w @er3-, ..."
331 fail "$testname: subx.w @er3-, ... ($x)"
334 default { fail "$testname: subx.w @er3-, ... ($x)" }
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; }
348 if [expr $x == 8] then {
349 pass "$testname: subx.l #0x12345678:32, ..."
351 fail "$testname: subx.l #0x12345678:32, ... ($x)"
354 default { fail "$testname: subx.l #0x12345678:32, ... ($x)" }
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; }
365 if [expr $x == 5] then {
366 pass "$testname: subx.l er3, ..."
368 fail "$testname: subx.l er3, ... ($x)"
371 default { fail "$testname: subx.l er3, ... ($x)" }
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; }
381 if [expr $x == 4] then {
382 pass "$testname: subx.l @er3, ..."
384 fail "$testname: subx.l @er3, ... ($x)"
387 default { fail "$testname: subx.l @er3, ... ($x)" }
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; }
397 if [expr $x == 4] then {
398 pass "$testname: subx.l @er3-, ..."
400 fail "$testname: subx.l @er3-, ... ($x)"
403 default { fail "$testname: subx.l @er3-, ... ($x)" }
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; }
414 if [expr $x == 5] then {
415 pass "$testname: inc"
417 fail "$testname: inc ($x)"
420 default { fail "$testname: inc ($x)" }
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; }
431 if [expr $x == 5] then {
432 pass "$testname: dec"
434 fail "$testname: dec ($x)"
437 default { fail "$testname: dec ($x)" }
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; }
446 if [expr $x == 3] then {
447 pass "$testname: adds.l ..., er1"
449 fail "$testname: adds.l ..., er1 ($x)"
452 default { fail "$testname: adds.l ..., er1 ($x)" }
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; }
461 if [expr $x == 3] then {
462 pass "$testname: subs.l #4,er1"
464 fail "$testname: subs.l #4,er1 ($x)"
467 default { fail "$testname: subs.l #4,er1 ($x)" }
472 -re ".* 111 0174 0F01" { set x [expr $x+1]; exp_continue; }
474 if [expr $x == 1] then {
475 pass "$testname: daa.b r1h"
477 fail "$testname: daa.b r1h ($x)"
480 default { fail "$testname: daa.b r1h ($x)" }
485 -re ".* 113 0176 1F01" { set x [expr $x+1]; exp_continue; }
487 if [expr $x == 1] then {
488 pass "$testname: das.b r1h"
490 fail "$testname: das.b r1h ($x)"
493 default { fail "$testname: das.b r1h ($x)" }
498 -re ".* 115 0178 01CC50F1" { set x [expr $x+1]; exp_continue; }
500 if [expr $x == 1] then {
501 pass "$testname: mulxu.b #0xf:4,r1"
503 fail "$testname: mulxu.b #0xf:4,r1 ($x)"
506 default { fail "$testname: mulxu.b #0xf:4,r1 ($x)" }
511 -re ".* 117 017c 5031" { set x [expr $x+1]; exp_continue; }
513 if [expr $x == 1] then {
514 pass "$testname: mulxu.b r3h,r1"
516 fail "$testname: mulxu.b r3h,r1 ($x)"
519 default { fail "$testname: mulxu.b r3h,r1 ($x)" }
524 -re ".* 119 017e 01CC52F1" { set x [expr $x+1]; exp_continue; }
526 if [expr $x == 1] then {
527 pass "$testname: mulxu.w #0xf:4,er1"
529 fail "$testname: mulxu.w #0xf:4,er1 ($x)"
532 default { fail "$testname: mulxu.w #0xf:4,er1 ($x)" }
537 -re ".* 121 0182 5231" { set x [expr $x+1]; exp_continue; }
539 if [expr $x == 1] then {
540 pass "$testname: mulxu.w r3,er1"
542 fail "$testname: mulxu.w r3,er1 ($x)"
545 default { fail "$testname: mulxu.w r3,er1 ($x)" }
550 -re ".* 123 0184 01DC51F1" { set x [expr $x+1]; exp_continue; }
552 if [expr $x == 1] then {
553 pass "$testname: divxu.b #0xf:4,r1"
555 fail "$testname: divxu.b #0xf:4,r1 ($x)"
558 default { fail "$testname: divxu.b #0xf:4,r1 ($x)" }
563 -re ".* 125 0188 5131" { set x [expr $x+1]; exp_continue; }
565 if [expr $x == 1] then {
566 pass "$testname: divxu.b r3h,r1"
568 fail "$testname: divxu.b r3h,r1 ($x)"
571 default { fail "$testname: divxu.b r3h,r1 ($x)" }
576 -re ".* 127 018a 01DC53F1" { set x [expr $x+1]; exp_continue; }
578 if [expr $x == 1] then {
579 pass "$testname: divxu.w #0xf:4,er1"
581 fail "$testname: divxu.w #0xf:4,er1 ($x)"
584 default { fail "$testname: divxu.w #0xf:4,er1 ($x)" }
589 -re ".* 129 018e 5331" { set x [expr $x+1]; exp_continue; }
591 if [expr $x == 1] then {
592 pass "$testname: divxu.w r3,er1"
594 fail "$testname: divxu.w r3,er1 ($x)"
597 default { fail "$testname: divxu.w r3,er1 ($x)" }
602 -re ".* 131 0190 01C450F1" { set x [expr $x+1]; exp_continue; }
604 if [expr $x == 1] then {
605 pass "$testname: mulxs.b #0xf:4,r1"
607 fail "$testname: mulxs.b #0xf:4,r1 ($x)"
610 default { fail "$testname: mulxs.b #0xf:4,r1 ($x)" }
615 -re ".* 133 0194 01C05031" { set x [expr $x+1]; exp_continue; }
617 if [expr $x == 1] then {
618 pass "$testname: mulxs.b r3h,r1"
620 fail "$testname: mulxs.b r3h,r1 ($x)"
623 default { fail "$testname: mulxs.b r3h,r1 ($x)" }
628 -re ".* 135 0198 01C452F1" { set x [expr $x+1]; exp_continue; }
630 if [expr $x == 1] then {
631 pass "$testname: mulxs.w #0xf:4,er1"
633 fail "$testname: mulxs.w #0xf:4,er1 ($x)"
636 default { fail "$testname: mulxs.w #0xf:4,er1 ($x)" }
641 -re ".* 137 019c 01C05231" { set x [expr $x+1]; exp_continue; }
643 if [expr $x == 1] then {
644 pass "$testname: mulxs.w r3,er1"
646 fail "$testname: mulxs.w r3,er1 ($x)"
649 default { fail "$testname: mulxs.w r3,er1 ($x)" }
654 -re ".* 139 01a0 01D451F1" { set x [expr $x+1]; exp_continue; }
656 if [expr $x == 1] then {
657 pass "$testname: divxs.b #0xf:4,r1"
659 fail "$testname: divxs.b #0xf:4,r1 ($x)"
662 default { fail "$testname: divxs.b #0xf:4,r1 ($x)" }
667 -re ".* 141 01a4 01D05131" { set x [expr $x+1]; exp_continue; }
669 if [expr $x == 1] then {
670 pass "$testname: divxs.b r3h,r1"
672 fail "$testname: divxs.b r3h,r1 ($x)"
675 default { fail "$testname: divxs.b r3h,r1 ($x)" }
680 -re ".* 143 01a8 01D453F1" { set x [expr $x+1]; exp_continue; }
682 if [expr $x == 1] then {
683 pass "$testname: divxs.w #0xf:4,er1"
685 fail "$testname: divxs.w #0xf:4,er1 ($x)"
688 default { fail "$testname: divxs.w #0xf:4,er1 ($x)" }
693 -re ".* 145 01ac 01D05331" { set x [expr $x+1]; exp_continue; }
695 if [expr $x == 1] then {
696 pass "$testname: divxs.w r3,er1"
698 fail "$testname: divxs.w r3,er1 ($x)"
701 default { fail "$testname: divxs.w r3,er1 ($x)" }
706 -re ".* 147 01b0 01CE50F1" { set x [expr $x+1]; exp_continue; }
708 if [expr $x == 1] then {
709 pass "$testname: mulu.w #0xf:4,r1"
711 fail "$testname: mulu.w #0xf:4,r1 ($x)"
714 default { fail "$testname: mulu.w #0xf:4,r1 ($x)" }
719 -re ".* 149 01b4 01CA5031" { set x [expr $x+1]; exp_continue; }
721 if [expr $x == 1] then {
722 pass "$testname: mulu.w r3,r1"
724 fail "$testname: mulu.w r3,r1 ($x)"
727 default { fail "$testname: mulu.w r3,r1 ($x)" }
732 -re ".* 151 01b8 01CE52F1" { set x [expr $x+1]; exp_continue; }
734 if [expr $x == 1] then {
735 pass "$testname: mulu.l #0xf:4,er1"
737 fail "$testname: mulu.l #0xf:4,er1 ($x)"
740 default { fail "$testname: mulu.l #0xf:4,er1 ($x)" }
745 -re ".* 153 01bc 01CA5231" { set x [expr $x+1]; exp_continue; }
747 if [expr $x == 1] then {
748 pass "$testname: mulu.l er3,er1"
750 fail "$testname: mulu.l er3,er1 ($x)"
753 default { fail "$testname: mulu.l er3,er1 ($x)" }
758 -re ".* 155 01c0 01CF52F1" { set x [expr $x+1]; exp_continue; }
760 if [expr $x == 1] then {
761 pass "$testname: mulu/u.l #0xf:4,er1"
763 fail "$testname: mulu/u.l #0xf:4,er1 ($x)"
766 default { fail "$testname: mulu/u.l #0xf:4,er1 ($x)" }
771 -re ".* 157 01c4 01CB5231" { set x [expr $x+1]; exp_continue; }
773 if [expr $x == 1] then {
774 pass "$testname: mulu/u.l er3,er1"
776 fail "$testname: mulu/u.l er3,er1 ($x)"
779 default { fail "$testname: mulu/u.l er3,er1 ($x)" }
784 -re ".* 159 01c8 01C650F1" { set x [expr $x+1]; exp_continue; }
786 if [expr $x == 1] then {
787 pass "$testname: muls.w #0xf:4,r1"
789 fail "$testname: muls.w #0xf:4,r1 ($x)"
792 default { fail "$testname: muls.w #0xf:4,r1 ($x)" }
797 -re ".* 161 01cc 01C25031" { set x [expr $x+1]; exp_continue; }
799 if [expr $x == 1] then {
800 pass "$testname: muls.w r3,r1"
802 fail "$testname: muls.w r3,r1 ($x)"
805 default { fail "$testname: muls.w r3,r1 ($x)" }
810 -re ".* 163 01d0 01C652F1" { set x [expr $x+1]; exp_continue; }
812 if [expr $x == 1] then {
813 pass "$testname: muls.l #0xf:4,er1"
815 fail "$testname: muls.l #0xf:4,er1 ($x)"
818 default { fail "$testname: muls.l #0xf:4,er1 ($x)" }
823 -re ".* 165 01d4 01C25231" { set x [expr $x+1]; exp_continue; }
825 if [expr $x == 1] then {
826 pass "$testname: muls.l er3,er1"
828 fail "$testname: muls.l er3,er1 ($x)"
831 default { fail "$testname: muls.l er3,er1 ($x)" }
836 -re ".* 167 01d8 01C752F1" { set x [expr $x+1]; exp_continue; }
838 if [expr $x == 1] then {
839 pass "$testname: muls/u.l #0xf:4,er1"
841 fail "$testname: muls/u.l #0xf:4,er1 ($x)"
844 default { fail "$testname: muls/u.l #0xf:4,er1 ($x)" }
849 -re ".* 169 01dc 01C35231" { set x [expr $x+1]; exp_continue; }
851 if [expr $x == 1] then {
852 pass "$testname: muls/u.l er3,er1"
854 fail "$testname: muls/u.l er3,er1 ($x)"
857 default { fail "$testname: muls/u.l er3,er1 ($x)" }
862 -re ".* 171 01e0 01DE51F1" { set x [expr $x+1]; exp_continue; }
864 if [expr $x == 1] then {
865 pass "$testname: divu.w #0xf:4,r1"
867 fail "$testname: divu.w #0xf:4,r1 ($x)"
870 default { fail "$testname: divu.w #0xf:4,r1 ($x)" }
875 -re ".* 173 01e4 01DA5131" { set x [expr $x+1]; exp_continue; }
877 if [expr $x == 1] then {
878 pass "$testname: divu.w r3,r1"
880 fail "$testname: divu.w r3,r1 ($x)"
883 default { fail "$testname: divu.w r3,r1 ($x)" }
888 -re ".* 175 01e8 01DE53F1" { set x [expr $x+1]; exp_continue; }
890 if [expr $x == 1] then {
891 pass "$testname: divu.l #0xf:4,er1"
893 fail "$testname: divu.l #0xf:4,er1 ($x)"
896 default { fail "$testname: divu.l #0xf:4,er1 ($x)" }
901 -re ".* 177 01ec 01DA5331" { set x [expr $x+1]; exp_continue; }
903 if [expr $x == 1] then {
904 pass "$testname: divu.l er3,er1"
906 fail "$testname: divu.l er3,er1 ($x)"
909 default { fail "$testname: divu.l er3,er1 ($x)" }
914 -re ".* 179 01f0 01D651F1" { set x [expr $x+1]; exp_continue; }
916 if [expr $x == 1] then {
917 pass "$testname: divs.w #0xf:4,r1"
919 fail "$testname: divs.w #0xf:4,r1 ($x)"
922 default { fail "$testname: divs.w #0xf:4,r1 ($x)" }
927 -re ".* 181 01f4 01D25131" { set x [expr $x+1]; exp_continue; }
929 if [expr $x == 1] then {
930 pass "$testname: divs.w r3,r1"
932 fail "$testname: divs.w r3,r1 ($x)"
935 default { fail "$testname: divs.w r3,r1 ($x)" }
940 -re ".* 183 01f8 01D653F1" { set x [expr $x+1]; exp_continue; }
942 if [expr $x == 1] then {
943 pass "$testname: divs.l #0xf:4,er1"
945 fail "$testname: divs.l #0xf:4,er1 ($x)"
948 default { fail "$testname: divs.l #0xf:4,er1 ($x)" }
953 -re ".* 185 01fc 01D25331" { set x [expr $x+1]; exp_continue; }
955 if [expr $x == 1] then {
956 pass "$testname: divs.l er3,er1"
958 fail "$testname: divs.l er3,er1 ($x)"
961 default { fail "$testname: divs.l er3,er1 ($x)" }
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.
972 if [istarget h8300*-*-elf] then {
973 # Test advanced h8300sx instructions.