https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112778
--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Alexandre Oliva <aol...@gcc.gnu.org>: https://gcc.gnu.org/g:1e2ea685bdea9aa65da2bf4137264d14f38a6f0b commit r14-6430-g1e2ea685bdea9aa65da2bf4137264d14f38a6f0b Author: Alexandre Oliva <ol...@adacore.com> Date: Mon Dec 11 15:09:25 2023 -0300 -finline-stringops: check base blksize for memset [PR112778] The recently-added logic for -finline-stringops=memset introduced an assumption that doesn't necessarily hold, namely, that can_store_by_pieces of a larger size implies can_store_by_pieces by smaller sizes. Checks for all sizes the by-multiple-pieces machinery might use before committing to an expansion pattern. for gcc/ChangeLog PR target/112778 * builtins.cc (can_store_by_multiple_pieces): New. (try_store_by_multiple_pieces): Call it. for gcc/testsuite/ChangeLog PR target/112778 * gcc.dg/inline-mem-cmp-pr112778.c: New.