-# Copyright 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 2012-2020 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# Some PowerPC tests
#
+if { ![istarget "powerpc*-*-*"] && ![istarget "rs6000-*-*"] } then {
+ return
+}
+
+proc supports_ppc64 { } {
+ global AS
+ if { [catch "exec $AS -a64 < /dev/null"] } then {
+ return 0
+ } else {
+ return 1
+ }
+}
+
+run_dump_test "bcyerr"
+run_dump_test "bcy"
+run_dump_test "bcaterr"
+run_dump_test "bcat"
+run_dump_test "regnames"
+run_dump_test "misalign"
+run_dump_test "misalign2"
+run_dump_test "machine"
+run_dump_test "simpshft"
+run_dump_test "altivec_and_spe"
+run_list_test "range" "-a32"
+run_dump_test "cell"
+
+if { [istarget "*-*-aix*"]
+ || [istarget "*-*-macos*"]
+ || [istarget "*-*-beos*"] } then {
+ run_dump_test "test1xcoff32"
+ run_dump_test "test2xcoff32"
+ run_dump_test "altivec_xcoff"
+ run_dump_test "altivec_xcoff64"
+ run_dump_test "groupnop"
+}
+
# These tests are currently ELF specific, only because nobody has
# converted them to look for XCOFF relocations.
+if { ![is_elf_format] } then {
+ return
+}
if { [istarget powerpc64*-*-*] || [istarget *-*-elf64*]} then {
# FIXME: Pass -x to objdump as well as -Dr for astest64 and 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 {
+} else {
run_dump_test "astest"
run_dump_test "astest2"
run_dump_test "test1elf32"
}
-if { [istarget powerpc*-*-*] } then {
- run_dump_test "simpshft"
- run_dump_test "regnames"
- if { [is_elf_format] } then {
- run_dump_test "machine"
- run_dump_test "common"
- run_dump_test "476"
- run_dump_test "a2"
- if { ![istarget powerpc*le-*-*] } then {
- 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"
- }
- }
+run_dump_test "common"
+run_dump_test "476"
+run_dump_test "a2"
+run_dump_test "pr21303"
+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"
+run_dump_test "vle-mult-ld-st-insns"
- if { [istarget powerpc-*-*aix*] } then {
- run_dump_test "altivec_xcoff"
- run_dump_test "altivec_xcoff64"
- } else {
- run_dump_test "altivec"
- run_dump_test "altivec2"
- 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 "cell"
- run_dump_test "power4_32"
- run_dump_test "power6"
- run_dump_test "power7"
- run_dump_test "power8"
- run_dump_test "vsx"
- run_dump_test "htm"
- run_dump_test "titan"
- }
+#fail expected until get_powerpc_dialect() patch not applied
+setup_xfail "*-*-*"
+run_dump_test "lsp"
+
+run_dump_test "lsp-checks"
+run_dump_test "efs"
+run_dump_test "efs2"
+run_dump_test "spe2"
+run_dump_test "spe2-checks"
+run_dump_test "spe"
+
+setup_xfail "*-*-*"
+run_dump_test "spe_ambiguous"
+
+run_dump_test "altivec"
+run_dump_test "altivec2"
+run_dump_test "altivec3"
+run_dump_test "broadway"
+run_dump_test "booke"
+run_dump_test "groupnop"
+run_dump_test "e500"
+run_list_test "e500-ill" "-me500"
+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 "power4_32"
+run_dump_test "power6"
+run_dump_test "power7"
+run_dump_test "power8"
+run_dump_test "power9"
+run_dump_test "power10"
+run_dump_test "vsx"
+run_dump_test "vsx2"
+run_dump_test "vsx3"
+run_dump_test "vsx4"
+run_dump_test "htm"
+run_dump_test "titan"
+run_dump_test "prefix-align"
+run_dump_test "prefix-pcrel"
+if { [supports_ppc64] } then {
+ run_dump_test "prefix-reloc"
}
+run_dump_test "byte_rev"
+run_dump_test "vec_mul"
+run_dump_test "vsx_32byte"
+run_dump_test "int128"
+run_dump_test "simd_perm"
+run_dump_test "outerprod"
+run_dump_test "maskmanip"
+run_dump_test "genpcv"
+run_dump_test "bitmanip"
+run_dump_test "set_bool"
+run_dump_test "stringop"
+run_dump_test "xvtlsbb"