This enables the following tests which rely on instruction vperm which
is available since z13 with the initial vector support.

testsuite/gcc.dg/vect/vect-bswap16.c
42:/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target 
{ vect_bswap || sse4_runtime } } } } */

testsuite/gcc.dg/vect/vect-bswap32.c
42:/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target 
{ vect_bswap || sse4_runtime } } } } */

testsuite/gcc.dg/vect/vect-bswap64.c
42:/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target 
{ vect_bswap || sse4_runtime } } } } */

Ok for mainline?

gcc/testsuite/ChangeLog:

        * lib/target-supports.exp (check_effective_target_vect_bswap):
        Add s390.
---
 gcc/testsuite/lib/target-supports.exp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gcc/testsuite/lib/target-supports.exp 
b/gcc/testsuite/lib/target-supports.exp
index 4d04df2a709..2ccc0291442 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -7087,9 +7087,11 @@ proc check_effective_target_whole_vector_shift { } {
 
 proc check_effective_target_vect_bswap { } {
     return [check_cached_effective_target_indexed vect_bswap {
-      expr { [istarget aarch64*-*-*]
-            || [is-effective-target arm_neon]
-            || [istarget amdgcn-*-*] }}]
+      expr { ([istarget aarch64*-*-*]
+             || [is-effective-target arm_neon]
+             || [istarget amdgcn-*-*])
+            || ([istarget s390*-*-*]
+                && [check_effective_target_s390_vx]) }}]
 }
 
 # Return 1 if the target supports comparison of bool vectors for at
-- 
2.41.0

  • [PATCH] s390: Enable vect_bswa... Stefan Schulze Frielinghaus via Gcc-patches

Reply via email to