Re: [PATCH v3 4/7] ifcvt/optabs: Allow using a CC comparison for emit_conditional_move.

2022-01-10 Thread Robin Dapp via Gcc-patches
Posting the ChangeLog before pushing. -- gcc/ChangeLog: * rtl.h (struct rtx_comparison): New struct that holds an rtx comparison. * config/rs6000/rs6000.c (rs6000_emit_minmax): Use struct instead of single parameters. (rs6000_emit_swsqrt): Likewise.

Re: [PATCH v3 4/7] ifcvt/optabs: Allow using a CC comparison for emit_conditional_move.

2021-12-09 Thread Jeff Law via Gcc-patches
On 12/9/2021 10:20 AM, Robin Dapp wrote: Hi Jeff, thanks for looking into this. NP.  I'd been watching this set evolve and I think it'll help our target as well, so it seemed natural to handle the review :-) What if the condition has a side effect?  Doesn't this drop the side effect by

Re: [PATCH v3 4/7] ifcvt/optabs: Allow using a CC comparison for emit_conditional_move.

2021-12-09 Thread Robin Dapp via Gcc-patches
Hi Jeff, thanks for looking into this. > What if the condition has a side effect?  Doesn't this drop the side > effect by converting the conditional move into a simple move? Hmm, good point, if the condition does more than a CC compare, it might get tricky as we are not canonicalizing here (on p

Re: [PATCH v3 4/7] ifcvt/optabs: Allow using a CC comparison for emit_conditional_move.

2021-12-08 Thread Jeff Law via Gcc-patches
On 12/6/2021 11:43 AM, Robin Dapp via Gcc-patches wrote: Currently we only ever call emit_conditional_move with the comparison (as well as its comparands) we got from the jump. Thus, backends are going to emit a CC comparison for every conditional move that is being generated instead of re-us

[PATCH v3 4/7] ifcvt/optabs: Allow using a CC comparison for emit_conditional_move.

2021-12-06 Thread Robin Dapp via Gcc-patches
Currently we only ever call emit_conditional_move with the comparison (as well as its comparands) we got from the jump. Thus, backends are going to emit a CC comparison for every conditional move that is being generated instead of re-using the existing CC. This, combined with emitting temporaries