1 # Copyright (C) 2012-2017 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.
17 # Some generic SPARC and SPARC64 tests
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.
24 # Find out if these binutils are either sparc64*-*-* or
25 # sparc*-*-* with --enable-targets=sparc64-*-*
26 proc gas_64_check { } {
30 set status [gas_host_run "$NM $NMFLAGS --help" ""]
31 return [regexp "elf64\[_-\]sparc" [lindex $status 1]]
34 if [istarget sparc*-*-*] {
37 # The next five tests are ELF only.
38 run_dump_test "unalign"
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"
54 run_dump_test "save-args"
55 run_dump_test "cbcond"
56 run_list_test "cbcond-diag" "-64"
58 run_dump_test "crypto"
61 run_dump_test "hpcvis3"
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"
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"
74 run_dump_test "dcti-couples-v9"
75 run_dump_test "call-relax"
76 run_dump_test "sparc6"
77 run_list_test "sparc6-diag" "-64"
78 run_dump_test "fpcmpshl"
79 run_list_test "fpcmpshl-diag" "-64"
80 run_dump_test "ldm-stm"
81 run_list_test "ldm-stm-diag" "-64"
82 run_dump_test "ldmf-stmf"
83 run_list_test "ldmf-stmf-diag" "-64"
85 run_list_test "on-diag" "-64"
88 # The next tests are a.out only.
89 run_dump_test "call-relax-aout"
94 run_dump_test "membar"
95 run_dump_test "prefetch"
97 run_dump_test "synth64"
100 run_dump_test "rdhpr"
101 run_dump_test "wrasr"
103 run_dump_test "wrhpr"
104 run_dump_test "window"
105 run_dump_test "reloc64"
106 run_dump_test "pcrel64"
107 run_dump_test "plt64"
108 run_dump_test "gotop64"
109 run_list_test "hwcaps-bump" "-64 -bump"
110 run_list_test "asi-bump-warn" "-64 -bump"
111 run_list_test "asi-arch-error" "-Av9"
114 run_dump_test "synth"
115 run_dump_test "v9branch2"
116 run_dump_test "v9branch3"
117 run_dump_test "v9branch4"
118 run_dump_test "v9branch5"
119 run_dump_test "pr19910-1"
120 run_list_test "pr19910-2"
121 run_dump_test "dcti-couples-v8"
122 run_dump_test "dcti-couples-v9c"
123 run_dump_test "pr20732"
126 if [istarget sparc-*-vxworks*] {
127 run_dump_test "vxworks-pic"
130 if [istarget sparclet*-*-*] {
131 run_dump_test "splet"
132 run_dump_test "splet-2"