Message ID | 53887523-ea6c-3a7e-6bb6-59268b9d3a4f@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | testsuite: Fix vect_long_mult on Power [PR109705] | expand |
On Mon, Jan 15, 2024 at 6:43 PM Kewen.Lin <linkw@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, 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 diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 9fc5aae166d..52a2aec9982 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -9086,8 +9086,9 @@ proc check_effective_target_vect_int_mult { } { proc check_effective_target_vect_long_mult { } { if { [istarget i?86-*-*] || [istarget x86_64-*-*] || ([istarget powerpc*-*-*] - && [check_effective_target_powerpc_vsx_ok] - && [check_effective_target_has_arch_pwr10]) + && ([check_effective_target_ilp32] + || ([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*-*-*]
on 2024/1/27 06:42, Andrew Pinski wrote: > On Mon, Jan 15, 2024 at 6:43 PM Kewen.Lin <linkw@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
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*-*-*]