# Copyright (C) 2012-2014 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. # # Some generic m68k tests # if [istarget "m68hc11-*-*"] then { return } if [istarget "m68hc12-*-*"] then { return } if [istarget "m6811-*-*"] then { return } if [istarget "m6812-*-*"] then { return } if { [istarget m68*-*-*] || [istarget fido*-*-*] } then { gas_test "t2.s" "" "" "cross-section branch" if [istarget m68*-motorola-sysv] then { run_dump_test t2 } gas_test "pic1.s" "" "" "PIC generation" gas_test "disperr.s" "-m68020" "" "Incorrect Displacement too long error" gas_test_error "p2410.s" "" "out-of-range 'bras'" # Reloc types etc. need changing for aout and coff to pass. setup_xfail "*-*" clear_xfail "*-*-*elf*" "*-*-sysv4*" "*-*-rtems*" "*-*-*linux*" "*-*-*gnu*" "*-*-psos*" run_dump_test pcrel # Since fido is basically CPU32, it does not support those # instructions beyond CPU32. Disable those tests that test them. if ![istarget fido-*-*] then { run_dump_test operands run_dump_test cas run_dump_test bitfield } else { # Test fido-specific instructions. run_dump_test fido } run_dump_test link # fido does not have a floating point unit. if ![istarget fido-*-*] then { run_dump_test fmoveml } run_dump_test mcf-mov3q run_dump_test mcf-movsr run_dump_test mode5 run_dump_test mode5 "{name {cf}} {as {-mcpu=5200}}" run_dump_test movem-offset run_dump_test movem-offset "{name {cf}} {as {-mcpu=5485}}" run_dump_test mcf-mac run_dump_test mcf-emac run_dump_test mcf-coproc run_dump_test mcf-fpu run_dump_test mcf-trap run_dump_test mcf-wdebug if { [istarget *-*-elf] || [istarget *-*-linux*] } then { run_dump_test arch-cpu-1 } run_dump_test cpu32 run_dump_test br-isaa run_dump_test br-isab run_dump_test br-isac run_dump_test ctrl-1 run_dump_test ctrl-2 gas_test_error "p11673.s" "-march=isab" "movel immediate with offset unsupported on isab" if { [istarget *-*-*aout] || [istarget *-*-netbsd] || [istarget *-*-openbsd*] } then { run_dump_test p3041 run_dump_test p3041data run_dump_test p3041pcrel } set testname "68000 operands" gas_run "operands.s" "-m68000" "2>err.out" if ![string match "child process exited abnormally" $comp_output] then { send_log "$comp_output\n" verbose "$comp_output" 3 fail $testname } else { if [regexp_diff "err.out" "$srcdir/$subdir/op68000.d"] then { fail $testname } else { pass $testname } } if { [istarget m68k-*-linux*] } then { run_dump_test tls-gd-3 } if { ! [istarget fido-*-*] } then { # The testcase uses an invalid instruction for this architecture. run_dump_test pr11676 } run_dump_test pmove } if [info exists errorInfo] then { unset errorInfo }