8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
};
unsigned int a;
- unsigned int x = i & -i;
+ /* Isolate the least significant one. */
+ unsigned int u_i = i;
+ unsigned int x = u_i & -u_i;
a = x <= 0xffff ? (x <= 0xff ? 0 : 8) : (x <= 0xffffff ? 16 : 24);
#if USE_FFSLL_BUILTIN
return __builtin_ffsll (i);
#else
- unsigned long long int x = i & -i;
+ /* Isolate the least significant one. */
+ unsigned long long int i_u = i;
+ unsigned long long int x = i_u & -i_u;
if (x <= 0xffffffff)
return ffs (i);