The intent was to fix the PR122769 but it seemed too much changes to
plop into one patch for a generic pass. Hence this piecemeal approach
with initial 3 patches being NFC and doing incremental changes before
landinf the actual change needed.
Please review !
Thx,
-Vineet
Vineet Gupta (5):
ifcvt: cond zero arith: opencode helper
noce_bbs_ok_for_cond_zero_arith [NFC]
ifcvt: cond zero arith: factor out common emit_czero emit calls [NFC]
ifcvt: cond zero arith: re-expand output pattern ...[NFC]
ifcvt: cond zero arith: elide short forward branch for signed GE 0
comparison [PR122769]
ifcvt: cond zero arith: handle subreg for shift count
gcc/ifcvt.cc | 212 ++++++------------
gcc/testsuite/gcc.target/riscv/pr1222769.c | 17 ++
.../gcc.target/riscv/zicond_ifcvt_opt.c | 2 +-
3 files changed, 91 insertions(+), 140 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/riscv/pr1222769.c
--
2.43.0