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

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Hmm, but phiopt2 turns it into

bool f (bool x, bool y)
{
  bool _5;
  bool _6;

  <bb 2> [local count: 1073741824]:
  _5 = x_2(D) & y_3(D);
  _6 = -_5;
  return _6;

and we end up with

_Z1fbb:
.LFB0:
        .cfi_startproc
        andl    %edi, %esi
        movl    %esi, %eax
        andl    $1, %eax
        ret

which is optimal.  On GIMPLE we fail to elide -bool to bool I guess.

Reply via email to