[Bug tree-optimization/93098] New: [10 Regression] ICE with negative shifter
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Dec 29 19:39:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93098
Bug ID: 93098
Summary: [10 Regression] ICE with negative shifter
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
Even though it is undefined code, we should not ICE on this code.
Try with -O2:
typedef unsigned long long uint64_t;
int popcount64c_1 (uint64_t x)
{
x -= (x >> -1) & 0x5555555555555555ULL;
x = (x & 0x3333333333333333ULL) + ((x >> 2) & 0x3333333333333333ULL);
x = (x + (x >> 4)) & 0x0f0f0f0f0f0f0f0fULL;
return (x * 0x0101010101010101ULL) >> 56;
}
Found this via inspection of match.pd after I was working on something else and
had the testcase for PR 50193 fails.
More information about the Gcc-bugs
mailing list