#
# Some PowerPC tests
#

# These tests are currently ELF specific, only because nobody has
# converted them to look for XCOFF relocations.

if { [istarget powerpc64*-*-*] || [istarget *-*-elf64*]} then {
# FIXME: Pass -x to objdump as well as -Dr for astest64 and astest2_64.
    run_dump_test "astest64"
    run_dump_test "astest2_64"
    run_dump_test "test1elf64"
    run_dump_test "power4"
} elseif { [istarget powerpc*-*aix*] } then {
    run_dump_test "test1xcoff32"
} elseif { [istarget powerpc*-*-*bsd*] \
     || [istarget powerpc*-*-elf*] \
     || [istarget powerpc*-*-eabi*] \
     || [istarget powerpc*-*-sysv4*] \
     || [istarget powerpc*-*-linux*] \
     || [istarget powerpc*-*-solaris*] \
     || [istarget powerpc*-*-rtems*] } then {
    run_dump_test "astest"
    run_dump_test "astest2"
    run_dump_test "test1elf32"
}

if { [istarget powerpc*-*-*] } then {
    run_dump_test "simpshft"
    run_dump_test "machine"

    if { [istarget powerpc-*-*aix*] } then {
	run_dump_test "altivec_xcoff"
	run_dump_test "altivec_xcoff64"
	run_dump_test "booke_xcoff"
	run_dump_test "booke_xcoff64"
    } else {
	run_dump_test "altivec"
	run_dump_test "booke"
	run_dump_test "e500"
    }
}
