On Mon, Jan 15, 2024 at 6:43 PM Kewen.Lin wrote: > > Hi, > > As pointed out by the discussion in PR109705, the current > vect_long_mult effective target check on Power is broken. > This patch is to fix it accordingly. > > With additional change by adding a guard vect_long_mult > in gcc.dg/vect/pr25413a.c , it's tested well on Power{8,9} > LE & BE (also on Power10 LE as before). I see this is still broken for 32bit PowerPC where vect_long_mult should return true still since long there is 32bit and there is a 32bit vector multiply. Can someone test (and apply if approved) the attached patch to see if it fixes pr25413a.c for powerpc*-*-* for 32bit? Thanks, Andrew Pinski > > I'm going to push this soon. > > BR, > Kewen > ----- > PR testsuite/109705 > > gcc/testsuite/ChangeLog: > > * lib/target-supports.exp (check_effective_target_vect_long_mult): > Fix powerpc*-*-* checks. > --- > gcc/testsuite/lib/target-supports.exp | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp > index 81ae92a0266..fac32fb3d0e 100644 > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -9073,9 +9073,9 @@ proc check_effective_target_vect_int_mult { } { > > proc check_effective_target_vect_long_mult { } { > if { [istarget i?86-*-*] || [istarget x86_64-*-*] > - || (([istarget powerpc*-*-*] > - && ![istarget powerpc-*-linux*paired*]) > - && [check_effective_target_ilp32]) > + || ([istarget powerpc*-*-*] > + && [check_effective_target_powerpc_vsx_ok] > + && [check_effective_target_has_arch_pwr10]) > || [is-effective-target arm_neon] > || ([istarget sparc*-*-*] && [check_effective_target_ilp32]) > || [istarget aarch64*-*-*] > -- > 2.39.1