Commit | Line | Data |
---|---|---|
b90efa5b | 1 | # Copyright (C) 2012-2015 Free Software Foundation, Inc. |
5bf135a7 NC |
2 | |
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. | |
7 | # | |
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. | |
12 | # | |
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. | |
16 | ||
252b5132 RH |
17 | # |
18 | # Some generic m68k tests | |
19 | # | |
60bcf0fa NC |
20 | if [istarget "m68hc11-*-*"] then { |
21 | return | |
22 | } | |
23 | if [istarget "m68hc12-*-*"] then { | |
24 | return | |
25 | } | |
26 | if [istarget "m6811-*-*"] then { | |
27 | return | |
28 | } | |
29 | if [istarget "m6812-*-*"] then { | |
30 | return | |
31 | } | |
9ab8ee21 | 32 | if { [istarget m68*-*-*] || [istarget fido*-*-*] } then { |
252b5132 RH |
33 | gas_test "t2.s" "" "" "cross-section branch" |
34 | if [istarget m68*-motorola-sysv] then { | |
35 | run_dump_test t2 | |
36 | } | |
37 | ||
38 | gas_test "pic1.s" "" "" "PIC generation" | |
39 | ||
40 | gas_test "disperr.s" "-m68020" "" "Incorrect Displacement too long error" | |
41 | ||
42 | gas_test_error "p2410.s" "" "out-of-range 'bras'" | |
43 | ||
4fa0e86f AM |
44 | # Reloc types etc. need changing for aout and coff to pass. |
45 | setup_xfail "*-*" | |
c4990c4b | 46 | clear_xfail "*-*-*elf*" "*-*-sysv4*" "*-*-rtems*" "*-*-*linux*" "*-*-*gnu*" "*-*-psos*" |
252b5132 | 47 | run_dump_test pcrel |
9ab8ee21 KH |
48 | |
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 | |
53 | run_dump_test cas | |
54 | run_dump_test bitfield | |
55 | } else { | |
56 | # Test fido-specific instructions. | |
57 | run_dump_test fido | |
58 | } | |
59 | ||
252b5132 | 60 | run_dump_test link |
1bc5dc87 KH |
61 | |
62 | # fido does not have a floating point unit. | |
63 | if ![istarget fido-*-*] then { | |
64 | run_dump_test fmoveml | |
65 | } | |
66 | ||
68eb2996 | 67 | run_dump_test mcf-mov3q |
25b07cd9 | 68 | run_dump_test mcf-movsr |
580b9172 | 69 | run_dump_test mode5 |
96e67898 | 70 | run_dump_test mode5 "{name {cf}} {as {-mcpu=5200}}" |
c3732716 JB |
71 | run_dump_test movem-offset |
72 | run_dump_test movem-offset "{name {cf}} {as {-mcpu=5485}}" | |
fd99574b NC |
73 | run_dump_test mcf-mac |
74 | run_dump_test mcf-emac | |
afa2158f | 75 | run_dump_test mcf-coproc |
c2fe9327 | 76 | run_dump_test mcf-fpu |
869ddf2a | 77 | run_dump_test mcf-trap |
ddefa7f5 | 78 | run_dump_test mcf-wdebug |
1c3f20b4 NC |
79 | if { [istarget *-*-elf] || [istarget *-*-linux*] } then { |
80 | run_dump_test arch-cpu-1 | |
81 | } | |
baee4c9e | 82 | run_dump_test cpu32 |
252b5132 | 83 | |
9a2e615a NS |
84 | run_dump_test br-isaa |
85 | run_dump_test br-isab | |
86 | run_dump_test br-isac | |
87 | ||
78336706 NS |
88 | run_dump_test ctrl-1 |
89 | run_dump_test ctrl-2 | |
90 | ||
6ffe3d99 NC |
91 | gas_test_error "p11673.s" "-march=isab" "movel immediate with offset unsupported on isab" |
92 | ||
32a96f36 | 93 | if { [istarget *-*-*aout] || [istarget *-*-netbsd] || [istarget *-*-openbsd*] } then { |
1c3f20b4 | 94 | run_dump_test p3041 |
b2b74248 | 95 | run_dump_test p3041data |
32a96f36 | 96 | run_dump_test p3041pcrel |
1c3f20b4 NC |
97 | } |
98 | ||
252b5132 RH |
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 | |
104 | fail $testname | |
105 | } else { | |
eb22018c | 106 | if [regexp_diff "err.out" "$srcdir/$subdir/op68000.d"] then { |
252b5132 RH |
107 | fail $testname |
108 | } else { | |
109 | pass $testname | |
110 | } | |
111 | } | |
cf869cce NC |
112 | |
113 | if { [istarget m68k-*-linux*] } then { | |
114 | run_dump_test tls-gd-3 | |
115 | } | |
09ec0d17 | 116 | |
6f78ea24 IS |
117 | if { ! [istarget fido-*-*] } then { |
118 | # The testcase uses an invalid instruction for this architecture. | |
119 | run_dump_test pr11676 | |
120 | } | |
e143d25c AS |
121 | |
122 | run_dump_test pmove | |
252b5132 RH |
123 | } |
124 | if [info exists errorInfo] then { | |
125 | unset errorInfo | |
60bcf0fa | 126 | } |