Re: [PATCH] Fix vect_long_mult for aarch64 [PR109705]
Andrew Pinski writes: > On aarch64, vectorization of `long` multiply can be done if SVE is enabled > or if long is 32bit (ILP32). It can also be done for constants too but there > is no effective target test for that just yet. > > Build and tested on aarch64-linux-gnu with no regressions (also tested with > SVE enabled). > > gcc/testsuite/ChangeLog: > > * lib/target-supports.exp (check_effective_target_vect_long_mult): > Fix aarch64*-*-* checks. OK, thanks! Richard > Signed-off-by: Andrew Pinski > --- > gcc/testsuite/lib/target-supports.exp | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/gcc/testsuite/lib/target-supports.exp > b/gcc/testsuite/lib/target-supports.exp > index 9ca8355b3e1..178d1a73064 100644 > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -9090,7 +9090,9 @@ proc check_effective_target_vect_long_mult { } { > && [check_effective_target_has_arch_pwr10]) >|| [is-effective-target arm_neon] >|| ([istarget sparc*-*-*] && [check_effective_target_ilp32]) > - || [istarget aarch64*-*-*] > + || ([istarget aarch64*-*-*] > + && ([check_effective_target_ilp32] > + || check_effective_target_aarch64_sve])) >|| ([istarget mips*-*-*] > && [et-is-effective-target mips_msa]) >|| ([istarget riscv*-*-*]
Re: [PATCH] Fix vect_long_mult for aarch64 [PR109705]
On Wed, Jan 24, 2024 at 9:37 AM Andrew Pinski wrote: > > On aarch64, vectorization of `long` multiply can be done if SVE is enabled > or if long is 32bit (ILP32). It can also be done for constants too but there > is no effective target test for that just yet. > > Build and tested on aarch64-linux-gnu with no regressions (also tested with > SVE enabled). > > gcc/testsuite/ChangeLog: > > * lib/target-supports.exp (check_effective_target_vect_long_mult): > Fix aarch64*-*-* checks. > > Signed-off-by: Andrew Pinski > --- > gcc/testsuite/lib/target-supports.exp | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/gcc/testsuite/lib/target-supports.exp > b/gcc/testsuite/lib/target-supports.exp > index 9ca8355b3e1..178d1a73064 100644 > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -9090,7 +9090,9 @@ proc check_effective_target_vect_long_mult { } { > && [check_effective_target_has_arch_pwr10]) > || [is-effective-target arm_neon] > || ([istarget sparc*-*-*] && [check_effective_target_ilp32]) > -|| [istarget aarch64*-*-*] > +|| ([istarget aarch64*-*-*] > +&& ([check_effective_target_ilp32] > +|| check_effective_target_aarch64_sve])) ^ Missing [ I got ERROR: gcc.dg/vect/pr60656.c: error executing dg-final: invalid bareword "check_effective_target..." in expression "...e_target_ilp32] || check_effective_target...])) || ([istarget mi..."; should be "$check_effective_target..." or "{check_effective_target...}" or "check_effective_target...(...)" or ... ERROR: gcc.dg/vect/pr60656.c -flto -ffat-lto-objects: error executing dg-final: invalid bareword "check_effective_target..." in expression "...e_target_ilp32] || check_effective_target...])) || ([istarget mi..."; should be "$check_effective_target..." or "{check_effective_target...}" or "check_effective_target...(...)" or ... > || ([istarget mips*-*-*] > && [et-is-effective-target mips_msa]) > || ([istarget riscv*-*-*] > -- > 2.39.3 > I am checking in this to fix it. -- H.J. --- diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 82520119026..49e748caf17 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -9092,7 +9092,7 @@ proc check_effective_target_vect_long_mult { } { || ([istarget sparc*-*-*] && [check_effective_target_ilp32]) || ([istarget aarch64*-*-*] && ([check_effective_target_ilp32] - || check_effective_target_aarch64_sve])) + || [check_effective_target_aarch64_sve])) || ([istarget mips*-*-*] && [et-is-effective-target mips_msa]) || ([istarget riscv*-*-*]
Re: [PATCH] Fix vect_long_mult for aarch64 [PR109705]
On Wed, Jan 24, 2024 at 4:40 PM H.J. Lu wrote: > > On Wed, Jan 24, 2024 at 9:37 AM Andrew Pinski > wrote: > > > > On aarch64, vectorization of `long` multiply can be done if SVE is enabled > > or if long is 32bit (ILP32). It can also be done for constants too but there > > is no effective target test for that just yet. > > > > Build and tested on aarch64-linux-gnu with no regressions (also tested with > > SVE enabled). > > > > gcc/testsuite/ChangeLog: > > > > * lib/target-supports.exp (check_effective_target_vect_long_mult): > > Fix aarch64*-*-* checks. > > > > Signed-off-by: Andrew Pinski > > --- > > gcc/testsuite/lib/target-supports.exp | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/gcc/testsuite/lib/target-supports.exp > > b/gcc/testsuite/lib/target-supports.exp > > index 9ca8355b3e1..178d1a73064 100644 > > --- a/gcc/testsuite/lib/target-supports.exp > > +++ b/gcc/testsuite/lib/target-supports.exp > > @@ -9090,7 +9090,9 @@ proc check_effective_target_vect_long_mult { } { > > && [check_effective_target_has_arch_pwr10]) > > || [is-effective-target arm_neon] > > || ([istarget sparc*-*-*] && [check_effective_target_ilp32]) > > -|| [istarget aarch64*-*-*] > > +|| ([istarget aarch64*-*-*] > > +&& ([check_effective_target_ilp32] > > +|| check_effective_target_aarch64_sve])) > ^ Missing [ > > I got > > ERROR: gcc.dg/vect/pr60656.c: error executing dg-final: invalid > bareword "check_effective_target..." > in expression "...e_target_ilp32] > || check_effective_target...])) > || ([istarget mi..."; > should be "$check_effective_target..." or > "{check_effective_target...}" or "check_effective_target...(...)" or > ... > ERROR: gcc.dg/vect/pr60656.c -flto -ffat-lto-objects: error executing > dg-final: invalid bareword "check_effective_target..." > in expression "...e_target_ilp32] > || check_effective_target...])) > || ([istarget mi..."; > should be "$check_effective_target..." or > "{check_effective_target...}" or "check_effective_target...(...)" or > ... > > > > || ([istarget mips*-*-*] > > && [et-is-effective-target mips_msa]) > > || ([istarget riscv*-*-*] > > -- > > 2.39.3 > > > > I am checking in this to fix it. I actually just checked in that same fix :) Thanks, Andrew > > -- > H.J. > --- > diff --git a/gcc/testsuite/lib/target-supports.exp > b/gcc/testsuite/lib/target-supports.exp > index 82520119026..49e748caf17 100644 > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -9092,7 +9092,7 @@ proc check_effective_target_vect_long_mult { } { > || ([istarget sparc*-*-*] && [check_effective_target_ilp32]) > || ([istarget aarch64*-*-*] > && ([check_effective_target_ilp32] > - || check_effective_target_aarch64_sve])) > + || [check_effective_target_aarch64_sve])) > || ([istarget mips*-*-*] > && [et-is-effective-target mips_msa]) > || ([istarget riscv*-*-*]