Hi, this patch adds some s390 checks for vect_*_cvts. Is it OK?
Regards Robin gcc/testsuite/ChangeLog: * lib/target-supports.exp: Add s390 checks for vect conversions.
>From 959251d5d2684a9ffebec1b341a4413c2f2328db Mon Sep 17 00:00:00 2001 From: Robin Dapp <rd...@linux.ibm.com> Date: Thu, 22 Apr 2021 09:36:04 +0200 Subject: [PATCH 04/10] Add s390 to vect_*_cvt checks. --- gcc/testsuite/lib/target-supports.exp | 29 ++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index a522da322aa..f8d2ad3e623 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -3504,7 +3504,9 @@ proc check_effective_target_vect_intfloat_cvt { } { || [is-effective-target arm_neon] || ([istarget mips*-*-*] && [et-is-effective-target mips_msa]) - || [istarget amdgcn-*-*] }}] + || [istarget amdgcn-*-*] + || ([istarget s390*-*-*] + && [check_effective_target_s390_vxe2]) }}] } # Return 1 if the target supports signed double->int conversion @@ -3521,7 +3523,9 @@ proc check_effective_target_vect_doubleint_cvt { } { || [istarget aarch64*-*-*] || ([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]) }}] } # Return 1 if the target supports signed int->double conversion @@ -3538,7 +3542,9 @@ proc check_effective_target_vect_intdouble_cvt { } { || [istarget aarch64*-*-*] || ([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]) }}] } #Return 1 if we're supporting __int128 for target, 0 otherwise. @@ -3567,7 +3573,9 @@ proc check_effective_target_vect_uintfloat_cvt { } { || [is-effective-target arm_neon] || ([istarget mips*-*-*] && [et-is-effective-target mips_msa]) - || [istarget amdgcn-*-*] }}] + || [istarget amdgcn-*-*] + || ([istarget s390*-*-*] + && [check_effective_target_s390_vxe2]) }}] } @@ -3582,7 +3590,9 @@ proc check_effective_target_vect_floatint_cvt { } { || [is-effective-target arm_neon] || ([istarget mips*-*-*] && [et-is-effective-target mips_msa]) - || [istarget amdgcn-*-*] }}] + || [istarget amdgcn-*-*] + || ([istarget s390*-*-*] + && [check_effective_target_s390_vxe2]) }}] } # Return 1 if the target supports unsigned float->int conversion @@ -3595,7 +3605,9 @@ proc check_effective_target_vect_floatuint_cvt { } { || [is-effective-target arm_neon] || ([istarget mips*-*-*] && [et-is-effective-target mips_msa]) - || [istarget amdgcn-*-*] }}] + || [istarget amdgcn-*-*] + || ([istarget s390*-*-*] + && [check_effective_target_s390_vxe2]) }}] } # Return 1 if peeling for alignment might be profitable on the target @@ -9794,7 +9806,10 @@ proc check_vect_support_and_set_flags { } { lappend DEFAULT_VECTCFLAGS "--param" "max-unroll-times=8" lappend DEFAULT_VECTCFLAGS "--param" "max-completely-peeled-insns=200" lappend DEFAULT_VECTCFLAGS "--param" "max-completely-peel-times=16" - if [check_effective_target_s390_vxe] { + if [check_effective_target_s390_vxe2] { + lappend DEFAULT_VECTCFLAGS "-march=z15" "-mzarch" + set dg-do-what-default run + } elseif [check_effective_target_s390_vxe] { lappend DEFAULT_VECTCFLAGS "-march=z14" "-mzarch" set dg-do-what-default run } elseif [check_effective_target_s390_vx] { -- 2.23.0