diff options
author | Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | 2023-05-26 00:08:52 +0900 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2023-05-26 03:22:54 -0700 |
commit | 78648c09a0494e6bf1edbd97acb708bc282eb5f5 (patch) | |
tree | e61e6fc4e509f35b6920952912d8ede145a8e08a /gcc/fortran/parse.cc | |
parent | 9b867c8281ee313cf6ec737d8f4a9ba7ef78408e (diff) | |
download | gcc-78648c09a0494e6bf1edbd97acb708bc282eb5f5.zip gcc-78648c09a0494e6bf1edbd97acb708bc282eb5f5.tar.gz gcc-78648c09a0494e6bf1edbd97acb708bc282eb5f5.tar.bz2 |
xtensa: Rework 'setmemsi' insn pattern
In order to reject voodoo estimation logic with lots of magic numbers,
this patch revises the code to measure the costs of the three memset
methods based on the actual emission size of the insn sequence
corresponding to each method and choose the smallest one.
gcc/ChangeLog:
* config/xtensa/xtensa-protos.h
(xtensa_expand_block_set_unrolled_loop,
xtensa_expand_block_set_small_loop): Remove.
(xtensa_expand_block_set): New prototype.
* config/xtensa/xtensa.cc
(xtensa_expand_block_set_libcall): New subfunction.
(xtensa_expand_block_set_unrolled_loop,
xtensa_expand_block_set_small_loop): Rewrite as subfunctions.
(xtensa_expand_block_set): New function that calls the above
subfunctions.
* config/xtensa/xtensa.md (memsetsi): Change to invoke only
xtensa_expand_block_set().
Diffstat (limited to 'gcc/fortran/parse.cc')
0 files changed, 0 insertions, 0 deletions