Add s390 platform checks where appropriate.
gcc/testsuite/ChangeLog:
2017-09-26 Andreas Krebbel
* lib/target-supports.exp: Enable tests for S/390.
---
gcc/testsuite/ChangeLog | 4 ++
gcc/testsuite/lib/target-supports.exp | 131 ++
2 files changed, 106 insertions(+), 29 deletions(-)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6401706..72cf8c3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2017-09-26 Andreas Krebbel
+
+ * lib/target-supports.exp: Enable tests for S/390.
+
2017-09-26 Richard Biener
PR tree-optimization/82320
diff --git a/gcc/testsuite/lib/target-supports.exp
b/gcc/testsuite/lib/target-supports.exp
index 7834c30..8b25797 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -3066,7 +3066,9 @@ proc check_effective_target_vect_int { } {
|| [is-effective-target arm_neon]
|| ([istarget mips*-*-*]
&& ([et-is-effective-target mips_loongson]
-|| [et-is-effective-target mips_msa])) } {
+|| [et-is-effective-target mips_msa]))
+|| ([istarget s390*-*-*]
+&& [check_effective_target_s390_vx]) } {
set et_vect_int_saved($et_index) 1
}
}
@@ -5069,7 +5071,9 @@ proc check_effective_target_vect_shift { } {
|| [is-effective-target arm_neon]
|| ([istarget mips*-*-*]
&& ([et-is-effective-target mips_msa]
-|| [et-is-effective-target mips_loongson])) } {
+|| [et-is-effective-target mips_loongson]))
+|| ([istarget s390*-*-*]
+&& [check_effective_target_s390_vx]) } {
set et_vect_shift_saved($et_index) 1
}
}
@@ -5087,7 +5091,9 @@ proc check_effective_target_whole_vector_shift { } {
|| ([is-effective-target arm_neon]
&& [check_effective_target_arm_little_endian])
|| ([istarget mips*-*-*]
-&& [et-is-effective-target mips_loongson]) } {
+&& [et-is-effective-target mips_loongson])
+|| ([istarget s390*-*-*]
+&& [check_effective_target_s390_vx]) } {
set answer 1
} else {
set answer 0
@@ -5133,7 +5139,9 @@ proc check_effective_target_vect_shift_char { } {
&& ![istarget powerpc-*-linux*paired*])
|| [is-effective-target arm_neon]
|| ([istarget mips*-*-*]
-&& [et-is-effective-target mips_msa]) } {
+&& [et-is-effective-target mips_msa])
+|| ([istarget s390*-*-*]
+&& [check_effective_target_s390_vx]) } {
set et_vect_shift_char_saved($et_index) 1
}
}
@@ -5156,7 +5164,9 @@ proc check_effective_target_vect_long { } {
|| ([istarget sparc*-*-*] && [check_effective_target_ilp32])
|| [istarget aarch64*-*-*]
|| ([istarget mips*-*-*]
- && [et-is-effective-target mips_msa]) } {
+ && [et-is-effective-target mips_msa])
+|| ([istarget s390*-*-*]
+&& [check_effective_target_s390_vx]) } {
set answer 1
} else {
set answer 0
@@ -5219,7 +5229,9 @@ proc check_effective_target_vect_double { } {
|| [istarget spu-*-*]
|| ([istarget powerpc*-*-*] && [check_vsx_hw_available])
|| ([istarget mips*-*-*]
-&& [et-is-effective-target mips_msa]) } {
+&& [et-is-effective-target mips_msa])
+|| ([istarget s390*-*-*]
+&& [check_effective_target_s390_vx]) } {
set et_vect_double_saved($et_index) 1
}
}
@@ -5243,7 +5255,9 @@ proc check_effective_target_vect_long_long { } {
set et_vect_long_long_saved($et_index) 0
if { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| ([istarget mips*-*-*]
-&& [et-is-effective-target mips_msa]) } {
+&& [et-is-effective-target mips_msa])
+|| ([istarget s390*-*-*]
+&& [check_effective_target_s390_vx]) } {
set et_vect_long_long_saved($et_index) 1
}
}
@@ -5343,7 +5357,9 @@ proc check_effective_target_vect_perm { } {
|| [istarget i?86-*-*] || [istarget x86_64-*-*]
|| ([istarget mips*-*-*]
&& ([et-is-effective-target mpaired_single]
-|| [et-is-effective-target mips_msa])) } {
+|| [et-is-effective-target mips_msa]))
+|| ([istarget s390*-*-*]
+&& [check_effective_target_s390_vx]) } {
set et_vect_perm_saved($et_index) 1
}
}
@@ -5372,7 +5388,9 @@ proc check_effective_target_vect_perm_byte { } {
|| [istarget powerpc*-*-*]