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.
This commit is contained in:
Richard Biener 2023-08-21 13:56:34 +02:00
parent dd606dc7c7
commit e4e6a92407
2 changed files with 20 additions and 1 deletions

View file

@ -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 } } } } */

View file

@ -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 { } {