#
# 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"
    run_list_test "range64" "-a64"
} 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"
    run_dump_test "regnames"

    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 "altivec_and_spe"
	run_dump_test "booke"
	run_dump_test "e500"
	run_list_test "range" "-a32"
	run_dump_test "ppc750ps"
	run_dump_test "e500mc"
	run_dump_test "cell"
	run_dump_test "common"
	run_dump_test "power4_32"
	run_dump_test "power6"
	run_dump_test "power7"
    }
}
