diff options
author | Xiao Zeng <zengxiao@eswincomputing.com> | 2023-08-02 00:17:12 -0600 |
---|---|---|
committer | Jeff Law <jlaw@ventanamicro.com> | 2023-08-02 00:27:47 -0600 |
commit | 5b501863ac7da57858fdd464dfb7a776143f22a2 (patch) | |
tree | 889ae47fbabca17400b802db904e761f1d4c2934 /gcc/tree-cfg.cc | |
parent | 2d73f2eb80caf328bc4dd1324d475e7bf6b56837 (diff) | |
download | gcc-5b501863ac7da57858fdd464dfb7a776143f22a2.zip gcc-5b501863ac7da57858fdd464dfb7a776143f22a2.tar.gz gcc-5b501863ac7da57858fdd464dfb7a776143f22a2.tar.bz2 |
[PATCH 3/5] [RISC-V] Cost model for Zicond.
This patch implements a reasonable cost model for using Zicond to
implement conditional moves. Essentially the Zicond insns are always
COSTS_N_INSNS (1).
Note there is still a problem with the costing model in general that
results in failure to if-convert as often as we should. In simplest
terms the insn costing model sums the cost of the SET_SRC and the
cost of the SET_DEST. Thus the conditional move is considered twice
as costly as it should be. That will have to be addressed separately.
gcc/
* config/riscv/riscv.cc (riscv_rtx_costs): Add costing for
using Zicond to implement some conditional moves.
Diffstat (limited to 'gcc/tree-cfg.cc')
0 files changed, 0 insertions, 0 deletions