[Bug middle-end/78115] Missed optimization for "int modulo 2^31"

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 15 09:01:09 GMT 2021


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |103216
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |pinskia at gcc dot gnu.org

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The patch which I posted for PR 103216 will fix this one too:
https://gcc.gnu.org/pipermail/gcc-patches/2021-November/584411.html

in phiopt4:
COND_EXPR in block 2 and PHI in block 4 converted to straightline code.
Merging blocks 2 and 4
fix_loop_structure: fixing up loops for function
int mod31 (int num)
{
  _Bool _5;
  int _6;
  int _7;
  int _8;

  <bb 2> [local count: 1073741824]:
  _5 = num_2(D) < 0;
  _6 = (int) _5;
  _7 = num_2(D) & -2147483648;
  _8 = num_2(D) & 2147483647;
  return _8;

}


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103216
[Bug 103216] missed optimization, phiopt/vrp?


More information about the Gcc-bugs mailing list