summaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/sparc/sparc.exp
blob: 6ffad3912d5693f73c6f78dd3e8fc2ad5b4c4539 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Some generic SPARC and SPARC64 tests

# FIXME: The tests here aren't really bullet proof.  A mistake in the opcode
# table can slip through since we use the same table for assembly and
# disassembly.  The way to fix this is to include a hex dump of the insns
# and test that as well.  Later.

# Find out if these binutils are either sparc64*-*-* or
# sparc*-*-* with --enable-targets=sparc64-*-*
proc gas_64_check { } {
    global NM
    global NMFLAGS

    set status [gas_host_run "$NM $NMFLAGS --help" ""]
    return [regexp "elf64\[_-\]sparc" [lindex $status 1]]
}

proc sparc_elf_setup { } {
    setup_xfail "sparc*-*-*aout*" "sparc*-*-sunos4*"
    setup_xfail "sparc*-fujitsu-none" "sparc*-*-*n*bsd*"
    setup_xfail "sparc*-*-coff" "sparc*-*-lynxos*"
    clear_xfail "sparc64*-*-*n*bsd*"
    clear_xfail "sparc*-*-netbsdelf*"
}

if [istarget sparc*-*-*] {
    run_dump_test "synth"
    # The next four tests are ELF only.
    sparc_elf_setup
    run_dump_test "unalign"
    sparc_elf_setup
    run_dump_test "pcrel"
    sparc_elf_setup
    run_dump_test "plt"
    sparc_elf_setup
    run_dump_test "gotop32"
    if [gas_64_check] {
	run_dump_test "asi"
	run_dump_test "membar"
	run_dump_test "prefetch"
	run_dump_test "set64"
	run_dump_test "synth64"
	run_dump_test "rdpr"
	run_dump_test "rdhpr"
	run_dump_test "wrpr"
	run_dump_test "wrhpr"
	run_dump_test "window"
	run_dump_test "reloc64"
	run_dump_test "pcrel64"
	run_dump_test "plt64"
	run_dump_test "gotop64"
    }
    run_dump_test "imm-plus-rreg"
    run_dump_test "ticc-imm-reg"
    run_dump_test "v8-movwr-imm"
    run_dump_test "save-args"
    run_dump_test "v9branch1"
    run_dump_test "v9branch2"
    run_dump_test "v9branch3"
    run_dump_test "v9branch4"
    run_dump_test "v9branch5"
    run_dump_test "pc2210"
    run_dump_test "hpcvis3"
    run_dump_test "ima"
    run_dump_test "crypto"
    run_dump_test "cbcond"
    run_dump_test "pause"
    run_dump_test "cfr"

    run_list_test "pr4587" ""
}

if [istarget sparc-*-vxworks*] {
    run_dump_test "vxworks-pic"
}

if [istarget sparclet*-*-*] {
    run_dump_test "splet"
    run_dump_test "splet-2"
}