1 # Copyright (C) 2012-2014 Free Software Foundation, Inc.
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software
15 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
18 # Some generic m68k tests
20 if [istarget "m68hc11-*-*"] then {
23 if [istarget "m68hc12-*-*"] then {
26 if [istarget "m6811-*-*"] then {
29 if [istarget "m6812-*-*"] then {
32 if { [istarget m68*-*-*] || [istarget fido*-*-*] } then {
33 gas_test "t2.s" "" "" "cross-section branch"
34 if [istarget m68*-motorola-sysv] then {
38 gas_test "pic1.s" "" "" "PIC generation"
40 gas_test "disperr.s" "-m68020" "" "Incorrect Displacement too long error"
42 gas_test_error "p2410.s" "" "out-of-range 'bras'"
44 # Reloc types etc. need changing for aout and coff to pass.
46 clear_xfail "*-*-*elf*" "*-*-sysv4*" "*-*-rtems*" "*-*-*linux*" "*-*-*gnu*" "*-*-psos*"
49 # Since fido is basically CPU32, it does not support those
50 # instructions beyond CPU32. Disable those tests that test them.
51 if ![istarget fido-*-*] then {
52 run_dump_test operands
54 run_dump_test bitfield
56 # Test fido-specific instructions.
62 # fido does not have a floating point unit.
63 if ![istarget fido-*-*] then {
67 run_dump_test mcf-mov3q
68 run_dump_test mcf-movsr
70 run_dump_test mode5 "{name {cf}} {as {-mcpu=5200}}"
71 run_dump_test movem-offset
72 run_dump_test movem-offset "{name {cf}} {as {-mcpu=5485}}"
74 run_dump_test mcf-emac
75 run_dump_test mcf-coproc
77 run_dump_test mcf-trap
78 run_dump_test mcf-wdebug
79 if { [istarget *-*-elf] || [istarget *-*-linux*] } then {
80 run_dump_test arch-cpu-1
91 gas_test_error "p11673.s" "-march=isab" "movel immediate with offset unsupported on isab"
93 if { [istarget *-*-*aout] || [istarget *-*-netbsd] || [istarget *-*-openbsd*] } then {
95 run_dump_test p3041data
96 run_dump_test p3041pcrel
99 set testname "68000 operands"
100 gas_run "operands.s" "-m68000" "2>err.out"
101 if ![string match "child process exited abnormally" $comp_output] then {
102 send_log "$comp_output\n"
103 verbose "$comp_output" 3
106 if [regexp_diff "err.out" "$srcdir/$subdir/op68000.d"] then {
113 if { [istarget m68k-*-linux*] } then {
114 run_dump_test tls-gd-3
117 if { ! [istarget fido-*-*] } then {
118 # The testcase uses an invalid instruction for this architecture.
119 run_dump_test pr11676
124 if [info exists errorInfo] then {