335d4b4b746621fbb565d83e81f78f506d41db6a
[external/binutils.git] / gas / testsuite / gas / sparc / sparc.exp
1 # Some generic SPARC and SPARC64 tests
2
3 # FIXME: The tests here aren't really bullet proof.  A mistake in the opcode
4 # table can slip through since we use the same table for assembly and
5 # disassembly.  The way to fix this is to include a hex dump of the insns
6 # and test that as well.  Later.
7
8 # Find out if these binutils are either sparc64*-*-* or
9 # sparc*-*-* with --enable-targets=sparc64-*-*
10 proc gas_64_check { } {
11     global NM
12     global NMFLAGS
13
14     set status [gas_host_run "$NM $NMFLAGS --help" ""]
15     return [regexp "elf64\[_-\]sparc" [lindex $status 1]]
16 }
17
18 proc sparc_elf_setup { } {
19     setup_xfail "sparc*-*-*aout*" "sparc*-*-sunos4*"
20     setup_xfail "sparc*-fujitsu-none" "sparc*-*-*n*bsd*"
21     setup_xfail "sparc*-*-coff" "sparc*-*-lynxos*"
22     clear_xfail "sparc64*-*-*n*bsd*"
23     clear_xfail "sparc*-*-netbsdelf*"
24 }
25
26 if [istarget sparc*-*-*] {
27     run_dump_test "synth"
28     # The next four tests are ELF only.
29     sparc_elf_setup
30     run_dump_test "unalign"
31     sparc_elf_setup
32     run_dump_test "pcrel"
33     sparc_elf_setup
34     run_dump_test "plt"
35     sparc_elf_setup
36     run_dump_test "gotop32"
37     if [gas_64_check] {
38         run_dump_test "asi"
39         run_dump_test "membar"
40         run_dump_test "prefetch"
41         run_dump_test "set64"
42         run_dump_test "synth64"
43         run_dump_test "rdpr"
44         run_dump_test "rdhpr"
45         run_dump_test "wrpr"
46         run_dump_test "wrhpr"
47         run_dump_test "window"
48         run_dump_test "reloc64"
49         run_dump_test "pcrel64"
50         run_dump_test "plt64"
51         run_dump_test "gotop64"
52     }
53     run_dump_test "imm-plus-rreg"
54     run_dump_test "v9branch1"
55     run_dump_test "v9branch2"
56     run_dump_test "v9branch3"
57     run_dump_test "v9branch4"
58     run_dump_test "v9branch5"
59     run_dump_test "pc2210"
60     run_dump_test "hpcvis3"
61
62     run_list_test "pr4587" ""
63 }
64
65 if [istarget sparc-*-vxworks*] {
66     run_dump_test "vxworks-pic"
67 }
68
69 if [istarget sparclet*-*-*] {
70     run_dump_test "splet"
71     run_dump_test "splet-2"
72 }