aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/riscv/riscv-vector-builtins-bases.cc
diff options
context:
space:
mode:
authorFei Gao <gaofei@eswincomputing.com>2023-09-06 09:39:09 +0000
committerKito Cheng <kito.cheng@sifive.com>2023-09-12 09:54:52 +0800
commit721021a18e2ac004140ddd93113c11075ea890c6 (patch)
tree5b0dff1acec4a110440c5bbd317ccaeaa71e5474 /gcc/config/riscv/riscv-vector-builtins-bases.cc
parent66d89a43a7b6bafca1d4675744808be53ef2736f (diff)
downloadgcc-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