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.
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
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
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
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