aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/parse.cc
diff options
context:
space:
mode:
authorTakayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>2023-05-26 00:08:52 +0900
committerMax Filippov <jcmvbkbc@gmail.com>2023-05-26 03:22:54 -0700
commit78648c09a0494e6bf1edbd97acb708bc282eb5f5 (patch)
treee61e6fc4e509f35b6920952912d8ede145a8e08a /gcc/fortran/parse.cc
parent9b867c8281ee313cf6ec737d8f4a9ba7ef78408e (diff)
downloadgcc-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