On 6/9/24 5:28 AM, YunQiang Su wrote:
YunQiang Su <wzss...@gmail.com> 于2024年6月9日周日 18:25写道:


gcc/ChangeLog:

       * ifcvt.cc (cond_move_process_if_block):
       Consider the result of targetm.noce_conversion_profitable_p()
       when replacing the original sequence with the converted one.
THanks.  I pushed this to the trunk.


Sorry for the delay report. With this patch the test
gcc.target/mips/movcc-3.c fails.


The problem may be caused by the different of `seq` and `edge e`.
In `seq`, there may be a compare operation, while
`default_max_noce_ifcvt_seq_cost`
only count the branch operation.

The rtx_cost may consider the compare operation in `seq` as quite expensive.
Overall it sounds like a target issue to me -- ie, now that we're testing for profitability instead of just assuming it's profitable some targets need adjustment. Either in their costing model or in the testsuite expectations.

Jeff

Reply via email to