On 8/11/23 02:45, Juzhe-Zhong wrote:
This patch fix bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110985

        PR target/110985

gcc/ChangeLog:

        * config/riscv/riscv-v.cc (expand_vec_series): Refactor the expander.

gcc/testsuite/ChangeLog:

        * gcc.target/riscv/rvv/autovec/vls-vlmax/pr110985.c: New test.
OK. The wording on the ChangeLog could perhaps be improved -- typically when one says "refactor" there's not supposed to be a functional change. So perhaps "Refactor the expander and don't lose final assignment" or something like that.

Also it's generally useful to reviewers to explain the core problem. I can guess from the BZ that we lost an assignment and I can speculate it was a case when the destination wasn't initially a pseudo. The refactoring ensured that the sequence always stores into a pseudo and if that pseudo is not the same as the ultimate target, then we copy from the pseudo to the ultimate target when expansion is done.

jeff

Reply via email to