https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85368

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 45072
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45072&action=edit
gcc9-pr85368.patch

So, does this fix it?  On branch_cost targets, we should IMHO always expect no
ifs because we pass -mbranch-cost=2 which makes it effectively a
non-logical_op_short_circuit target at compile time, whatever it has as
default.

Tested so far only on x86_64-linux as an example of !logical_op_short_circuit
&& branch_cost target.  Another target to try is s390x-linux as
logical_op_short_circuit && branch_cost target, then perhaps powerpc*-linux as
logical_op_short_circuit && !branch_cost target and perhaps even some
!logical_op_short_circuit && !branch_cost like ia64-*-linux* or others.

Reply via email to