https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84873
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2018-03-15
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot
gnu.org
Target Milestone|--- |8.0
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
This goes wrong during gimplification:
i1 (int w3, int n9)
{
int D.1962;
unsigned int iftmp.0;
if (n9 == 0) goto <D.1964>; else goto <D.1965>;
<D.1964>:
_1 = 1.0e+0 + 1.000000000000000055511151231257827021181583404541015625e-1;
_2 = (long int) _1;
_3 = (unsigned int) _2;
iftmp.0 = _3 + 4294967295;
goto <D.1966>;
<D.1965>:
iftmp.0 = (unsigned int) _2;
<D.1966>:
D.1962 = w3 >> iftmp.0;
return D.1962;
there's an odd jump-around here. GENERIC arrives here with
return w3 >> (long int) -(n9 == 0) + (long int) (1.0e+0 +
1.000000000000000055511151231257827021181583404541015625e-1);
so it's probably some folding during gimplification that triggers this.