Commit | Line | Data |
---|---|---|
2571583a | 1 | # Copyright (C) 2012-2017 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 | # Some generic SPARC and SPARC64 tests |
18 | ||
19 | # FIXME: The tests here aren't really bullet proof. A mistake in the opcode | |
20 | # table can slip through since we use the same table for assembly and | |
21 | # disassembly. The way to fix this is to include a hex dump of the insns | |
22 | # and test that as well. Later. | |
23 | ||
b3fb1136 RH |
24 | # Find out if these binutils are either sparc64*-*-* or |
25 | # sparc*-*-* with --enable-targets=sparc64-*-* | |
26 | proc gas_64_check { } { | |
27 | global NM | |
28 | global NMFLAGS | |
252b5132 | 29 | |
7f6a71ff JM |
30 | set status [gas_host_run "$NM $NMFLAGS --help" ""] |
31 | return [regexp "elf64\[_-\]sparc" [lindex $status 1]] | |
b3fb1136 | 32 | } |
252b5132 | 33 | |
b3fb1136 | 34 | if [istarget sparc*-*-*] { |
c88960d0 JM |
35 | |
36 | if [is_elf_format] { | |
37 | # The next five tests are ELF only. | |
38 | run_dump_test "unalign" | |
39 | run_dump_test "pcrel" | |
40 | run_dump_test "plt" | |
41 | run_dump_test "gotop32" | |
42 | run_dump_test "pc2210" | |
43 | # The features tested in the tests below are not ELF-specific. | |
44 | # However, these features are not present in practice in COFF | |
45 | # and a.out targets. Running them only in ELF targets allows | |
46 | # us to don't have to replicate pattern test files as that | |
47 | # would bring no practical advantage. | |
48 | run_dump_test "natural" | |
49 | run_dump_test "natural-32" | |
50 | run_list_test "pr4587" "" | |
51 | run_dump_test "ticc-imm-reg" | |
52 | run_dump_test "v8-movwr-imm" | |
53 | run_dump_test "pause" | |
54 | run_dump_test "save-args" | |
55 | run_dump_test "cbcond" | |
65d1cff9 | 56 | run_list_test "cbcond-diag" "-64" |
c88960d0 JM |
57 | run_dump_test "cfr" |
58 | run_dump_test "crypto" | |
59 | run_dump_test "edge" | |
60 | run_dump_test "flush" | |
61 | run_dump_test "hpcvis3" | |
62 | run_dump_test "ima" | |
63 | run_dump_test "ld_st_fsr" | |
64 | run_dump_test "ldtw_sttw" | |
65 | run_dump_test "ldd_std" | |
66 | run_dump_test "ldx_stx" | |
67 | run_dump_test "ldx_efsr" | |
68 | run_dump_test "mwait" | |
69 | run_dump_test "mcdper" | |
70 | run_dump_test "sparc5vis4" | |
71 | run_dump_test "xcrypto" | |
72 | run_dump_test "v9branch1" | |
73 | run_dump_test "imm-plus-rreg" | |
d7cd93a7 | 74 | run_dump_test "dcti-couples-v9" |
d28b6364 JM |
75 | run_dump_test "call-relax" |
76 | } else { | |
77 | # The next tests are a.out only. | |
78 | run_dump_test "call-relax-aout" | |
c88960d0 JM |
79 | } |
80 | ||
b3fb1136 RH |
81 | if [gas_64_check] { |
82 | run_dump_test "asi" | |
83 | run_dump_test "membar" | |
84 | run_dump_test "prefetch" | |
85 | run_dump_test "set64" | |
86 | run_dump_test "synth64" | |
96074adc | 87 | run_dump_test "rdasr" |
b3fb1136 | 88 | run_dump_test "rdpr" |
83d634e3 | 89 | run_dump_test "rdhpr" |
96074adc | 90 | run_dump_test "wrasr" |
b3fb1136 | 91 | run_dump_test "wrpr" |
83d634e3 DM |
92 | run_dump_test "wrhpr" |
93 | run_dump_test "window" | |
b3fb1136 | 94 | run_dump_test "reloc64" |
bd5e6e7e JJ |
95 | run_dump_test "pcrel64" |
96 | run_dump_test "plt64" | |
739f7f82 | 97 | run_dump_test "gotop64" |
128e85e3 | 98 | run_list_test "hwcaps-bump" "-64 -bump" |
ae0264a6 | 99 | run_list_test "asi-bump-warn" "-64 -bump" |
1b3cee56 | 100 | run_list_test "asi-arch-error" "-Av9" |
b3fb1136 | 101 | } |
c88960d0 JM |
102 | |
103 | run_dump_test "synth" | |
c699f087 JJ |
104 | run_dump_test "v9branch2" |
105 | run_dump_test "v9branch3" | |
106 | run_dump_test "v9branch4" | |
107 | run_dump_test "v9branch5" | |
e140100a NC |
108 | run_dump_test "pr19910-1" |
109 | run_list_test "pr19910-2" | |
46a2d504 | 110 | run_dump_test "dcti-couples-v8" |
46a2d504 | 111 | run_dump_test "dcti-couples-v9c" |
86b80085 | 112 | run_dump_test "pr20732" |
252b5132 RH |
113 | } |
114 | ||
910600e9 RS |
115 | if [istarget sparc-*-vxworks*] { |
116 | run_dump_test "vxworks-pic" | |
117 | } | |
118 | ||
252b5132 RH |
119 | if [istarget sparclet*-*-*] { |
120 | run_dump_test "splet" | |
121 | run_dump_test "splet-2" | |
122 | } |