aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-08-21 13:56:34 +0200
committerRichard Biener <rguenther@suse.de>2023-08-21 13:58:52 +0200
commite4e6a92407432cc19db73f8ce108243007d614f0 (patch)
tree863a2ca77b2cd1807e4f28af2dcd7cedc0e4049e /gcc
parentdd606dc7c7e49feb7a900902ec6d35b421789173 (diff)
downloadgcc-e4e6a92407432cc19db73f8ce108243007d614f0.zip
gcc-e4e6a92407432cc19db73f8ce108243007d614f0.tar.gz
gcc-e4e6a92407432cc19db73f8ce108243007d614f0.tar.bz2
Fix gcc.dg/vect/bb-slp-subgroups-2.c with 256bit vectors
The following adds vect128, vect256 and vect512 effective targets and adjusts gcc.dg/vect/bb-slp-subgroups-2.c accordingly. gcc/testsuite/ * lib/target-supports.exp: Add vect128, vect256 and vect512 effective targets. * gcc.dg/vect/bb-slp-subgroups-2.c: Properly handle the vect256 case.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c3
-rw-r--r--gcc/testsuite/lib/target-supports.exp18
2 files changed, 20 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c b/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c
index ead8d92..9431bcb 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c
@@ -39,4 +39,5 @@ main (int argc, char **argv)
}
/* { dg-final { scan-tree-dump-times "Basic block will be vectorized using SLP" 1 "slp2" } } */
-/* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" } } */
+/* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" { target { ! vect256 } } } } */
+/* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp2" { target { vect256 } } } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 5b5f865..d4623ee 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -8634,6 +8634,24 @@ proc check_effective_target_vect_variable_length { } {
return [expr { [lindex [available_vector_sizes] 0] == 0 }]
}
+# Return 1 if the target supports vectors of 512 bits.
+
+proc check_effective_target_vect512 { } {
+ return [expr { [lsearch -exact [available_vector_sizes] 512] >= 0 }]
+}
+
+# Return 1 if the target supports vectors of 256 bits.
+
+proc check_effective_target_vect256 { } {
+ return [expr { [lsearch -exact [available_vector_sizes] 256] >= 0 }]
+}
+
+# Return 1 if the target supports vectors of 128 bits.
+
+proc check_effective_target_vect128 { } {
+ return [expr { [lsearch -exact [available_vector_sizes] 128] >= 0 }]
+}
+
# Return 1 if the target supports vectors of 64 bits.
proc check_effective_target_vect64 { } {