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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
           Severity|normal                      |enhancement
   Last reconfirmed|                            |2021-12-27
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed, we get now:

        xorl    %eax, %eax
        cmpl    %esi, %edi
        setl    %al
        negq    %rax
        movq    %rax, mask(%rip)
        cmpl    %esi, %edi
        jl      .L5

Because we produce similar to the following C testcase:
long mask;

void bar ();
void f (int a, int b)
{
  long _3;
  _3 = a < b;
  _3 = -_3;
  mask = _3;
  if (a < b)
    bar ();
  return;
}

Reply via email to