gas: blackfin: test all 16bit insns

The current 16bit insn test doesn't actually cover all illegal insns
since it stops at 0xa000 instead of 0xc000.  But rather than address
that, replace it with a test that covers all 16bit insns.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Mike Frysinger 2011-03-24 04:34:33 +00:00
parent a0bc8198d3
commit 6d7e72e511
6 changed files with 49199 additions and 11137 deletions

View File

@ -1,3 +1,9 @@
2011-03-24 Mike Frysinger <vapier@gentoo.org>
* gas/bfin/16bit_illegals.d, gas/bfin/16bit_illegals.s: Delete.
* gas/bfin/allinsn16.d, gas/bfin/allinsn16.s: New files.
* gas/bfin/bfin.exp: Change 16bit_illegals to allinsn16.
2011-03-24 Mike Frysinger <vapier@gentoo.org>
* gas/bfin/expected_errors.s: Add invalid dsp mult insn tests.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,33 @@
# need to do some nested macro stuff to workaround
# missing 'for' loop and nested limits
# iterate 0x40 times
.macro __dw b, i, e
.if \i < \e
.dw \b + \i
__dw \b, (\i + 1), \e
.endif
.endm
# iterate 0x20 times
.macro _dw b, i, e
.if \i < \e
__dw \b, \i, \i + 0x40
_dw \b, \i + 0x40, \e
.endif
.endm
# iterate 0x4 times
.macro dw b, i, e
.if \i < \e
_dw \b, \i, \i + 0x800
dw \b, \i + 0x800, \e
.endif
.endm
dw 0x0000 0 0x2000
dw 0x2000 0 0x2000
dw 0x4000 0 0x2000
dw 0x6000 0 0x2000
dw 0x8000 0 0x2000
dw 0xa000 0 0x2000

View File

@ -1,7 +1,7 @@
# Blackfin assembler testsuite
if [istarget bfin*-*-*] {
run_dump_test "16bit_illegals"
run_dump_test "allinsn16"
run_dump_test "arithmetic"
run_dump_test "arith_mode"
run_dump_test "bit"