blob: 47ee99e89c7d264379ff901d865b6bd283c44309 [file] [log] [blame]
# 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
global srcdir
catch "exec $srcdir/lib/run $NM $NMFLAGS --help" nm_help
return [regexp "elf64\[_-\]sparc" $nm_help]
}
proc sparc_elf_setup { } {
setup_xfail "sparc*-*-*aout*" "sparc*-*-sunos4*" "sparc*-*-vxworks*"
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 three 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"
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 "wrpr"
run_dump_test "reloc64"
run_dump_test "pcrel64"
run_dump_test "plt64"
}
}
if [istarget sparclet*-*-*] {
run_dump_test "splet"
run_dump_test "splet-2"
}