diff options
Diffstat (limited to 'gas/testsuite/gas/h8300')
62 files changed, 0 insertions, 3262 deletions
diff --git a/gas/testsuite/gas/h8300/addsub.s b/gas/testsuite/gas/h8300/addsub.s deleted file mode 100644 index 802b0d7621f..00000000000 --- a/gas/testsuite/gas/h8300/addsub.s +++ /dev/null @@ -1,16 +0,0 @@ - .text -h8300_add_sub: - add.b #16,r1l - add.b r1h,r1l - add.w r1,r2 - adds #1,r4 - adds #2,r5 - addx r0l,r1l - addx #16,r2h - sub.b r0l,r1l - sub.w r0,r1 - subs #1,r4 - subs #2,r5 - subx r0l,r1l - subx #16,r2h - diff --git a/gas/testsuite/gas/h8300/addsubh.s b/gas/testsuite/gas/h8300/addsubh.s deleted file mode 100644 index 1f885d3fc5f..00000000000 --- a/gas/testsuite/gas/h8300/addsubh.s +++ /dev/null @@ -1,25 +0,0 @@ - .h8300h - .text -h8300h_add_sub: - add.b #16,r1l - add.b r1h,r1l - add.w #32,r1 - add.w r1,r2 - add.l #64,er1 - add.l er1,er2 - adds #1,er4 - adds #2,er5 - adds #4,er6 - addx r0l,r1l - addx #16,r2h - sub.b r0l,r1l - sub.w #16,r1 - sub.w r0,r1 - sub.l #64,er1 - sub.l er1,er2 - subs #1,er4 - subs #2,er5 - subs #4,er6 - subx r0l,r1l - subx #16,r2h - diff --git a/gas/testsuite/gas/h8300/addsubs.s b/gas/testsuite/gas/h8300/addsubs.s deleted file mode 100644 index b0b3699e458..00000000000 --- a/gas/testsuite/gas/h8300/addsubs.s +++ /dev/null @@ -1,25 +0,0 @@ - .h8300s - .text -h8300s_add_sub: - add.b #16,r1l - add.b r1h,r1l - add.w #32,r1 - add.w r1,r2 - add.l #64,er1 - add.l er1,er2 - adds #1,er4 - adds #2,er5 - adds #4,er6 - addx r0l,r1l - addx #16,r2h - sub.b r0l,r1l - sub.w #16,r1 - sub.w r0,r1 - sub.l #64,er1 - sub.l er1,er2 - subs #1,er4 - subs #2,er5 - subs #4,er6 - subx r0l,r1l - subx #16,r2h - diff --git a/gas/testsuite/gas/h8300/bitops1.s b/gas/testsuite/gas/h8300/bitops1.s deleted file mode 100644 index 3c107a1b822..00000000000 --- a/gas/testsuite/gas/h8300/bitops1.s +++ /dev/null @@ -1,18 +0,0 @@ - .text -h8300_bit_ops_1: - band #0,r0l - band #0,@r0 - band #0,@64:8 - bclr #0,r0l - bclr #0,@r0 - bclr #0,@64:8 - bclr r1l,r0l - bclr r1l,@r0 - bclr r1l,@64:8 - biand #0,r0l - biand #0,@r0 - biand #0,@64:8 - bild #0,r0l - bild #0,@r0 - bild #0,@64:8 - diff --git a/gas/testsuite/gas/h8300/bitops1h.s b/gas/testsuite/gas/h8300/bitops1h.s deleted file mode 100644 index 4139a590e8f..00000000000 --- a/gas/testsuite/gas/h8300/bitops1h.s +++ /dev/null @@ -1,19 +0,0 @@ - .h8300h - .text -h8300h_bit_ops_1: - band #0,r0l - band #0,@er0 - band #0,@64:8 - bclr #0,r0l - bclr #0,@er0 - bclr #0,@64:8 - bclr r1l,r0l - bclr r1l,@er0 - bclr r1l,@64:8 - biand #0,r0l - biand #0,@er0 - biand #0,@64:8 - bild #0,r0l - bild #0,@er0 - bild #0,@64:8 - diff --git a/gas/testsuite/gas/h8300/bitops1s.s b/gas/testsuite/gas/h8300/bitops1s.s deleted file mode 100644 index c6599d41a9a..00000000000 --- a/gas/testsuite/gas/h8300/bitops1s.s +++ /dev/null @@ -1,29 +0,0 @@ - .h8300s - .text -h8300s_bit_ops_1: - band #0,r0l - band #0,@er0 - band #0,@64:8 - band #0,@128:16 - band #0,@65536:32 - bclr #0,r0l - bclr #0,@er0 - bclr #0,@64:8 - bclr #0,@128:16 - bclr #0,@65536:32 - bclr r1l,r0l - bclr r1l,@er0 - bclr r1l,@64:8 - bclr r1l,@128:16 - bclr r1l,@65536:32 - biand #0,r0l - biand #0,@er0 - biand #0,@64:8 - biand #0,@128:16 - biand #0,@65536:32 - bild #0,r0l - bild #0,@er0 - bild #0,@64:8 - bild #0,@128:16 - bild #0,@65536:32 - diff --git a/gas/testsuite/gas/h8300/bitops2.s b/gas/testsuite/gas/h8300/bitops2.s deleted file mode 100644 index 3996e5a469f..00000000000 --- a/gas/testsuite/gas/h8300/bitops2.s +++ /dev/null @@ -1,15 +0,0 @@ - .text -h8300_bit_ops_2: - bior #0,r0l - bior #0,@r0 - bior #0,@64:8 - bist #0,r0l - bist #0,@r0 - bist #0,@64:8 - bixor #0,r0l - bixor #0,@r0 - bixor #0,@64:8 - bld #0,r0l - bld #0,@r0 - bld #0,@64:8 - diff --git a/gas/testsuite/gas/h8300/bitops2h.s b/gas/testsuite/gas/h8300/bitops2h.s deleted file mode 100644 index 22be74e4b78..00000000000 --- a/gas/testsuite/gas/h8300/bitops2h.s +++ /dev/null @@ -1,16 +0,0 @@ - .h8300h - .text -h8300h_bit_ops_2: - bior #0,r0l - bior #0,@er0 - bior #0,@64:8 - bist #0,r0l - bist #0,@er0 - bist #0,@64:8 - bixor #0,r0l - bixor #0,@er0 - bixor #0,@64:8 - bld #0,r0l - bld #0,@er0 - bld #0,@64:8 - diff --git a/gas/testsuite/gas/h8300/bitops2s.s b/gas/testsuite/gas/h8300/bitops2s.s deleted file mode 100644 index 94705201f0d..00000000000 --- a/gas/testsuite/gas/h8300/bitops2s.s +++ /dev/null @@ -1,23 +0,0 @@ - .h8300s - .text -h8300s_bit_ops_2: - bior #0,r0l - bior #0,@er0 - bior #0,@64:8 - bior #0,@128:16 - bior #0,@65536:32 - bist #0,r0l - bist #0,@er0 - bist #0,@64:8 - bist #0,@128:16 - bist #0,@65536:32 - bixor #0,r0l - bixor #0,@er0 - bixor #0,@64:8 - bixor #0,@128:16 - bixor #0,@65536:32 - bld #0,r0l - bld #0,@er0 - bld #0,@64:8 - bld #0,@128:16 - bld #0,@65536:32 diff --git a/gas/testsuite/gas/h8300/bitops3.s b/gas/testsuite/gas/h8300/bitops3.s deleted file mode 100644 index 78c9bfb482e..00000000000 --- a/gas/testsuite/gas/h8300/bitops3.s +++ /dev/null @@ -1,15 +0,0 @@ - .text -h8300_bit_ops_3: - bnot #0,r0l - bnot #0,@r0 - bnot #0,@64:8 - bnot r1l,r0l - bnot r1l,@r0 - bnot r1l,@64:8 - bset #0,r0l - bset #0,@r0 - bset #0,@64:8 - bset r1l,r0l - bset r1l,@r0 - bset r1l,@64:8 - diff --git a/gas/testsuite/gas/h8300/bitops3h.s b/gas/testsuite/gas/h8300/bitops3h.s deleted file mode 100644 index fdeda609080..00000000000 --- a/gas/testsuite/gas/h8300/bitops3h.s +++ /dev/null @@ -1,16 +0,0 @@ - .h8300h - .text -h8300h_bit_ops_3: - bnot #0,r0l - bnot #0,@er0 - bnot #0,@64:8 - bnot r1l,r0l - bnot r1l,@er0 - bnot r1l,@64:8 - bset #0,r0l - bset #0,@er0 - bset #0,@64:8 - bset r1l,r0l - bset r1l,@er0 - bset r1l,@64:8 - diff --git a/gas/testsuite/gas/h8300/bitops3s.s b/gas/testsuite/gas/h8300/bitops3s.s deleted file mode 100644 index 7c64e06d783..00000000000 --- a/gas/testsuite/gas/h8300/bitops3s.s +++ /dev/null @@ -1,24 +0,0 @@ - .h8300s - .text -h8300s_bit_ops_3: - bnot #0,r0l - bnot #0,@er0 - bnot #0,@64:8 - bnot #0,@128:16 - bnot #0,@65536:32 - bnot r1l,r0l - bnot r1l,@er0 - bnot r1l,@64:8 - bnot r1l,@128:16 - bnot r1l,@65536:32 - bset #0,r0l - bset #0,@er0 - bset #0,@64:8 - bset #0,@128:16 - bset #0,@65536:32 - bset r1l,r0l - bset r1l,@er0 - bset r1l,@64:8 - bset r1l,@128:16 - bset r1l,@65536:32 - diff --git a/gas/testsuite/gas/h8300/bitops4.s b/gas/testsuite/gas/h8300/bitops4.s deleted file mode 100644 index f7e66d8b251..00000000000 --- a/gas/testsuite/gas/h8300/bitops4.s +++ /dev/null @@ -1,18 +0,0 @@ - .text -h8300_bit_ops_4: - bor #0,r0l - bor #0,@r0 - bor #0,@64:8 - bst #0,r0l - bst #0,@r0 - bst #0,@64:8 - btst #0,r0l - btst #0,@r0 - btst #0,@64:8 - btst r1l,r0l - btst r1l,@r0 - btst r1l,@64:8 - bxor #0,r0l - bxor #0,@r0 - bxor #0,@64:8 - diff --git a/gas/testsuite/gas/h8300/bitops4h.s b/gas/testsuite/gas/h8300/bitops4h.s deleted file mode 100644 index ed35e17dcbd..00000000000 --- a/gas/testsuite/gas/h8300/bitops4h.s +++ /dev/null @@ -1,19 +0,0 @@ - .h8300h - .text -h8300h_bit_ops_4: - bor #0,r0l - bor #0,@er0 - bor #0,@64:8 - bst #0,r0l - bst #0,@er0 - bst #0,@64:8 - btst #0,r0l - btst #0,@er0 - btst #0,@64:8 - btst r1l,r0l - btst r1l,@er0 - btst r1l,@64:8 - bxor #0,r0l - bxor #0,@er0 - bxor #0,@64:8 - diff --git a/gas/testsuite/gas/h8300/bitops4s.s b/gas/testsuite/gas/h8300/bitops4s.s deleted file mode 100644 index e8f47b6dc21..00000000000 --- a/gas/testsuite/gas/h8300/bitops4s.s +++ /dev/null @@ -1,29 +0,0 @@ - .h8300s - .text -h8300s_bit_ops_4: - bor #0,r0l - bor #0,@er0 - bor #0,@64:8 - bor #0,@128:16 - bor #0,@65536:32 - bst #0,r0l - bst #0,@er0 - bst #0,@64:8 - bst #0,@128:16 - bst #0,@65536:32 - btst #0,r0l - btst #0,@er0 - btst #0,@64:8 - btst #0,@128:16 - btst #0,@65536:32 - btst r1l,r0l - btst r1l,@er0 - btst r1l,@64:8 - btst r1l,@128:16 - btst r1l,@65536:32 - bxor #0,r0l - bxor #0,@er0 - bxor #0,@64:8 - bxor #0,@128:16 - bxor #0,@65536:32 - diff --git a/gas/testsuite/gas/h8300/branch.s b/gas/testsuite/gas/h8300/branch.s deleted file mode 100644 index 25806153c42..00000000000 --- a/gas/testsuite/gas/h8300/branch.s +++ /dev/null @@ -1,10 +0,0 @@ - .text -h8300_branches: - bsr h8300_branches - jmp h8300_branches - jmp @r0 - jmp @@16:8 - jsr h8300_branches - jsr @r0 - jsr @@16:8 - diff --git a/gas/testsuite/gas/h8300/branchh.s b/gas/testsuite/gas/h8300/branchh.s deleted file mode 100644 index 7cbc62f3e2b..00000000000 --- a/gas/testsuite/gas/h8300/branchh.s +++ /dev/null @@ -1,12 +0,0 @@ - .h8300h - .text -h8300h_branches: - bsr h8300h_branches:8 - bsr h8300h_branches:16 - jmp h8300h_branches - jmp @er0 - jmp @@16:8 - jsr h8300h_branches - jsr @er0 - jsr @@16:8 - diff --git a/gas/testsuite/gas/h8300/branchs.s b/gas/testsuite/gas/h8300/branchs.s deleted file mode 100644 index 8f33e17967a..00000000000 --- a/gas/testsuite/gas/h8300/branchs.s +++ /dev/null @@ -1,12 +0,0 @@ - .h8300s - .text -h8300s_branches: - bsr h8300s_branches:8 - bsr h8300s_branches:16 - jmp h8300s_branches - jmp @er0 - jmp @@16:8 - jsr h8300s_branches - jsr @er0 - jsr @@16:8 - diff --git a/gas/testsuite/gas/h8300/cbranch.s b/gas/testsuite/gas/h8300/cbranch.s deleted file mode 100644 index ae3d53ed88c..00000000000 --- a/gas/testsuite/gas/h8300/cbranch.s +++ /dev/null @@ -1,23 +0,0 @@ - .text -h8300_cbranch: - bra h8300_cbranch - bt h8300_cbranch - brn h8300_cbranch - bf h8300_cbranch - bhi h8300_cbranch - bls h8300_cbranch - bcc h8300_cbranch - bhs h8300_cbranch - bcs h8300_cbranch - blo h8300_cbranch - bne h8300_cbranch - beq h8300_cbranch - bvc h8300_cbranch - bvs h8300_cbranch - bpl h8300_cbranch - bmi h8300_cbranch - bge h8300_cbranch - blt h8300_cbranch - bgt h8300_cbranch - ble h8300_cbranch - diff --git a/gas/testsuite/gas/h8300/cbranchh.s b/gas/testsuite/gas/h8300/cbranchh.s deleted file mode 100644 index a64e1a2aade..00000000000 --- a/gas/testsuite/gas/h8300/cbranchh.s +++ /dev/null @@ -1,44 +0,0 @@ - .text - .h8300h -h8300h_cbranch: - bra h8300h_cbranch:8 - bt h8300h_cbranch:8 - brn h8300h_cbranch:8 - bf h8300h_cbranch:8 - bhi h8300h_cbranch:8 - bls h8300h_cbranch:8 - bcc h8300h_cbranch:8 - bhs h8300h_cbranch:8 - bcs h8300h_cbranch:8 - blo h8300h_cbranch:8 - bne h8300h_cbranch:8 - beq h8300h_cbranch:8 - bvc h8300h_cbranch:8 - bvs h8300h_cbranch:8 - bpl h8300h_cbranch:8 - bmi h8300h_cbranch:8 - bge h8300h_cbranch:8 - blt h8300h_cbranch:8 - bgt h8300h_cbranch:8 - ble h8300h_cbranch:8 - bra h8300h_cbranch:16 - bt h8300h_cbranch:16 - brn h8300h_cbranch:16 - bf h8300h_cbranch:16 - bhi h8300h_cbranch:16 - bls h8300h_cbranch:16 - bcc h8300h_cbranch:16 - bhs h8300h_cbranch:16 - bcs h8300h_cbranch:16 - blo h8300h_cbranch:16 - bne h8300h_cbranch:16 - beq h8300h_cbranch:16 - bvc h8300h_cbranch:16 - bvs h8300h_cbranch:16 - bpl h8300h_cbranch:16 - bmi h8300h_cbranch:16 - bge h8300h_cbranch:16 - blt h8300h_cbranch:16 - bgt h8300h_cbranch:16 - ble h8300h_cbranch:16 - diff --git a/gas/testsuite/gas/h8300/cbranchs.s b/gas/testsuite/gas/h8300/cbranchs.s deleted file mode 100644 index 14222ea7721..00000000000 --- a/gas/testsuite/gas/h8300/cbranchs.s +++ /dev/null @@ -1,44 +0,0 @@ - .text - .h8300s -h8300s_cbranch: - bra h8300s_cbranch:8 - bt h8300s_cbranch:8 - brn h8300s_cbranch:8 - bf h8300s_cbranch:8 - bhi h8300s_cbranch:8 - bls h8300s_cbranch:8 - bcc h8300s_cbranch:8 - bhs h8300s_cbranch:8 - bcs h8300s_cbranch:8 - blo h8300s_cbranch:8 - bne h8300s_cbranch:8 - beq h8300s_cbranch:8 - bvc h8300s_cbranch:8 - bvs h8300s_cbranch:8 - bpl h8300s_cbranch:8 - bmi h8300s_cbranch:8 - bge h8300s_cbranch:8 - blt h8300s_cbranch:8 - bgt h8300s_cbranch:8 - ble h8300s_cbranch:8 - bra h8300s_cbranch:16 - bt h8300s_cbranch:16 - brn h8300s_cbranch:16 - bf h8300s_cbranch:16 - bhi h8300s_cbranch:16 - bls h8300s_cbranch:16 - bcc h8300s_cbranch:16 - bhs h8300s_cbranch:16 - bcs h8300s_cbranch:16 - blo h8300s_cbranch:16 - bne h8300s_cbranch:16 - beq h8300s_cbranch:16 - bvc h8300s_cbranch:16 - bvs h8300s_cbranch:16 - bpl h8300s_cbranch:16 - bmi h8300s_cbranch:16 - bge h8300s_cbranch:16 - blt h8300s_cbranch:16 - bgt h8300s_cbranch:16 - ble h8300s_cbranch:16 - diff --git a/gas/testsuite/gas/h8300/cmpsi2.s b/gas/testsuite/gas/h8300/cmpsi2.s deleted file mode 100644 index ef7f03aa92b..00000000000 --- a/gas/testsuite/gas/h8300/cmpsi2.s +++ /dev/null @@ -1,28 +0,0 @@ -# 1 "libgcc1.S" -;; libgcc1 routines for the Hitachi h8/300 cpu. -;; Contributed by Steve Chamberlain. -;; sac@cygnus.com - .section .text - .align 2 - .global ___cmpsi2 -___cmpsi2: - cmp.w r2 ,r0 - bne .L2 - cmp.w r3 ,r1 - bne .L2 - mov.w #1,r0 - rts -.L2: - cmp.w r0 ,r2 - bgt .L4 - bne .L3 - cmp.w r1 ,r3 - bls .L3 -.L4: - sub.w r0 ,r0 - rts -.L3: - mov.w #2,r0 -.L5: - rts - .end diff --git a/gas/testsuite/gas/h8300/compare.s b/gas/testsuite/gas/h8300/compare.s deleted file mode 100644 index 60c1a417d76..00000000000 --- a/gas/testsuite/gas/h8300/compare.s +++ /dev/null @@ -1,6 +0,0 @@ - .text -h8300_cmp: - cmp.b #0,r0l - cmp.b r0h,r0l - cmp.w r0,r1 - diff --git a/gas/testsuite/gas/h8300/compareh.s b/gas/testsuite/gas/h8300/compareh.s deleted file mode 100644 index c81e88e0c20..00000000000 --- a/gas/testsuite/gas/h8300/compareh.s +++ /dev/null @@ -1,10 +0,0 @@ - .h8300h - .text -h8300h_cmp: - cmp.b #0,r0l - cmp.b r0h,r0l - cmp.w #32,r0 - cmp.w r0,r1 - cmp.l #64,er0 - cmp.l er0,er1 - diff --git a/gas/testsuite/gas/h8300/compares.s b/gas/testsuite/gas/h8300/compares.s deleted file mode 100644 index e23f3fe8e94..00000000000 --- a/gas/testsuite/gas/h8300/compares.s +++ /dev/null @@ -1,10 +0,0 @@ - .h8300s - .text -h8300s_cmp: - cmp.b #0,r0l - cmp.b r0h,r0l - cmp.w #32,r0 - cmp.w r0,r1 - cmp.l #64,er0 - cmp.l er0,er1 - diff --git a/gas/testsuite/gas/h8300/decimal.s b/gas/testsuite/gas/h8300/decimal.s deleted file mode 100644 index 8d4c0a0da9d..00000000000 --- a/gas/testsuite/gas/h8300/decimal.s +++ /dev/null @@ -1,5 +0,0 @@ - .text -h8300_decimal: - daa r0l - das r0l - diff --git a/gas/testsuite/gas/h8300/decimalh.s b/gas/testsuite/gas/h8300/decimalh.s deleted file mode 100644 index 939240568eb..00000000000 --- a/gas/testsuite/gas/h8300/decimalh.s +++ /dev/null @@ -1,6 +0,0 @@ - .h8300h - .text -h8300h_decimal: - daa r0l - das r0l - diff --git a/gas/testsuite/gas/h8300/decimals.s b/gas/testsuite/gas/h8300/decimals.s deleted file mode 100644 index b7802fcf1ac..00000000000 --- a/gas/testsuite/gas/h8300/decimals.s +++ /dev/null @@ -1,6 +0,0 @@ - .h8300s - .text -h8300s_decimal: - daa r0l - das r0l - diff --git a/gas/testsuite/gas/h8300/divmul.s b/gas/testsuite/gas/h8300/divmul.s deleted file mode 100644 index 37372ce4841..00000000000 --- a/gas/testsuite/gas/h8300/divmul.s +++ /dev/null @@ -1,5 +0,0 @@ - .text -h8300_div_mul: - divxu r0l,r1 - mulxu r0l,r1 - diff --git a/gas/testsuite/gas/h8300/divmulh.s b/gas/testsuite/gas/h8300/divmulh.s deleted file mode 100644 index db60f8f49aa..00000000000 --- a/gas/testsuite/gas/h8300/divmulh.s +++ /dev/null @@ -1,12 +0,0 @@ - .h8300h - .text -h8300h_div_mul: - divxu.b r0l,r1 - divxu.w r0,er1 - divxs.b r0l,r1 - divxs.w r0,er1 - mulxu.b r0l,r1 - mulxu.w r0,er1 - mulxs.b r0l,r1 - mulxs.w r0,er1 - diff --git a/gas/testsuite/gas/h8300/divmuls.s b/gas/testsuite/gas/h8300/divmuls.s deleted file mode 100644 index db60f8f49aa..00000000000 --- a/gas/testsuite/gas/h8300/divmuls.s +++ /dev/null @@ -1,12 +0,0 @@ - .h8300h - .text -h8300h_div_mul: - divxu.b r0l,r1 - divxu.w r0,er1 - divxs.b r0l,r1 - divxs.w r0,er1 - mulxu.b r0l,r1 - mulxu.w r0,er1 - mulxs.b r0l,r1 - mulxs.w r0,er1 - diff --git a/gas/testsuite/gas/h8300/extendh.s b/gas/testsuite/gas/h8300/extendh.s deleted file mode 100644 index c034c833ee6..00000000000 --- a/gas/testsuite/gas/h8300/extendh.s +++ /dev/null @@ -1,8 +0,0 @@ - .h8300h - .text -h8300h_extend: - exts.w r0 - exts.l er0 - extu.w r0 - extu.l er0 - diff --git a/gas/testsuite/gas/h8300/extends.s b/gas/testsuite/gas/h8300/extends.s deleted file mode 100644 index a26e9ba70a3..00000000000 --- a/gas/testsuite/gas/h8300/extends.s +++ /dev/null @@ -1,8 +0,0 @@ - .h8300s - .text -h8300s_extend: - exts.w r0 - exts.l er0 - extu.w r0 - extu.l er0 - diff --git a/gas/testsuite/gas/h8300/ffxx1.d b/gas/testsuite/gas/h8300/ffxx1.d deleted file mode 100644 index 93455d52175..00000000000 --- a/gas/testsuite/gas/h8300/ffxx1.d +++ /dev/null @@ -1,23 +0,0 @@ -#objdump: --prefix-addresses -dr -#name: FFxx1 - -# Test for FFxx:8 addressing. - -.*: file format .*h8300.* - -Disassembly of section .text: - ... - 0: 16 main -0+0400 <main> f8 7f mov.b #0x7f,r0l -0+0402 <main[+](0x|)2> 28 bb mov.b @0xbb:8,r0l -0+0404 <main[+](0x|)4> 6a 88 ff b9 mov.b r0l,@0xffb9:16 -0+0408 <main[+](0x|)8> f8 01 mov.b #0x1,r0l -0+040a <loop> 6a 88 ff bb mov.b r0l,@0xffbb:16 -0+040e <delay> 79 01 00 00 mov.w #0x0,r1 -0+0412 <deloop> 0b 01 adds #0x1,er1 -0+0414 <deloop[+](0x|)2> 46 00 bne .0 \(416\) - 415: DISP8 deloop[+]0xffffffff -0+0416 <deloop[+](0x|)4> 12 88 rotl r0l -0+0418 <deloop[+](0x|)6> 40 00 bra .0 \(41a\) - 419: DISP8 loop[+]0xffffffff - ... diff --git a/gas/testsuite/gas/h8300/ffxx1.s b/gas/testsuite/gas/h8300/ffxx1.s deleted file mode 100644 index 53fc84160d4..00000000000 --- a/gas/testsuite/gas/h8300/ffxx1.s +++ /dev/null @@ -1,20 +0,0 @@ - .equ p6ddr, 0xffb9 ;0x7f for output - .equ p6dr, 0xffbb - .equ seed, 0x01 - .text - .org 0 -reset: .word main ;reset vector -; - .org 0x400 -main: mov.b #0x7f,r0l ;port 6 ddr = 7F - mov.b @0xffbb:8,r0l ;***test*** - mov.b r0l,@p6ddr:16 -; - mov.b #seed,r0l ;start with 0000001 -loop: mov.b r0l,@p6dr:16 ;output to port 6 -delay: mov.w #0x0000,r1 -deloop: adds.w #1,r1 - bne deloop:8 ;not = 0 - rotl r0l - bra loop:8 - .word 0 diff --git a/gas/testsuite/gas/h8300/h8300.exp b/gas/testsuite/gas/h8300/h8300.exp deleted file mode 100644 index 2b7d41ec0b9..00000000000 --- a/gas/testsuite/gas/h8300/h8300.exp +++ /dev/null @@ -1,2183 +0,0 @@ -# -# Some H8/300 tests -# -proc do_h8300_add_sub {} { - set testname "addsub.s: h8300 add/sub tests" - set x 0 - - gas_start "addsub.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 8910\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 0819\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 0912\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 0B04\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 0B85\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 0E89\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 9210\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 1889\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 1901\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 1B04\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 1B85\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 1E89\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 B210\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 13] then { pass $testname } else { fail $testname } -} - -proc do_h8300_logical {} { - set testname "logical.s: h8300 logical tests" - set x 0 - - gas_start "logical.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 E910\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1691\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 0610\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 C810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 1498\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 0410\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c D810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 1589\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 0510\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 1788\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 1708\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 11] then { pass $testname } else { fail $testname } -} - -proc do_h8300_cbranch {} { - set testname "cbranch.s: h8300 conditional branch tests" - set x 0 - - gas_start "cbranch.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 4000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 4000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 4100\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 4100\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 4200\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 4300\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 4400\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 4400\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 4500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 4500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 4600\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 4700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 4800\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 4900\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001c 4A00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 4B00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 4C00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 4D00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 4E00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 4F00\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 20] then { pass $testname } else { fail $testname } -} - -proc do_h8300_bitops1 {} { - set testname "bitops1.s: h8300 bitops tests #1" - set x 0 - - gas_start "bitops1.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7608\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7C007600\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 7E407600\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 7208\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 7D007200\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 7F407200\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 6298\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 7D006290\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 7F406290\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 7688\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 7C007680\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 7E407680\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0028 7788\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002a 7C007780\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 7E407780\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 15] then { pass $testname } else { fail $testname } -} - -proc do_h8300_bitops2 {} { - set testname "bitops2.s: h8300 bitops tests #2" - set x 0 - - gas_start "bitops2.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7488\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7C007480\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 7E407480\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 6788\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 7D006780\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 7F406780\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 7588\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 7C007580\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 7E407580\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 7708\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 7C007700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 7E407700\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 12] then { pass $testname } else { fail $testname } -} - -proc do_h8300_bitops3 {} { - set testname "bitops3.s: h8300 bitops tests #3" - set x 0 - - gas_start "bitops3.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7108\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7D007100\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 7F407100\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 6198\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 7D006190\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 7F406190\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 7008\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 7D007000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 7F407000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 6098\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 7D006090\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 7F406090\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 12] then { pass $testname } else { fail $testname } -} - -proc do_h8300_bitops4 {} { - set testname "bitops4.s: h8300 bitops tests #4" - set x 0 - - gas_start "bitops4.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7408\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7C007400\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 7E407400\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 6708\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 7D006700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 7F406700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 7308\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 7C007300\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 7E407300\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 6398\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 7C006390\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 7E406390\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0028 7508\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002a 7C007500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 7E407500\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 15] then { pass $testname } else { fail $testname } -} - -proc do_h8300_branch {} { - set testname "branch.s: h8300 branch tests" - set x 0 - - gas_start "branch.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 5500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 5A000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 5900\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 5B00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 5E000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 5D00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 5F00\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 7] then { pass $testname } else { fail $testname } -} - -proc do_h8300_compare {} { - set testname "compare.s: h8300 compare tests" - set x 0 - - gas_start "compare.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 A800\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1C08\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 1D01\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 3] then { pass $testname } else { fail $testname } -} - -proc do_h8300_decimal {} { - set testname "decimal.s: h8300 decimal tests" - set x 0 - - gas_start "decimal.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 0F08\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1F08\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 2] then { pass $testname } else { fail $testname } -} - -proc do_h8300_incdec {} { - set testname "incdec.s: h8300 incdec tests" - set x 0 - - gas_start "incdec.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 1A08\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 0A08\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 2] then { pass $testname } else { fail $testname } -} - -proc do_h8300_divmul {} { - set testname "divmul.s: h8300 divmul tests" - set x 0 - - gas_start "divmul.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 5181\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 5081\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 2] then { pass $testname } else { fail $testname } -} - -proc do_h8300_misc {} { - set testname "misc.s: h8300 misc tests" - set x 0 - - gas_start "misc.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7B5C598F\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 0700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 0308\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 5670\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 5470\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 0180\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 0208\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 8] then { pass $testname } else { fail $testname } - - setup_xfail "h8300*-*-*" - fail "h8300 movfpe/movtpe tests" -} - -proc do_h8300_movb {} { - set testname "movb.s: h8300 movb tests" - set x 0 - - gas_start "movb.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 0C89\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 F810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 6818\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 6E180010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 6C18\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 2810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 6A080000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 6898\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 6E980010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 6C98\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 3810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001c 6A880000\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 12] then { pass $testname } else { fail $testname } -} - -proc do_h8300_movw {} { - set testname "movw.s: h8300 movw tests" - set x 0 - - gas_start "movw.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 0D01\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 79000010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 6910\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 6F100010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 6D10\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 6B000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 6990\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 6F900010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 6D90\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 6B800000\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 10] then { pass $testname } else { fail $testname } -} - -proc do_h8300_pushpop {} { - set testname "pushpop.s: h8300 pushpop tests" - set x 0 - - gas_start "pushpop.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 6D70\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 6DF0\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 2] then { pass $testname } else { fail $testname } -} - -proc do_h8300_rotate_shift {} { - set testname "rotsh.s: h8300 rotate and shift tests" - set x 0 - - gas_start "rotsh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 1288\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1388\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 1208\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 1308\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 1088\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 1188\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 1008\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 1108\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 8] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_add_sub {} { - set testname "addsubh.s: h8300h add/sub tests" - set x 0 - - gas_start "addsubh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 8910\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 0819\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 79110020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 0912\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 7A110000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 0A92\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 0B04\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 0B85\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 0B96\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 0E89\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 9210\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001c 1889\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 79310010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 1901\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 7A310000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002a 1A92\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002c 1B04\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 1B85\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 1B96\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0032 1E89\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0034 B210\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 21] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_logical {} { - set testname "logicalh.s: h8300h logical tests" - set x 0 - - gas_start "logicalh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 E910\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1691\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 79610020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 6611\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 7A610000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 01F06611\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 0610\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 C810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 1498\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 79410020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 6411\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 7A410000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 01F06411\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002a 0410\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002c D810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 1589\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 79510020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0034 6511\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0036 7A510000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003c 01F06511\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0040 0510\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0042 1788\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0044 1790\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0046 17B0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0048 1708\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004a 1710\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004c 1730\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 27] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_cbranch {} { - set testname "cbranchh.s: h8300h conditional branch tests" - set x 0 - - gas_start "cbranchh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 4000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 4000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 4100\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 4100\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 4200\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 4300\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 4400\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 4400\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 4500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 4500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 4600\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 4700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 4800\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 4900\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001c 4A00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 4B00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 4C00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 4D00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 4E00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 4F00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0028 58000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002c 58000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 58100000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0034 58100000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0038 58200000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003c 58300000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0040 58400000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0044 58400000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0048 58500000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004c 58500000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0050 58600000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0054 58700000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0058 58800000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 005c 58900000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0060 58A00000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0064 58B00000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0068 58C00000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 006c 58D00000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0070 58E00000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0074 58F00000\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 40] then { pass $testname } else { fail $testname } -} -proc do_h8300h_bitops1 {} { - set testname "bitops1h.s: h8300h bitops tests #1" - set x 0 - - gas_start "bitops1h.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7608\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7C007600\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 7E407600\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 7208\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 7D007200\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 7F407200\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 6298\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 7D006290\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 7F406290\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 7688\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 7C007680\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 7E407680\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0028 7788\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002a 7C007780\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 7E407780\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 15] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_bitops2 {} { - set testname "bitops2h.s: h8300h bitops tests #2" - set x 0 - - gas_start "bitops2h.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7488\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7C007480\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 7E407480\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 6788\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 7D006780\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 7F406780\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 7588\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 7C007580\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 7E407580\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 7708\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 7C007700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 7E407700\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 12] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_bitops3 {} { - set testname "bitops3h.s: h8300h bitops tests #3" - set x 0 - - gas_start "bitops3h.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7108\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7D007100\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 7F407100\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 6198\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 7D006190\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 7F406190\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 7008\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 7D007000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 7F407000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 6098\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 7D006090\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 7F406090\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 12] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_bitops4 {} { - set testname "bitops4h.s: h8300h bitops tests #4" - set x 0 - - gas_start "bitops4h.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7408\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7C007400\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 7E407400\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 6708\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 7D006700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 7F406700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 7308\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 7C007300\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 7E407300\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 6398\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 7C006390\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 7E406390\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0028 7508\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002a 7C007500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 7E407500\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 15] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_branch {} { - set testname "branchh.s: h8300h branch tests" - set x 0 - - gas_start "branchh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 5500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 5C000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 5A000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 5900\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 5B00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 5E000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 5D00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 5F00\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 8] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_compare {} { - set testname "compareh.s: h8300h compare tests" - set x 0 - - gas_start "compareh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 A800\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1C08\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 79200020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 1D01\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 7A200000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 1F81\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 6] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_decimal {} { - set testname "decimalh.s: h8300h decimal tests" - set x 0 - - gas_start "decimalh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 0F08\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1F08\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 2] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_incdec {} { - set testname "incdech.s: h8300h incdec tests" - set x 0 - - gas_start "incdech.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 1A08\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1B50\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 1BD0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 1B70\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 1BF0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 0A08\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 0B50\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 0BD0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 0B70\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 0BF0\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 10] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_divmul {} { - set testname "divmulh.s: h8300h divmul tests" - set x 0 - - gas_start "divmulh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 5181\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 5301\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 01D05181\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 01D05301\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 5081\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 5201\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 01C05081\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 01C05201\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 8] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_misc {} { - set testname "misch.s: h8300h misc tests" - set x 0 - - gas_start "misch.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7B5C598F\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 7BD4598F\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 0700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 0308\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 01406900\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 01406F00\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 01407800\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 01406D00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 01406B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002a 01406B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0032 0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0034 5670\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0036 5470\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0038 0180\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003a 0208\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003c 01406980\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0040 01406F80\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0046 01407800\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0050 01406D80\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0054 01406B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 005a 01406BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 21] then { pass $testname } else { fail $testname } - - setup_xfail "h8300*-*-*" - fail "h8300h movfpe/movtpe tests" -} - -proc do_h8300h_movb {} { - set testname "movbh.s: h8300h movb tests" - set x 0 - - gas_start "movbh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 0C89\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 F810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 6818\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 6E180010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 78106A28\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 6C18\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 2810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 6A080000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 6A280000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 6898\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 6E980010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 78106AA8\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 6C98\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 3810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0032 6A880000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0036 6AA80000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 16] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_movw {} { - set testname "movwh.s: h8300h movw tests" - set x 0 - - gas_start "movwh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 0D01\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 79000010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 6910\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 6F100010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 78106B20\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 6D10\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 6B000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 6B200000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 6990\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 6F900010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 78106BA0\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 6D90\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 6B800000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0034 6BA00000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 14] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_movl {} { - set testname "movlh.s: h8300h movl tests" - set x 0 - - gas_start "movlh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 0F81\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7A000000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 01006910\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 01006F10\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 01007810\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001c 01006D10\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 01006B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 01006B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 01006990\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0032 01006F90\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0038 01007890\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0042 01006D90\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0046 01006B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004c 01006BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 14] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_pushpop {} { - set testname "pushpoph.s: h8300h pushpop tests" - set x 0 - - gas_start "pushpoph.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 6D70\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 01006D70\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 6DF0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 01006DF0\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 4] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_rotate_shift {} { - set testname "rotshh.s: h8300h rotate and shift tests" - set x 0 - - gas_start "rotshh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 1288\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1290\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 12B0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 1388\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 1390\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 13B0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 1208\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 1210\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 1230\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 1308\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 1310\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 1330\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 1088\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 1090\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001c 10B0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 1188\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 1190\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 11B0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 1008\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 1010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0028 1030\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002a 1108\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002c 1110\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 1130\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 24] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_extend {} { - set testname "extendh.s: h8300h extend tests" - set x 0 - - gas_start "extendh.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 17D0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 17F0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 1750\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 1770\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 4] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_add_sub {} { - set testname "addsubs.s: h8300s add/sub tests" - set x 0 - - gas_start "addsubs.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 8910\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 0819\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 79110020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 0912\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 7A110000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 0A92\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 0B04\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 0B85\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 0B96\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 0E89\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 9210\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001c 1889\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 79310010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 1901\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 7A310000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002a 1A92\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002c 1B04\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 1B85\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 1B96\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0032 1E89\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0034 B210\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 21] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_logical {} { - set testname "logicals.s: h8300s logical tests" - set x 0 - - gas_start "logicals.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 E910\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1691\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 79610020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 6611\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 7A610000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 01F06611\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 0610\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 01410610\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a C810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001c 1498\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 79410020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 6411\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 7A410000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002a 01F06411\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 0410\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 01410410\[^\n\]*\n" { set x [expr $x+1] } - - -re " +\[0-9\]+ 0034 D810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0036 1589\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0038 79510020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003c 6511\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003e 7A510000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0044 01F06511\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0048 0510\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004a 01410510\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004e 1788\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0050 1790\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0052 17B0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0054 1708\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0056 1710\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0058 1730\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 30] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_cbranch {} { - set testname "cbranchs.s: h8300s conditional branch tests" - set x 0 - - gas_start "cbranchs.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 4000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 4000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 4100\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 4100\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 4200\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 4300\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 4400\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 4400\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 4500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 4500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 4600\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 4700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 4800\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 4900\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001c 4A00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 4B00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 4C00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 4D00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 4E00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 4F00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0028 58000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002c 58000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 58100000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0034 58100000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0038 58200000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003c 58300000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0040 58400000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0044 58400000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0048 58500000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004c 58500000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0050 58600000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0054 58700000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0058 58800000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 005c 58900000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0060 58A00000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0064 58B00000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0068 58C00000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 006c 58D00000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0070 58E00000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0074 58F00000\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 40] then { pass $testname } else { fail $testname } -} -proc do_h8300s_bitops1 {} { - set testname "bitops1s.s: h8300s bitops tests #1" - set x 0 - - gas_start "bitops1s.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7608\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7C007600\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 7E407600\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 6A100080\[^\n\]*\n +\[0-9\]+ +7600" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 6A300001\[^\n\]*\n +\[0-9\]+ +00007600" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 7208\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 7D007200\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 7F407200\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 6A180080\[^\n\]*\n +\[0-9\]+ +7200" { set x [expr $x+1] } - -re " +\[0-9\]+ 0028 6A380001\[^\n\]*\n +\[0-9\]+ +00007200" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 6298\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0032 7D006290\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0036 7F406290\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003a 6A180080\[^\n\]*\n +\[0-9\]+ +6290" { set x [expr $x+1] } - -re " +\[0-9\]+ 0040 6A380001\[^\n\]*\n +\[0-9\]+ +00006290" { set x [expr $x+1] } - -re " +\[0-9\]+ 0048 7688\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004a 7C007680\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004e 7E407680\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0052 6A100080\[^\n\]*\n +\[0-9\]+ +7680" { set x [expr $x+1] } - -re " +\[0-9\]+ 0058 6A300001\[^\n\]*\n +\[0-9\]+ +00007680" { set x [expr $x+1] } - -re " +\[0-9\]+ 0060 7788\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0062 7C007780\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0066 7E407780\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 006a 6A100080\[^\n\]*\n +\[0-9\]+ +7780" { set x [expr $x+1] } - -re " +\[0-9\]+ 0070 6A300001\[^\n\]*\n +\[0-9\]+ +00007780" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 25] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_bitops2 {} { - set testname "bitops2s.s: h8300s bitops tests #2" - set x 0 - - gas_start "bitops2s.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7488\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7C007480\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 7E407480\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 6A100080\[^\n\]*\n +\[0-9\]+ +7480" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 6A300001\[^\n\]*\n +\[0-9\]+ +00007480" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 6788\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 7D006780\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 7F406780\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 6A180080\[^\n\]*\n +\[0-9\]+ +6780" { set x [expr $x+1] } - -re " +\[0-9\]+ 0028 6A380001\[^\n\]*\n +\[0-9\]+ +00006780" { set x [expr $x+1] } - - -re " +\[0-9\]+ 0030 7588\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0032 7C007580\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0036 7E407580\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003a 6A100080\[^\n\]*\n +\[0-9\]+ +7580" { set x [expr $x+1] } - -re " +\[0-9\]+ 0040 6A300001\[^\n\]*\n +\[0-9\]+ +00007580" { set x [expr $x+1] } - -re " +\[0-9\]+ 0048 7708\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004a 7C007700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004e 7E407700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0052 6A100080\[^\n\]*\n +\[0-9\]+ +7700" { set x [expr $x+1] } - -re " +\[0-9\]+ 0058 6A300001\[^\n\]*\n +\[0-9\]+ +00007700" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 20] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_bitops3 {} { - set testname "bitops3s.s: h8300s bitops tests #3" - set x 0 - - gas_start "bitops3s.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7108\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7D007100\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 7F407100\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 6A180080\[^\n\]*\n +\[0-9\]+ +7100" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 6A380001\[^\n\]*\n +\[0-9\]+ +00007100" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 6198\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 7D006190\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 7F406190\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 6A180080\[^\n\]*\n +\[0-9\]+ +6190" { set x [expr $x+1] } - -re " +\[0-9\]+ 0028 6A380001\[^\n\]*\n +\[0-9\]+ +00006190" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 7008\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0032 7D007000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0036 7F407000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003a 6A180080\[^\n\]*\n +\[0-9\]+ +7000" { set x [expr $x+1] } - -re " +\[0-9\]+ 0040 6A380001\[^\n\]*\n +\[0-9\]+ +00007000" { set x [expr $x+1] } - -re " +\[0-9\]+ 0048 6098\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004a 7D006090\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004e 7F406090\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0052 6A180080\[^\n\]*\n +\[0-9\]+ +6090" { set x [expr $x+1] } - -re " +\[0-9\]+ 0058 6A380001\[^\n\]*\n +\[0-9\]+ +00006090" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 20] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_bitops4 {} { - set testname "bitops4s.s: h8300s bitops tests #4" - set x 0 - - gas_start "bitops4s.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7408\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7C007400\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 7E407400\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 6A100080\[^\n\]*\n +\[0-9\]+ +7400" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 6A300001\[^\n\]*\n +\[0-9\]+ +00007400" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 6708\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 7D006700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 7F406700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 6A180080\[^\n\]*\n +\[0-9\]+ +6700" { set x [expr $x+1] } - -re " +\[0-9\]+ 0028 6A380001\[^\n\]*\n +\[0-9\]+ +00006700" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 7308\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0032 7C007300\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0036 7E407300\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003a 6A100080\[^\n\]*\n +\[0-9\]+ +7300" { set x [expr $x+1] } - -re " +\[0-9\]+ 0040 6A300001\[^\n\]*\n +\[0-9\]+ +00007300" { set x [expr $x+1] } - -re " +\[0-9\]+ 0048 6398\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004a 7C006390\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004e 7E406390\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0052 6A100080\[^\n\]*\n +\[0-9\]+ +6390" { set x [expr $x+1] } - -re " +\[0-9\]+ 0058 6A300001\[^\n\]*\n +\[0-9\]+ +00006390" { set x [expr $x+1] } - -re " +\[0-9\]+ 0060 7508\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0062 7C007500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0066 7E407500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 006a 6A100080\[^\n\]*\n +\[0-9\]+ +7500" { set x [expr $x+1] } - -re " +\[0-9\]+ 0070 6A300001\[^\n\]*\n +\[0-9\]+ +00007500" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 25] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_branch {} { - set testname "branchs.s: h8300s branch tests" - set x 0 - - gas_start "branchs.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 5500\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 5C000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 5A000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 5900\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 5B00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 5E000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 5D00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 5F00\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 8] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_compare {} { - set testname "compares.s: h8300s compare tests" - set x 0 - - gas_start "compares.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 A800\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1C08\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 79200020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 1D01\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 7A200000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 1F81\[^\n\]*\n" { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 6] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_decimal {} { - set testname "decimals.s: h8300s decimal tests" - set x 0 - - gas_start "decimals.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 0F08\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1F08\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 2] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_incdec {} { - set testname "incdecs.s: h8300s incdec tests" - set x 0 - - gas_start "incdecs.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 1A08\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 1B50\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 1BD0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 1B70\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 1BF0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 0A08\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 0B50\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 0BD0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 0B70\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 0BF0\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 10] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_divmul {} { - set testname "divmuls.s: h8300s divmul tests" - set x 0 - - gas_start "divmuls.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 5181\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 5301\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 01D05181\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 01D05301\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 5081\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 5201\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 01C05081\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 01C05201\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 8] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_misc {} { - set testname "miscs.s: h8300s misc tests" - set x 0 - - gas_start "miscs.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 7B5C598F\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 7BD4598F\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 0700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 0308\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 01410700\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 0318\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 01406900\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 01406F00\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001c 01407800\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 01406D00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002a 01406B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 01406B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0038 01416900\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003c 01416F00\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0042 01417800\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004c 01416D00\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0050 01416B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0056 01416B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 005e 0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0060 5670\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0062 5470\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0064 0180\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0066 0208\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0068 0218\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 006a 01406980\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 006e 01406F80\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0074 01407800\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 007e 01406D80\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0082 01406B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0088 01406BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0090 01416980\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0094 01416F80\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 009a 01417800\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 00a4 01416D80\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 00a8 01416B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 00ae 01416BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 36] then { pass $testname } else { fail $testname } - - setup_xfail "h8300*-*-*" - fail "h8300s movfpe/movtpe tests" -} - -proc do_h8300s_movb {} { - set testname "movbs.s: h8300s movb tests" - set x 0 - - gas_start "movbs.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 0C89\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 F810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 6818\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 6E180010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 78106A28\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 6C18\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 2810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 6A080000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 6A280000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 6898\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 6E980010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 78106AA8\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 6C98\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 3810\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0032 6A880000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0036 6AA80000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 16] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_movw {} { - set testname "movws.s: h8300s movw tests" - set x 0 - - gas_start "movws.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 0D01\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 79000010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 6910\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 6F100010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 78106B20\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 6D10\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 6B000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 6B200000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 6990\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 6F900010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 78106BA0\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 6D90\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 6B800000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0034 6BA00000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 14] then { pass $testname } else { fail $testname } -} - - -proc do_h8300s_movl {} { - set testname "movls.s: h8300s movl tests" - set x 0 - - gas_start "movls.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 0F81\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 7A000000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 01006910\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 01006F10\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 01007810\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001c 01006D10\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 01006B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 01006B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 01006990\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0032 01006F90\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0038 01007890\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0042 01006D90\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0046 01006B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004c 01006BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 14] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_pushpop {} { - set testname "pushpops.s: h8300s pushpop tests" - set x 0 - - gas_start "pushpops.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 6D70\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 01006D70\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 6DF0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 01006DF0\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 4] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_rotate_shift {} { - set testname "rotshs.s: h8300s rotate and shift tests" - set x 0 - - gas_start "rotshs.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 1288\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 12C8\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 1290\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 12D0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 12B0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 12F0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 1388\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000e 13C8\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 1390\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0012 13D0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 13B0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0016 13F0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0018 1208\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001a 1248\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001c 1210\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 001e 1250\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0020 1230\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0022 1270\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0024 1308\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0026 1348\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0028 1310\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002a 1350\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002c 1330\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 002e 1370\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0030 1088\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0032 10C8\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0034 1090\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0036 10D0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0038 10B0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003a 10F0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003c 1188\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 003e 11C8\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0040 1190\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0042 11D0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0044 11B0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0046 11F0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0048 1008\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004a 1048\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004c 1010\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 004e 1050\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0050 1030\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0052 1070\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0054 1108\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0056 1148\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0058 1110\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 005a 1150\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 005c 1130\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 005e 1170\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 48] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_extend {} { - set testname "extends.s: h8300s extend tests" - set x 0 - - gas_start "extends.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 17D0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 17F0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 1750\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 1770\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 4] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_mac {} { - set testname "macs.s: h8300s mac tests" - set x 0 - - gas_start "macs.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 01A0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0002 0320\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 0331\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0006 01606D01\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000a 0220\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 0231\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 6] then { pass $testname } else { fail $testname } -} - -proc do_h8300s_multiple {} { - set testname "multiples.s: h8300s multiple tests" - set x 0 - - gas_start "multiples.s" "-al" - - # Check each instruction bit pattern to verify it got - # assembled correctly. - while 1 { - expect { - -re " +\[0-9\]+ 0000 01106D71\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0004 01206D72\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0008 01306D73\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 000c 01106DF0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0010 01206DF0\[^\n\]*\n" { set x [expr $x+1] } - -re " +\[0-9\]+ 0014 01306DF0\[^\n\]*\n" { set x [expr $x+1] } - eof { break } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - gas_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 6] then { pass $testname } else { fail $testname } -} - -proc do_h8300h_mov32bug {} { - set testname "mov32bug.s: h8300h mov32bug test" - set x 0 - - if [gas_test_old "mov32bug.s" "" "Proper relocation for mov.l (part 1)"] then { - objdump_start_no_subdir "a.out" "-r" - - while 1 { - expect { - -re "00000002\[^\n\]*32\[^\n\]*_a.0x0*88ca6c00\[^\n\]*\n" - { set x [expr $x+1] } - timeout { perror "timeout\n; break } - eof { break } - } - } - } - - # This was intended to do any cleanup necessary. It kinda looks like it - # isn't needed, but just in case, please keep it in for now. - objdump_finish - - # Did we find what we were looking for? If not, flunk it. - if [expr $x == 1] then { pass $testname } else { fail $testname } -} - -if [istarget h8300*-*-*] then { - # Test the basic h8300 instruction parser - do_h8300_add_sub - do_h8300_logical - do_h8300_cbranch - do_h8300_bitops1 - do_h8300_bitops2 - do_h8300_bitops3 - do_h8300_bitops4 - do_h8300_branch - do_h8300_compare - do_h8300_decimal - do_h8300_incdec - do_h8300_divmul - do_h8300_misc - do_h8300_movb - do_h8300_movw - do_h8300_pushpop - do_h8300_rotate_shift - - # Now test the h8300h instruction parser - do_h8300h_add_sub - do_h8300h_logical - do_h8300h_cbranch - do_h8300h_bitops1 - do_h8300h_bitops2 - do_h8300h_bitops3 - do_h8300h_bitops4 - do_h8300h_branch - do_h8300h_compare - do_h8300h_decimal - do_h8300h_incdec - do_h8300h_divmul - do_h8300h_misc - do_h8300h_movb - do_h8300h_movw - do_h8300h_movl - do_h8300_pushpop - do_h8300h_rotate_shift - do_h8300h_extend - - # Now test the h8300s instruction parser - do_h8300s_add_sub - do_h8300s_logical - do_h8300s_cbranch - do_h8300s_bitops1 - do_h8300s_bitops2 - do_h8300s_bitops3 - do_h8300s_bitops4 - do_h8300s_branch - do_h8300s_compare - do_h8300s_decimal - do_h8300s_incdec - do_h8300s_divmul - do_h8300s_misc - do_h8300s_movb - do_h8300s_movw - do_h8300s_movl - do_h8300_pushpop - do_h8300s_rotate_shift - do_h8300s_extend - do_h8300s_mac - do_h8300s_multiple - - do_h8300h_mov32bug - - # Now some random tests - set svr4pic [expr [istarget *-*-elf*] || [istarget *-*-irix5*] ] - set empic [expr [istarget *-*-ecoff*] || [istarget *-*-ultrix*] || [istarget *-*-irix\[1-4\]*] ] - set aout [expr [istarget *-*-bsd*] || [istarget *-*-netbsd*]] - - run_dump_test "ffxx1" - gas_test "cmpsi2.s" "" "" "cmpsi2.s" -} diff --git a/gas/testsuite/gas/h8300/incdec.s b/gas/testsuite/gas/h8300/incdec.s deleted file mode 100644 index 26188277317..00000000000 --- a/gas/testsuite/gas/h8300/incdec.s +++ /dev/null @@ -1,5 +0,0 @@ - .text -h8300_incdec: - dec r0l - inc r0l - diff --git a/gas/testsuite/gas/h8300/incdech.s b/gas/testsuite/gas/h8300/incdech.s deleted file mode 100644 index bb93fc54b36..00000000000 --- a/gas/testsuite/gas/h8300/incdech.s +++ /dev/null @@ -1,14 +0,0 @@ - .h8300h - .text -h8300h_incdec: - dec.b r0l - dec.w #1,r0 - dec.w #2,r0 - dec.l #1,er0 - dec.l #2,er0 - inc.b r0l - inc.w #1,r0 - inc.w #2,r0 - inc.l #1,er0 - inc.l #2,er0 - diff --git a/gas/testsuite/gas/h8300/incdecs.s b/gas/testsuite/gas/h8300/incdecs.s deleted file mode 100644 index 2345708b023..00000000000 --- a/gas/testsuite/gas/h8300/incdecs.s +++ /dev/null @@ -1,14 +0,0 @@ - .h8300s - .text -h8300s_incdec: - dec.b r0l - dec.w #1,r0 - dec.w #2,r0 - dec.l #1,er0 - dec.l #2,er0 - inc.b r0l - inc.w #1,r0 - inc.w #2,r0 - inc.l #1,er0 - inc.l #2,er0 - diff --git a/gas/testsuite/gas/h8300/logical.s b/gas/testsuite/gas/h8300/logical.s deleted file mode 100644 index 3f7e3b7145d..00000000000 --- a/gas/testsuite/gas/h8300/logical.s +++ /dev/null @@ -1,14 +0,0 @@ - .text -h8300_logical: - and #16,r1l - and r1l,r1h - andc #16,ccr - or #16,r0l - or r1l,r0l - orc #16,ccr - xor #16,r0l - xor r0l,r1l - xorc #16,ccr - neg r0l - not r0l - diff --git a/gas/testsuite/gas/h8300/logicalh.s b/gas/testsuite/gas/h8300/logicalh.s deleted file mode 100644 index 9e95f11d454..00000000000 --- a/gas/testsuite/gas/h8300/logicalh.s +++ /dev/null @@ -1,31 +0,0 @@ - .h8300h - .text -h8300h_logical: - and.b #16,r1l - and.b r1l,r1h - and.w #32,r1 - and.w r1,r1 - and.l #64,er1 - and.l er1,er1 - andc #16,ccr - or.b #16,r0l - or.b r1l,r0l - or.w #32,r1 - or.w r1,r1 - or.l #64,er1 - or.l er1,er1 - orc #16,ccr - xor.b #16,r0l - xor.b r0l,r1l - xor.w #32,r1 - xor.w r1,r1 - xor.l #64,er1 - xor.l er1,er1 - xorc #16,ccr - neg.b r0l - neg.w r0 - neg.l er0 - not.b r0l - not.w r0 - not.l er0 - diff --git a/gas/testsuite/gas/h8300/logicals.s b/gas/testsuite/gas/h8300/logicals.s deleted file mode 100644 index c3c4cbaaf0f..00000000000 --- a/gas/testsuite/gas/h8300/logicals.s +++ /dev/null @@ -1,34 +0,0 @@ - .h8300s - .text -h8300s_logical: - and.b #16,r1l - and.b r1l,r1h - and.w #32,r1 - and.w r1,r1 - and.l #64,er1 - and.l er1,er1 - andc #16,ccr - andc #16,exr - or.b #16,r0l - or.b r1l,r0l - or.w #32,r1 - or.w r1,r1 - or.l #64,er1 - or.l er1,er1 - orc #16,ccr - orc #16,exr - xor.b #16,r0l - xor.b r0l,r1l - xor.w #32,r1 - xor.w r1,r1 - xor.l #64,er1 - xor.l er1,er1 - xorc #16,ccr - xorc #16,exr - neg.b r0l - neg.w r0 - neg.l er0 - not.b r0l - not.w r0 - not.l er0 - diff --git a/gas/testsuite/gas/h8300/macs.s b/gas/testsuite/gas/h8300/macs.s deleted file mode 100644 index e2df6ddb652..00000000000 --- a/gas/testsuite/gas/h8300/macs.s +++ /dev/null @@ -1,11 +0,0 @@ - .h8300s - .text -h8300s_mac: - clrmac - ldmac er0,mach - ldmac er1,macl - mac @er0+,@er1+ - stmac mach,er0 - stmac macl,er1 - - diff --git a/gas/testsuite/gas/h8300/misc.s b/gas/testsuite/gas/h8300/misc.s deleted file mode 100644 index 1f6f8084b67..00000000000 --- a/gas/testsuite/gas/h8300/misc.s +++ /dev/null @@ -1,13 +0,0 @@ - .text -h8300_misc: - eepmov - ldc #0,ccr - ldc r0l,ccr -; movfpe 16:16,r0l -; movtpe r0l,16:16 - nop - rte - rts - sleep - stc ccr,r0l - diff --git a/gas/testsuite/gas/h8300/misch.s b/gas/testsuite/gas/h8300/misch.s deleted file mode 100644 index f7ecb3de079..00000000000 --- a/gas/testsuite/gas/h8300/misch.s +++ /dev/null @@ -1,27 +0,0 @@ - .h8300h - .text -h8300h_misc: - eepmov.b - eepmov.w - ldc.b #0,ccr - ldc.b r0l,ccr - ldc.w @er0,ccr - ldc.w @(16:16,er0),ccr - ldc.w @(32:24,er0),ccr - ldc.w @er0+,ccr - ldc.w @h8300h_misc:16,ccr - ldc.w @h8300h_misc:24,ccr -; movfpe 16:16,r0l -; movtpe r0l,16:16 - nop - rte - rts - sleep - stc.b ccr,r0l - stc.w ccr,@er0 - stc.w ccr,@(16:16,er0) - stc.w ccr,@(32:24,er0) - stc.w ccr,@-er0 - stc.w ccr,@h8300h_misc:16 - stc.w ccr,@h8300h_misc:24 - diff --git a/gas/testsuite/gas/h8300/miscs.s b/gas/testsuite/gas/h8300/miscs.s deleted file mode 100644 index d37a1770c75..00000000000 --- a/gas/testsuite/gas/h8300/miscs.s +++ /dev/null @@ -1,41 +0,0 @@ - .h8300s - .text -h8300s_misc: - eepmov.b - eepmov.w - ldc.b #0,ccr - ldc.b r0l,ccr - ldc.b #0,exr - ldc.b r0l,exr - ldc.w @er0,ccr - ldc.w @(16:16,er0),ccr - ldc.w @(32:32,er0),ccr - ldc.w @er0+,ccr - ldc.w @h8300s_misc:16,ccr - ldc.w @h8300s_misc:32,ccr - ldc.w @er0,exr - ldc.w @(16:16,er0),exr - ldc.w @(32:32,er0),exr - ldc.w @er0+,exr - ldc.w @h8300s_misc:16,exr - ldc.w @h8300s_misc:32,exr -; movfpe 16:16,r0l -; movtpe r0l,16:16 - nop - rte - rts - sleep - stc.b ccr,r0l - stc.b exr,r0l - stc.w ccr,@er0 - stc.w ccr,@(16:16,er0) - stc.w ccr,@(32:32,er0) - stc.w ccr,@-er0 - stc.w ccr,@h8300s_misc:16 - stc.w ccr,@h8300s_misc:32 - stc.w exr,@er0 - stc.w exr,@(16:16,er0) - stc.w exr,@(32:32,er0) - stc.w exr,@-er0 - stc.w exr,@h8300s_misc:16 - stc.w exr,@h8300s_misc:32 diff --git a/gas/testsuite/gas/h8300/mov32bug.s b/gas/testsuite/gas/h8300/mov32bug.s deleted file mode 100644 index 68393e3f54e..00000000000 --- a/gas/testsuite/gas/h8300/mov32bug.s +++ /dev/null @@ -1,4 +0,0 @@ - .h8300h - .global _a -blah: - mov.l #_a-2000000000,er2 diff --git a/gas/testsuite/gas/h8300/movb.s b/gas/testsuite/gas/h8300/movb.s deleted file mode 100644 index fa040c0a7bf..00000000000 --- a/gas/testsuite/gas/h8300/movb.s +++ /dev/null @@ -1,15 +0,0 @@ - .text -h8300_movb: - mov.b r0l,r1l - mov.b #16,r0l - mov.b @r1,r0l - mov.b @(16:16,r1),r0l - mov.b @r1+,r0l - mov.b @16:8,r0l - mov.b @h8300_movb:16,r0l - mov.b r0l,@r1 - mov.b r0l,@(16:16,r1) - mov.b r0l,@-r1 - mov.b r0l,@16:8 - mov.b r0l,@h8300_movb:16 - diff --git a/gas/testsuite/gas/h8300/movbh.s b/gas/testsuite/gas/h8300/movbh.s deleted file mode 100644 index 7d711f8512e..00000000000 --- a/gas/testsuite/gas/h8300/movbh.s +++ /dev/null @@ -1,20 +0,0 @@ - .h8300h - .text -h8300h_movb: - mov.b r0l,r1l - mov.b #16,r0l - mov.b @er1,r0l - mov.b @(16:16,er1),r0l - mov.b @(32:24,er1),r0l - mov.b @er1+,r0l - mov.b @16:8,r0l - mov.b @h8300h_movb:16,r0l - mov.b @h8300h_movb:24,r0l - mov.b r0l,@er1 - mov.b r0l,@(16:16,er1) - mov.b r0l,@(32:24,er1) - mov.b r0l,@-er1 - mov.b r0l,@16:8 - mov.b r0l,@h8300h_movb:16 - mov.b r0l,@h8300h_movb:24 - diff --git a/gas/testsuite/gas/h8300/movbs.s b/gas/testsuite/gas/h8300/movbs.s deleted file mode 100644 index 925002c811a..00000000000 --- a/gas/testsuite/gas/h8300/movbs.s +++ /dev/null @@ -1,20 +0,0 @@ - .h8300s - .text -h8300s_movb: - mov.b r0l,r1l - mov.b #16,r0l - mov.b @er1,r0l - mov.b @(16:16,er1),r0l - mov.b @(32:32,er1),r0l - mov.b @er1+,r0l - mov.b @16:8,r0l - mov.b @h8300s_movb:16,r0l - mov.b @h8300s_movb:32,r0l - mov.b r0l,@er1 - mov.b r0l,@(16:16,er1) - mov.b r0l,@(32:32,er1) - mov.b r0l,@-er1 - mov.b r0l,@16:8 - mov.b r0l,@h8300s_movb:16 - mov.b r0l,@h8300s_movb:32 - diff --git a/gas/testsuite/gas/h8300/movlh.s b/gas/testsuite/gas/h8300/movlh.s deleted file mode 100644 index 0cc78e8d361..00000000000 --- a/gas/testsuite/gas/h8300/movlh.s +++ /dev/null @@ -1,18 +0,0 @@ - .h8300h - .text -h8300h_movl: - mov.l er0,er1 - mov.l #64,er0 - mov.l @er1,er0 - mov.l @(16:16,er1),er0 - mov.l @(32:24,er1),er0 - mov.l @er1+,er0 - mov.l @h8300h_movl:16,er0 - mov.l @h8300h_movl:24,er0 - mov.l er0,@er1 - mov.l er0,@(16:16,er1) - mov.l er0,@(32:24,er1) - mov.l er0,@-er1 - mov.l er0,@h8300h_movl:16 - mov.l er0,@h8300h_movl:24 - diff --git a/gas/testsuite/gas/h8300/movls.s b/gas/testsuite/gas/h8300/movls.s deleted file mode 100644 index 46437677389..00000000000 --- a/gas/testsuite/gas/h8300/movls.s +++ /dev/null @@ -1,18 +0,0 @@ - .h8300s - .text -h8300s_movl: - mov.l er0,er1 - mov.l #64,er0 - mov.l @er1,er0 - mov.l @(16:16,er1),er0 - mov.l @(32:32,er1),er0 - mov.l @er1+,er0 - mov.l @h8300s_movl:16,er0 - mov.l @h8300s_movl:32,er0 - mov.l er0,@er1 - mov.l er0,@(16:16,er1) - mov.l er0,@(32:32,er1) - mov.l er0,@-er1 - mov.l er0,@h8300s_movl:16 - mov.l er0,@h8300s_movl:32 - diff --git a/gas/testsuite/gas/h8300/movw.s b/gas/testsuite/gas/h8300/movw.s deleted file mode 100644 index 0cc64f8d522..00000000000 --- a/gas/testsuite/gas/h8300/movw.s +++ /dev/null @@ -1,13 +0,0 @@ - .text -h8300_movw: - mov.w r0,r1 - mov.w #16,r0 - mov.w @r1,r0 - mov.w @(16:16,r1),r0 - mov.w @r1+,r0 - mov.w @h8300_movw:16,r0 - mov.w r0,@r1 - mov.w r0,@(16:16,r1) - mov.w r0,@-r1 - mov.w r0,@h8300_movw:16 - diff --git a/gas/testsuite/gas/h8300/movwh.s b/gas/testsuite/gas/h8300/movwh.s deleted file mode 100644 index 595057cb3d7..00000000000 --- a/gas/testsuite/gas/h8300/movwh.s +++ /dev/null @@ -1,18 +0,0 @@ - .h8300h - .text -h8300h_movw: - mov.w r0,r1 - mov.w #16,r0 - mov.w @er1,r0 - mov.w @(16:16,er1),r0 - mov.w @(32:24,er1),r0 - mov.w @er1+,r0 - mov.w @h8300h_movw:16,r0 - mov.w @h8300h_movw:24,r0 - mov.w r0,@er1 - mov.w r0,@(16:16,er1) - mov.w r0,@(32:24,er1) - mov.w r0,@-er1 - mov.w r0,@h8300h_movw:16 - mov.w r0,@h8300h_movw:24 - diff --git a/gas/testsuite/gas/h8300/movws.s b/gas/testsuite/gas/h8300/movws.s deleted file mode 100644 index a4f21df2542..00000000000 --- a/gas/testsuite/gas/h8300/movws.s +++ /dev/null @@ -1,18 +0,0 @@ - .h8300s - .text -h8300s_movw: - mov.w r0,r1 - mov.w #16,r0 - mov.w @er1,r0 - mov.w @(16:16,er1),r0 - mov.w @(32:32,er1),r0 - mov.w @er1+,r0 - mov.w @h8300s_movw:16,r0 - mov.w @h8300s_movw:32,r0 - mov.w r0,@er1 - mov.w r0,@(16:16,er1) - mov.w r0,@(32:32,er1) - mov.w r0,@-er1 - mov.w r0,@h8300s_movw:16 - mov.w r0,@h8300s_movw:32 - diff --git a/gas/testsuite/gas/h8300/multiples.s b/gas/testsuite/gas/h8300/multiples.s deleted file mode 100644 index 52079b6d219..00000000000 --- a/gas/testsuite/gas/h8300/multiples.s +++ /dev/null @@ -1,10 +0,0 @@ - .h8300s - .text -h8300s_multiple: - ldm.l @sp+,er0-er1 - ldm.l @sp+,er0-er2 - ldm.l @sp+,er0-er3 - stm.l er0-er1,@-sp - stm.l er0-er2,@-sp - stm.l er0-er3,@-sp - diff --git a/gas/testsuite/gas/h8300/pushpop.s b/gas/testsuite/gas/h8300/pushpop.s deleted file mode 100644 index 941b7357537..00000000000 --- a/gas/testsuite/gas/h8300/pushpop.s +++ /dev/null @@ -1,5 +0,0 @@ - .text -h8300_push_pop: - pop r0 - push r0 - diff --git a/gas/testsuite/gas/h8300/pushpoph.s b/gas/testsuite/gas/h8300/pushpoph.s deleted file mode 100644 index 6049639f567..00000000000 --- a/gas/testsuite/gas/h8300/pushpoph.s +++ /dev/null @@ -1,8 +0,0 @@ - .h8300h - .text -h8300h_push_pop: - pop.w r0 - pop.l er0 - push.w r0 - push.l er0 - diff --git a/gas/testsuite/gas/h8300/pushpops.s b/gas/testsuite/gas/h8300/pushpops.s deleted file mode 100644 index 741df04ecc5..00000000000 --- a/gas/testsuite/gas/h8300/pushpops.s +++ /dev/null @@ -1,8 +0,0 @@ - .h8300s - .text -h8300s_push_pop: - pop.w r0 - pop.l er0 - push.w r0 - push.l er0 - diff --git a/gas/testsuite/gas/h8300/rotsh.s b/gas/testsuite/gas/h8300/rotsh.s deleted file mode 100644 index a9aa87df95e..00000000000 --- a/gas/testsuite/gas/h8300/rotsh.s +++ /dev/null @@ -1,11 +0,0 @@ - .text -h8300_rotate_shift: - rotl r0l - rotr r0l - rotxl r0l - rotxr r0l - shal r0l - shar r0l - shll r0l - shlr r0l - diff --git a/gas/testsuite/gas/h8300/rotshh.s b/gas/testsuite/gas/h8300/rotshh.s deleted file mode 100644 index c7abe40a28f..00000000000 --- a/gas/testsuite/gas/h8300/rotshh.s +++ /dev/null @@ -1,27 +0,0 @@ - .h8300h - .text -h8300h_rotate_shift: - rotl.b r0l - rotl.w r0 - rotl.l er0 - rotr.b r0l - rotr.w r0 - rotr.l er0 - rotxl.b r0l - rotxl.w r0 - rotxl.l er0 - rotxr.b r0l - rotxr.w r0 - rotxr.l er0 - shal.b r0l - shal.w r0 - shal.l er0 - shar.b r0l - shar.w r0 - shar.l er0 - shll.b r0l - shll.w r0 - shll.l er0 - shlr.b r0l - shlr.w r0 - shlr.l er0 diff --git a/gas/testsuite/gas/h8300/rotshs.s b/gas/testsuite/gas/h8300/rotshs.s deleted file mode 100644 index 36c41cb59c5..00000000000 --- a/gas/testsuite/gas/h8300/rotshs.s +++ /dev/null @@ -1,51 +0,0 @@ - .h8300s - .text -h8300s_rotate_shift: - rotl.b r0l - rotl.b #2,r0l - rotl.w r0 - rotl.w #2,r0 - rotl.l er0 - rotl.l #2,er0 - rotr.b r0l - rotr.b #2,r0l - rotr.w r0 - rotr.w #2,r0 - rotr.l er0 - rotr.l #2,er0 - rotxl.b r0l - rotxl.b #2,r0l - rotxl.w r0 - rotxl.w #2,r0 - rotxl.l er0 - rotxl.l #2,er0 - rotxr.b r0l - rotxr.b #2,r0l - rotxr.w r0 - rotxr.w #2,r0 - rotxr.l er0 - rotxr.l #2,er0 - shal.b r0l - shal.b #2,r0l - shal.w r0 - shal.w #2,r0 - shal.l er0 - shal.l #2,er0 - shar.b r0l - shar.b #2,r0l - shar.w r0 - shar.w #2,r0 - shar.l er0 - shar.l #2,er0 - shll.b r0l - shll.b #2,r0l - shll.w r0 - shll.w #2,r0 - shll.l er0 - shll.l #2,er0 - shlr.b r0l - shlr.b #2,r0l - shlr.w r0 - shlr.w #2,r0 - shlr.l er0 - shlr.l #2,er0 |