On Mon, May 23, 2022 at 8:52 AM Takayuki 'January June' Suwa <jjsuwa_sys3...@yahoo.co.jp> wrote: > > This patch introduces setmemsi insn pattern of two kinds, unrolled loop and > small loop, for fixed small length and constant initialization value. > > gcc/ChangeLog: > > * gcc/config/xtensa/xtensa-protos.h > (xtensa_expand_block_set_unrolled_loop, > xtensa_expand_block_set_small_loop): New prototypes. > * gcc/config/xtensa/xtensa.cc (xtensa_sizeof_MOVI, > xtensa_expand_block_set_unrolled_loop, > xtensa_expand_block_set_small_loop): New functions. > * gcc/config/xtensa/xtensa.md (setmemsi): New expansion pattern. > * gcc/config/xtensa/xtensa.opt (mlongcalls): Add target mask. > --- > gcc/config/xtensa/xtensa-protos.h | 2 + > gcc/config/xtensa/xtensa.cc | 211 ++++++++++++++++++++++++++++++ > gcc/config/xtensa/xtensa.md | 16 +++ > gcc/config/xtensa/xtensa.opt | 2 +- > 4 files changed, 230 insertions(+), 1 deletion(-)
Regtested for target=xtensa-linux-uclibc, no new regressions. Changelog has extra 'gcc/' in paths, so I've dropped this part. Committed to master. -- Thanks. -- Max