diff options
author | Fei Gao <gaofei@eswincomputing.com> | 2023-12-07 17:51:08 -0700 |
---|---|---|
committer | Jeff Law <jlaw@ventanamicro.com> | 2023-12-07 17:53:21 -0700 |
commit | 9f7ad5eff3bf1e42aac0825b37d2c9ab43eaafd2 (patch) | |
tree | 126a8613e3b8e2168862cab6bc93778c7aa5d9c4 /gcc/tree-ssa-loop-niter.cc | |
parent | 775aeabcb870b74e4d0986341c7a39add9bbb06d (diff) | |
download | gcc-9f7ad5eff3bf1e42aac0825b37d2c9ab43eaafd2.zip gcc-9f7ad5eff3bf1e42aac0825b37d2c9ab43eaafd2.tar.gz gcc-9f7ad5eff3bf1e42aac0825b37d2c9ab43eaafd2.tar.bz2 |
[PATCH 1/5][V3][ifcvt] optimize x=c ? (y op z) : y by RISC-V Zicond like insns
op=[PLUS, MINUS, IOR, XOR]
Conditional op, if zero
rd = (rc == 0) ? (rs1 op rs2) : rs1
-->
czero.nez rd, rs2, rc
op rd, rs1, rd
Conditional op, if non-zero
rd = (rc != 0) ? (rs1 op rs2) : rs1
-->
czero.eqz rd, rs2, rc
op rd, rs1, rd
gcc/ChangeLog:
* ifcvt.cc (noce_try_cond_zero_arith): New function.
(noce_emit_czero, get_base_reg): Likewise.
(noce_cond_zero_binary_op_supported): Likewise.
(noce_bbs_ok_for_cond_zero_arith): Likewise.
(noce_process_if_block): Use noce_try_cond_zero_arith.
Co-authored-by: Xiao Zeng<zengxiao@eswincomputing.com>
Diffstat (limited to 'gcc/tree-ssa-loop-niter.cc')
0 files changed, 0 insertions, 0 deletions