Subject: Re: [Ready to commit V3] RISC-V: Add AVL propagation PASS for RVV
auto-vectorization
../../gcc/config/riscv/riscv-avlprop.cc: In member function 'virtual unsigned
int pass_avlprop::execute(function*)':
../../gcc/config/riscv/riscv-avlprop.cc:346:23: error: loop variable
../../gcc/config/riscv/riscv-avlprop.cc: In member function 'virtual unsigned
int pass_avlprop::execute(function*)':
../../gcc/config/riscv/riscv-avlprop.cc:346:23: error: loop variable
'candidate' creates a copy from type 'const std::pair' [-Werror=range-loop-construct]
346 | for (const
Dapp; Juzhe-Zhong
CC: Kito Cheng; gcc-patches
Subject: Re: [Ready to commit V3] RISC-V: Add AVL propagation PASS for RVV
auto-vectorization
On 10/26/23 11:15, Robin Dapp wrote:
rv32gcv:
FAIL: gfortran.dg/intrinsic_pack_6.f90 -O2 execution test
FAIL: gfortran.dg/intrinsic_pack_6.f90 -O3 -g execut
Thanks Patrick. Committed.
juzhe.zh...@rivai.ai
From: Patrick O'Neill
Date: 2023-10-27 02:12
To: Juzhe-Zhong; gcc-patches
CC: Kito Cheng; Robin Dapp
Subject: Re: [Ready to commit V3] RISC-V: Add AVL propagation PASS for RVV
auto-vectorization
popcount and mask_gather_load_run fails se
On 10/26/23 11:15, Robin Dapp wrote:
rv32gcv:
FAIL: gfortran.dg/intrinsic_pack_6.f90 -O2 execution test
FAIL: gfortran.dg/intrinsic_pack_6.f90 -O3 -g execution test
FAIL: gfortran.dg/matmul_3.f90 -O2 execution test
FAIL: gfortran.fortran-torture/execute/intrinsic_matmul.f90 execution,
> rv32gcv:
> FAIL: gfortran.dg/intrinsic_pack_6.f90 -O2 execution test
> FAIL: gfortran.dg/intrinsic_pack_6.f90 -O3 -g execution test
> FAIL: gfortran.dg/matmul_3.f90 -O2 execution test
> FAIL: gfortran.fortran-torture/execute/intrinsic_matmul.f90 execution, -O2
> FAIL: gfortran.fortran-t
popcount and mask_gather_load_run fails seem to be an issue with my
setup or a bug with QEMU based on the v2 discussion :-)
OK with me regarding testing (I don't have the authority to approve a
patch, but Kito already said LGTM):
https://inbox.sourceware.org/gcc-patches/CALLt3ThXmk4pey2QhSUvK1
This patch addresses the redundant AVL/VL toggling in RVV partial
auto-vectorization
which is a known issue for a long time and I finally find the time to address
it.
Consider a simple vector addition operation:
https://godbolt.org/z/7hfGfEjW3
void
foo (int *__restrict a,
int *__restrict