diff options
author | Fei Gao <gaofei@eswincomputing.com> | 2023-09-06 09:39:09 +0000 |
---|---|---|
committer | Kito Cheng <kito.cheng@sifive.com> | 2023-09-12 09:54:52 +0800 |
commit | 721021a18e2ac004140ddd93113c11075ea890c6 (patch) | |
tree | 5b0dff1acec4a110440c5bbd317ccaeaa71e5474 /gcc/config/riscv/riscv-vector-builtins-bases.cc | |
parent | 66d89a43a7b6bafca1d4675744808be53ef2736f (diff) | |
download | gcc-721021a18e2ac004140ddd93113c11075ea890c6.zip gcc-721021a18e2ac004140ddd93113c11075ea890c6.tar.gz gcc-721021a18e2ac004140ddd93113c11075ea890c6.tar.bz2 |
RISC-V: enable muti push and pop for Zcmp when shrink-wrap-separate is ineffective
So that zcmp can be enabled in -Os where
shrink-wrap-separate is not effective.
To force enabling zcmp multi push/pop in speed perfered case,
fno-shrink-wrap-separate has to be explictly given.
gcc/ChangeLog:
* config/riscv/riscv.cc
(riscv_avoid_shrink_wrapping_separate): wrap the condition check in
riscv_avoid_shrink_wrapping_separate.
(riscv_avoid_multi_push):avoid multi push if shrink_wrapping_separate
is active.
(riscv_get_separate_components):call riscv_avoid_shrink_wrapping_separate
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rv32e_zcmp.c: remove -fno-shrink-wrap-separate
* gcc.target/riscv/rv32i_zcmp.c: likewise
* gcc.target/riscv/zcmp_push_fpr.c: likewise
* gcc.target/riscv/zcmp_stack_alignment.c: likewise
* gcc.target/riscv/zcmp_shrink_wrap_separate.c: New test.
* gcc.target/riscv/zcmp_shrink_wrap_separate2.c: New test.
Diffstat (limited to 'gcc/config/riscv/riscv-vector-builtins-bases.cc')
0 files changed, 0 insertions, 0 deletions