]> git.ipfire.org Git - thirdparty/gcc.git/commit
[RISC-V] Restore inline expansion of block moves on RISC-V in some cases
authorJeff Law <jeffrey.law@oss.qualcomm.com>
Mon, 5 Jan 2026 16:34:28 +0000 (09:34 -0700)
committerJeff Law <jeffrey.law@oss.qualcomm.com>
Mon, 5 Jan 2026 16:34:28 +0000 (09:34 -0700)
commit0c3d8dd92811dfbf1ac31b69b58d7946f8d5512d
treea9f7fbbfdb911bff23834722489f93f5d55adff7
parent91ee2e628475f156a57f5c7777a79a77bea86fc6
[RISC-V] Restore inline expansion of block moves on RISC-V in some cases

Edwin's patch to add a --param for a size threshold on block moves
inadvertently disabled using inline block moves for cases where the count is
unknown.  This caused testsuite regressions (I don't remember which test, it
was ~6 weeks ago if not longer).  I'd hoped Edwin would see the new failures,
but I suspect he's buried by transition stuff with Rivos/Meta.

This patch restores prior behavior when the count is unknown and no --param was
specified.

Bootstrapped and regression tested on both the BPI and Pioneer systems and
regression tested on riscv{32,64}-elf as well.

Pushing to the trunk after pre-commit CI does its thing.

gcc/
* config/riscv/riscv-string.cc (expand_block_move): Restore using
inlined memcpy/memmove for unknown counts if the param hasn't been
specified.
(expand_vec_setmem): Similarly for memset.
gcc/config/riscv/riscv-string.cc