#
# 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"
    } 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 "e6500"
	run_dump_test "e500mc64_nop"
	run_dump_test "e5500_nop"
	run_dump_test "e6500_nop"
	run_dump_test "a2"
	run_dump_test "cell"
	run_dump_test "common"
	run_dump_test "power4_32"
	run_dump_test "power6"
	run_dump_test "power7"
	run_dump_test "vsx"
	run_dump_test "476"
	run_dump_test "titan"
        run_dump_test "vle"
        run_dump_test "vle-reloc"
        run_dump_test "vle-simple-1"
        run_dump_test "vle-simple-2"
        run_dump_test "vle-simple-3"
        run_dump_test "vle-simple-4"
        run_dump_test "vle-simple-5"
        run_dump_test "vle-simple-6"
    }
}
