on 2024/1/27 06:42, Andrew Pinski wrote: > On Mon, Jan 15, 2024 at 6:43 PM Kewen.Lin <li...@linux.ibm.com> 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 for fixing, it works perfectly as tested. I just pushed it as r14-8485 (also updating with a tab and commit log). BR, Kewen > > 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