https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120031
Feng Xue <fxue at os dot amperecomputing.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fxue at os dot
amperecomputing.com
--- Comment #6 from Feng Xue <fxue at os dot amperecomputing.com> ---
Also fail to capture the pattern if we change type of DeBruijnBytePos[32] to
long
static const unsigned long DeBruijnBytePos[32] = {0, 1, 28, 2, 29, 14, 24, 3,
30, 22, 20, 15, 25, 17, 4, 8,
31, 27, 13, 23, 21, 19, 16, 7,
26, 12, 18, 6, 11, 5, 10, 9};
return DeBruijnBytePos[((unsigned int) ((val & -(int) val) * 0x077CB531U)) >>
27];