No functional and no binary change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
struct {
uint32_t l;
uint32_t h;
struct {
uint32_t l;
uint32_t h;
};
// WARNING: Needs -fno-strict-aliasing compiler option
};
// WARNING: Needs -fno-strict-aliasing compiler option
*((uint32_t*)bb) = b & (b - 1);
b ^= (b - 1);
}
else
{
*((uint32_t*)bb) = b & (b - 1);
b ^= (b - 1);
}
else
{
*((uint32_t*)bb+1) = b & (b - 1); // Little endian only?
b = ~(b ^ (b - 1));
}
*((uint32_t*)bb+1) = b & (b - 1); // Little endian only?
b = ~(b ^ (b - 1));
}